![51單片機用C語言實現(xiàn)交通燈(紅綠燈)源程序_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/5043f034-d693-4e5d-a31b-497f05bbcbe3/5043f034-d693-4e5d-a31b-497f05bbcbe31.gif)
![51單片機用C語言實現(xiàn)交通燈(紅綠燈)源程序_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/5043f034-d693-4e5d-a31b-497f05bbcbe3/5043f034-d693-4e5d-a31b-497f05bbcbe32.gif)
![51單片機用C語言實現(xiàn)交通燈(紅綠燈)源程序_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/5043f034-d693-4e5d-a31b-497f05bbcbe3/5043f034-d693-4e5d-a31b-497f05bbcbe33.gif)
![51單片機用C語言實現(xiàn)交通燈(紅綠燈)源程序_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/5043f034-d693-4e5d-a31b-497f05bbcbe3/5043f034-d693-4e5d-a31b-497f05bbcbe34.gif)
![51單片機用C語言實現(xiàn)交通燈(紅綠燈)源程序_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/5043f034-d693-4e5d-a31b-497f05bbcbe3/5043f034-d693-4e5d-a31b-497f05bbcbe35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 51單片機用C語言實現(xiàn)交通燈(紅綠燈)源程序2009-10-29 23:00交通燈,紅黃綠燈交替亮,怎樣實現(xiàn)呢?其實就是根據(jù)單片機定時器及倒計時的程序修改。源程序如下:/*1、程序目的:使用定時器學習 倒計時 紅綠燈原理 主要程序和倒計時一樣2、硬件要求:數(shù)碼管、晶振12M*/#include <reg52.h>bit red,green,yellow,turnred; /定義紅、黃、綠及轉(zhuǎn)紅標志code unsigned char tab=
2、0; 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共陰數(shù)碼管 0-9unsigned char Dis_Shiwei;/定義十位unsigned char Dis_Gewei; /定義個位void delay(unsigned int cnt) /用于動態(tài)掃描數(shù)碼管的延時程序while(-cnt);main()TMOD |=0x01;/定時器設(shè)置 10ms in 12M crystal定時器
3、0,工作方式1,16位定時器TH0=0xd8; /65535-10000=55535=D8F0(十六進制)TL0=0xf0;IE= 0x82; /中斷控制,EA=1開總中斷,ET0=1:定時器0中斷允許TR0=1; /開定時器0中斷P1=0xfc;/紅燈亮,根據(jù)紅黃綠接燈的順序。red =1;while(1)P0=Dis_Shiwei;/顯示十位,這里實現(xiàn)用8位數(shù)碼管,即左1位P2=0;delay(300);/短暫延時P0=Di
4、s_Gewei; /顯示個位,左數(shù),2位P2=1;delay(300);/*/* 定時中斷 */*/void tim(void) interrupt 1 using 1static unsigned char second=60,count; /初值60TH0=0xd8;/重新賦值,10毫秒定時TL0=0xf0;count+;if (count=100)
5、160; count=0; second-;/秒減1if(second=0) /這里添加定時到0的代碼 ,可以是燈電路,繼電器吸合等,或者執(zhí)行一個程序 if(red) /紅滅,先轉(zhuǎn)黃 red=0;yellow=1;
6、; second=4; P1=0xF3;/黃燈亮4秒,黃燈為過渡燈,再根據(jù)情況轉(zhuǎn)綠或轉(zhuǎn)紅 else if(yellow && !turnred) yellow=0;green=1; second=25;
7、60; P1=0xCF;/綠燈亮25秒, else if(green) yellow=1;green=0; second=4; P1=0xF3;/黃燈亮4秒 turnred=1; else if(yellow
8、&& turnred) /綠燈滅,轉(zhuǎn)黃燈,后紅燈,turnred=1時 red=1;yellow=0; P1=0xFC;/紅燈亮60秒 second=60; turnred=0; /接下來是轉(zhuǎn)黃,綠。 Dis_Shiwei=tabsecond/1
9、0;/十位顯示值處理 Dis_Gewei=tabsecond%10; /個位顯示處理開始延時3s程序流程圖:輸出red(縱) yellow(橫)清屏延時30s輸出red(縱) green(橫)清屏延時3s輸出yellow(縱) red(橫)清屏延時30sTrue=1輸出green(縱) red(橫)清屏Y結(jié)束N算法描述:1、定義green函數(shù)(清屏顯示(縱=green 橫=red延時30s)定義red函數(shù)(清屏顯示(橫=green 縱=red)延時30s)定義yellow1 yellow2函數(shù)(清屏顯示延時3s) 2、建立循環(huán):調(diào)用green函數(shù) 3、調(diào)用y
10、ellow1函數(shù) 4、調(diào)用red函數(shù) 5、調(diào)用yellow2函數(shù) 6、返回繼續(xù)循環(huán)執(zhí)行。源程序代碼:#include <stdlib.h>#include <stdio.h>#include <windows.h>void green() system("cls");printf("縱=green 橫=red ");Sleep(30000); void red() system("cls");printf("縱=red 橫=green");Sleep(30000); void y
11、ellow1() system("cls");printf("縱=yellow 橫=red");Sleep(3000); void yellow2() system("cls");printf("縱=red 橫=yellow");Sleep(3000); int main() while(true) green(); yellow1();red();yellow2(); return 0; 程序功能:模擬十字路口的紅綠燈的變換。1、 進入程序后,程序一直循環(huán),以模擬紅綠燈的不斷變換。2、 十字路口分為縱橫兩方向,在
12、模擬中分別用縱橫表示。3、 設(shè)計每次紅燈時間33s,綠燈時間30是,黃燈時間3s。符合一般十字路口要求。4、 執(zhí)行時,縱向紅燈亮33s,同時橫向綠燈亮30,接著橫向黃燈亮3s;然后橫向變?yōu)榧t燈亮33s,同時縱向綠燈亮30s,接著黃燈亮3s。5、 此設(shè)計主要模擬真是紅綠燈變換的安全考慮,在一方向由綠燈變換時,需設(shè)計短暫黃燈緩沖時間,以防出現(xiàn)事故。輸入數(shù)據(jù)要求:無輸入數(shù)據(jù);故無要求限制。結(jié)束語:感悟。#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;sbit dula=P26;uint num; void delay(uint z);void main()P1=0;while(1)for(num=1;num<10;num+)dula=1;P0=tablenum;dula=0;delay(1000);P1=0x40;for(num=0;num<10;num+)dula=1;P0=tablen
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制梁勞務(wù)合同范例
- 信貸資產(chǎn)信托合同范本
- 乙醇燃料的成本管理和降本增效
- 不帶司機租車合同范本
- 全款買車銷售合同范本
- 兼職模特合同范例
- 冷庫設(shè)備購銷合同范本
- 農(nóng)村承包魚塘經(jīng)營合同范例
- 電影制片人聘用合同范本
- 徐州白云區(qū)門面出租經(jīng)營合同范本
- 2025屆西藏林芝一中高三第二次診斷性檢測英語試卷含解析
- 中國傳統(tǒng)文化非遺文化中國剪紙介紹2
- 藥企銷售總經(jīng)理競聘
- 開封市第一屆職業(yè)技能大賽健康照護項目技術(shù)文件(國賽)
- 飲酒與糖尿病
- 公路電子收費系統(tǒng)安裝合同范本
- 醫(yī)院培訓課件:《傷口評估與測量》
- 期末試卷(試題)-2024-2025學年四年級上冊數(shù)學滬教版
- 《第一單元口語交際:即興發(fā)言》教案-2023-2024學年六年級下冊語文統(tǒng)編版
- 情侶自愿轉(zhuǎn)賬贈與協(xié)議書范本
- 綜合實踐項目 制作水族箱飼養(yǎng)淡水魚 教學設(shè)計-2024-2025學年魯科版生物六年級上冊
評論
0/150
提交評論