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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7938|回復: 14
收起左側

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

  [復制鏈接]
回帖獎勵 1 黑幣 回復本帖可獲得 1 黑幣獎勵! 每人限 1 次
ID:719754 發表于 2020-10-30 20:04 | 顯示全部樓層 |閱讀模式
采用單片機的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鍵控制。

制作出來的實物圖如下:
1604058595971.jpg

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

主函數:
//主程序
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.png

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


評分

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

查看全部評分

回復

使用道具 舉報

ID:719754 發表于 2020-10-30 20:05 | 顯示全部樓層
完整程序代碼,仿真圖,電路圖及pcb圖都在壓縮包里
回復

使用道具 舉報

ID:836287 發表于 2020-11-3 14:47 | 顯示全部樓層
黃燈不顯示么
回復

使用道具 舉報

ID:838284 發表于 2020-11-3 15:31 | 顯示全部樓層
試試黃燈
回復

使用道具 舉報

ID:825397 發表于 2020-11-3 21:04 | 顯示全部樓層
厲害,做工漂亮,贊一個
回復

使用道具 舉報

ID:840329 發表于 2020-11-7 21:20 | 顯示全部樓層
黃燈去哪里了
回復

使用道具 舉報

ID:841235 發表于 2020-11-9 21:08 | 顯示全部樓層
黃燈沒有嗎?
回復

使用道具 舉報

ID:582903 發表于 2020-11-13 10:14 | 顯示全部樓層
黃燈跑哪里了?
回復

使用道具 舉報

ID:843212 發表于 2020-11-13 18:55 | 顯示全部樓層
今天剛學到,還看不大懂
回復

使用道具 舉報

ID:828858 發表于 2020-11-26 09:43 | 顯示全部樓層
包里有源碼嗎?
回復

使用道具 舉報

ID:851698 發表于 2020-12-1 08:49 | 顯示全部樓層
沒有黃燈嗎
回復

使用道具 舉報

ID:924305 發表于 2021-5-27 09:20 | 顯示全部樓層
這個功能挺全的哈
回復

使用道具 舉報

ID:933744 發表于 2021-6-6 16:14 | 顯示全部樓層

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

使用道具 舉報

ID:328014 發表于 2021-6-6 16:52 | 顯示全部樓層
djdjjdjdjj 發表于 2021-6-6 16:14
怎么打開啊,我下載了打不開

先安裝Proteus8.8,雙擊就打開了 如圖
51hei.png
回復

使用道具 舉報

ID:754395 發表于 2021-6-29 02:22 | 顯示全部樓層
準備做一個玩了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99九色| 欧美成人精品在线 | 永久av| 色综网| 成人精品视频在线观看 | 国产中文字幕在线观看 | 国产精品永久 | 一区二区三区精品在线 | 岛国精品 | 久久精品日产第一区二区三区 | 这里只有精品999 | 亚洲视频网 | 国产美女特级嫩嫩嫩bbb片 | 国产精品久久久久久网站 | 天天操综合网 | av一区二区三区 | 久久只有精品 | 久久成人精品一区二区三区 | 久久久久久国产精品 | 国产免费观看一级国产 | 日日夜夜天天综合 | 黄色一级大片视频 | 欧美不卡视频一区发布 | 91视频在线看 | 久久成人国产 | 国产四区| 欧美成人一区二区三区 | 久久不卡 | 亚洲国产一区二区三区 | 日本在线视频一区二区 | 欧美精产国品一二三区 | 久久99深爱久久99精品 | 欧美自拍第一页 | 91成人在线视频 | 精品欧美一区二区精品久久久 | 91视频91 | 91短视频网址 | 中文字幕一区二区三区在线观看 | 午夜一区二区三区视频 | 成人免费观看男女羞羞视频 | 你懂的国产 |