您的位置 首页 解答

定时器中止0~100秒

电路很简单,我就不画图了,四位数码管通过2个74hc595连起来,1个595负责段选,1个595负责位选,利用单片机的定时器中断实现0-100数字的

电路很简单,我就不画图了,四位数码管 经过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++;}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/255238.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部