欢迎来到天天文库
浏览记录
ID:48301823
大小:266.00 KB
页数:2页
时间:2019-11-23
《定时器控制数码管动态显示.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、35定时器控制数码管动态显示/*名称:定时器控制数码管动态显示说明:8个数码管上分两组动态显示年月日与时分秒,本例的位显示延时用定时器实现。*/#include#include#defineucharunsignedchar#defineuintunsignedint//段码,最后一位是“-”的段码ucharcodeDSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};//待显示的数据:09-1
2、2-25与23-59-58(分两组显示)ucharcodeTable_of_Digits[][8]={{0,9,10,1,2,10,2,5},{2,3,10,5,9,10,5,8}};uchari,j=0;uintt=0;//主程序voidmain(){P3=0x80;//位码初值TMOD=0x00;//计数器T0方式0TH0=(8192-4000)/32;//4ms定时TL0=(8192-4000)%32;IE=0x82;TR0=1;//启动T0while(1);}//T0中断函数控制数码管刷新显示voidDSY
3、_Show()interrupt1{TH0=(8192-4000)/32;//恢复初值TL0=(8192-4000)%32;P0=0xff;//输出位码和段码P0=DSY_CODE[Table_of_Digits[i][j]];P3=_crol_(P3,1);j=(j+1)%8;//数组第i行的下一字节索引if(++t!=350)return;//保持刷新一段时间t=0;i=(i+1)%2;//数组行i=0时显示年月日,i=1时显示时分秒}
此文档下载收益归作者所有