定时器中断0~100秒
时间: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 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)