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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機交通燈程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:993164 發表于 2022-11-21 16:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
功能:Proteus模擬運行,南北亮綠燈,東西亮紅燈,南北綠燈亮8s后,南北綠燈閃爍2s,接著南北黃燈常亮1s,東西依然紅燈,南北黃燈熄滅后,東西亮紂燈,南北亮紅燈,東西綠燈亮8s后,開始閃爍2s,之后黃燈亮1s,然后南北亮綠燈......程序開始循環。


單片機源程序如下:
  1. #include<reg51.h>
  2. #define uchar unsigned char

  3. #define uint unsigned int
  4. //東西
  5. sbit GR_1=P1^5;        //位定義

  6. sbit YELLOW_1=P1^4;

  7. sbit RED_1=P1^3;

  8. sbit RED_2=P1^0;

  9. sbit YELLOW_2=P1^1;

  10. sbit GREEN_2=P1^2;
  11. //北南


  12. uchar times = 1;
  13. uint sess=0,  ses=0;  //毫秒   秒
  14. /*******************************************************************************
  15. * 函 數 名         : delay
  16. * 函數功能                   : 延時函數,i=1時,大約延時10us
  17. *******************************************************************************/
  18. void delay(uint i)
  19. {
  20.         while(i--);       
  21. }
  22. /*******************************************************************************
  23. * 函 數 名         : Timer0Init
  24. * 函數功能                   : 定時器0初始化
  25. * 輸    入         : 無
  26. * 輸    出         : 無
  27. *******************************************************************************/
  28. void Timer0Init()
  29. {
  30.         TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。


  31.         TH0=0XfC;        //給定時器賦初值,定時1ms
  32.         TL0=0X18;
  33.         ET0=1;//打開定時器0中斷允許
  34.         EA=1;//打開總中斷
  35.         TR0=1;//打開定時器                       
  36. }

  37. /*******************************************************************************
  38. * 函 數 名         : void Timer0() interrupt 1
  39. * 函數功能                   : 定時器0中斷函數
  40. * 輸    入         : 無
  41. * 輸    出         : 無
  42. *******************************************************************************/
  43. void Timer0() interrupt 1
  44. {

  45.         TH0=0XfC;        //給定時器賦初值,定時1ms
  46.         TL0=0X18;
  47.     sess++;         //毫秒
  48.         if(sess==1000) //1000毫秒 =1s
  49.         {
  50.            ses++; //s 加1
  51.            sess=0;        //ms 等于0
  52.         if(ses==8)times=5;         //亮8s南北綠燈后跳到5語句
  53.         if(ses==10)times=2;         //亮2s南北閃爍綠燈后跳到2語句
  54.         if(ses==11)times=3;          //跳到3語句
  55.         if(ses==19)times=6;          //跳到3語句
  56.         if(ses==21)times=4;          //跳到4語句
  57.         if(ses==22){times=1;ses=0;}    //s 等于0   而且回答 跳到1語句
  58.         }


  59.        
  60.                
  61. }


  62. /*******************************************************************************
  63. * 函 數 名         :main
  64. * 函數功能                   : 主函數
  65. *******************************************************************************/

  66. void main()
  67. {         

  68. Timer0Init();//定時器初始化
  69.    
  70.        
  71.         while(1)
  72.    {
  73.    
  74.            switch(times) //一開始times=1
  75.       {
  76.           case 1:   GR_1=1;         RED_1=0;                 //東西的紅綠燈
  77.                                 RED_2=1;        GREEN_2=0;                //南北的紅綠燈
  78.                                         YELLOW_1=1;                                        //東西的黃燈
  79.                                       YELLOW_2=1;                                         //南北的黃燈
  80.                                break;

  81.         case 2:
  82.                                               GREEN_2=1;                  //南北的綠燈   高電平滅
  83.                                        YELLOW_1=1;                  //東西的黃燈
  84.                                             YELLOW_2=0;                 //南北的黃燈                 
  85.                   
  86.                      break;

  87.         case 3:     GR_1=0;         RED_1=1;                 //東西的紅綠燈
  88.                                 RED_2=0;        GREEN_2=1;                //南北的紅綠燈
  89.                                         YELLOW_1=1;                                        //東西的黃燈
  90.                                       YELLOW_2=1;                                         //南北的黃燈
  91.                                break;

  92.             case 4:
  93.                                               GR_1=1;                  //南北的綠燈   高電平滅
  94.                                        YELLOW_1=0;                  //東西的黃燈
  95.                                             YELLOW_2=1;                 //南北的黃燈                 
  96.                   
  97.                      break;

  98.                   case 5:   GR_1=1;         RED_1=0;                 //東西的紅綠燈
  99.                                 RED_2=1;        GREEN_2=~GREEN_2;                //南北的紅綠燈
  100.                                         YELLOW_1=1;                                        //東西的黃燈
  101.                                       YELLOW_2=1;                                         //南北的黃燈
  102.                                          delay(50000);
  103.                                break;

  104.              case 6:     GR_1=~GR_1;         RED_1=1;                 //東西的紅綠燈
  105.                                 RED_2=0;        GREEN_2=1;                //南北的紅綠燈
  106.                                         YELLOW_1=1;                                        //東西的黃燈
  107.                                       YELLOW_2=1;       
  108.                                          delay(50000);                                 //南北的黃燈
  109.                                break;
  110.       }

  111.    }

  112. }
復制代碼

Keil代碼與Proteus8.10版本的仿真下載(注意:不能兼容其他版本 只能用8.10打開):
1 交通燈(新版)定時器.rar (82.67 KB, 下載次數: 23)


評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩一级免费观看 | 精品av| 日韩欧美高清dvd碟片 | 国产精品视频一区二区三区四蜜臂 | 91高清在线观看 | 成人网av| 男女下面一进一出网站 | 精品一区二区三区av | 亚洲va欧美va天堂v国产综合 | 亚洲中午字幕 | а天堂中文最新一区二区三区 | 亚洲国产成人精品女人久久久 | 麻豆久久久久久久 | 国产一区二区视频免费在线观看 | 久久伊人精品一区二区三区 | 中文字幕日韩欧美一区二区三区 | 日一区二区| 久久亚洲国产 | 青青草视频网 | 国产精品美女久久久久aⅴ国产馆 | 日韩欧美在线免费观看视频 | 热99视频 | 国产区第一页 | 欧美综合色 | 国产一区二区三区不卡av | 91久久精品国产 | 久久国产精品亚洲 | 国产精品无码永久免费888 | 久久合久久 | 99久久免费精品国产男女高不卡 | 日本综合在线观看 | 亚洲成人免费 | 夜夜操av | 99精品视频在线 | 欧美黑人一级爽快片淫片高清 | 91视频进入 | 国产精品成人一区二区三区 | 亚洲精品免费视频 | 99精品视频在线 | 国产精品综合网 | 日本成人福利 |