单片机59分59秒内可调倒计时.doc

上传人:M****1 文档编号:549264731 上传时间:2023-04-25 格式:DOC 页数:7 大小:28.51KB
返回 下载 相关 举报
单片机59分59秒内可调倒计时.doc_第1页
第1页 / 共7页
单片机59分59秒内可调倒计时.doc_第2页
第2页 / 共7页
单片机59分59秒内可调倒计时.doc_第3页
第3页 / 共7页
单片机59分59秒内可调倒计时.doc_第4页
第4页 / 共7页
单片机59分59秒内可调倒计时.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《单片机59分59秒内可调倒计时.doc》由会员分享,可在线阅读,更多相关《单片机59分59秒内可调倒计时.doc(7页珍藏版)》请在金锄头文库上搜索。

1、#include #define uint unsigned int#define uchar unsigned charsbit k1 = P00;sbit k2 = P01;sbit k3 = P02;uint sec = 59;uint min = 59;uint hour = 59;uint x = 0;uint y = 0;uint z = 0;uint xun = 1;int NUM10 = 0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90;int BITS6 = 0x01,0x02,0x04,0x08,0x10,0x20;void

2、 InitTimer0(void) TMOD = 0x01; TH0 = 0x0C2; TL0 = 0x0CD; EA = 1;/中断总开关EX0 = 1;/外部中断0开 EX1 =1;/外部中断1开 ET0 = 1;/定时器0开 TR0 = 1; /开启定时器计时void delay(uchar x)uchar i;for(x;x0;x-)for(i=200;i0;i-);void display(uint a,uint b,uint c)uint i;for(i=0;i6;i+)P2=BITSi;if(i=0)P1=NUMc/10;else if(i=1)P1=(NUMc%10+0x80)

3、;else if(i=2)P1=NUMb/10;else if(i=3)P1=(NUMb%10+0x80);else if(i=4)P1=NUMa/10;else if(i=5)P1=(NUMa%10+0x80);delay(5);void set(uint xun) /x=2 secuint a=1;if(xun=2)P2=BITS4;P1=NUMsec/10;delay(5);P2=BITS5;P1=(NUMsec%10);delay(5);else if(xun=3)P2=BITS2;P1=NUMmin/10;delay(5);P2=BITS3;P1=(NUMmin%10);delay(

4、5);else if(xun=4)P2=BITS0;P1=NUMhour/10;delay(5);P2=BITS1;P1=(NUMhour%10);delay(5);void main(void)InitTimer0();while(1)while(xun=1)display(sec,min,hour);if(k1=0)delay(500);if(k1=0)InitTimer0();if(ET0=0)&(k3=0)delay(500);if(ET0=0)&(k3=0)xun+;while(xun=2)if(k1=0)delay(500);if(k1=0)InitTimer0();xun=1;

5、if(k2=0)delay(500);if(k2=0)if(sec=59)sec=0;elsesec+;set(xun);if(ET0=0)&(k3=0)delay(500);if(ET0=0)&(k3=0)xun+;while(xun=3)if(k1=0)delay(500);if(k1=0)InitTimer0();xun=1; if(k2=0)delay(500);if(k2=0)if(min=59)min=0;elsemin+;set(xun);if(ET0=0)&(k3=0)delay(500);if(ET0=0)&(k3=0)xun+;while(xun=4)if(k1=0)del

6、ay(500);if(k1=0)InitTimer0();xun=1; if(k2=0)delay(500);if(k2=0)if(hour=59)hour=0;elsehour+;set(xun);if(ET0=0)&(k3=0)delay(500);if(ET0=0)&(k3=0)xun=2;void Timer0Interrupt(void) interrupt 1using 1 /17msTH0 = 0x0C2; TL0 = 0x0CD; if(sec=0)sec = 59;if(min=0)min = 59;if(hour=0)sec = 0;min = 0;TR0 = 0;elsehour = hour-1;elsemin = min-1; elsesec = sec-1;void INT0_ROUTING() interrupt 0 using 2/外部中断0子程序 ET0 = 0;TR0 = 0;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号