资源简介
51单片机的AD0808采集,使用Proteus仿真,带有全部资料及源码。模拟输入使用一个滑动变阻器,能够在数码管上显示从0到255的数值。亲测可行!
代码片段和文件信息
#include
#include
#define uint unsigned int
/**********************************************************************************
细节描述:P0口作为数码管的位选。 P1口作为AD数据输出口。
注意AD的OUT和单片机的连线!!!
1.做数字电压表的话只需把P1口的数据处理即可。
*************************************************************************************/
//片选=0的时候才是关!
char smg_table[]={0xc00xf90xa40xb00x990x920x820xf80x800x90}; //数码管 共阳极
unsigned char AdData;
sbit Smg0_Switch = P2^0;
sbit Smg1_Switch = P2^1;
sbit Smg2_Switch = P2^2;
sbit START=P2^3;
sbit EOC=P2^4;
sbit ADDA=P2^5;
sbit ADDB=P2^6;
sbit ADDC=P2^7;
sbit ALE=P3^0;
sbit OE=P3^1;
void delay(uint x)
{
uint ij;
for(i=x;i;i--)
for(j=125;j;j--);
}
void Smg_Display(uint x)
{
uint geshibai;
bai=x/100;
shi=x/10%10;
ge=x%10;
if(bai!=0)
{
Smg0_Switch=1;
P0=smg_table[bai];
delay(5);
Smg0_Switch=0;
}
if(!(bai==0&&shi==0))
{
Smg1_Switch=1;
P0=smg_table[shi];
delay(5);
Smg1_Switch=0;
}
Smg2_Switch=1;
P0=smg_table[ge];
delay(5);
Smg2_Switch=0;
}
void AD()
{
START=0;
OE=0;
START=1;_nop_();START=0; //正脉冲信号
ALE=1;ADDA=0;ADDB=0;ADDC=0;;//选通INT0
while(!EOC);
OE=1; //输出数据
Smg_Display(P1);
OE=0;
}
void main()
{
while(1)
{
AD();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-02-22 14:06 AD0808\
文件 101118 2011-03-18 19:38 AD0808\AD0808.DSN
文件 768 2014-02-22 14:06 AD0808\AD0808.PWI
文件 4382 2011-03-18 17:53 AD0808\AD0809与80C51的连接电路.png
文件 101149 2011-03-18 18:43 AD0808\Backup Of AD0808.DBK
文件 101020 2011-03-18 19:31 AD0808\Last Loaded AD0808.DBK
文件 4440 2011-03-18 19:45 AD0808\测试
文件 3930 2011-03-18 19:45 AD0808\测试.LST
文件 6302 2011-03-18 19:45 AD0808\测试.M51
文件 4614 2011-03-18 19:45 AD0808\测试.OBJ
文件 1444 2011-03-18 19:45 AD0808\测试.c
文件 1285 2011-03-18 19:45 AD0808\测试.hex
文件 40 2011-03-18 19:45 AD0808\测试.lnp
文件 173 2014-02-22 14:05 AD0808\测试.plg
文件 55350 2014-02-22 14:06 AD0808\测试.uvopt
文件 13308 2011-03-18 07:46 AD0808\测试.uvproj
文件 55346 2013-12-30 21:53 AD0808\测试_uvopt.bak
文件 0 2011-03-18 06:56 AD0808\测试_uvproj.bak
- 上一篇:TI DSP 28335 串口非FIFO中断接收程序
- 下一篇:宝马隐藏代码大全
相关资源
- 基于51单片机的万年历
- 51单片机频率计设计
- 51_I2C模拟通信
- 红外线遥控Proteus仿真电路+发射+接收
- 基于8086的小型直流电机闭环调速系统
- 51单片机资料\\基于单片机的函数信号
- 51单片机串口通信程序 含详细
- 基于Proteus的单片机RS232与RS485应用案例
- Proteus仿真Arduino控制OLED1306
- 51单片机AD转换程序及仿真图
- 51单片机 矩阵键盘计算器
- mc34063的5v电源升12vproteus仿真
- 基于PROTEUS的单片机AD转换仿真
- 基于51单片机SHT11温湿度传感器检测程
- 帆板控制系统proteus仿真图
- 8051单片机最小系统电路原理图
- keil+proteus仿真单片机交通灯
- 51单片机和proteus仿真红外遥控
- 51单片机秒表课程设计
- 基于单片机的电子琴proteus仿真,可演
- 基于单片机的智能交通灯PROTEUS仿真图
- 51单片机PID控制含DAC0832DA转换程序完全
- 51单片机利用传感器测距
- 51单片机PCF8591
- 基于51单片机的交通灯实验报告
- 51单片机多任务编程思想
- proteus制作的计算器
- proteus 8 professional 汉化包 亲测好用
- 基于单片机的光电计数器设计
- 用PROTEUS的12864液晶仿真示波器
评论
共有 条评论