畢業(yè)設(shè)計(jì)-基于at89c51單片機(jī)的十字路口交通燈設(shè)計(jì)
《畢業(yè)設(shè)計(jì)-基于at89c51單片機(jī)的十字路口交通燈設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)-基于at89c51單片機(jī)的十字路口交通燈設(shè)計(jì)(26頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1 黃 河 科 技 學(xué) 院課 程 設(shè) 計(jì) 報(bào) 告 書題目: 交通燈 課 程:單片機(jī)課程設(shè)計(jì)專 業(yè):數(shù)控技術(shù)班 級(jí):學(xué) 號(hào):學(xué)生姓名:指導(dǎo)教師: 何春霞2013 年 01 月 6 日 2 摘 要近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測技術(shù)日益更新。在實(shí)時(shí)檢測和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用 MCS-51 系列單片機(jī) AT89C51 為中心器件來設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過 8051 芯片的 P3 口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩 5 秒時(shí)黃燈閃爍警示(交通燈信號(hào)通過 P1 口輸出,顯示時(shí)間通過 P0 口輸出至雙位數(shù)碼管) 。本系統(tǒng)設(shè)計(jì)周期短、可靠性高、實(shí)用性強(qiáng)、操作簡單、維護(hù)方便、擴(kuò)展功能強(qiáng)。 關(guān)鍵詞:單片機(jī);交通燈 3 AbstractIn recent years, with the rapid development of science and technology, the application of SCM is going deep, driving the traditional detection techniques to renew day by day. In the real-time examination and in the automatic control monolithic integrated circuit application system, the monolithic integrated circuit often took a core part uses. The monolithic integrated circuit aspect knowledge is only insufficient, but should also act according to the concrete hardware architecture software and hardware union, to be improved.The intersection vehicles shuttle, the pedestrian is bustling, car dealership traffic lane, person sidewalk, methodical. Then depending on what to realizes this orderly order? the traffic lights on the automatic control system. There are great number kinds of modes to control the traffic lights. The system uses a series of MCS-51 as the center AT89C51 single-chip device designed to control the traffic lights, so as to realize the function of setting red, green light time by 8051 chip’s P3 port according to the actual traffic flows, lighting the red-light and green-light by turn and lighting the yellow-light to warm while 5 seconds left(outputting the traffic light signal by P1,outpuing the time by P0 and showing the time on double-digits nixie tube). Short of the design cycle, high reliability, practical, simple operation, easy maintenance, the expansion of powerful is this system.Key words: SCM; MCU; traffic light4 目 錄中 英 文 摘 要 ???????????????????????? 21 設(shè)計(jì)要求 ?????????????????????????? 42 設(shè)計(jì)目的 ????????????????????????? 43 方案比較、設(shè)計(jì)與論證 ???????????????????? 44 原理分析 ?????????????????????????? 54.1 交通燈顯示時(shí)序的理論分析 ???????????????? 54.2 交通燈顯示的理論分析 ?????????????????? 75 程序設(shè)計(jì)流程圖 ??????????????????????? 76 總體設(shè)計(jì)與電路圖 ?????????????????????? 96.1 芯片選擇 ??????????????????????? 96.2 設(shè)計(jì)電路圖 ?????????????????????? 106.3 PROTEUS 仿真圖: ??????????????????? 116.4 交通燈程序 ?????????????????????? 127 仿真測試、數(shù)據(jù)及結(jié)果分析 ?????????????????? 188 總結(jié)與展望 ????????????????????????? 18致謝 ????????????????????????????? 20參考文獻(xiàn): ?????????????????????????? 21附 錄 ???????????????????????????? 225 1 設(shè)計(jì)要求1.1 程序開始運(yùn)行先南北段通行、東西段禁止 60s,后東西段通行、南北段禁止60s,依此循環(huán)。 1.2 系統(tǒng)分三種工作模式:正常模式、繁忙模式、特殊模式,并且通過三個(gè)按鈕“正?!?、 “繁忙” 、 “特殊”可相互轉(zhuǎn)化。1.3 正常模式: 直行時(shí)間顯示數(shù)碼管顯示 60。此時(shí)南北段直行通行(綠燈) 、東西段禁止(紅燈)40s,南北段人行道通行(綠燈) ,東西段人行道禁止(紅燈) ,同時(shí)南北段和東西段方向的數(shù)碼管分別從 40s 和 60s 開始倒計(jì)時(shí),至最后 5s 時(shí)南北段綠燈變成黃燈閃爍;此后南北段左拐(左拐燈亮)通行、東西段禁止(紅燈)20s,南北段、東西段人行道都禁止(紅燈) ,同時(shí)南北段和東西段方向的數(shù)碼管都從 20s 開始倒計(jì)時(shí),至最后 5s 時(shí)南北段左拐燈變成黃燈閃爍;再后東西段直行通行(綠燈) 、南北段禁止(紅燈)40s,東西段人行道通行(綠燈) ,南北段人行道禁止(紅燈) ,同時(shí)東西段和南北段方向的數(shù)碼管分別從 40s 和 60s 開始倒計(jì)時(shí),至最后 5s 時(shí)東西段綠燈變成黃燈閃爍;最后東西段左拐(左拐燈亮)通行、南北段禁止(紅燈)20s,東西段、南北段人行道都禁止(紅燈) ,同時(shí)東西段和南北段方向的數(shù)碼管都從 20s 開始倒計(jì)時(shí),至最后 5s 時(shí)東西段左拐燈變成黃燈閃爍。1.4 繁忙模式:繁忙指示燈亮,南北段、東西段的通行時(shí)間改為 45s,其中左拐的時(shí)間改為 15s,其它與正常模式類似。1.5 特殊模式:特殊模式燈亮,南北段、東西段的通行時(shí)間改為 75s,其中左拐的時(shí)間改為 20s,其它與正常模式類似。6 2 設(shè)計(jì)目的2.1 了解交通燈管理的基本工作原理2.2 熟悉 AT89C51 的工作原理和應(yīng)用編程2.3 熟悉 AT89C51 并行接口的各種工作方式和應(yīng)用2.4 熟悉 AT89C51 計(jì)數(shù)器/定時(shí)器的工作方式和應(yīng)用編程外部中斷的方法2.5 掌握多位 LED 顯示問題的解決 7 3 方案比較、設(shè)計(jì)與論證3.1 顯示界面方案3.1.1 倒計(jì)時(shí)顯示該系統(tǒng)要求完成倒計(jì)時(shí)的功能。因只需顯示數(shù)字,基于上述原因,我們考慮完全采用數(shù)碼管顯示,四個(gè)路口分別采用一個(gè)二位陰極數(shù)碼管即可。3.1.2 狀態(tài)燈顯示該系統(tǒng)要求完成狀態(tài)燈顯示的功能。求于簡單,我們把各個(gè)路口的紅燈和黃燈設(shè)成直行和左拐兩個(gè)通行方式所共有,也就是說,一個(gè)路口只需四個(gè)狀態(tài)燈,一個(gè)直行通行的綠燈,一個(gè)左拐通行的綠燈,一個(gè)共有的紅燈,一個(gè)共有的黃燈。3.2 輸入方案該系統(tǒng)要求能手動(dòng)改變東西與南北的通行時(shí)間、緊急情況處理,我們采用擴(kuò)展 I/O口方法,在外部中斷 P32 口上擴(kuò)展三個(gè)中斷口,分別連接三個(gè)按鈕。該方案的優(yōu)點(diǎn)是:使用靈活,并且可提供較多 I/O 口,節(jié)省了 AT89C51 的中斷口資源。8 4 原理分析4.1 交通燈顯示時(shí)序的理論分析下圖所示為一種紅綠燈規(guī)則的狀態(tài)圖。共四種狀態(tài),分別設(shè)定為 S1、S2、S3、S4,交通燈以這四種狀態(tài)為一個(gè)周期,循環(huán)執(zhí)行如下圖所示:圖 4.1 狀態(tài) S1 南北直行通行圖 4.2 狀態(tài) S2 南北左拐通行圖 4.3 狀態(tài) S3 東西直行通行圖 4.4 狀態(tài) S4 東 西左拐通行9 依據(jù)上述車輛行駛的狀態(tài)圖,可以列出各個(gè)路口燈的邏輯表如下表所示(其中邏輯值“1”代表直行通行,邏輯值“0”代表禁止通行,邏輯值“L”代表左拐通行):S1 的狀態(tài) E S W N邏輯值 0 1 0 1顯示時(shí)間 正常模式下為 40SS2 的狀態(tài) E S W N邏輯值 0 L 0 L顯示時(shí)間 正常模式下為 20SS3 的狀態(tài) E S W N邏輯值 1 0 1 0顯示時(shí)間 正常模式下為 40SS4 的狀態(tài) E S W N邏輯值 L 0 L 0顯示時(shí)間 正常模式下為 20S程序就是在上述四種狀態(tài)下循環(huán)轉(zhuǎn)化的。一個(gè)周期四個(gè)狀態(tài),在正常模式下共花費(fèi) 2 分鐘。圖 4.5 交通燈狀態(tài)循環(huán)圖10 4.2 交通燈顯示的理論分析4.2.1 倒計(jì)時(shí)顯示的理論分析利用定時(shí)器中斷,設(shè)置 TH0=TH1=(65536-50000)/256,即每 0.05 秒中斷一次。每到第 20 次中斷即過了 20*0.05 秒=1 秒時(shí),使時(shí)間的計(jì)數(shù)值減 1,便實(shí)現(xiàn)了倒計(jì)時(shí)的功能。4.2.2 狀態(tài)燈顯示的理論分析黃燈閃爍同樣可以利用定時(shí)器中斷。每到第 10 次中斷即過了 10*0.05 秒=0.5 秒時(shí),使黃燈標(biāo)志位反置,即可讓黃燈 1 秒閃爍一次。11 5 程序設(shè)計(jì)流程圖圖 5.1 定時(shí)器 0 中斷流程圖T0 響應(yīng)N南北黃燈標(biāo)志位為 1N東西黃燈標(biāo)志位為 1Y0.5s 到Y(jié)1s 到南北黃燈位置反團(tuán)里Y東西黃燈位置反團(tuán)里Y返回倒計(jì)時(shí)減 1,計(jì)數(shù)值置 0NN12 圖 5.2 主程序流程圖開始南北直行通行東西禁止南北左拐通行東西禁止AT89C51 初始化南北黃燈閃爍南北黃燈閃爍通行 35 秒YN閃爍 5 秒YN通行 15 秒YN閃爍 5 秒YN東西黃燈閃爍東西直行通行南北禁止東西左拐通行南北禁止東西黃燈閃爍通行 35 秒YN閃爍 5 秒YN通行 15 秒YN閃爍 5 秒YN13 圖 5.3 外部中斷 0 中斷流程圖INT0 響應(yīng)N“繁忙”鍵按下N“特殊”鍵按下N“正常”鍵按下返回關(guān)中斷開中斷正常模式設(shè)置Y繁忙模式設(shè)置Y特殊模式設(shè)置Y14 6 總體設(shè)計(jì)與電路圖6.1 芯片選擇 6.2 設(shè)計(jì)電路圖 AT89C51 是美國 ATMEL 公司生產(chǎn)的低電壓,高性能 CMOS 8 位單片機(jī),有40 個(gè)引腳,32 個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含 2 個(gè)外中斷口,3 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)全雙工串行通信口,2 個(gè)讀寫口線,片內(nèi)含8k bytes 的可反復(fù)擦寫的 Flash 只讀程序存儲(chǔ)器和 256 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM) ,器件采用 ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)及 8051產(chǎn)品引腳兼容,片內(nèi)置通用 8 位中央處理器(CPU)和 Flash 存儲(chǔ)單元,可以按照常規(guī)方法對(duì)其進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash 存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的 Flash 存儲(chǔ)器可有效地降低開發(fā)成本。 圖 6.1 AT89C51 芯片引腳圖15 圖 6.2 電路圖圖中大部分連線采用總線形式。共五個(gè)二位陰極數(shù)碼管,其中四個(gè)分別用于四個(gè)路口的倒計(jì)時(shí)顯示,另外一個(gè)用于總體的直行時(shí)間顯示,五個(gè)數(shù)碼管的陽極都接到AT89C51 的 P0 口,陰極接到 P2 口;共 32 個(gè)發(fā)光二極管,其中 16 個(gè)綠色發(fā)光二極管,14 個(gè)紅色發(fā)光二極管,2 個(gè)黃色發(fā)光二極管,四個(gè)路口每個(gè)路口各有一個(gè)紅(禁行) 、黃(警告)發(fā)光二極管,二個(gè)綠色發(fā)光二極管(通行) ,一個(gè)用于直行通行,一個(gè)用于左拐通行,四個(gè)人行道,每個(gè)人行道兩邊各有一紅、綠發(fā)光二極管,另外兩個(gè)紅色發(fā)光二極管分別用于繁忙模式和特殊模式的指示,其中四個(gè)路口的二極管接到 P1 口,人行道的發(fā)光二極管接到 P3 口,繁忙模式和特殊模式的指示燈接 P2 口;外部中斷 0 接上三個(gè)按鈕,分別用于繁忙、特殊、正常模式的轉(zhuǎn)化。6.3 PROTEUS 仿真圖:16 6.4 交通燈程序/***********************************************************十字路口交通燈控制 C 程序***********************************************************/#include #define uchar unsigned char#define uint unsigned int/*****定義控制位*******************************************/sbit Time_Show_LED2=P2^5; //Time_Show_LED2(直行時(shí)間顯示)控制位sbit Time_Show_LED1=P2^4; //Time_Show_LED1(直行時(shí)間顯示)控制位sbit EW_LED2=P2^3; //EW_LED2 控制位sbit EW_LED1=P2^2; //EW_LED1 控制位sbit SN_LED2=P2^1; //SN_LED2 控制位sbit SN_LED1=P2^0; //SN_LED1 控制位sbit SN_Yellow=P1^6; //SN 黃燈sbit EW_Yellow=P1^2; //EW 黃燈sbit EW_ManGreen=P3^0; //EW 人行道綠燈sbit SN_ManGreen=P3^1; //SN 人行道綠燈sbit Special_LED=P2^6; //交通特殊指示燈sbit Busy_LED=P2^7; //交通繁忙指示燈sbit Nomor_Button=P3^5; //交通正常按鍵sbit Busy_Btton=P3^6; //交通繁忙按鍵sbit Special_Btton=P3^7; //交通特殊按鍵 sbit EW_ManRed=P3^3; //EW 人行道紅燈sbit SN_ManRed=P3^4; //SN 人行道紅燈bit Flag_SN_Yellow; //SN 黃燈標(biāo)志位bit Flag_EW_Yellow; //EW 黃燈標(biāo)志位char Time_EW; //東西方向倒計(jì)時(shí)單元char Time_SN; //南北方向倒計(jì)時(shí)單元uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化賦值,正常模式uchar EW1=60,SN1=40,EWL1=19,SNL1=19; //用于存放修改值的變量uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //0-9 段選碼uchar code S[8]={0x28,0x48,0x18,0x48,0x82,0x84,0x81,0x84}; 圖 6.3 PROTEUS 仿真圖17 //交通信號(hào)燈控制代碼/**********************延時(shí)子程序**************************/void Delay(uchar a){uchar i;i=a;while(i--){;}}/*****************顯示子函數(shù)******************************/void Display(void){uchar h,l;h=Time_EW/10;l=Time_EW%10;P0=table[l]; EW_LED2=1; //點(diǎn)亮 EW_LED2Delay(2);EW_LED2=0; //熄滅 EW_LED2P0=table[h];EW_LED1=1; //點(diǎn)亮 EW_LED1Delay(2);EW_LED1=0;h=Time_SN/10;l=Time_SN%10;P0=table[l];SN_LED2=1; //點(diǎn)亮 SN_LED2Delay(2);SN_LED2=0;P0=table[h];SN_LED1=1; //點(diǎn)亮 SN_LED1Delay(2);SN_LED1=0;h= EW1/10;l= EW1%10;P0=table[l];Time_Show_LED1=1; //點(diǎn)亮 Time_Show_LED1Delay(2);Time_Show_LED1=0;P0=table[h];Time_Show_LED2=1;//點(diǎn)亮 Time_Show_LED2Delay(2);18 Time_Show_LED2=0;} /**********************外部 0 中斷服務(wù)程序******************/void INT0_srv(void)interrupt 0 using 1{EX0=0; //關(guān)中斷if(Nomor_Button==0) //測試按鍵是否按下,按下為正常狀態(tài){EW1=60;SN1=40;EWL1=19;SNL1=19;Busy_LED=0; //關(guān)繁忙信號(hào)燈Special_LED =0; //關(guān)特殊信號(hào)燈}if(Busy_Btton==0) //測試按鍵是否按下,按下為繁忙狀態(tài){EW1=45;SN1=30;EWL1=14;SNL1=14;Special_LED=0; //關(guān)特殊信號(hào)燈Busy_LED=1; //開繁忙信號(hào)燈}if(Special_Btton==0)//測試按鍵是否按下,按下為特殊狀態(tài){EW1=75;SN1=55;EWL1=19;SNL1=19;Busy_LED=0; //關(guān)繁忙信號(hào)燈Special_LED =1;//開特殊信號(hào)燈}EX0=1; //開中斷}/**********************T0 中斷服務(wù)程序*******************/void timer0(void)interrupt 1 using 1{static uchar count;TH0=(65536-50000)/256;TL0=(65536-50000)%256;19 count++;if(count==10){if(Flag_SN_Yellow==1) //測試南北黃燈標(biāo)志位{SN_Yellow=~SN_Yellow;}if(Flag_EW_Yellow==1) //測試東西黃燈標(biāo)志位{EW_Yellow=~EW_Yellow;} }if(count==20){Time_EW--;Time_SN--;if(Flag_SN_Yellow==1) //測試南北黃燈標(biāo)志位{SN_Yellow=~SN_Yellow;}if(Flag_EW_Yellow==1) //測試東西黃燈標(biāo)志位{EW_Yellow=~EW_Yellow;}count=0;}}/*********************主程序開始***********************/void main(void){ Busy_LED=0;Special_LED=0;IT0=1; //INT0 負(fù)跳變觸發(fā)TMOD=0x01; //定時(shí)器工作于方式 1TH0=(65536-50000)/256; //定時(shí)器賦初值TL0=(65536-50000)%256;EA=1; //CPU 開中斷總允許ET0=1; //開定時(shí)中斷EX0=1; //開外部 INTO 中斷TR0=1; //啟動(dòng)定時(shí)while(1){/*******S0 狀態(tài)**********/SN_ManRed=0;SN_ManGreen=1; //SN 人行道通行EW_ManRed=1; //EW 人行道禁止EW_ManGreen=0;Flag_EW_Yellow=0; //EW 關(guān)黃燈顯示信號(hào)Time_EW=EW;Time_SN=SN;20 while(Time_SN=5){ P1=S[0]; //SN 綠燈,EW 紅燈Display();}/*******S1 狀態(tài)**********/P1=0x00;while(Time_SN=0){Flag_SN_Yellow=1; //SN 開黃燈信號(hào)位P1=P1|0x08; //保持 EW 紅燈Display();}/*******S2 狀態(tài)**********/SN_ManRed=1; //SN 人行道禁止SN_ManGreen=0;EW_ManRed=1; //EW 人行道禁止EW_ManGreen=0;Flag_SN_Yellow=0; //SN 關(guān)黃燈顯示信號(hào)Time_SN=SNL;while(Time_SN=5){P1=S[2]; //SN 左拐綠燈亮,EW 紅燈Display();}/*******S3 狀態(tài)**********/P1=0x00;while(Time_SN=0){Flag_SN_Yellow=1; //SN 開黃燈信號(hào)位P1=P1|0x08; //保持 EW 紅燈Display();}/***********賦值*********/EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;/*******S4 狀態(tài)**********/SN_ManRed=1; //SN 人行道禁止21 SN_ManGreen=0;EW_ManRed=0;EW_ManGreen=1; //EW 人行道通行Flag_SN_Yellow=0; //SN 關(guān)黃燈顯示信號(hào)Time_EW=SN;Time_SN=EW;while(Time_EW=5){P1=S[4]; //EW 通行,SN 紅燈Display();}/*******S5 狀態(tài)**********/P1=0X00;while(Time_EW=0){Flag_EW_Yellow=1;//EW 開黃燈信號(hào)位P1=P1|0x80; //保持 SN 紅燈Display();}/*******S6 狀態(tài)**********/SN_ManRed=1; //SN 人行道禁止SN_ManGreen=0;EW_ManRed=1; //EW 人行道禁止EW_ManGreen=0;Flag_EW_Yellow=0;//EW 關(guān)黃燈顯示信號(hào)Time_EW=EWL;while(Time_EW=5){P1=S[6]; //EW 左拐綠燈亮,SN 紅燈Display();}/*******S7 狀態(tài)**********/P1=0X00;while(Time_EW=0){Flag_EW_Yellow=1; //EN 開黃燈信號(hào)位P1=P1|0x80; //保持 SN 紅燈Display();}/***********賦值********/22 EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;}}7 仿真測試、數(shù)據(jù)及結(jié)果分析程序運(yùn)行結(jié)果如下:1. 首先,直行時(shí)間顯示數(shù)碼管顯示 60。此時(shí)南北段綠燈亮、東西段紅燈亮 40s,南北段人行道綠燈亮,東西段人行道紅燈亮,同時(shí)南北段和東西段方向的數(shù)碼管分別從40s 和 60s 開始倒計(jì)時(shí)。2. 35 秒后,南北方向的黃燈閃爍 5 秒鐘,此時(shí)東西方向仍維持紅燈亮,人行道燈不變。3. 40 秒后,南北方向左拐燈亮,東西方向紅燈亮,東西和南北人行道全部紅燈亮,同時(shí)南北段和東西段方向的數(shù)碼管分別從 19 秒開始倒計(jì)時(shí)。4. 55 秒鐘后,南北方向的黃燈閃爍 5 秒,此時(shí)東西方向仍維持紅燈亮,人行道燈不變。5. 1 分鐘后,東西段綠燈亮、南北段紅燈亮 40s,東西段人行道綠燈亮,南北段人行道紅燈亮,同時(shí)南北段和東西段方向的數(shù)碼管分別從 60s 和 40s 開始倒計(jì)時(shí)。6. 1 分 35 秒后,東西方向的黃燈閃爍 5 秒鐘,此時(shí)南北方向仍維持紅燈亮,人行道燈不變。7. 1 分 40 秒后,東西方向左拐燈亮,南北方向紅燈亮,東西和南北人行道全部紅燈亮,同時(shí)南北段和東西段方向的數(shù)碼管分別從 19 秒開始倒計(jì)時(shí)。8. 1 分 55 秒鐘后,東西方向的黃燈閃爍 5 秒,此時(shí)南北方向仍維持紅燈亮,人行道燈不變。9. 按下“繁忙”、“特殊”按鈕時(shí)直行顯示分別為 45 和 75。其它過程與正常模式下相同。23 8 總結(jié)與展望8.1 軟件延時(shí)與定時(shí)器計(jì)時(shí)軟件延時(shí),設(shè)計(jì)簡單,使用方便,但是無法進(jìn)行精確計(jì)時(shí),無法在實(shí)際應(yīng)用中進(jìn)行使用,本次設(shè)計(jì)采用了定時(shí)器 0 進(jìn)行計(jì)時(shí),每 50ms 產(chǎn)生一個(gè)脈沖信號(hào),可以準(zhǔn)確的計(jì)時(shí)并方便 8 段數(shù)碼管進(jìn)行顯示。8.2 使用中斷的好處使用中斷可以進(jìn)行多樣化設(shè)計(jì),強(qiáng)化程序功能與執(zhí)行效率。在本設(shè)計(jì)中程序每 50ms 請求一次中斷,實(shí)現(xiàn)精確定時(shí)與數(shù)碼管顯示刷新。8.3 關(guān)于本次設(shè)計(jì)本次課程設(shè)計(jì)的過程是艱辛的,不過收獲卻是很大的。在設(shè)計(jì)過程中,會(huì)出現(xiàn)了一些問題,但都是常見的小問題,如:代碼中雙引號(hào)的使用并不是在英語書寫狀態(tài)下,輸入字母出錯(cuò)等,在調(diào)試時(shí)出現(xiàn)異常,不過這些都是經(jīng)常性錯(cuò)誤,經(jīng)過調(diào)試修改都一一解決,程序順利完成,并實(shí)現(xiàn)了其功能。綜合課程設(shè)計(jì)讓我把以前學(xué)習(xí)到的知識(shí)得到鞏固和進(jìn)一步的提高認(rèn)識(shí),對(duì)已有知識(shí)有了更進(jìn)一步的理解和認(rèn)識(shí)。在此,由于自身能力有限,在課程設(shè)計(jì)中碰到了很多的問題,但通過查閱相關(guān)書籍、資料以及和周圍同學(xué)交流后都得以一一解決。由于使用的是單片機(jī)作為核心的控制元件,使得電路的可靠性比較高,功能也比較強(qiáng)大,而且可以隨時(shí)的更新系統(tǒng),進(jìn)行不同狀態(tài)的組合。但是在我們設(shè)計(jì)和調(diào)試的過程中,也發(fā)現(xiàn)了一些問題,譬如紅燈和綠燈的切換還不夠迅速,紅綠燈規(guī)則效率還不是很高等等,這需要在實(shí)踐中進(jìn)一步完善。當(dāng)然,通過這次課程設(shè)計(jì),我也發(fā)現(xiàn)了自身的很多不足之處,在以后的學(xué)習(xí)中,我會(huì)不斷的完善自我,不斷進(jìn)取,能使自己在單片機(jī)編程這方面有一個(gè)大的發(fā)展。24 參考文獻(xiàn):[1] 李朝青.單片機(jī)原理及接口技術(shù)(修訂版).北京:北京航空航天大學(xué)出版社,1998.[2] 李廣弟.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,1992.[3] 何立民.單片機(jī)應(yīng)用技術(shù)大全.北京:北京航空航天大學(xué)出版社,1994.[4] 張毅剛. 單片機(jī)原理及接口技術(shù).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990.[5] 譚浩強(qiáng).單片機(jī)課程設(shè)計(jì). 北京:清華大學(xué)出版社,1989.[6] 徐愛均,彭秀華.keil cx51 V7.0單片機(jī)高級(jí)語言編程與 ̄Vision2應(yīng)用實(shí)踐【M】 .北京:電子工業(yè)出版社,2004. [7] 深圳市計(jì)算機(jī)行業(yè)協(xié)會(huì).2005年全國單片機(jī)與嵌入式系統(tǒng)學(xué)術(shù)交流會(huì)論文集【M】 .北京:北京航空航天大學(xué)出版社,2005. [8] 胡漢才 單片機(jī)原理及其接口技術(shù)【M】 .北京:清華大學(xué)出版社.1996. [9] 付家才.單片機(jī)控制工程實(shí)踐技術(shù)【M】 .北京:化學(xué)工業(yè)出版社.2004. [10] 朱勇.單片機(jī)原理與應(yīng)用技術(shù)【M】 .北京:清華大學(xué)出版社.2006.[11] 馬忠梅.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)【M】 .北京:北京航空航天大學(xué)出版社.1999.25 附 錄單 片 機(jī) 歷 史 :單片機(jī)誕生于 20 世紀(jì) 70 年代末,經(jīng)歷了 SCM、MCU、SoC 三大階段。 1.SCM 即單片微型計(jì)算機(jī)(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)。 “創(chuàng)新模式”獲得成功,奠定了 SCM 與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel 公司功不可沒。 2.MCU 即微控制器(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對(duì)象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對(duì)象的智能化控制能力。它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān),因此,發(fā)展 MCU 的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來看,Intel 逐漸淡出 MCU 的發(fā)展也有其客觀因素。在發(fā)展 MCU 方面,最著名的廠家當(dāng)數(shù) Philips 公司。 Philips 公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢,將 MCS-51 從單片微型計(jì)算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí),不要忘記 Intel 和Philips 的歷史功績。 3.單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向 MCU 階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機(jī)的發(fā)展自然形成了 SoC 化趨勢。隨著微電子技術(shù)、IC 設(shè)計(jì)、EDA 工具的發(fā)展,基于 SoC 的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。因此,對(duì)單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。26- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 畢業(yè)設(shè)計(jì) 基于 at89c51 單片機(jī) 十字路口 交通燈 設(shè)計(jì)
鏈接地址:http://www.3dchina-expo.com/p-471025.html