立即注册 登录
返回首页

uid:99600的个人空间

日志

51单片机外部中断,定时计数器,数码管应用

已有 1351 次阅读2015-12-20 00:07 |个人分类:51单片机| 单片机, 计数器, 数码管

#include<reg51.h>
#define unchar unsigned char  
unchar DispTab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unchar i;
unchar count=0;
void timer0 (void) interrupt 1
 TH0=-50000/256;
   TL0=-50000%256;
   i++;
   if (i==2)
   {
    i=0; 
    count--;
    }
   if (count==0)
   {
    count=110;
    }
   P0=DispTab[count/100];
   P2=DispTab[(count%100)/10];
   P1=DispTab[count%10];

   }
   
void main ( )
{
   TMOD=0x01;
   TH0=-50000/256;
   TL0=-50000%256;
   P0=DispTab[count/100];
   P2=DispTab[(count%100)/10];
   P1=DispTab[count%10];
   EA=1;
   ET0=1;
   TR0=1;
   EX1=1;         //外部中断0开
   IT1=0;         //0电平触发
   EX0=1;         //外部中断0开
   IT0=0;         //0电平触发
   do{}while(1);
 }
 void ISR_Key(void) interrupt 0 
{

 TR0=~TR0;     //进入中断程序执行程序,
    
}
void ISR_Key2(void) interrupt 2  
{
  //进入中断程序执行程序,
 i=0;
 count=0;
 P0=0X06;
 P2=0X3F;
 P1=0x3f;
    
}
/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

下面是仿真效果
-------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

返回顶部