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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機控制模擬交通信號燈源代碼原理圖PCB工程文件

  [復制鏈接]
回帖獎勵 1 黑幣 回復本帖可獲得 1 黑幣獎勵! 每人限 1 次
跳轉到指定樓層
樓主
采用單片機的I/O口PO口通過上拉電阻和交通燈相連接,P3.0、P3.1口接到數碼管控制位上,控制數碼管的顯示,程序放在STC89C52RC單片機的ROM中,在十字路口的四組紅、黃、綠交通燈中,由單片機的 P1.0-P1.2 、P1.5-P1.7、P2.0-P2.2、P2.5-P2.7控制,由于交通燈為發光二極管且陽極通過限流電阻和電源正極相連,因此I/0口輸出低電平時,與之相連的指示燈會亮,并通過數碼管顯示時間倒計時。I/0口輸出高電平時,相應指示燈會滅。當交通出現障礙需要恢復到初始狀態時,按下復位鍵即可,此鍵由單片機的9腳RST鍵控制。

制作出來的實物圖如下:


Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


主函數:
//主程序
void main()
{
        TMOD=0X11;                                           //定時器設置
        TH1=0X3C;               
        TL1=0XB0;
        TH0=0X3C;                                        //定時器0置初值 0.05S
        TL0=0XB0;
        EA=1;                                                //開總中斷
        ET0=1;                                                //定時器0中斷開啟
        ET1=1;                                           //定時器1中斷開啟
        TR0=1;                                                //啟動定時0
        TR1=0;                                                         //關閉定時1
        EX0=1;                                                //開外部中斷0
        EX1=1;                                                //開外部中斷1

        P1=0X21;                                        // 開始默認狀態,東西綠燈,南北黃燈   
    sec_nb=sec_dx+5;                         //默認南北通行時間比東西多5秒
        while(1)                                          //主循環
        {         
                key();                                         //調用按鍵掃描程序
                display();                                 //調用顯示程序
        }        
}
//函數的定義部分
void key(void)        //按鍵掃描子程序
{         
        
if(k1!=1)                                                        //當K1(禁止)鍵按下時
        {
                   display();                                       //調用顯示,用于延時消抖
                   if(k1!=1)                                                //如果確定按下
                   {         
                    TR0=0;                                                //關定時器
                        P1=0X00;
                        Red_dx=1;
                        Red_nb=1;                                        //全部置紅燈
                        TR1=0;
                        sec_dx=00;                                        //四個方向的時間都為00
                        sec_nb=00;
                        do
                        {
                                display();                                 //調用顯示,用于延時
                        }        
                        while(k1!=1);                        //等待按鍵釋放        
                   }
        }
        if(k2!=1)                                                        //當K2(確認)鍵按下時
        {        
                display();                                       //調用顯示,用于延時消抖
                if(k2!=1)                                                //如果確定按下
                {
                        TR0=1;                                                  //啟動定時器0
                        sec_nb=set_timenb;                                //從中斷回復,仍顯示設置過的數值
                        sec_dx=set_timedx;                                //顯示設置過的時間
                        TR1=0;                                                          //關定時器1        
                        if(set==0)                                                //時間倒時到0時
                        {
                                P2=0X00;                                         //滅顯示
                                Green_dx=1;                                                //東西綠燈亮
                                Red_nb=1;                                        //南北紅燈亮
                                sec_nb=sec_dx+5;                         //回到初值
                        }
                        else
                        {
                                P2=0x00;                                        //南北綠燈,東西紅燈
                                Green_nb=1;
                                Red_dx=1;
                                sec_dx=sec_nb+5;
                        }
                }
        }        
}


全部資料51hei下載地址:
交通燈.zip (16.79 MB, 下載次數: 129)


評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:719754 發表于 2020-10-30 20:05 | 只看該作者
完整程序代碼,仿真圖,電路圖及pcb圖都在壓縮包里
回復

使用道具 舉報

板凳
ID:836287 發表于 2020-11-3 14:47 | 只看該作者
黃燈不顯示么
回復

使用道具 舉報

地板
ID:838284 發表于 2020-11-3 15:31 | 只看該作者
試試黃燈
回復

使用道具 舉報

5#
ID:825397 發表于 2020-11-3 21:04 | 只看該作者
厲害,做工漂亮,贊一個
回復

使用道具 舉報

6#
ID:840329 發表于 2020-11-7 21:20 | 只看該作者
黃燈去哪里了
回復

使用道具 舉報

7#
ID:841235 發表于 2020-11-9 21:08 | 只看該作者
黃燈沒有嗎?
回復

使用道具 舉報

8#
ID:582903 發表于 2020-11-13 10:14 | 只看該作者
黃燈跑哪里了?
回復

使用道具 舉報

9#
ID:843212 發表于 2020-11-13 18:55 | 只看該作者
今天剛學到,還看不大懂
回復

使用道具 舉報

10#
ID:828858 發表于 2020-11-26 09:43 | 只看該作者
包里有源碼嗎?
回復

使用道具 舉報

11#
ID:851698 發表于 2020-12-1 08:49 | 只看該作者
沒有黃燈嗎
回復

使用道具 舉報

12#
ID:924305 發表于 2021-5-27 09:20 | 只看該作者
這個功能挺全的哈
回復

使用道具 舉報

13#
ID:933744 發表于 2021-6-6 16:14 | 只看該作者

怎么打開啊,我下載了打不開
回復

使用道具 舉報

14#
ID:328014 發表于 2021-6-6 16:52 | 只看該作者
djdjjdjdjj 發表于 2021-6-6 16:14
怎么打開啊,我下載了打不開

先安裝Proteus8.8,雙擊就打開了 如圖

51hei.png (32.97 KB, 下載次數: 57)

51hei.png
回復

使用道具 舉報

15#
ID:754395 發表于 2021-6-29 02:22 | 只看該作者
準備做一個玩了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产欧美在线播放 | 亚洲视频三| 亚洲成av人片在线观看 | 嫩草视频在线免费观看 | 涩涩视频在线观看 | 成人精品一区二区 | 99只有精品| 精品一区二区三区av | 亚洲精选一区二区 | 国产成人精品午夜 | 日韩在线观看视频一区 | 精品欧美一区二区三区久久久 | 国产色网站 | 黑人巨大精品欧美一区二区免费 | 国产亚洲一区二区精品 | 成人在线一区二区 | 97国产精品视频人人做人人爱 | 中文字幕亚洲视频 | 中文字幕视频一区二区 | 免费看国产精品视频 | 亚洲成人精品一区二区 | 久久久久久毛片免费观看 | 欧美精品乱码久久久久久按摩 | 日韩欧美视频在线 | 亚洲午夜精品一区二区三区 | 最新国产精品精品视频 | 成人精品一区二区 | 瑟瑟视频在线看 | 亚洲午夜视频在线观看 | 91免费在线 | 一区二区三区免费在线观看 | 中文字幕亚洲一区二区三区 | 综合色影院| 精品国产乱码久久久久久蜜臀 | 在线免费激情视频 | 男人的天堂亚洲 | 视频在线日韩 | 午夜av电影 | 午夜电影在线播放 | 国产探花在线精品一区二区 | 亚洲一区中文字幕 |