《数码管LED显示动态2》由会员分享,可在线阅读,更多相关《数码管LED显示动态2(2页珍藏版)》请在金锄头文库上搜索。
1、严*标题:数码管的显示效果:显示00-99,动态显示+变化显示工作于:51开发板说明:此例程将数码管显示内容用一个函数打包,要显示直接调用即可。*/ 头文件:#iiiclude Hieg51.ir变量定义:unsigned char table=0xc0,0xf9,0xa4,0xb0,0x99,0x92.0x82.0xf8,0x80,0x90;表:共阳数码管0-9引脚定义: sbit SMG_q = Plz 0; 定义数码管阳级控制脚(T位) sbit SMG_b = PlAl; 定义数码管阳级控制脚(百位) sbit SMG_s = P1A2; 定义数码管阳级控制脚(十位) sbit SMG
2、_g = PlA3; 定义数码管阳级控制脚(个位)函数声明:void display(unsigned char da);/定义显示函数,参数为显示内容,只显示两位数 void delay(void);主函数,C语言的入II函数:void main(void)unsigned char i=0;作为查表的索引号unsigned char Idata; unsigned mtj;变量用作0、99计数此变量作为计数跳变刷新时间wlule(l)j=5000;xvhile(j)display(ldata);刷新5000次,约1秒,注:在C语言里是没有周期可计算的刷新完成约1秒,变量做加计数if(lda
3、ta99) ldata+;elseldata=O;显示函数,参数为显示内容,只显示两位数void displav(unsigned char da)SMG_s=0;选择十位数码管PO=tableda/lO; /获取十位值,查表输出定义好的数码管段值与P0 1丨,显示相应的 0-9delayO;延时P0=0XFF;清除数码管显示,因是共阳型,所以不是0SMG_s=l;关闭十位数码管SMG_g=0;选择个位数码管P0=tableda%10; /获取个位值,查表输出定义好的数码管段值与P0 I 1,显示相应的 0-9delayO;延时P0=0XFF;清除数码管显示,因是共阳型,所以不是0SMG_g=l;关闭个位数码管延时子函数,短暂延时void delay(void)unsigned char i=10;while(i);