基于单片机的AD转换的数码管显示程序
- 编辑:admin -基于单片机的AD转换的数码管显示程序
0x88,这样显示时就和AD转换时一至,我此刻的数码管没有回收锁存器,0x99, 0x8e };//数组 本文引用地点: /************主函数**********/ void main() { while(1) { add();//调用AD转换子函数 dissy();//数码管显示子函数 } } /************AD转换子函数**********/ void add()//AD转换子函数 { uchar i; ad_cs=1;//将片选封锁 ad_cs=0;//将片选打开 ad_wr=1;//写数上升沿 ad_wr=0;//写数下降沿 ad_wr=1;//写数上升沿 P1=0xff;//送数到P0口 ad_rd=1;//读数上升沿 delay(25);//延时一会儿 ad_rd=0;//读数下降沿 //////**************因为AD转换时间周期长,硬件电路:cs片选端接P2.3,。
0x83,显示出来的数就不闪了********************////// for(i=0;i7;i++) //调用7次。
0xc6,所以显示时会闪烁,0x90,0x86,0xb0,解决此问题要领是,WR写数据端写P3.6,0xf9。
0x82,互联网资讯,AD转换时间大于显示时间, 0x92,0xf8。
k;//界说变量 for(j=i;j0;j--)//外循环 for(k=30;k0;k--);//内循环 } ,0xa1。
0xa4,数码管位选端别离接P3.2 ,段选端接P1口*/ #includereg52.h//头文件 #define uint unsigned int//宏文件 #define uchar unsigned char//宏文件 uchar num;//变量 void delay3(uint z);//延时界说 void dissy();//延时函数界说 sbit ge=P3^2;//个位界说 sbit shi=P3^3;//十位界说 sbit bai=P3^4;//百位界说 sbit ad_cs=P2^3;//片选端 sbit ad_wr=P3^6;//写数据端 sbit ad_rd=P3^7;//读数据端 sbit pian=P2^6;//锁存器片选 void add();//ad转换子函数 void delay(uint i);//延时子函数申明 uchar code table[]={ 0xc0。
持续调用了显示子措施七次, *本例程回收AD0804芯片,相当于delay(255) void dissy(); //////**********************************////// num=P1;//将数给计数器num } /************显示子函数**********/ void dissy()//显示子函数 { P0=table[num/100];//百位显示数据 bai=0;//百位打开 delay(14);//延时一会 bai=1;//封锁百位 P0=table[num%100/10];//十位显示数据 shi=0;//十位打开 delay(14);//延时一会 shi=1;//封锁十位 P0=table[num%10];//百位显示数据 ge=0;//封锁十位 delay(14);//延时一会 ge=1;//封锁十位 } /**************延时子函数*************/ void delay(uint i)//延时函数 { uint j。
RD读数据端接P3.7,锁存端接P2.6脚,P3.4,P3.3,热点新闻,www.yzmcyy.com,0x80。