定时器中断0~100秒

时间:2016-11-29来源:网络
电路很简单,我就不画图了,四位数码管 通过2个74hc595连起来,1个595负责段选,1个595负责位选,利用单片机定时器中断实现0-100数字的循环显示.程序已经通过本人测试通过
#include#define uint unsigned int#define uchar unsigned charsbit 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++;}

关键词: 定时器中断0~100

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版