LED数码管时钟程序 电路时间可调 下载本文

内容发布更新时间 : 2024/6/13 21:54:55星期一 下面是文章的全部内容请认真阅读。

LED数码管时钟程序+电路-时间可调

自上次数码管时钟为完善版本(玩了几天后,懒啊不想动,汗)终于解决了不能进入调试的BUG

不来废话上程序:

/***************************************************************

* 程序名称:51单片机数码管电子钟+定时闹钟 晶

振:12.00

* 实验对象:51hei单片机学习开发板

* 单 片 机:AT89S52或STC89C52 闹钟时间:7:10分(程序自定义)

*使用定时器方式,数码管显示24小时

“00-00-00”(增加中断进入对时功能 P1为按键,P2为段选,P0为位选,

****************************************************************/

/***使用定时器方式,数码管显示24小时“00-00-00”(增加进入对时功能) P1为按键,P2为段选,P0为位选,{闹钟暂时不可调待完善})***/ #include ;

#define uchar unsigned char /*宏定义 */ #define uint unsigned int /*宏定义 */

uchar hour,hour_h,hour_l; /*定义小时,小时的高位,小时的低位*/

uchar min,min_h,min_l; /*分*/ uchar sec,sec_h,sec_l; /*秒*/ uchar int_num; /*定时溢出作用标号*/

sbit key_secadd=P1^1; /*定义了 p1.1为秒增1键,

用在调时中断里*/

sbit key_minadd=P1^2; /*定义了 p1.2为分增1键,用在调时中断里*/

sbit key_houradd=P1^3; /*定义了 p1.3为时增1键,用在调时中断里*/

sbit key_intime=P1^0; //按P1.0进入调时 sbit key_quit=P1^5; //P1.5退出调时 sbit bell=P1^5; //小喇叭

void delay(uchar time); /*延时子函数声明*/ void display(); /*显示子函数声明*/

void inter_init(); /*定时器初始化子函数声明*/ void time24();

/****专用数码管显示表***/ uchar code

duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; /*0x40显示“一”符号*/ uchar code

wema[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x00};

/*小时hour 分min 秒sec*/ //---------------------延时子函数--------------------------------