标题: 单片机外部中断扩展程序+Proteus仿真 [打印本页]

作者: 144444    时间: 2019-11-22 18:54
标题: 单片机外部中断扩展程序+Proteus仿真
外部中断扩展   用中断控制小灯
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include "reg52.h"

  2. sbit key1=P3^2;//外怒中断0
  3. sbit key2=P2^0;
  4. sbit key3=P2^1;
  5. sbit key4=P2^2;
  6. sbit key5=P2^3;//外部中断1的4个按键

  7. void T0_Init();
  8. void delayms(unsigned  char);


  9. void main()
  10. {
  11.         T0_Init();
  12.         while(1)
  13.         {
  14.                  P1=0Xff;
  15.         }
  16.        
  17.        
  18. }

  19. //void delayms(unsigned  char A)
  20. //{
  21. //        unsigned int x,y;
  22. //        for(A=x;x>0;x--)
  23. //                for(y=110;y>0;y--);
  24. //}

  25. void T0_Init()
  26. {
  27.         EA=1;//开启总中断
  28.         EX0=1;//开启外部中断0
  29.         EX1=1;//开启外部中断1
  30.         IT0=0;
  31.         IT1=0;//电平触发
  32. }

  33. void T0_T()  interrupt 0
  34. {
  35.         P1=0xf0;//全亮
  36.        
  37.        
  38. }

  39. void T1_T()  interrupt 2
  40. {
  41.         if(key2==0)//按键2按下
  42.         {
  43.                 P1=0xfe;//D1亮
  44.         }
  45.            while(!key2);//按键松手  松手则不亮
  46.        
  47.                 if(key3==0)//按键3按下
  48.                 {
  49.                                 P1=0xfd;//D2亮
  50.                 }
  51.             while(!key3);
  52.                
  53.                         if(key4==0)//按键4按下
  54.                         {
  55.                                         P1=0xfb;//D3亮
  56.                         }
  57.                    while(!key4);
  58.                        
  59.                                 if(key5==0)//按键5按下
  60.                                 {
  61.                                                 P1=0xf7;//D4亮
  62.                                 }
  63.                           while(!key5);
  64.        
  65. }
  66.        
复制代码

所有资料51hei提供下载:
练习外部中断扩展.zip (78.63 KB, 下载次数: 33)



作者: 蔡瑞    时间: 2020-6-14 18:00
你这不能用啊,灯泡都不会亮










欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1