51单片机—定时器显示时钟
来源:互联网 发布:阿里云 dnspod 编辑:程序博客网 时间:2024/05/29 18:51
#include <reg52.h>#define SEGPORT P0sbit bit_select = P2^0;sbit seg_select = P2^1;unsigned char duanma[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char weima[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char TempData[8];unsigned char shi = 20,fen = 54,miao =55;void display(){ static unsigned char i = 0;SEGPORT = 0x0; //消重影seg_select = 1;seg_select = 0;SEGPORT = 0xff;bit_select = 1;bit_select = 0;SEGPORT = TempData[i];seg_select = 1;seg_select = 0;SEGPORT = weima[i];bit_select = 1;bit_select = 0;i++;if(8 == i){i = 0;}}void timer0_init(void){ EA = 1; //打开总中断 TMOD |= 0x01; //TMOD = 0x01 TH0 = (65536 - 20000) / 256; TL0 = (65536 - 20000) % 256; //设置定时器初值,1ms产生一次中断 ET0 = 1; //打开定时器中断 TR0 = 1; // 打开定时器,开始每隔1us加1}void timer1_init(void){ EA = 1; //打开总中断 TMOD |= 0x10; // TMOD = TMOD | 0x10 = 0x11 TH1 = (65536 - 2000) / 256; TL1 = (65536 - 2000) % 256; //设置定时器初值,1ms产生一次中断 ET1 = 1; //打开定时器中断 TR1 = 1; // 打开定时器,开始每隔1us加1}void main(){timer0_init();timer1_init();while(1);}void timer0_isr() interrupt 1{ static unsigned char i = 0; TH0 = (65536 - 20000) / 256; TL0 = (65536 - 20000) % 256; //设置定时器初值,1ms产生一次中断 i++; if(50 == i) { i = 0; miao++;if(60 == miao){ miao = 0;fen++;if(60 == fen){ fen = 0;shi++;if(24 == shi){shi = 0;}}} } TempData[0] = duanma[shi / 10]; TempData[1] = duanma[shi % 10]; TempData[2] = 0x40; TempData[3] = duanma[fen / 10]; TempData[4] = duanma[fen % 10]; TempData[5] = 0x40; TempData[6] = duanma[miao / 10]; TempData[7] = duanma[miao % 10]; }void timer1_isr() interrupt 3{TH1 = (65536 - 2000) / 256;TL1 = (65536 - 2000) % 256; //设置定时器初值,1ms产生一次中断display();}
0 0
- 51单片机—定时器显示时钟
- 51单片机完成时钟形式显示
- 单片机数码管时钟显示
- 单片机显示时钟
- 电子时钟(51单片机定时器,1602液晶)
- 51单片机-利用定时器设计的简单时钟
- 51单片机—串口时钟
- 51单片机—实时时钟
- 51单片机——定时器
- 单片机==时钟定时器(6)
- MSP430F413单片机实现时钟显示
- 51单片机 时钟程序设计 数码管可闪烁显示数值
- 【单片机】51单片机时钟——利用中断
- 51单片机时钟程序
- 51单片机时钟输出
- 51单片机可调时钟
- 51单片机时钟
- 51单片机实现时钟
- Linux 内核网络协议栈源码剖析socket 函数剖析
- Android跳转到通讯录获取用户名称和手机号码
- Python正则
- 【struts2】异常处理机制
- 今天起~开始记录博客
- 51单片机—定时器显示时钟
- 使用文件上传类upload.php上传文件
- 01串
- 【bzoj 1748】[Ahoi2009]Seq 维护序列seq 裸的线段树
- R语言图形编程
- Codeforces Round #376 (Div. 2) A.B
- 找回自己
- 城市的三级列表
- word2013中公式居中编号右对齐