![基于單片機的交通燈C語言程序設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/2/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c1.gif)
![基于單片機的交通燈C語言程序設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/2/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c2.gif)
![基于單片機的交通燈C語言程序設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/2/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c3.gif)
![基于單片機的交通燈C語言程序設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/2/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c4.gif)
![基于單片機的交通燈C語言程序設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/2/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c/5b56719e-bbf7-4fd6-a3b3-273a477a7f2c5.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于51單片機的交通燈C語言程序設(shè)計2011-05-07 07:57十字交叉路口的交通燈控制器,是很常見的課程設(shè)計題目。做而論道以前寫過一個,功能十分簡單。最近,綜合了一些百度知道中的題目要求,寫出了一個稍稍復(fù)雜一點設(shè)計方案,使用了大家比較喜歡的C語言編寫程序?;竟δ苋缦拢?1)東西、南北方向各設(shè)有一個綠、黃、紅指示燈,兩個顯示數(shù)碼管。(2)兩個方向交替允許通行,基本放行時間為25s,另外有黃燈閃爍5s。(3)控制人員可以暫停自動的交替,使某個方向可以無限長時間的通行。(4)暫停期間,控制人員可以調(diào)整通行的時間,程序中還設(shè)置了調(diào)整的上下限。(5)暫停之后,燈光將按照設(shè)置的通行時間自動變換通行
2、方向。(6)在正常通行期間,可以強制變換通行方向。強制變換的時候,也是要先顯示閃爍的黃燈,然后切換到指定的方向。程序用PROTEUS仿真成功,并沒有進行硬件實驗。仿真截圖畫面如下。插圖鏈接:#C語言的控制程序如下:/-#include<reg52.h>#define uchar unsigned char#define uint unsigned int/-定義接口-#define K_IN P1 /指定按鍵輸入端口#define Star_Stop 1
3、; /指定按鍵輸入端口#define Time_ADD 2 /指定按鍵輸入端口#define Time_SUB 4 /指定按鍵輸入端口#define Turn_EW 8 /指定按鍵輸入端口#define Turn_SN 16 /指定按鍵輸入端口sbit D_R = P30;sbit D_Y = P31;sbit D_G = P32;/-定義變量-uchar Key_C;
4、 /新鍵值uchar Key_L; /上次鍵值uchar Trg; /觸發(fā)(有鍵按下)trigeruchar Trg_L; /上次觸發(fā)uchar Key_P; /確實按下uchar n_2ms, n_0D5s, D_SEC = 60; /60實際上是30秒uchar code D_seg
5、 = /共陽段碼 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90; /0-9bit s_g, run, hong;/-延時-void delay(uint z) uint x, y;
6、0; for(x = z; x > 0; x-) for(y = 123; y > 0; y-);/-讀按鍵-void KeyRead( void ) /讀按鍵所在端口,送到全局變量 Key_L = Key_C; /上次按鍵數(shù)值 Trg_L = Trg; Key_C = K_IN; /反相讀入,有鍵按下,將讀入1
7、0; Trg = Key_C & (Key_C Key_L); Key_P = Key_C & Trg_L; 確認(rèn)按下/-初始化-void init(void) TMOD = 0x01; /T0定時方式1 TH0 = (65536 - 2000) / 256; /2ms12MHz TL0 = (6
8、5536 - 2000) % 256; TR0 = 1; /啟動T0 ET0 = 1; /開T0中斷 EA = 1; /
9、開總中斷/- D_Y = 0; /關(guān)燈 D_R = hong; /紅燈取決于當(dāng)前的hong D_G = D_R; /綠燈則相反 n_0D5s = D_SEC;
10、; /倒計時的秒數(shù)(2倍的數(shù)值)/-主函數(shù)-void main(void) hong = 1; /hong = 1: 東西為紅燈 init(); run = 1; /開機即運行 while(1)
11、0; delay(8); /延時8ms if (Star_Stop & Key_P) run = run; if (!run) init(); &
12、#160; if (Time_ADD & Key_P && !run) D_SEC += 2; if (D_SEC > 120) D_SEC = 120; n_0D5s = D_SEC;
13、0; if (Time_SUB & Key_P && !run) D_SEC -= 2; if (D_SEC < 20) D_SEC = 20; n_0D5s = D_SEC;
14、60; if (Turn_EW & Key_P && run && hong) n_0D5s = 11; if (Turn_SN & Key_P && run && !hong) n_0D5s = 11; /-T0中斷函數(shù)-void T0_INT(void) interrupt 1 TL0 = (65536 -
15、2000) % 256; /重新寫入初值 TH0 = (65536 - 2000) / 256; /2ms12MHz/-數(shù)碼顯示- s_g = s_g; /十位個位交替顯示 if (s_g) P2 = 0; P0 = D_seg(n_0D5s / 2) / 10; P2 = 1; else
16、; P2 = 0; P0 = D_seg(n_0D5s / 2) % 10; P2 = 2;/-修改時間- n_2ms-; if (n_2ms % 5 = 0) KeyRead(); /10ms讀一次按鍵 if (n_2ms = 0) n_2ms = 250; /定時500
17、ms if (run) /如果是正在運行 n_0D5s-; /就倒計時 if(n_0D5s = 1) n_0D5s = D_SEC
18、 + 1;/減到1就重新開始 if(n_0D5s = D_SEC + 1) /如果是重新開始 if (hong) /如果當(dāng)前是紅燈亮 hong = 0; &
19、#160; /下面就改成綠燈亮 D_Y = 0; /關(guān)閉黃燈 D_G = 1; /打開綠燈
20、60; D_R = 0; /關(guān)閉紅燈 else /否則就改成紅燈亮 hong = 1; D_Y = 0; /關(guān)閉黃燈
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學(xué)八年級上冊15.4.1《提公因式法因式分解》聽評課記錄
- 人教版七年級地理上冊:4.2《世界的語言和宗教》聽課評課記錄1
- 八年級歷史上聽課評課記錄《第一單元第1課鴉片戰(zhàn)爭》聽課評課記錄
- 用維修基金維修電梯主機軸承合同
- 生態(tài)項目投資合作協(xié)議書(2篇)
- 人教版數(shù)學(xué)八年級上冊聽評課記錄15.2.1《分式的乘除》
- 部編版八年級道德與法治下冊第五課《我國基本制度》第3課時《基本政治制度》聽課評課記錄
- 北師大版數(shù)學(xué)一年級上冊第一單元《生活中的數(shù) 第3課時 玩具》聽評課記錄
- 北師大版數(shù)學(xué)五年級上冊《軸對稱再認(rèn)識(一)》聽評課記錄2
- 冀教版數(shù)學(xué)七年級下冊《數(shù)學(xué)活動 拼圖與分解因式》聽評課記錄
- 2012年安徽高考理綜試卷及答案-文檔
- 《游戲界面設(shè)計專題實踐》課件-知識點5:圖標(biāo)繪制準(zhǔn)備與繪制步驟
- 自動扶梯安裝過程記錄
- MOOC 材料科學(xué)基礎(chǔ)-西安交通大學(xué) 中國大學(xué)慕課答案
- 智慧供熱管理系統(tǒng)方案可行性研究報告
- 帕金森病的言語康復(fù)治療
- 中國城市居民的健康意識和生活方式調(diào)研分析報告
- 上海星巴克員工手冊
- 貓狗創(chuàng)業(yè)計劃書
- 復(fù)產(chǎn)復(fù)工試題含答案
- 部編版語文三年級下冊第六單元大單元整體作業(yè)設(shè)計
評論
0/150
提交評論