久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4599|回復: 0
收起左側

單片機實驗 定時器中斷程序和原理圖

[復制鏈接]
ID:786759 發表于 2020-6-22 16:14 | 顯示全部樓層 |閱讀模式
原理圖 新工程 - Proteus 8 Professional - 原理圖繪制 2020_6_22 16_10_09.png
  1. include "reg52.h"                         //此文件中定義了單片機的一些特殊功能寄存器
  2. #include<intrins.h>         



  3. typedef unsigned int u16;          //對數據類型進行聲明定義
  4. typedef unsigned char u8;
  5. #define left 0
  6. #define right 1


  7. void switch_direction(u8 x);

  8. sbit k1=P3^2;  //定義按鍵K1
  9. sbit k2=P3^3;  //定義按鍵K2
  10. sbit k3=P3^5;  //定義按鍵K2
  11. u8 xianshi[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
  12. char i;
  13. u16 j,m,flag_led,s_key;

  14. #define LED P2         


  15. void delay(u16 i)
  16. {
  17.         while(i--);        
  18. }


  19. void Int_Init()         //中斷配置                        外部中斷
  20. {
  21.         //設置INT0
  22.         IT0=1;//跳變沿出發方式(下降沿)
  23.         EX0=1;//打開INT0的中斷允許。
  24.         
  25.         //設置INT1
  26.         IT1=1;//跳變沿出發方式(下降沿)
  27.         EX1=1;//打開INT1的中斷允許。
  28.         
  29.                
  30.         EA=1;//打開總中斷        
  31. }

  32. //定時器0中斷
  33. void Timer0Init()
  34. {
  35.         TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。

  36.         TH0=0XFC;        //給定時器賦初值,定時1ms
  37.         TL0=0X18;        
  38.         ET0=1;//打開定時器0中斷允許
  39.         EA=1;//打開總中斷
  40.         TR0=1;//打開定時器                        
  41. }

  42. void TIM1init(void)
  43. {     
  44.    TMOD=0x21;    //設置定時器1為工作方式2     
  45.    TH1=0xff;   //裝入初值     
  46.    TL1=0xff;         
  47.    EA=1;    //開總中斷     
  48.    ET1=1;   //開定時器中斷     
  49.    TR1=1;   //啟動定時器1
  50. }



  51. void main()
  52. {        
  53.     LED = 0XFF;
  54.         flag_led = 0;
  55.         s_key = right;
  56.         Int_Init();  //        設置外部中斷1
  57.         Timer0Init();
  58.         TIM1init();
  59.         while(1)
  60.         {
  61.            if(flag_led == 0)
  62.            {
  63.              LED = xianshi[i];
  64.            }
  65.            else
  66.            {
  67.                      LED = 0xff;
  68.            }
  69.         }               
  70. }




  71. void Int0()        interrupt 0                //外部中斷0的中斷函數
  72. {
  73.         delay(1000);         //延時消抖
  74.         if(k1==0)
  75.         {
  76.                 s_key = left;
  77.         }
  78. }

  79. void Timer0() interrupt 1  //定時器1中斷服務函數
  80. {
  81.         static u16 j;
  82.         TH0=0XFC;        //給定時器賦初值,定時1ms
  83.         TL0=0X18;
  84.         j++;
  85.         if(j==1000)
  86.         {
  87.                 j=0;
  88.           switch_direction(s_key);        
  89.         }        
  90. }


  91. void Int1()        interrupt 2                //外部中斷1的中斷函數
  92. {
  93.         delay(1000);         //延時消抖
  94.         if(k2==0)
  95.         {
  96.                 s_key = right;
  97.         }
  98. }

  99. void Timer1() interrupt 3  //定時器1中斷服務函數
  100. {
  101.         TH1=0xff;
  102.         TL1=0xff;
  103.         if(k3==0)
  104.         {
  105.                 delay(1000);
  106.                 if(k3==0)
  107.                 {
  108.                     EX0 = ~EX0;
  109.                         EX1 = ~EX1;
  110.                         TR0 = ~TR0;
  111.                         flag_led = ~flag_led;
  112.                 }
  113.         }
  114.                  
  115.         
  116. }


  117. void switch_direction(u8 x)
  118. {
  119.   if(x == 0)
  120.   {
  121.     i--;
  122.   }
  123.   else
  124.   {
  125.     i++;
  126.   }
  127.   if(i==8)
  128.    {
  129.            i = 0;
  130.    }
  131.   if(i == -1)
  132.    {
  133.           i = 7;
  134.    }

  135. }
復制代碼





回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久999免费视频 999久久久久久久久6666 | 在线日韩不卡 | 国产一区影院 | 午夜久久久| 亚洲伊人a | 亚洲精品国产a久久久久久 午夜影院网站 | chinese中国真实乱对白 | 国产成人精品一区二区三区 | 欧美在线视频网站 | 一级女毛片 | 国产一区不卡 | 亚洲九色 | 久久国产区 | 欧美精品首页 | 国产一区二区小视频 | 国产亚洲精品精品国产亚洲综合 | 天堂一区在线观看 | 欧美日韩精品 | 成人精品鲁一区一区二区 | 欧美激情亚洲激情 | 一级黄色片一级黄色片 | 午夜av成人| 91国在线高清视频 | 午夜国产 | 一区二区三区四区在线播放 | 亚洲国产第一页 | 日韩a在线 | 天天操天天摸天天爽 | 中文字幕一区二区三区精彩视频 | 日本在线视频一区二区 | 五月天激情综合网 | 色综合视频 | 成人精品一区二区三区 | 欧洲性生活视频 | 精品国产乱码久久久久久牛牛 | 欧美一二三 | 国产精品一区二区三区四区五区 | 在线观看欧美日韩视频 | 精品久久久久久久久久 | 波多野结衣一区二区三区在线观看 | 久久99精品国产99久久6男男 |