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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7488|回復: 3
收起左側(cè)

單片機交通燈控制電路仿真+程序

[復制鏈接]
ID:171060 發(fā)表于 2017-12-23 19:40 | 顯示全部樓層 |閱讀模式
交通燈控制電路仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
20171223192808.png

0.png

單片機源程序如下:
  1. //功能:交通燈控制程序
  2. #include <reg52.h>           //包含頭文件reg51.h,定義了51單片機的專用寄存器

  3. unsigned char t0,t1;         //定義全局變量,用來保存延時時間循環(huán)次數(shù)
  4. unsigned count=0;
  5. unsigned char time=60;
  6. sbit wei1=P3^6;
  7. sbit wei2=P3^7;

  8. unsigned char code sum[]={0x3f,0x06,0x5b,
  9. 0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
  10. 0x77,0x7c,0x39,0x5e,0x79,0x71};

  11. void delayms(unsigned int ms)                //@12.000MHz
  12. {        
  13.         unsigned char i, j;
  14.         while(ms--)
  15.         {

  16.                 i = 2;
  17.                 j = 239;
  18.                 do
  19.                 {
  20.                         while (--j);
  21.                 } while (--i);
  22.         }
  23. }


  24. void display()
  25. {
  26.         P2=0x00;
  27.         wei1=0;
  28.         P2=sum[time/10];
  29.         delayms(5);
  30.         wei1=1;

  31.         P2=0x00;
  32.         wei2=0;
  33.         P2=sum[time%10];
  34.         delayms(5);
  35.         wei2=1;


  36. }

  37. void int_3() interrupt 3
  38. {            
  39.         TH1=(65536-50000)/256;        //設置定時器初值
  40.         TL1=(65536-50000)%256;  
  41.         count++;
  42.         if(count==20)
  43.         {
  44.                 count=0;
  45.                 time--;
  46.                 if(time==0)
  47.                 {
  48.                         time=60;
  49.                 }
  50.         }
  51.         display();
  52.         
  53. }

  54. void delay0_5s1()
  55. {  
  56.    for(t0=0;t0<10;t0++)                //采用全局變量t0作為循環(huán)控制變量
  57.    {            
  58.    TH0=(65536-50000)/256;        //設置定時器初值
  59.    TL0=(65536-50000)%256;  
  60. TR0=1;                                       //啟動T1
  61.    while(!TF0);       //查詢計數(shù)是否溢出,即50ms定時時間到,TF1=1
  62.    TF0=0;              //50ms定時時間到,將定時器溢出標志位TF1清零
  63.    }
  64. }
  65. //函數(shù)名:delay_t1
  66. //函數(shù)功能:實現(xiàn)0.5~128s延時
  67. //形式參數(shù):unsigned char t;
  68. //          延時時間為0.5s×t
  69. //返回值:無
  70. void delay_t1(unsigned char t)
  71. {
  72.     for(t1=0;t1<t;t1++)            //采用全局變量t1作為循環(huán)控制變量
  73.     delay0_5s1();
  74. }


  75. //函數(shù)名:int_0
  76. //函數(shù)功能:外部中斷0中斷函數(shù),緊急情況處理,當CPU響應外部中斷0的中斷請求時,
  77. //          自動執(zhí)行該函數(shù),實現(xiàn)兩個方向紅燈同時亮10 s
  78. //形式參數(shù):無
  79. //返回值:無
  80. void int_0()  interrupt 0             //緊急情況中斷
  81. {
  82. unsigned char i,j,k,l,m,n,o;
  83. i=P1;                                //保護現(xiàn)場,暫存P1口、t0、t1、TH1、TL1
  84. j=t0;
  85. k=t1;
  86. l=TH1;
  87. m=TL1;        
  88. n=TH0;
  89. o=TL0;
  90. P1=0xdb;                        //兩個方向都是紅燈
  91. delay_t1(20);                        //延時10 s
  92. P1=i;                        //恢復現(xiàn)場,恢復進入中斷前P1口、t0、t1、TH1、TL1
  93. t0=j;
  94. t1=k;
  95. TH1=l;
  96. TL1=m;
  97. TH0=n;
  98. TL0=o;
  99. }
  100. //函數(shù)名:int_1
  101. //函數(shù)功能:外部中斷1中斷函數(shù),特殊情況處理,當CPU響應外部中斷1的中斷請求時,
  102. //                   自動執(zhí)行該函數(shù),實現(xiàn)A道放行5 s
  103. //形式參數(shù):無
  104. //返回值:無
  105. void int_1() interrupt 2          //特殊情況中斷
  106. {
  107. unsigned char  i,j,k,l,m,n,o;
  108. EA=0;                          //關中斷
  109. i=P1;                                //保護現(xiàn)場,暫存P1口、t0、t1、TH1、TL1
  110. j=t0;
  111. k=t1;
  112. l=TH1;
  113. m=TL1;
  114. n=TH0;
  115. o=TL0;
  116. EA=1;                                  //開中斷
  117. P1=0xf3;                        //A道放行
  118. delay_t1(10);                        //延時5 s
  119. EA=0;                                //關中斷
  120. P1=i;                        //恢復現(xiàn)場,恢復進入中斷前P1口、t0、t1、TH1、TL1
  121. t0=j;
  122. t1=k;
  123. TH1=l;
  124. TL1=m;
  125. TH0=n;
  126. TL0=o;

  127. EA=1;                                //開中斷
  128. }
  129. void main()                        //主函數(shù)                        
  130. {
  131.         unsigned char k;
  132.         TMOD=0x11;                        //T1設置為工作方式1
  133.         TH1=(65536-50000)/256;        //設置定時器初值
  134.         TL1=(65536-50000)%256;
  135.         EA=1;                           //開總中斷允許位
  136.         ET1=1;
  137.         TR1=1;
  138.         EX0=1;                          //開外部中斷0中斷允許位
  139.         IT0=1;                           //設置外部中斷0為下降沿觸發(fā)
  140.         EX1=1;                          //開外部中斷1中斷允許位
  141.         IT1=1;                           //設置外部中斷1為下降沿觸發(fā)

  142. while(1)
  143. {
  144.         
  145.    P1=0xf3;                        //A綠燈,B紅燈,延時55 s
  146.    delay_t1(110);                                 
  147.    for(k=0;k<3;k++)                        //A綠燈閃爍3次
  148.     {P1=0xf3;
  149.      delay0_5s1();                        //延時0.5 s
  150.      P1=0xfb;
  151.      delay0_5s1();                        //延時0.5 s
  152.      }
  153.    P1=0xeb;                                //A黃燈,B紅燈,延時2 s
  154.    delay_t1(4);
  155.    P1=0xde;                                //A紅燈,B綠燈,延時55 s
  156.    delay_t1(110);
  157.    for(k=0;k<3;k++)                        //B綠燈閃爍3次
  158.     {P1=0xde;
  159.      delay0_5s1();                        //延時0.5 s
  160.      P1=0xdf;
  161.      delay0_5s1();                        //延時0.5 s
  162.      }
  163.    P1=0xdd;                                   //A紅燈,B黃燈,延時2 s
  164.    delay_t1(4);                                       
  165.     }
  166.   }
復制代碼

所有資料51hei提供下載:
交通燈控制電路仿真 程序.zip (39.2 KB, 下載次數(shù): 119)
回復

使用道具 舉報

ID:266575 發(fā)表于 2017-12-26 08:13 | 顯示全部樓層
為什么數(shù)碼管沒有時間顯示?。。。QAQ
回復

使用道具 舉報

ID:790000 發(fā)表于 2020-6-28 13:34 來自手機 | 顯示全部樓層
問一下兩個while一起用可以嗎?
回復

使用道具 舉報

ID:762896 發(fā)表于 2020-7-6 13:13 | 顯示全部樓層
你好,按你這個做出來,數(shù)碼管不顯示數(shù)值咋一直閃?
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成色777777在线观看影院 | 久久精品这里精品 | av无遮挡| 国产在线中文字幕 | 在线观看国产wwwa级羞羞视频 | 中文字幕国产精品视频 | 国产精品久久久爽爽爽麻豆色哟哟 | 成人国产一区二区三区精品麻豆 | 欧美一区二区三区在线观看视频 | 99综合在线| www.97zyz.com| 精品视频一区二区三区 | 国产精品国产三级国产aⅴ入口 | 久久躁日日躁aaaaxxxx | 自拍视频一区二区三区 | 国产精品久久久久久久久久软件 | 日韩爱爱网站 | 日本午夜免费福利视频 | 一区二区三区四区av | 国产一区二区麻豆 | 国产精品123区 | 亚洲精品 在线播放 | 一区二区三区电影在线观看 | 国产91久久久久久久免费 | 二区久久 | 国产乱一区二区三区视频 | 欧美美乳| 色站综合| 久久精品一区二区三区四区 | 夜夜夜久久久 | va在线| 亚洲色视频 | 国产精品久久久久久一区二区三区 | 精品亚洲第一 | 国产精品免费一区二区三区四区 | 成人国产精品一级毛片视频毛片 | 可以在线观看av的网站 | 黄色激情毛片 | 久热m3u8 | 亚洲 精品 综合 精品 自拍 | 黄色一级片视频 |