定时器中断0~100秒
2015-07-24 来源:51hei
电路很简单,我就不画图了,四位数码管 通过2个74hc595连起来,1个595负责段选,1个595负责位选,利用单片机的定时器中断实现0-100数字的循环显示.程序已经通过本人测试通过
进入单片机查看更多内容>>
#include#define uint unsigned int #define uchar unsigned char sbit rck=P0^0; sbit sck=P0^1; sbit si=P0^2; uchar num[]={0x80,0xed,0x42,0x48,0x2c,0x18,0x10,0xcc,0x00,0x08}; uint b=0,i=0,j=0,k; void write_595(uchar x)//对595芯片进行设初始化 { for(k=0;k<8;k++) //移位寄存器 { x>>=1; sck=0; si=CY; sck=1; } } void date_danpianji()//对单片机计时器进行初始化 { EA=1;//总中断开启 ET1=1;//定时器开启 TMOD=0X10;//选择定时器工作模式 TH1=(65536-33333)/256;//除整赋给高八位 TL1=(65536-33333)%256;//除余赋给第八位 TR1=1; //启动定时器 } void main()//主函数 { date_danpianji();//调用定时器中断 while(1)//循环 { if(b==20)//检测中断函数是否满足b==20,如果满足则执行 { b=0; i++; if(i==10) { i=0; j++; if(j==10)j=0; } } write_595(num[j]); write_595(num[i]); rck=0; rck=1; } } void ext() interrupt 3 using 1 //定时器中断 { TH1=(65536-33333)/256; TL1=(65536-33333)%256; b++; }
上一篇:1602液晶8位数据口动态显示
下一篇:无线识别装置调试心得
相关文章