中断及定时器实现时钟功能

中断及定时器实现24时 时钟,程序如下:

#include <reg52.h>

 

#define PORTLEN P0

 

sbit bit_select = P2^0;

sbit seg_select = P2^1;

 

unsigned char src[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

unsigned char qrc[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsigned char second1[8];

unsigned char shi = 0;

unsigned char fen = 0;

unsigned char miao = 0;

 

void timer0_init(void)

{

  EA = 1;  //打开总中断

  TMOD |= 0x01; //设置工作方式

  TH0 = (65536 - 20000) / 256;

  TL0 = (65536 - 20000) % 256;  //设置定时器初值,1ms产生一次中断

  ET0 = 1;   //打开定时器中断

  TR0 = 1;   //打开定时器,开始每隔1ms1

} //打开计时器开始加1,当TH0 =0xff,TL0=0xff时&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值