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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 12484|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)十字路口紅綠燈控制設(shè)計(jì)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
學(xué)習(xí)51單片機(jī)時(shí)做的交通燈課程設(shè)計(jì),分享給大家,附件含Protues仿真,源程序和設(shè)計(jì)文檔


單片機(jī)源程序如下:
  1. #include<stdio.h>
  2. #include<reg52.h>
  3. sbit ST=P3^0;
  4. sbit Ho1=P1^7;
  5. sbit Ho2=P1^4;
  6. sbit L1=P1^5;
  7. sbit L2=P1^2;
  8. sbit Hu1=P1^6;
  9. sbit Hu2=P1^3;
  10. sbit Q0=P3^2;
  11. sbit Q1=P3^3;
  12. int second=65,p=1,count_t0=0,
  13.         count_t1=0,below_second=60,scan=0;
  14. void debouncer(void);
  15. char Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};                        //數(shù)碼管顯示數(shù)組,共陽
  16. char Ma[]={0x01,0x02,0x04,0x08};                                                                                //掃描數(shù)組
  17. char disp[]={0xc0,0xc0,0xc0,0xc0};                                                                                //數(shù)碼管輸出數(shù)組
  18. char Count[]={0xc0,0xc0,0xc0,0xc0,0xc0,0xc0};                                                        //數(shù)據(jù)存儲(chǔ)數(shù)組
  19. void main()                                                                                                                                //主函數(shù)
  20. {
  21.         IE=0x8f;                                                                                                                        //中斷初值定義
  22.         TCON=0x55;
  23.         TMOD=0x21;
  24.         TH0=(65536-50000)/256;
  25.         TL0=(65536-50000)%256;
  26.         TH1=256-250;
  27.         TH2=256-250;
  28.         while(1)                                                 //數(shù)碼管與交通燈顯示
  29.                 {
  30.                 if(p==1)
  31.                 {
  32.                 if(second>5)                                                         //南北通行60秒
  33.                 {
  34.                 disp[1]=Tab[below_second%10];
  35.                 disp[0]=Tab[below_second/10];
  36.                 disp[3]=Tab[second%10];
  37.                 disp[2]=Tab[second/10];
  38.                 L1=0;
  39.                 L2=1;
  40.                 Ho1=1;
  41.                 Ho2=0;
  42.                 Hu1=0;
  43.                 Hu2=0;
  44.                 }
  45.                 else                                                                         //黃燈5秒
  46.                 {
  47.                 disp[1]=Tab[second%10];
  48.                                                         disp[0]=Tab[second/10];
  49.                                                         disp[3]=Tab[second%10];
  50.                                                         disp[2]=Tab[second/10];
  51.                                                         L1=0;
  52.                                                         L2=0;
  53.                                                         Hu1=0;
  54.                                                         Hu2=1;
  55.                                                         Ho1=1;
  56.                                                         Ho2=0;
  57.                                                 }
  58.                                 }
  59.                         else
  60.                                 {
  61.                                         if(second>5)                                                          //東西通行60秒
  62.                                                 {
  63.                                                         disp[1]=Tab[second%10];
  64.                                                         disp[0]=Tab[second/10];
  65.                                                         disp[3]=Tab[below_second%10];
  66.                                                         disp[2]=Tab[below_second/10];
  67.                                                         L1=1;
  68.                                                         L2=0;
  69.                                                         Ho1=0;
  70.                                                         Ho2=1;
  71.                                                         Hu1=0;
  72.                                                         Hu2=0;
  73.                                                 }
  74.                                         else                                                                          //黃燈5秒
  75.                                                 {
  76.                                                         disp[1]=Tab[second%10];
  77.                                                         disp[0]=Tab[second/10];
  78.                                                         disp[3]=Tab[second%10];
  79.                                                         disp[2]=Tab[second/10];
  80.                                                         L2=0;
  81.                                                         L1=0;
  82.                                                         Hu1=1;
  83.                                                         Hu2=0;
  84.                                                         Ho1=0;
  85.                                                         Ho2=1;
  86.                                                 }
  87.                                 }
  88.                 }
  89. }
  90. void int0(void) interrupt 0           //中斷int0,全為紅燈。
  91. {        
  92.         Count[0]=Ho1;
  93.         Count[1]=Ho2;
  94.         Count[2]=Hu1;
  95.         Count[3]=Hu2;
  96.         Count[4]=L1;
  97.         Count[5]=L2;
  98.         Count[6]=p;
  99.         P0=0x00;
  100.         L1=0;
  101.         L2=0;
  102.         Ho1=1;
  103.         Ho2=1;
  104.         Hu1=0;
  105.         Hu2=0;
  106.         debouncer();
  107.         while(Q0==0);
  108.         Ho1=Count[0];
  109.         Ho2=Count[1];
  110.         Hu1=Count[2];
  111.         Hu2=Count[3];
  112.         L1=Count[4];
  113.         L2=Count[5];
  114.         p=Count[6];
  115.         second=65;
  116.         below_second=60;
  117.         count_t0=0;
  118.         Tab[0]=0xc0;
  119. }
  120. void int1(void) interrupt 2           //中斷int1,單方向綠燈。
  121. {
  122.         Count[0]=Ho1;
  123.         Count[1]=Ho2;
  124.         Count[2]=Hu1;
  125.         Count[3]=Hu2;
  126.         Count[4]=L1;
  127.         Count[5]=L2;
  128.         Count[6]=p;
  129.         P0=0x00;
  130.         if(ST==0)
  131.                  {
  132.                          L1=1;
  133.                         L2=0;
  134.                         Ho1=0;
  135.                         Ho2=1;               
  136.                  }
  137.          else
  138.                  {
  139.                          L1=0;
  140.                         L2=1;
  141.                         Ho1=1;
  142.                         Ho2=0;
  143.                  }
  144.         Hu1=0;
  145.         Hu2=0;
  146.         debouncer();
  147.         while(Q1==0);
  148.         Ho1=Count[0];
  149.         Ho2=Count[1];
  150.         Hu1=Count[2];
  151.         Hu2=Count[3];
  152.         L1=Count[4];
  153.         L2=Count[5];
  154.         p=Count[6];
  155.         second=65;
  156.         below_second=60;
  157.         count_t0=0;
  158.         Tab[0]=0xc0;
  159. }
復(fù)制代碼

全部資料51hei下載地址:
交通燈控制.zip (149.51 KB, 下載次數(shù): 239)
Proteus仿真.docx (1.09 MB, 下載次數(shù): 156)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:559061 發(fā)表于 2019-6-11 11:48 | 只看該作者
真好!
回復(fù)

使用道具 舉報(bào)

板凳
ID:742062 發(fā)表于 2020-5-1 08:59 | 只看該作者
回復(fù)

使用道具 舉報(bào)

地板
ID:775870 發(fā)表于 2020-6-11 09:55 | 只看該作者
哎呀,這個(gè)標(biāo)簽數(shù)字看不清楚
回復(fù)

使用道具 舉報(bào)

5#
ID:779562 發(fā)表于 2020-6-16 15:53 | 只看該作者
運(yùn)行后  發(fā)現(xiàn)有三個(gè) warning
回復(fù)

使用道具 舉報(bào)

6#
ID:840263 發(fā)表于 2020-11-7 16:34 | 只看該作者
3119577 發(fā)表于 2020-6-16 15:53
運(yùn)行后  發(fā)現(xiàn)有三個(gè) warning

你這個(gè)燈亮了嗎
回復(fù)

使用道具 舉報(bào)

7#
ID:840263 發(fā)表于 2020-11-7 16:40 | 只看該作者
回復(fù)

使用道具 舉報(bào)

8#
ID:856454 發(fā)表于 2020-12-8 00:10 | 只看該作者
看不清標(biāo)號(hào)呀
回復(fù)

使用道具 舉報(bào)

9#
ID:685324 發(fā)表于 2021-4-13 21:06 | 只看該作者
可指定某一通道通行嗎
回復(fù)

使用道具 舉報(bào)

10#
ID:991407 發(fā)表于 2021-12-12 20:57 | 只看該作者
標(biāo)簽看不清啊
回復(fù)

使用道具 舉報(bào)

11#
ID:1073043 發(fā)表于 2023-6-8 23:36 | 只看該作者
大佬可以發(fā)清晰點(diǎn)的仿真圖嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩国产一区二区 | 国产视频在线观看一区二区三区 | 91九色在线观看 | 欧美区在线 | 免费黄色大片 | 国产乱码精品1区2区3区 | 激情婷婷 | 久久亚洲国产 | 2019天天干天天操 | 在线观看国产 | 日韩一级黄色毛片 | 日本国产高清 | 国产精品久久久久久久久久免费看 | 欧美日韩专区 | 91成人小视频 | 色资源在线 | 色又黄又爽网站www久久 | 久久精品久久精品久久精品 | 久久久久久久久国产成人免费 | 精品国产一区二区三区性色av | 欧美片网站免费 | 久久精品综合 | 爱操影视 | 91精品国产91久久久久久吃药 | 做a的各种视频 | 在线视频 亚洲 | 日韩精品一区二区三区中文字幕 | www.色综合 | 成人午夜在线观看 | 久久亚洲一区 | 亚欧精品 | 伊人av在线播放 | 免费日韩网站 | 亚洲国产视频一区 | 国产精品高潮呻吟久久aⅴ码 | 农夫在线精品视频免费观看 | 国产观看| 2022精品国偷自产免费观看 | 亚洲天堂中文字幕 | 国产精品视频在线免费观看 | 亚洲精品自在在线观看 |