交通燈模擬電路程序(匯編)_第1頁
交通燈模擬電路程序(匯編)_第2頁
交通燈模擬電路程序(匯編)_第3頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第一章課程設(shè)計(jì)內(nèi)容與要求分析1.1 課程設(shè)計(jì)內(nèi)容1. 以89C51單片機(jī)為核心器件組成交通燈控制系統(tǒng),采用定時(shí)中斷實(shí)現(xiàn)精 確定時(shí);1)基本功能與要求:要求在一般工作方式下,十字路口為 A B道(A、B道交叉組成十字路 口),每道設(shè)置紅、綠、黃三盞燈,在燈的控制下各道輪流放行。通行的流 程是:B道紅燈亮40秒,同時(shí)A道綠燈亮30秒,閃爍5秒,A道黃燈亮5 秒;然后切換A道紅燈亮40秒,同時(shí)B道綠燈亮30秒,閃爍5秒;B道黃 燈亮5秒。如此循環(huán)。在A B道紅、綠、黃燈依次點(diǎn)亮?xí)r,A B道對(duì)應(yīng)的 兩位數(shù)碼管分別倒計(jì)時(shí)顯示本道紅、綠、黃燈點(diǎn)亮的時(shí)間。2)擴(kuò)展功能:設(shè)置自動(dòng)流量控制功能:即當(dāng)一道有車而另

2、一道無車(用按鍵開關(guān)S1、S2模擬車輛檢測(cè)功能)時(shí),使有車車道放行。設(shè)置優(yōu)先控制功能:當(dāng)有緊急車輛通過時(shí),用開關(guān)S0進(jìn)行控制,將A、 B道均設(shè)定為紅燈,第二次按下開關(guān) S0后,回復(fù)正常運(yùn)行狀態(tài)。2. 利用提供的單元模塊構(gòu)成硬件系統(tǒng)。硬件設(shè)備有AT89C52單片機(jī),74LS164芯片,12個(gè)發(fā)光二極管,4個(gè)共 陽極數(shù)碼管,3個(gè)開關(guān)和若干導(dǎo)線1.2課程設(shè)計(jì)要求分析系統(tǒng)單元電路組成1. 電路組成1) 在此電路中,我們主要用到了 AT89C52單片機(jī)下面我們來介紹一下:AT89C52是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalsh Programmable and Erasable

3、Read Only Memory )的低 電壓,高性能CMOS位微處理器,俗稱單片機(jī)。AT89C52是一種帶2K字節(jié) 閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEI高密度非易失存儲(chǔ)器制造技術(shù)制造, 與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和 閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATME的 AT89C52是一種高效微控制器。 AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。T2/P1, 0匚15T2EH/P1.1匚239Pl. 2r33SFE 3匚+37Pl”斗匚536Pl. 5匚&35Pl

4、. 8匚734PL 7匚893RST匚332KKD/F3. 0匚1031TKD/P3. 1匚113CIFT0/P3. 2r1222IMTTXP3, 3匚1 32ST0/P3.4匚1427T1/P3. 5匚152Em/P3. 6匚ie25匚1724HTAL2匚1823UTAH匚1922PD1PGM匚2021VccP0. 0 /ADO PO 1/AT1 FO. 2/AI2 PO, 3/AE3po. 42at4PO. 5/AL5 PO. GZATGPO 7/AET EA/VFF_ kLEZPMG PESHPt 7?A15PZ 6/A14P?. 5/A13P2, 4/A12P2.3/A11PA 2/A

5、10P2. 1/AS P2 0/A8圖 1 AT89C52了解了 AT89C52的一些功能,我們來介紹一下有關(guān)它在使用上的參數(shù): 主要特性:與MCS-51兼容 4K字節(jié)可編程閃爍存儲(chǔ)器 壽命: 1000寫/ 擦循環(huán) 數(shù)據(jù)保留時(shí)間: 10 年全靜態(tài)工作: 0Hz-24Hz 三級(jí)程序存儲(chǔ)器鎖定 128*8 位內(nèi)部 RAM 32 可編程 I/O 線兩個(gè) 16 位定時(shí)器 / 計(jì)數(shù)器 5個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式 片內(nèi)振蕩器和時(shí)鐘電路管腳說明:VCC供電電壓。GND接地。P0 口: P0 口為一個(gè)8位漏級(jí)開路雙向I/O 口,每腳可吸收8TTL 門電流。 當(dāng) P1 口的管腳第一次寫 1

6、時(shí),被定義為高阻輸入。 P0 能夠用于外 部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí), P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部 必須被拉高。P1 口: P1 口是一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I/O 口, P1 口緩 沖器能接收輸出4TTL門電流。P1 口管腳寫入1后,被內(nèi)部上拉為高,可用 作輸入, P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的 緣故。在FLASHS程和校驗(yàn)時(shí),P1 口作為第八位地址接收。P2 口: P2 口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O 口,P2 口緩沖器 可接收,輸出4個(gè)TTL門電流,

7、當(dāng)P2 口被寫“ T時(shí),其管腳被內(nèi)部上拉 電阻拉高,且作為輸入。并因此作為輸入時(shí), P2 口的管腳被外部拉低,將 輸出電流。這是由于內(nèi)部上拉的緣故。 P2 口當(dāng)用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí), P2 口輸出地址的高八位。在給出地址 “1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì), 當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí), P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在FLASHS程和校驗(yàn)時(shí)接收高八 位地址信號(hào)和控制信號(hào)。P3 口: P3 口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O 口,可接收輸 出4個(gè)TTL門電流。當(dāng)P3 口寫入“ T后,它們被內(nèi)部上拉為高電平,并 用作輸入。作為輸入,由于

8、外部下拉為低電平,P3 口將輸出電流(ILL )這是由于上拉的緣故。P3口也可作為AT89C52勺一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD (串行輸入口)P3.1 TXD (串行輸出口)P3.2 /INT0 (外部中斷 0)P3.3 /INT1 (外部中斷 1)P3.4 T0 (記時(shí)器 0 外部輸入)P3.5 T1 (記時(shí)器 1 外部輸入)P3.6 /WR (外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持 RST腳兩個(gè)機(jī)器周 期的高電平時(shí)間。ALE/PROG當(dāng)訪問外

9、部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址 的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào), 此頻率為振蕩器頻率的 1/6 。因此它 可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外 部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè) ALE脈沖。如想禁止ALE的輸出可在SFR8EH 地址上置0。此時(shí),ALE只有在執(zhí)行MOV,MOV指令是ALE才起作用。另 外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無 效。/PSEN外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間, 每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部

10、數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 /PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),貝U在此期間外部程序存儲(chǔ)器(0000H-FFFFH,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式 1時(shí),/EA 將內(nèi)部鎖定為 RESE;T 當(dāng) /EA 端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在 FLASH編程期間,此引腳也用于施加12V編程電源(VPP。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2來自反向振蕩器的輸出。3振蕩器特性:XTAL1和 XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。

11、有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā) 器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平 要求的寬度。芯片擦除:整個(gè)PERO陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合, 并 保持ALE管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫 “1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯, 支持 兩種軟件可選的掉電模式。在閑置模式下,CPU亭止工作。但RAM定時(shí)器, 計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM的內(nèi)容并且 凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)

12、位為止。2)除此之外,我們還用到了 74LS164芯片,和數(shù)碼管共同組成靜態(tài)顯 示電路。164 為 8 位移位寄存器 , 其主要電特性的典型值如下:54/74164 185mW54/74LS164 80mW當(dāng)清除端(CLEAR為低電平時(shí),輸出端(QA- QH均為低電平。串行數(shù)據(jù)輸入端(A, B)可控制數(shù)據(jù)。當(dāng)A、B任意一個(gè)為 低電平,則禁止新數(shù) 據(jù)輸入,在時(shí)鐘端( CLOCK 脈沖上升沿作用下 Q0 為低電平。當(dāng) A、 B 有 一個(gè)為高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在CLOCK上升沿作用下決定Q0 的狀態(tài)。71LS164引腳圖及引腳功能:CLOCK時(shí)鐘輸入端CLEAR: 同步清除輸入端(低電

13、平有效)A, B :串行數(shù)據(jù)輸入端QA- QH: 輸出端圖 2 74LS164 封裝圖74LS164電氣參數(shù):極限值電源電壓 7V輸入電壓5.5V工作環(huán)境溫度54164 -55 125°C74164 -0 70 C儲(chǔ)存溫度-65 C150CinputsOutpulsCl«arClockABaQhLXXXLL.LHLXX°A0°H0HTHHHQaa -H*LXLGoHXLLOu圖3真值表3)共陽極數(shù)碼管共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COMS到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平

14、時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段 的陰極為高電平時(shí),相應(yīng)字段就不亮。系統(tǒng)單元電路設(shè)計(jì)分析1. 數(shù)碼管靜態(tài)顯示驅(qū)動(dòng)模塊1)靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管 的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示 亮度咼,缺點(diǎn)是占用 I/O端口多。2)驅(qū)動(dòng)4個(gè)數(shù)碼管靜態(tài)顯示則需要 4 X 8= 40根I/O端口來驅(qū)動(dòng), 要知道一個(gè)89C52單片機(jī)可用的I/O端口才32個(gè)呢,實(shí)際應(yīng)用時(shí)必須 增加74IS164譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng)。2. 單片機(jī)AT89C52控制電路P1腳的P1.0,P1.1,P1.2分別接?xùn)|

15、西方向的發(fā)光二極管紅,黃,綠,P1.3P1.5 分別接南北方向的發(fā)光二極管紅,黃,綠。P3.5也就是15引腳設(shè)置為開關(guān) SO,控制全紅燈亮。P3.3,P3.4 中斷 INT0,INT1 分別設(shè)置為開關(guān) S1,S2, 控制當(dāng)一道有車 而另一道無車(用按鍵開關(guān)S1、S2模擬車輛檢測(cè)功能)時(shí),使有車車道放 行。3用 protelDXP 對(duì)電路圖進(jìn)行仿真設(shè)計(jì),設(shè)計(jì)圖見附錄。第二章 控制系統(tǒng)程序設(shè)計(jì)在單片機(jī)的變成調(diào)試過程中, 我們利用 kiel 軟件對(duì)單片機(jī)的 程序進(jìn)行編程、調(diào)試和仿真,并進(jìn)一步利用 protelDXP 對(duì)電路和 軟件進(jìn)行進(jìn)一步的仿真。匯編語言程序如下:ORG 0000HLJMP MAI

16、NORG 0003HLJMP TI0ORG 0013HLJMP TI1ORG 001BHLJMP TI2ORG 0030HMAIN:MOV SP,#60H ;MOV TMOD,#60H設(shè)置T1的工作方式寄存器MOV TL1,#0FFH;MOV TH1,#0FFH;SETB TR1;SETB ET1;SETB EX0SETB EX1SETB IT0SETB IT1SETB EAMOV R2,#40 ;MOV R3,#35 ;CLR P1.2SETB P1.0;QQ:ACALL ZZ ; 調(diào)用十六 - 十子程序CJNE R2,#00H,TT ;R2 不得 0,B 路紅燈亮AJMP AA ;TT:

17、CLR P1.3SETB P1.4SETB P1.5SETB P1.0ACALL JJ ; 調(diào)用顯示子程序ACALL TIMEDEC R2 ;YY1: DJNZ R3,YY ; R3 得 0,CJNE R2,#05H,YY2; R2得 5, A路黃燈亮,R2不得 5, A路 綠燈閃MOV R3,#05H ; A 路黃燈亮SETB P1.2CLR P1.1YY2: MOV R3,#05H ; R2 不得 5, A路綠燈閃CPL P1.2 ;YY: CJNE R2,#09H,YYY1CPL P1.2YYY1: CJNE R2,#08H,YYY2CPL P1.2YYY2: CJNE R2,#07H,

18、YYY3CPL P1.2YYY3: CJNE R2,#06H,YYY4CPL P1.2YYY4:CJNE R2,#05H,YYYCPL P1.2YYY: AJMP QQ ;AA:MOV R2,#35 ;MOV R3,#40CLR P1.5 ;QQ1: ACALL ZZ ;CJNE R3,#00H,TT1 ;AJMP MAIN ;TT1:SETB P1.3CLR P1.0SETB P1.1SETB P1.2SETB P1.3ACALL JJACALL TIME ;DEC R3 ; PP1:DJNZ R2,PP ;CJNE R3,#05H,PP2;MOV R2,#05H ;SETB P1.5CLR

19、 P1.4 PP2:MOV R2,#05H ;CPL P1.5 PP:CJNE R3,#09H,PPP1 CPL P1.5 PPP1:CJNE R3,#08H,PPP2 CPL P1.5PPP2:CJNE R3,#07H,PPP3 CPL P1.5PPP3:CJNE R3,#06H,PPP4CPL P1.5PPP4:CJNE R3,#05H,PPPCPL P1.5 PPP: AJMP QQ1;ZZ: MOV A,R2; 十六 - 十子程序MOV B,#10DIV ABMOV 40H,BMOV 41H,AMOV A,R3MOV B,#10DIV ABMOV 42H,BMOV 43H,A4 位顯示

20、RETJJ:MOV R0,#40H ; ; 靜態(tài)顯示子程序 MOV R7,#4;MOV SCON,#00H KK:MOV A,R0;MOV DPTR,#TBBMOVC A,A+DPTRMOV SBUF,AMM:JNB TI,MMCLR TIINC R0DJNZ R7,KKRETTIME:MOV R4,#5 ; 延時(shí) 1 秒子程序D1: MOV R5,#200D2: MOV R6,#200D3: NOPNOPNOPDJNZ R6,D3DJNZ R5,D2DJNZ R4,D1RETTI0:CLR EAPUSH PSWPUSH ACCPUSH P1SETB EASETB P1.0SETB P1.1S

21、ETB P1.4SETB P1.5CLR P1.2CLR P1.3OO: JNB P3.3,SSSLJMP OOTI1:CLR EAPUSH PSWPUSH ACCPUSH P1SETB EASETB P1.1SETB P1.2SETB P1.3SETB P1.4CLR P1.0CLR P1.5OO1: JNB P3.2,SSSLJMP OO1TI2: CLR EAPUSH PSWPUSH ACCPUSH P1SETB EASETB P1.1SETB P1.2SETB P1.4SETB P1.5CLR P1.0CLR P1.3OO2:JB P3.5,SSSLJMP OO2SSS:POP P1P

22、OP ACCPOP PSWRETIEEE:ACALL QQTBB: DB 0C0H;0DB0F9H;1DB0A4H;2DB0B0H;3DB99H;4DB92H;5DB82H;6DB0F8H;7DB80H;8DB90H;9END第三章單片機(jī)原理及應(yīng)用課程設(shè)計(jì)總結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和 解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力 的具體訓(xùn)練和考察過程隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已 經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技 術(shù)是十分重要的?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),我仍感慨頗多,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論