60秒倒计时时钟 单片机AT89C51 C语言程序.docx
-
资源ID:3149706
资源大小:36.75KB
全文页数:2页
- 资源格式: DOCX
下载积分:6.99金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
60秒倒计时时钟 单片机AT89C51 C语言程序.docx
60秒倒计时时钟 单片机AT89C51 C语言程序#include<reg51.h> typedef unsigned char uint8; typedef unsigned int uint16; /*七段共阳管显示定义*/ uint8 code dispcode =0x40,0x79,0x24, 0x30,0x19,0x12,0x02, 0x78,0x00,0x10; /*定义并初始化变量*/ uint8 seconde=59; uint16 mstcnt=0; /*函数声明*/ void delay(uint8 k ); /延时子程序 void time_pro( ); /时间处理子程序 void display( ); /显示子程序 /*/ /*延时子程序*/ /*/ void delay (uint8 k) uint8 j; while(k-)!=0) for(j=0;j<125;j+) ; /*/ /*时间处理子程序*/ /*/ void time_pro( void) if(seconde=0)/秒钟设为59进制 seconde=59; /*/ /* 显示子程序*/ /*/ void display(void) P1=dispcodeseconde/10; /显示秒的十位 delay(4); P2=dispcodeseconde%10; /显示秒的个位 delay(4); /*/ /*1s定时定时 */ /*/ void timer0(void) interrupt 1 using 0/定时器0方式1,250us中断一次 TH0=0xff; TL0=0x19; TMOD = 0x01; mstcnt+; if(mstcnt=4000) seconde-; mstcnt=0; /注意对计数单元的清零 /*/ /*主函数*/ /*/ void main(void) P1=0xff; /初始化p0口,全设为1使数码管 P2=0xff; /初始化p2口,全设为1使数码管 TMOD = 0x01; /time0为定时器,方式1 TH0=0xff; /预置计数初值 TL0=0x19; EA=1; ET0=1; TR0=1; while (1) time_pro( ); /时间处理 display( ); /显示时间