欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4317|回復: 2
打印 上一主題 下一主題
收起左側

單片機多級外部中斷控制LED燈移動實驗 Proteus仿真加源程序

[復制鏈接]
跳轉到指定樓層
樓主
單片機多級外部中斷控制LED燈移動的仿真原理圖(proteus工程文件可到本帖附件下載):


單片機源程序:

  1. //---------------------------------------------------------------------------------------------------------------
  2. // 程序名:  ZD5-5.c
  3. // 程序功能:多級外部中斷控制燈移動   
  4. //---------------------------------------------------------------------------------------------------------------

  5. #include<reg51.h>                             // 頭文件
  6. char sum =0;                                  // 聲明sum為字符變量并賦初始值0
  7. delay ();                                     // 延時函數

  8. // ----------------------------------------------- 主函數  --------------------------------------------------

  9. void main()
  10. {
  11.    EA=1;                                       // 允許總中斷
  12.    EX0=1;                                      // 允許外部中斷0中斷
  13.    EX1=1;                                      // 允許外部中斷1中斷
  14.    PX1=1;                                      // 外部中斷1高優先級
  15.   
  16.    while(1)                                    // 無限循環
  17.      {     
  18.        delay ();
  19.        P1=0xff;
  20.        delay ();
  21.        P1=0x00;
  22.      }
  23. }

  24. // -------------------------------------------- INT0 中斷函數  ----------------------------------------------

  25. void EX_INT0() interrupt 0   
  26.    {
  27.       while(sum<15)                            // 循環15次
  28.         {
  29.               delay ();                            // 調用延時函數
  30.           P1=0x0f;                             // P1輸出0x0f
  31.           delay ();                            // 調用延時函數
  32.           P1=0xf0;                             // P1輸出0xf0
  33.               sum ++;                              // sum 加1  
  34.                 }
  35.            sum=0;                                  // sum 清零,以便重新計數
  36.     }

  37. // -------------------------------------------- INT1 中斷函數  -----------------------------------------------       

  38.   void EX_INT1() interrupt 2   
  39.    {
  40.     while(sum<15)                                // 循環15次         
  41.         {
  42.               delay ();                              // 調用延時函數
  43.           P1=0xc3;                               // P1輸出0xc3
  44.           delay ();                              // 調用延時函數
  45.           P1=0x3c;                               // P1輸出0x3c
  46.               sum ++;                                // sum 加1           
  47.                 }
  48.            sum=0;                                    // sum 清零,以便重新計數
  49.    }

  50. //-------------------------------------------------- 延時函數 -------------------------------------------------
  51.    delay ()
  52.     {
  53.       int a=50000;
  54.       while (a--);
  55.     }
  56. //---------------------------------------------------------------------------------------------------------------------

復制代碼




該系列源碼包含有很多非常經典,代碼風格十分規范,而且注釋詳細的單片機例程,還帶仿真,對于MCU學習特別是初學者是很有幫助的,全部源碼下載(共25個項目):http://www.raoushi.com/bbs/dpj-79328-1.html

本例程下載(含proteus仿真工程文件與源碼):
5-5單片機多級外部中斷控制LED燈移動實驗.rar (40.01 KB, 下載次數: 31)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:194008 發表于 2017-4-26 21:54 | 只看該作者
多謝樓主
回復

使用道具 舉報

板凳
ID:632189 發表于 2019-11-5 09:03 來自觸屏版 | 只看該作者
多謝大佬幫助
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表