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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機交通燈程及Proteus仿真文件 按鍵控制東西南北禁止通行等4種模式

[復制鏈接]
跳轉到指定樓層
樓主
“基礎篇綜合測試”項目1說明
功能要求:
1、仿真開始:東西(馬路)與南北(人行道)的所有紅、黃、綠燈熄滅,兩位數碼管不顯示。
2、K1按下松手:東西南北禁止通行
               東西( 馬路 )-- 紅燈 -- 常亮
               南北(人行道)-- 紅燈 -- 常亮
3、K2按下松手:東西南北謹慎通行
               東西( 馬路 )-- 黃燈 -- 亮0.5秒、滅0.5秒循環閃爍
               南北(人行道)-- 黃燈 -- 亮0.5秒、滅0.5秒循環閃爍
               要求使用定時器T0完成定時功能
4、K3按下松手:東西(馬路)通行,南北(人行道)禁止通行
               東西( 馬路 )-- 綠燈 -- 常亮
               南北(人行道)-- 紅燈 -- 常亮
5、K4按下松手:南北(人行道)有行人請求通行
               東西( 馬路 )--   紅  燈  亮  11  秒   -- 綠燈常亮
               南北(人行道)-- 綠燈亮8秒--黃燈亮3秒 -- 紅燈常亮
               要求使用定時器T1完成定時功能
6、在功能要求5的基礎上,使用兩位數碼管,顯示南北(人行道)通行倒計時,即按鍵K4按下松手,兩位數碼管顯示11、10、09、08、.......、03、02、01、00。
    注:仿真電路不允許修改,所有按鍵均采用外部中斷0來檢測識別。



仿真電路如下所示:


單片機源程序如下:
  1. #include  <reg52.h>
  2. #include  <intrins.h>
  3. #define  uchar  unsigned char
  4. #define  uint  unsigned int

  5. unsigned char code table[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

  6. uchar key_mode=0;
  7. uint t,s,shi,ge,i;

  8. uchar RXD_time=11;

  9. sbit  H_RED=P1^0;         
  10. sbit  H_GREEN=P1^1;         
  11. sbit  H_YELLOW=P1^2;

  12. sbit  L_RED=P1^4;         
  13. sbit  L_GREEN=P1^5;         
  14. sbit  L_YELLOW=P1^6;  


  15. sbit  k1=P2^0;         
  16. sbit  k2=P2^1;   
  17. sbit  k3=P2^2;  
  18. sbit  k4=P2^3;   

  19. sbit  LED_com1=P2^6;        
  20. sbit  LED_com2=P2^7;
  21. //sbit  DX=P0;

  22. void delay_LED(unsigned int i)
  23. {
  24.    
  25.    unsigned int j;
  26.    
  27.    for(j=0;j<i;j++);
  28.    
  29. }


  30. void  int0()  interrupt  0     
  31. {
  32.         
  33.     if (k1==0)
  34.         {delay_LED(1000);
  35.         if(k1==0){                       
  36.          key_mode=1; }
  37.          while(!k1);
  38.          }
  39.                                                                                                
  40.         if (k2==0)
  41.         {delay_LED(1000);
  42.         if(k2==0){                  
  43.          key_mode=2;}
  44.          while(!k2)
  45.          ;}
  46.                                                                                                    
  47.         if (k3==0)
  48.         { delay_LED(1000);
  49.         if(k3==0){                  
  50.           key_mode=3; }
  51.            while(!k3);
  52.            }                        

  53.         if (k4==0)
  54.         {delay_LED(1000);
  55.         if(k4==0){               
  56.            key_mode=4; }
  57.            while(!k4);
  58.            }                 
  59.    }
  60. void display();

  61. void jinxing()
  62. {
  63.         if(key_mode==1)
  64.    {
  65.    H_RED=1;L_RED=1;}
  66.   
  67.                 }

  68. void dxnbshenxing()
  69. {  
  70.         if(key_mode==2)
  71.         {        //P1=0;
  72.                 TR0=1;
  73.                 H_RED=0;L_RED=0;
  74.         //H_RED=1;L_RED=1;        
  75.         if(i==5)                                 
  76.         {
  77.           H_YELLOW=~H_YELLOW;
  78.           L_YELLOW=~L_YELLOW;
  79.           i=0;
  80.         }

  81.                 }


  82.          }

  83. void kkk3()
  84. {
  85.         if(key_mode==3)
  86.         {        TR0=0;
  87.                 //P1=0;
  88.                 L_GREEN=1;
  89.                 H_RED=1;
  90.                  H_YELLOW=0;
  91.           L_YELLOW=0;
  92.                 }
  93.                      }

  94. void  KKK4()
  95. {
  96.     if (key_mode==4)
  97.         {        
  98.         TR0=0;
  99.                 TR1=1;
  100.         if(s<11){L_RED=1;
  101.                 L_GREEN=0;
  102.                 H_RED=0; }
  103.                 if(s<=8) {H_GREEN=1;}
  104.                 if(s>8){H_GREEN=0;}
  105.                 if(s<=3) {H_YELLOW=1;}
  106.                 if(s>3) {H_YELLOW=0;}
  107.                 if(s>=11)
  108.                 {
  109.                 L_GREEN=1;
  110.                  L_RED=0;
  111.                  H_RED=1;
  112.                  if(RXD_time ==0)
  113.                  {TR1=0;
  114.                     }
  115.                  }
  116.                                 }
  117.                                 }

  118. void display()
  119. {
  120.     if(key_mode==4)
  121.         {          shi=RXD_time/10;
  122.           ge=RXD_time%10;
  123.                  // int k=0;
  124.                   //for(k=0;k<2;k++)
  125.                           
  126.                     LED_com1=0;P0=table[shi];delay_LED(100);LED_com1=1;        delay_LED(100);               
  127.                         LED_com2=0;P0=table[ge];delay_LED(100);LED_com2=1;delay_LED(100);  
  128.                         
  129.                                                                                                                                                                         
  130.                          }                           
  131.                         
  132.                   
  133.                                                 }

  134.                
  135.                
  136.                
  137.                
  138. /////////////////////////////////////////////////////////////////
  139. //定時器T0服務函數                                                                                          ///
  140. //作用:黃燈0.5秒閃爍                                         ///
  141. /////////////////////////////////////////////////////////////////
  142. void  T0_int()  interrupt  1      
  143. {
  144.     //uint i;  
  145.            TH0=0X18  ;
  146.         TL0=0XFC  ;
  147.         i++;
  148.         

  149. }

  150. /////////////////////////////////////////////////////////////////
  151. //定時器T1服務函數                                                                                          ///
  152. //作用:南北(人行道)倒計時定時                              ///
  153. /////////////////////////////////////////////////////////////////
  154. void  T1_int()  interrupt  3     
  155. {
  156.     uint i;
  157.          TH1=0X18  ;
  158.         TL1=0XFC  ;
  159.         i++;
  160.               if(i==10)
  161.         { s++;
  162.            RXD_time --;
  163.              i=0;
  164.                  }
  165. }
  166.                                                                                                 
  167. void  main(void)
  168. {
  169.         IT0=1   ;               
  170.         EX0=1  ;        

  171.         TMOD=0X11   ;   
  172.          
  173.         TL0 = 0xFC;               
  174.         TH0 = 0x18;               
  175.         TF0 = 1;        
  176.         //TR0 = 1;        
  177.         ET0=1   ;           


  178.         TL1 = 0xFC;        
  179.         TH1 = 0x18;
  180.         TF1 = 1;        
  181.         //TR1 = 1;
  182.         ET1=1;
  183.                
  184.         EA=1;
  185.         P1=0x00;


  186. while(1){        jinxing();
  187.         dxnbshenxing();
  188.         kkk3();
  189.          KKK4();
  190.          display();
  191.            }


  192. }               
  193.                   
復制代碼

所有資料51hei附件下載:
基礎篇綜合測試 項目1yzf.zip (204.81 KB, 下載次數: 48)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:262 發表于 2022-12-13 03:30 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久国产成人午夜av影院武则天 | 99国产精品久久久久久久 | 久久99精品久久久 | 岛国精品 | 精品国偷自产在线 | 久久精品av | 午夜午夜精品一区二区三区文 | 成人av免费在线观看 | 亚洲自拍偷拍免费视频 | 日韩二三区 | 欧美一区二区视频 | 成人婷婷| 久久免费精品 | 国产资源网| 自拍 亚洲 欧美 老师 丝袜 | 龙珠z在线观看 | 91丨九色丨国产在线 | 91精品国产欧美一区二区 | 国产精品久久久久aaaa樱花 | 久久av网| 天天操天天天干 | 色一级| 又爽又黄axxx片免费观看 | xx性欧美肥妇精品久久久久久 | 欧美日韩国产一区二区三区 | 一区二区三区四区视频 | 国产精品久久久久久久模特 | 久久久久久久久久性 | 99福利网| 欧美综合一区二区三区 | 999久久久久久久久6666 | 精品视频一区二区三区在线观看 | 亚洲国产一区二区在线 | 四虎影院新网址 | 国产精品久久久久久久久久久久午夜片 | 中国一级特黄真人毛片免费观看 | 国产毛片久久久久久久久春天 | 久久久青草婷婷精品综合日韩 | 一本一道久久a久久精品综合蜜臀 | 中文字幕亚洲一区 | 一级日批片 |