欢迎来到天天文库
浏览记录
ID:49464564
大小:84.01 KB
页数:2页
时间:2020-03-01
《《51单片机数字时钟-proteus仿真原理图及keilc51编译的c51程序》.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、该实验采用proteus7.4sp3进行的仿真,仿真原理图如下图所示,该实验采用定时器0的工作方式1定时500ms,等待20次定时1s进行时钟计数。通过定时器1的工作方式1定时500ms,用来调整数码管闪烁的时间。K1是用来选中时分秒,按一下选中时,再按一下选中分,再按一下选中秒,再按一下退出选中状态。K2按一下数加一,K3按一下数减一。在调整时间时,时钟停走。/***********************************************************************程序名; 时钟实验*功 能:数码管通过动态扫描显示时间,时
2、间可设定,调整时间时时钟不走.*编程者:ZPZ*编程时间:2009/8/9**********************************************************************/#include#defineuintunsignedint#defineucharunsignedchar sbit _led=P2^7;sbit key1=P2^0;sbit key2=P2^1;sbit key3=P2^2;uchar num=0,temp=0,count=0;uchar
3、 aa;ucharhour,min,sec;ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay(uintz);void display(uchara,ucharb,ucharc,uchard,uchare,ucharf,ucharaa);void read_key();void led();void time_change();/******************主函数
4、*******************/voidmain(){ P2=0xff; hour=12; min=0; sec=0; TMOD=0x11; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1; ET0=1; ET1=1;
5、 TR0=1; TR1=1; aa=0xff; while(1) { time_change(); display(table[hour/10],table[hour%10],table[min/10], table[min%10],table[sec/10],table[sec%10],0xff); }}
此文档下载收益归作者所有