




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、硬件課程設(shè)計(jì)實(shí)踐報(bào)告(總)題 目: 交通燈指揮系統(tǒng) 班 級(jí): 信安10-3班 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院2012年 12 月 27 日39目 錄一 、開(kāi)發(fā)背景31.1任務(wù)背景31.2任務(wù)要求3二、小組成員分工協(xié)作情況3三、電路設(shè)計(jì)及主要功能33.1 功能簡(jiǎn)介33.1.1 8253功能簡(jiǎn)介:43.1.2 8253工作原理:43.1.3 8253通道工作方式:43.1.4 8253控制字53.1.5 8253芯片設(shè)計(jì)思想53.1.6 8253芯片電路圖53.2 8255芯片原理與介紹63.2.1 8255芯片原理與基本概述63.2.2 8255芯片控制字63.2.3 8
2、255芯片設(shè)計(jì)思想63.2.4 8255芯片電路圖73.3 8279芯片原理與介紹73.3.1 8279芯片基本概述73.3.2 工作方式73.3.3 8279控制字83.3.4 8279芯片設(shè)計(jì)思想93.3.5 8279芯片電路圖103.4.總體方案與說(shuō)明103.4.1 總體方案:103.4.2 操作目標(biāo)103 3.5 系統(tǒng)運(yùn)行過(guò)程的詳細(xì)分析113.5.1 led顯示模塊113.5.2 數(shù)碼管顯示模塊113.5.3 鍵盤(pán)控制檢測(cè)模塊123.6 硬件連線圖12四 系統(tǒng)軟件實(shí)現(xiàn)124.1 總流程圖:13五 源程序清單與注釋16六 結(jié)果24七問(wèn)題分析與解決方案:25八結(jié)論與體會(huì):26九參考文獻(xiàn):2
3、7個(gè)人報(bào)告30一 、開(kāi)發(fā)背景1.1任務(wù)背景 紅綠交通燈是我們?nèi)粘I罱?jīng)常見(jiàn)到也是必不可少的,隨著城市社會(huì)經(jīng)濟(jì)的發(fā)展,城市道路交通供給和需求的矛盾日益突出,并引發(fā)很多交通問(wèn)題。當(dāng)今,紅綠燈安裝在各個(gè)交通路口上,已經(jīng)成為疏導(dǎo)交通車輛最常見(jiàn)和最有效的手段。1968年,聯(lián)合國(guó)道路交通和道路標(biāo)志信號(hào)協(xié)定對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈時(shí)通行信號(hào),面對(duì)綠燈的車輛可以直行、左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過(guò)人行橫道的行人優(yōu)先通行。面對(duì)黃燈的車輛不能越過(guò)停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口。我們?cè)O(shè)計(jì)的交通燈就是依據(jù)上述思路
4、控制十字路口南北東西四個(gè)方向車輛通行的。1.2任務(wù)要求按照系統(tǒng)設(shè)計(jì)的功能要求,初步確定該交通指揮系統(tǒng)主要有三個(gè)模塊組成,一是數(shù)碼顯示倒計(jì)時(shí)模塊,主要用到8279芯片;二是計(jì)時(shí)模塊,主要用到8253芯片和8255芯片;三是燈顯示模塊,主要用到8255芯片。二、小組成員分工協(xié)作情況我們小組一共兩人,分別為金夢(mèng)和方辛未。其中兩人共同完成了相關(guān)參考資料的查找,方辛未主要負(fù)責(zé)8253芯片和8279芯片鍵盤(pán)輸入;金夢(mèng)主要負(fù)責(zé)芯片初始化和8255芯片和8279芯片的顯示。三、電路設(shè)計(jì)及主要功能3.1 功能簡(jiǎn)介設(shè)計(jì)所需芯片:8255a、8279、8253所需設(shè)備:8個(gè)led燈(兩組紅黃綠燈兩組左轉(zhuǎn)燈)、八位數(shù)
5、碼管顯示器。各功能:1、用實(shí)驗(yàn)箱中提供的發(fā)光二極管(紅黃各三支綠兩支)作東西路口(紅 綠黃紅,第一支紅作左轉(zhuǎn)燈)和南北路口(黃綠紅黃,第一只黃作左轉(zhuǎn)燈)的模擬交通燈。 2、用可編程并行接口芯片8255a控制模擬交通燈的亮與滅和數(shù)碼管的倒計(jì)時(shí)顯示。 3、用可編程定時(shí)器/計(jì)數(shù)器芯片8253實(shí)現(xiàn)模擬交通燈亮與滅的時(shí)間延遲的控制。 4、用數(shù)碼管作為模擬交通燈亮與滅的時(shí)間延遲控制的倒計(jì)時(shí)顯示。 5、用8279可編程設(shè)置型鍵盤(pán)實(shí)現(xiàn)緊急情況下手動(dòng)控制紅綠燈。 6、用匯編語(yǔ)言編程使八個(gè)燈按交通燈變化規(guī)律“亮/滅”。交通燈變化要求: i 南北直行車輛通行時(shí),南北方向直行綠燈,東西紅燈同時(shí)亮50秒,led開(kāi)始顯示
6、倒計(jì)時(shí)從50秒開(kāi)始; ii 當(dāng)?shù)褂?jì)時(shí)進(jìn)行到30秒時(shí)南北黃燈亮,持續(xù)3秒,同時(shí)西路紅燈繼續(xù)亮。 iii 當(dāng)?shù)褂?jì)時(shí)到27秒后,南北路紅燈,東西路紅燈同時(shí)亮,持續(xù)2秒。 iv 當(dāng)?shù)褂?jì)時(shí)進(jìn)行到25秒時(shí),南北路左轉(zhuǎn)車輛通行,南北路左轉(zhuǎn)指示燈東西路紅燈亮,持續(xù)20秒。 vi 當(dāng)手動(dòng)輸入緊急預(yù)案時(shí),根據(jù)手動(dòng)輸入的按鍵led燈進(jìn)行不同燈的亮/滅,直至手動(dòng)恢復(fù)。3.1.1 8253功能簡(jiǎn)介:8253內(nèi)部有三個(gè)計(jì)數(shù)器,分別稱為計(jì)數(shù)器0、計(jì)數(shù)器1和計(jì)數(shù)器2,他們的機(jī)構(gòu)完全相同。每個(gè)計(jì)數(shù)器的輸入和輸出都決定于設(shè)置在控制寄存器中的控制字,互相之間工作完全獨(dú)立。每個(gè)計(jì)數(shù)器通過(guò)三個(gè)引腳和外部聯(lián)系,一個(gè)為時(shí)鐘輸入端clk,一
7、個(gè)為門(mén)控信號(hào)輸入端gate,另一個(gè)為輸出端out。每個(gè)計(jì)數(shù)器內(nèi)部有一個(gè)8位的控制寄存器,還有一個(gè)16位的計(jì)數(shù)初值寄存器cr、一個(gè)計(jì)數(shù)執(zhí)行部件ce和一個(gè)輸出鎖存器ol。 3.1.2 8253工作原理:8253具有3個(gè)獨(dú)立的計(jì)數(shù)通道,采用減1計(jì)數(shù)方式。在門(mén)控信號(hào)有效時(shí),每輸入1個(gè)計(jì)數(shù)脈沖,通道作1次計(jì)數(shù)操作。當(dāng)計(jì)數(shù)脈沖是已知周期的時(shí)鐘信號(hào)時(shí),計(jì)數(shù)就成為定時(shí)。 3.1.3 8253通道工作方式:8253中各通道可有6種可供選擇的工作方式, 以完成定時(shí)、計(jì)數(shù)或脈沖發(fā)生器等多種功能。本次實(shí)驗(yàn)中,所采用的為工作方式3。8253的各種工作方式如下:方式0計(jì)數(shù)結(jié)束產(chǎn)生中斷 一次定時(shí)或計(jì)數(shù),重寫(xiě)初值,啟動(dòng)新一輪
8、的計(jì)數(shù) 方式1可編程的單脈沖(單穩(wěn))觸發(fā)器 gate邊沿觸發(fā),啟動(dòng)新一輪計(jì)數(shù)方式2分頻器(速度波發(fā)生器) 具有計(jì)數(shù)初值重裝能力方式3方波發(fā)生器 具有計(jì)數(shù)初值重裝能力 方式4軟件觸發(fā)的選通信號(hào)發(fā)生器一次定時(shí),重寫(xiě)初值,啟動(dòng)新一輪的計(jì)數(shù) 方式5硬件觸發(fā)的選通信號(hào)發(fā)生器gate邊沿觸發(fā)新一輪計(jì)數(shù) 3.1.4 8253控制字表3-1 8253控制字 3.1.5 8253芯片設(shè)計(jì)思想本設(shè)計(jì)首先采用8253計(jì)數(shù)器0與計(jì)數(shù)器1,向8253控制口輸入控制字00110111b,再選擇通道0,先讀/寫(xiě)計(jì)數(shù)器低字節(jié),后讀/寫(xiě)高字節(jié)方式3,bcd計(jì)數(shù)方式,計(jì)數(shù)初值n0=5000;再向8253控制口輸入控制字01110
9、111b,選擇通道1,先讀/寫(xiě)計(jì)數(shù)器低字節(jié),后讀/寫(xiě)高字節(jié)方式3,bcd計(jì)數(shù)方式,計(jì)數(shù)初值n1=200。 3.1.6 8253芯片電路圖圖3-1 8253芯片電路圖3.2 8255芯片原理與介紹3.2.1 8255芯片原理與基本概述8255芯片是有3個(gè)8位并行i/o口的芯片,它具有3個(gè)通道3種工作方式的可編程并行接口芯片(40引腳)。 8255可作為單片機(jī)與多種外設(shè)連接時(shí)的中間接口電路。8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個(gè)總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時(shí)必須具有與外設(shè)連接的接口a、b、c口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結(jié)構(gòu)分為
10、3個(gè)部分:與cpu連接部分、與外設(shè)連接部分、控制部分。芯片特性:具有一個(gè)并行輸入/輸出的lsi芯片,多功能的i/o器件,可作為cpu總線與外圍的接口。具有24個(gè)可編程設(shè)置的i/o口,即3組8位的i/o口為pa口,pb口和pc口.它們又可分為兩組12位的i/o口,a組包括a口及c口(高4位,pc4pc7),b組包括b口及c口(低4位,pc0pc3).a組可設(shè)置為基本的i/o口,閃控(strobe)的i/o閃控式,雙向i/o3種模式;b組只能設(shè)置為基本i/o或閃控式i/o兩種模式,而這些操作模式完全由控制寄存器的控制字決定。3.2.2 8255芯片控制字表3-2 8255控制字3.2.3 8255
11、芯片設(shè)計(jì)思想在本次設(shè)計(jì)中,用8255芯片的a口為輸入口,選用方式0;b口為輸出口,選用方式0,控制字為10010000b。3.2.4 8255芯片電路圖圖3-2 8255芯片電路圖3.3 8279芯片原理與介紹3.3.1 8279芯片基本概述8279是可編程的、顯示接口芯片。它既具有按鍵處理功能,又具有自動(dòng)顯示功能,在單片機(jī)系統(tǒng)中應(yīng)用很廣泛。8279內(nèi)部有鍵盤(pán)fifo(先進(jìn)先出堆棧)/傳感器,雙重功能的8*8=64b ram,鍵盤(pán)控制部分可控制8*8=64個(gè)按鍵或8*8陣列方式的傳感器。該芯片能自動(dòng)消抖并具有雙鍵鎖定保護(hù)功能。顯示ram容量為16*8,即顯示器最大配置可達(dá)16位led數(shù)碼顯示。
12、3.3.2 工作方式8279 有三種工作方式:鍵盤(pán)方式、顯示方式和傳感器方式。(1) 鍵盤(pán)工作方式 8279 在鍵盤(pán)工作方式時(shí),可設(shè)置為雙鍵互鎖方式和 n 鍵循回方式。 雙鍵互鎖方式:若有兩個(gè)或多個(gè)鍵同時(shí)按下時(shí),不管按鍵先后順序如何,只能識(shí)別最后一個(gè)被釋放的鍵,并把該鍵值送入 fifo ram中。 n 鍵循回方式:一次按下任意個(gè)鍵均可被識(shí)別,按鍵值按掃描次序被送入 fifo ram 中。(2) 顯示方式 8279 的顯示方式可分為左端入口和右端入口方式。 顯示數(shù)據(jù)只要寫(xiě)入顯示 ram,則可由顯示器顯示出來(lái),因此顯示數(shù)據(jù)寫(xiě)入顯示 ram的順序,決定了顯示的次序。左端入口方式:顯示位置從顯示器最左
13、端 1 位(最高位)開(kāi)始,以后顯示的字符逐個(gè)向右順序排列。右端入口方式:顯示位置從顯示器最右端 1 位(最低位)開(kāi)始,已顯示的字符逐個(gè)向左移位。但無(wú)論左右入口,后輸入的總是顯示在最右邊。(3) 傳感器方式 傳感器方式是把傳感器的開(kāi)關(guān)狀態(tài)送入傳感器 ram 中。當(dāng) cpu 對(duì)傳感器陣列掃描時(shí), 一旦發(fā)現(xiàn)傳感器狀態(tài)發(fā)生變化就發(fā)出中斷請(qǐng)求 (irq 置1) , 中斷響應(yīng)后轉(zhuǎn)入中斷處理程序。3.3.3 8279控制字表3-3 8279的控制字3.3.4 8279芯片設(shè)計(jì)思想本設(shè)計(jì)8279采用鍵盤(pán)/顯示左端入口8字符顯示雙鍵鎖定內(nèi)編碼掃描,控制字為00h;時(shí)鐘編程分頻系數(shù)值為24,控制字為38h。3.3
14、.5 8279芯片電路圖圖3-3 8279芯片電路圖3.4.總體方案與說(shuō)明3.4.1 總體方案:我們根據(jù)日常生活中交通燈系統(tǒng)的工作方式,制作如下方案,其中,用8盞led燈分別表示南北東西方向的紅黃綠燈以及左轉(zhuǎn)方向指示燈。開(kāi)關(guān)用于緊急狀態(tài)的控制實(shí)現(xiàn),數(shù)碼管用于倒計(jì)時(shí)顯示。3.4.2 操作目標(biāo)(1)南北方向紅燈,東西方向綠燈亮20s,數(shù)碼管倒計(jì)時(shí)50s顯示至30s; (2)南北方向紅燈,東西方黃燈亮3s,數(shù)碼管倒計(jì)時(shí)30s顯示至27s;(3)南北方向紅燈,東西方向紅燈,紅燈閃爍2s,數(shù)碼管倒計(jì)時(shí)27s至25s;(4)南北方向紅燈,東西方向左轉(zhuǎn)指示燈亮20s,數(shù)碼管倒計(jì)時(shí)25s顯示至5s;(4)南北
15、方向紅燈,東西方向黃燈亮3s,數(shù)碼管倒計(jì)時(shí)5s顯示至2s;(5)南北方向紅燈,東西方向紅燈亮2s,且數(shù)碼管倒計(jì)時(shí)2s至0s;(6)東西方向紅燈,南北方向綠燈亮20s,數(shù)碼管倒計(jì)時(shí)重新從50s顯示至30s;(7)東西方向紅燈,南北方向黃燈亮3s,數(shù)碼管倒計(jì)時(shí)30s顯示至27s;(8)東西方向紅燈,南北方向紅燈亮2s,數(shù)碼管倒計(jì)時(shí)27s顯示至25s;(9)東西方向紅燈,南北方向左轉(zhuǎn)指示燈亮20s,數(shù)碼管倒計(jì)時(shí)25s顯示至5s;(10)東西方向紅燈,南北方向黃燈亮3s,數(shù)碼管倒計(jì)時(shí)5s顯示至2s;(11)東西方向紅燈,南北方向紅燈亮2s,數(shù)碼管倒計(jì)時(shí)2s顯示至0s;(12)轉(zhuǎn)(1)循環(huán)。五種緊急狀態(tài)
16、分別為:(1) 南北紅燈,東西綠燈亮(2) 南北綠燈,東西紅燈亮(3) 東西南北方向全亮紅燈(4) 東西南北方向全亮綠燈(5) 東西南北方向全亮黃燈3 3.5 系統(tǒng)運(yùn)行過(guò)程的詳細(xì)分析我們組設(shè)計(jì)的交通燈指揮系統(tǒng)用了三個(gè)模塊:led顯示模塊,數(shù)碼管顯示模塊和鍵盤(pán)控制檢測(cè)模塊。3.5.1 led顯示模塊我們用了8253和8255兩個(gè)芯片實(shí)現(xiàn)led燈的顯示,首先我們用8253計(jì)數(shù)器,用0和1端口來(lái)設(shè)定計(jì)數(shù)值,最終用out1端口輸出頻率為1hz的脈沖。8255作為并行i/o接口芯片,在本次設(shè)計(jì)中,用8255芯片的b口為輸入口,選用方式0;a口為輸出口,選用方式0,控制字為10010000b。將8255的
17、a口輸出端接到led指示燈,則實(shí)現(xiàn)led顯示模塊。3.5.2 數(shù)碼管顯示模塊8279是可編程的、顯示接口芯片。它具有自動(dòng)顯示功能。顯示數(shù)據(jù)只要寫(xiě)入顯示 ram,則可由顯示器顯示出來(lái),因此顯示數(shù)據(jù)寫(xiě)入顯示 ram的順序,決定了顯示的次序。我們采用右端入口顯示方式,計(jì)數(shù)值從右依次向左。由于本設(shè)計(jì)8279采用鍵盤(pán)/顯示左端入口8字符顯示雙鍵鎖定內(nèi)編碼掃描我們先設(shè)定一個(gè)控制字為00h;時(shí)鐘編程分頻系數(shù)值為24,設(shè)定控制字為38h。首先我們先向數(shù)據(jù)口輸送8個(gè)00h,熄滅數(shù)碼管。其次我們將預(yù)先設(shè)定的計(jì)數(shù)初值放入ax中,為了將數(shù)值能準(zhǔn)確表示,我們將數(shù)值作了一次模10求余運(yùn)算,將商放到bh中,將余數(shù)放入bl中
18、。然后依次送入數(shù)值,執(zhí)行鍵盤(pán)顯示。3.5.3 鍵盤(pán)控制檢測(cè)模塊 在8279中采用雙鍵互鎖方式, 若有兩個(gè)或多個(gè)鍵同時(shí)按下時(shí),不管按鍵先后順序如何,只能識(shí)別最后一個(gè)被釋放的鍵,并把該鍵值送入 fifo ram中。按下一個(gè)鍵值,判斷這個(gè)鍵值是否與寄存器的鍵值相同,若相同則執(zhí)行相應(yīng)的判斷;若不相同,則依次向下循環(huán)執(zhí)行。3.6 硬件連線圖圖3-4 硬件連線圖四 系統(tǒng)軟件實(shí)現(xiàn)4.1 總流程圖:4.1.1正常情況: 南北綠燈,東西紅燈,持續(xù)20秒南北黃燈,東西紅燈,持續(xù)3秒 南北紅燈,東西紅燈,持續(xù)2秒 南北左轉(zhuǎn)燈,東西紅燈,持續(xù)20秒南北黃燈,東西紅燈,持續(xù)3秒 南北紅燈,東西紅燈,持續(xù)2秒 南北紅燈,
19、東西綠燈,持續(xù)20秒 南北紅燈,東西黃燈,持續(xù)3秒 南北紅燈,東西紅燈,持續(xù)2秒 南北紅燈,東西左轉(zhuǎn)燈,持續(xù)20秒 南北紅燈,東西黃燈,持續(xù)3秒 南北紅燈,東西紅燈,持續(xù)2秒 圖4.1.1正常情況流程圖4.1.2特殊情況:有鍵按下? 是判斷是否有鍵按下轉(zhuǎn)正常情況 否 是按鍵是否是6南北紅燈,東西綠燈 否 按鍵是否是5南北綠燈,東西紅燈 否按鍵是否是4南北紅燈,東西紅燈 否按鍵是否是2南北綠燈,東西綠燈 否按鍵是否是1南北黃燈,東西黃燈4.1.2圖特殊手動(dòng)鍵入流程圖4.1.3倒計(jì)時(shí):開(kāi)始設(shè)置變量sec,分配一個(gè)字節(jié)空間設(shè)置sec初值為708279初始化,清空ram8253初始化,開(kāi)始計(jì)時(shí)除以10
20、,商是十位,余數(shù)是各位,依次顯示8255pa0是否為1 否 是sec減1sec是否等于0 否清空8279fifo值,并清屏結(jié)束1.4.3圖倒計(jì)時(shí)流程圖五 源程序清單與注釋code segment assume cs:code data segmenta db 1 dup(?)b db 1 dup(?)c db 1 dup(?)count1 db 0count2 db 0data endsstart: ;8255初始化 mov dx,203h mov al,10010000b out dx,al ;8253初始化,0,1通道級(jí)聯(lián),產(chǎn)生周期1s的脈沖 mov dx,20bh mov al,0011
21、0111b out dx,al mov dx,208h mov al,00h out dx,al mov al,50h out dx,al mov dx,20bh mov al,01110111b out dx,al mov dx,209h mov al,00h out dx,al mov al,02h out dx,al main: mov a,50 mov b,70 work1: ;南北通車 mov dx,201h;8255 a端口 mov al,11101011b ;南北直行綠燈亮東西紅燈亮 out dx,al mov cl,a call show call xs call jj dec
22、 a cmp a,30 jnz work1work2: mov dx,201h mov al,11101110b ;南北黃燈亮東西紅燈亮 out dx,al mov cl,a call show call xs call jj dec a cmp a,27 jnz work2work3: mov dx, 201h mov al, 11101101b ;南北紅燈亮東西紅燈亮 out dx,al mov cl,a call show call xs call jj dec a cmp a,25 jnz work3 work4: mov dx,201h mov al,11100111b ;南北左轉(zhuǎn)燈
23、亮東西紅燈亮 out dx,al mov cl,a call show call xs call jj dec a cmp a,05 jnz work4 work5: mov dx,201h mov al,11101110b ;南北黃燈亮東西紅燈亮 out dx,al mov cl,a call show call xs call jj dec a cmp a,02 jnz work5work6: mov dx, 201h mov al, 11101101b ;南北紅燈亮東西紅燈亮 out dx,al mov cl,a call show call xs call jj dec a cmp a
24、,00 jnz work6 work7: ;東西通車 mov dx,201h mov al,11011101b ;東西直行綠燈亮南北紅燈亮 out dx,al mov cl,b call show call xs call jj dec b cmp b,40 jnz work7 work8: mov dx,201h mov al,10111101b ;東西黃燈亮南北紅燈亮 out dx,al mov cl,b call show call xs call jj dec b cmp b,37 jnz work8work9: mov dx,201h mov al,11101101b ;東西紅燈亮南
25、北紅燈亮 out dx,al mov cl,b call show call xs call jj dec b cmp b,35 jnz work9work10: mov dx,201h mov al,01111101b ;東西左轉(zhuǎn)綠燈亮南北紅燈亮 out dx,al mov cl,b call show call xs call jj dec b cmp b,05 jnz work10work11: mov dx,201h mov al,10111101b ;東西黃燈亮南北紅燈亮 out dx,al mov cl,b call show call xs call jj dec b cmp b
26、,02 jnz work11work12: mov dx,201h mov al,11101101b ;東西紅燈亮南北紅燈亮 out dx,al mov cl,b call show call xs call jj dec b cmp b,00 jnz work12 jmp mainjj proc near ;緊急情況下手動(dòng)控制子程序 mov dx,212h;8279的命令端口 in al,dx and al,0fh cmp al,00h;判斷是否有鍵按下 je jieshu mov al,40h ; 以某種工作方式運(yùn)行 out dx,al mov dx,210h in al,dxnhdl:
27、cmp al,33d;6 jnz nldh mov dx,201h mov al,1101101b ;南北紅燈亮東西綠燈亮 out dx,al call clear_led nldh: cmp al,09d;5 jnz qho mov dx,201h mov al,11101011b ;南北綠燈亮東西紅燈亮 out dx,al call clear_led qho: cmp al,01d;4 jnz ql mov dx,201h mov al,11101101b ;東西南北全為紅燈 out dx,al call clear_led ql: cmp al,10d;2 jnz qh mov dx,
28、201h mov al,11011011b ;東西南北全為綠燈 out dx,al call clear_led qh: cmp al,02d;1 jnz jieshu mov dx,201h mov al,10111110b ;東西南北全為黃燈 out dx,al call clear_led jieshu:retjj endpxs proc mov count1,0ffh mov count2,0ffhsecd: dec count2 jnz secd dec count1 jnz secd ret xs endpshow proc near;初始化 8279 mov dx,212h mo
29、v al,00h;8位字符顯示,左邊輸入,編碼掃描鍵盤(pán),雙鍵鎖定 out dx,al mov al,38h;掃描頻率 out dx,al mov dx,210h mov al,00h out dx,al out dx,al out dx,al out dx,al out dx,al out dx,al out dx,al out dx,al ;熄滅8279 mov al,cl mov ah,0 mov dl,10 div dl ;al/dl=al.bh mov bl,ah ; 將余數(shù)(即秒的個(gè)位)放在bl中 mov bh,al ; 將商(即秒的十位)放在bh中 call trans ; 調(diào)用8
30、279顯示秒的個(gè)位 mov bl,bh call trans ; 調(diào)用8279顯示秒的十位retshow endptrans proc near ;數(shù)碼管顯示程序,顯示一位數(shù)值case1: cmp bl,1 jnz case2 mov al,06hcase2: cmp bl,2 jnz case3 mov al,5bhcase3: cmp bl,3 jnz case4 mov al,4fhcase4: cmp bl,4 jnz case5 mov al,66hcase5: cmp bl,5 jnz case6 mov al,6dhcase6: cmp bl,6 jnz case7 mov al
31、,7dhcase7: cmp bl,7 jnz case8 mov al,07hcase8: cmp bl,8 jnz case9 mov al,7fhcase9: cmp bl,9 jnz case0 mov al,6fhcase0: cmp bl,0 jnz shw mov al,3fhshw: mov dx,210h;8279數(shù)據(jù)端口 out dx,al ret trans endp clear_led proc near ;清除fifo ram顯示程序waits: mov dx,212h in al,dx and al,0fh cmp al,00h je waits mov al,40
32、h out dx,al mov dx,210h in al,dx cmp al,03d jnz waits ret clear_led endpcode ends end start六 結(jié)果一一般情況下的交通燈:1.南北直行車輛通行時(shí),南北方向直行綠燈,東西紅燈同時(shí)亮50秒,led開(kāi)始顯示倒計(jì)時(shí)從50秒開(kāi)始; 2.當(dāng)?shù)褂?jì)時(shí)進(jìn)行到30秒時(shí)南北黃燈亮,持續(xù)3秒,同時(shí)東西路紅燈繼續(xù)亮。3.當(dāng)?shù)褂?jì)時(shí)到27秒后,南北路紅燈,東西路紅燈同時(shí)亮,持續(xù)2秒。4.當(dāng)?shù)褂?jì)時(shí)進(jìn)行到25秒時(shí),南北路左轉(zhuǎn)車輛通行,南北路左轉(zhuǎn)指示燈東西路紅燈亮,持續(xù)20秒。二緊急情況下手動(dòng)控制交通燈: 1.按鍵盤(pán)的1鍵,東西南北全為黃燈
33、。 2.按鍵盤(pán)的2鍵,東西南北全為綠燈。 3.按鍵盤(pán)的4鍵,東西南北全為紅燈。 4.按鍵盤(pán)的5鍵,南北綠燈亮東西紅燈亮。 5.按鍵盤(pán)的6鍵,南北紅燈亮東西綠燈亮。三連線圖:七問(wèn)題分析與解決方案:1. 交通燈的幾種狀態(tài)應(yīng)該怎樣跳轉(zhuǎn)和它們所需的時(shí)間控制交通燈的亮和滅要用到8255的控制,然后就是解決延時(shí)問(wèn)題用8253芯片,計(jì)算時(shí)間,還有用8279顯示倒計(jì)時(shí)子程序,即通過(guò)8279來(lái)控制數(shù)碼管的顯示。2. 對(duì)8279的完全陌生上網(wǎng)查了很多關(guān)于8279芯片的資料,漸漸有了一點(diǎn)思路。8279芯片有一個(gè)控制字可以清除ram值,并且能清屏。3. 如何實(shí)現(xiàn)只讓最右邊的兩個(gè)數(shù)碼管顯示每次顯示完一個(gè)數(shù)字之后,重新清
34、除8279里的ram值,清除數(shù)碼管上的顯示。過(guò)了1s后重新從最右邊開(kāi)始顯示下一個(gè)數(shù)字。4. 如何用8253來(lái)實(shí)現(xiàn)倒計(jì)時(shí)的功能,如何使它只輸出1s的脈沖? 把8253的輸出連接到8255的pb0端口,然后判斷pb0端口的值,如果等于1,則表明經(jīng)過(guò)了1s,接著控制8279顯示下一個(gè)數(shù)字。要求從輸出周期為2s的方波,這樣肯定要用到級(jí)聯(lián),所以要用到8253的兩個(gè)通道。5. 怎么顯示兩位數(shù)因?yàn)閿?shù)碼管的顯示本來(lái)就是從左往右一個(gè)一個(gè)顯示的,所以每得到一個(gè)倒計(jì)時(shí)的數(shù)字,就把它除以10,商就是十位數(shù),余數(shù)就是個(gè)位數(shù)。通過(guò)8279控制,使個(gè)位和十位依次顯示,這樣就可以顯示兩位數(shù)了。6. 如何實(shí)現(xiàn)各個(gè)芯片之間的組合
35、: 先實(shí)現(xiàn)單個(gè)芯片的程序的進(jìn)行,再加入到總程序中慢慢調(diào)試。八結(jié)論與體會(huì): 8.1結(jié)論:我們的設(shè)計(jì)很好的完成了以下各種功能。一般情況下的交通燈:1.南北直行車輛通行時(shí),南北方向直行綠燈,東西紅燈同時(shí)亮50秒,led開(kāi)始顯示倒計(jì)時(shí)從50秒開(kāi)始; 2.當(dāng)?shù)褂?jì)時(shí)進(jìn)行到30秒時(shí)南北黃燈亮,持續(xù)3秒,同時(shí)東西路紅燈繼續(xù)亮。3.當(dāng)?shù)褂?jì)時(shí)到27秒后,南北路紅燈,東西路紅燈同時(shí)亮,持續(xù)2秒。4.當(dāng)?shù)褂?jì)時(shí)進(jìn)行到25秒時(shí),南北路左轉(zhuǎn)車輛通行,南北路左轉(zhuǎn)指示燈東西路紅燈亮,持續(xù)20秒。 緊急情況下手動(dòng)控制交通燈: 1.按鍵盤(pán)的1鍵,東西南北全為黃燈。 2.按鍵盤(pán)的2鍵,東西南北全為綠燈。 3.按鍵盤(pán)的4鍵,東西南北全
36、為紅燈。 4.按鍵盤(pán)的5鍵,南北綠燈亮東西紅燈亮。 5.按鍵盤(pán)的6鍵,南北紅燈亮東西綠燈亮。8.2體會(huì): 連續(xù)幾個(gè)周的硬件課程設(shè)計(jì)學(xué)習(xí)結(jié)束了,現(xiàn)在想想,這門(mén)實(shí)驗(yàn)實(shí)在是讓我們受益良多,既加強(qiáng)了我動(dòng)手的能力有幫助我們提高思考的深度和解決問(wèn)題的能力。在實(shí)驗(yàn)開(kāi)始之前,首先認(rèn)真聽(tīng)取了老師的講解,確定了大概的方向。設(shè)計(jì)交通燈需要8255a、8253a、還有8279等等芯片。剛開(kāi)始的時(shí)候,我們對(duì)8279很不熟悉,以前都沒(méi)有怎么接觸過(guò),感覺(jué)很麻煩。我與方辛未一個(gè)小組,所以我們兩個(gè)人就先查找資料,了解8279是如何工作的,認(rèn)真學(xué)習(xí)8279的各項(xiàng)新內(nèi)容。之后我們兩個(gè)就開(kāi)始分工協(xié)作。 剛開(kāi)始的時(shí)候,在設(shè)計(jì)過(guò)程中常常
37、會(huì)出現(xiàn)問(wèn)題,雖然之前有學(xué)過(guò)電路和微機(jī)這方面的內(nèi)容,可還是做不到能直接拿起來(lái)就用的地步,所以常常需要看書(shū),重新回憶一些知識(shí),才能繼續(xù)進(jìn)行下去。這些讓我們重新掌握了什么是編譯程序,編譯程序工作的基本過(guò)程及其各階段的基本任務(wù)。在老師的指點(diǎn)下,我們還熟悉了編譯程序總流程框圖,了解了編譯程序的生成過(guò)程、構(gòu)造工具及其相關(guān)的技術(shù),對(duì)課本上的知識(shí)有了更深的理解。眾所周知,課本上的知識(shí)是機(jī)械的、表面的,而老師的講解是通過(guò)把該算法的內(nèi)容,算法的執(zhí)行順序在計(jì)算機(jī)上實(shí)現(xiàn),把原來(lái)以為很深?yuàn)W的書(shū)本知識(shí)變的更為簡(jiǎn)單,使我們對(duì)交通燈的實(shí)驗(yàn)原理有了更深的理解。而我們?cè)谡{(diào)節(jié)實(shí)驗(yàn)箱的時(shí)候卻浪費(fèi)了不少時(shí)間,我們做的交通燈要用到所有的
38、八個(gè)燈,有時(shí)候應(yīng)該是黃燈亮的時(shí)候卻不亮,在測(cè)試的時(shí)候根本沒(méi)有反應(yīng),我還以為是自己的程序有錯(cuò)誤,因?yàn)閷?shí)驗(yàn)室的好些箱子問(wèn)題,在許多壞的箱子上面浪費(fèi)了不必要的時(shí)間,讓我覺(jué)得很可惜。最后還有程序設(shè)計(jì)上的好多問(wèn)題,都是在老師和同學(xué)們的共同幫助下,結(jié)合了好多人的力量幫助我們更加的完善了我們的實(shí)驗(yàn),在這里要謝謝老師和同學(xué)們。 在我的認(rèn)知里,這門(mén)課讓我懂得了很多的道理。理論與實(shí)際相結(jié)合的重要性,團(tuán)隊(duì)精神的重要性,還有deadline的重要性。我們都知道只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái)才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)是各種各樣,而要攻克它們就更
39、要做到真正意義上的理論與實(shí)際相結(jié)合。邊做邊改的同時(shí),在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。所以我們兩個(gè)之間漸漸的合作開(kāi)始加強(qiáng),知道了團(tuán)結(jié)合作,分工合作的效率確實(shí)還是比較高的。至于最后的期限的問(wèn)題,或許是我們都是精益求精,我總覺(jué)得程序上還有不是盡善盡美的地方,盡可能地簡(jiǎn)短盡可能地表達(dá)完善,甚至箱子都要最好的一點(diǎn)錯(cuò)誤都不想有。終于在deadline之前把它運(yùn)行出來(lái)了,還是蠻開(kāi)心的。 這門(mén)課程結(jié)束后我回想以前的日子,發(fā)現(xiàn)看似死板的課本知識(shí)在我們一次次的深入研究中也變得生動(dòng)可愛(ài)了起來(lái)。為了讓那幾個(gè)交通燈能夠正常的亮起來(lái),我們慢慢地把學(xué)過(guò)的知識(shí)真正的在現(xiàn)實(shí)
40、中融會(huì)貫通,從實(shí)踐上認(rèn)識(shí)了各個(gè)系統(tǒng)的工作情況和原理。這其中花費(fèi)的時(shí)間不算多但也不少,不過(guò)我們最后得到的東西卻遠(yuǎn)遠(yuǎn)比我們能夠看到的要多得多。九參考文獻(xiàn):1、周荷琴,吳秀清 編著 微型計(jì)算機(jī)原理與接口技術(shù)(第四版)安徽:中國(guó)科學(xué)技術(shù)大學(xué)出版社,20082、楊全勝 現(xiàn)代微機(jī)原理與接口技術(shù) 電子工業(yè)出版社 20033、李順增,吳國(guó)東,趙河明等.微機(jī)原理及接口技術(shù).北京:機(jī)械工業(yè)出版社,20064、眭碧霞.微型計(jì)算機(jī)原理與組成m.人民郵電出版社,2003.8硬件課程設(shè)計(jì)實(shí)踐報(bào)告題 目: 交通燈指揮系統(tǒng) 班 級(jí): 信息安全10-3 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院2012年 12 月
41、(個(gè)人報(bào)告)1設(shè)計(jì)模塊說(shuō)明 2. 子程 序 (本章主要講解個(gè)人設(shè)計(jì)的程序) 3. 分 析 與 測(cè) 試 4運(yùn)行結(jié)果(照片)結(jié) 論與體會(huì)參考文獻(xiàn) 交通燈指揮系統(tǒng)個(gè)人報(bào)告一 設(shè)計(jì)模塊說(shuō)明:1.設(shè)計(jì)任務(wù)與要求:利用16/32位微機(jī)接口技術(shù)實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)制作一個(gè)交通燈指揮系統(tǒng)。由于硬件條件有限,所以只能實(shí)現(xiàn)南北方向和東西方向的交通燈指揮。要求是能夠利用實(shí)驗(yàn)箱中的數(shù)碼管顯示倒計(jì)時(shí),用二極管led燈來(lái)顯示交通狀況。實(shí)現(xiàn)的功能與流程如下:交通燈控制過(guò)程:南北直行車輛通行時(shí),南北方向直行綠燈,東西紅燈同時(shí)亮50秒,led開(kāi)始顯示倒計(jì)時(shí)從50秒開(kāi)始; 當(dāng)?shù)褂?jì)時(shí)進(jìn)行到30秒時(shí)南北黃燈亮,持續(xù)3秒,同時(shí)東西路紅燈繼續(xù)亮
42、。當(dāng)?shù)褂?jì)時(shí)到27秒后,南北路紅燈,東西路紅燈同時(shí)亮,持續(xù)2秒。當(dāng)?shù)褂?jì)時(shí)進(jìn)行到25秒時(shí),南北路左轉(zhuǎn)車輛通行,南北路左轉(zhuǎn)指示燈東西路紅燈亮,持續(xù)20秒。2.設(shè)計(jì)模塊:按照系統(tǒng)設(shè)計(jì)的功能要求,初步確定該交通指揮系統(tǒng)主要有三個(gè)模塊組成,一是數(shù)碼顯示倒計(jì)時(shí)模塊,主要用到8279芯片;二是計(jì)時(shí)模塊,主要用到8253芯片和8255芯片;三是燈顯示模塊,主要用到8255芯片。 3.設(shè)計(jì)思路:十字道口的紅綠燈是交通法規(guī)的無(wú)聲命令,是司機(jī)和行人的行為準(zhǔn)則。十字道口的交通紅綠燈控制是保證交通安全和道路暢通的關(guān)鍵。本課程設(shè)計(jì)的背景是實(shí)際中的交通燈控制。但由于硬件條件有限,所以我們只能實(shí)現(xiàn)南北方向和東西方向,用到了兩組
43、紅綠黃燈。具體的設(shè)計(jì)思想是: 開(kāi)始時(shí),由8253來(lái)控制倒計(jì)時(shí),8253的out1輸出周期為1s的方波,然后把該方波輸送給8255的pb0端口,初始化8255芯片,判斷pb0端口的值,看是否經(jīng)過(guò)了1s。此時(shí)數(shù)碼管也開(kāi)始顯示倒計(jì)時(shí),用到了8279芯片。與此同時(shí),把8255的a口作為輸出,控制交通燈的亮滅。8253每輸出一個(gè)脈沖,8255的pb0端口就收到一個(gè)脈沖,表明已經(jīng)經(jīng)過(guò)了1s,然后倒計(jì)時(shí)減1,在數(shù)碼管上顯示出來(lái)。當(dāng)?shù)褂?jì)時(shí)計(jì)時(shí)到10s時(shí),再賦值給8255的a口,使黃燈亮起來(lái)。倒計(jì)時(shí)結(jié)束后,方向變一下,再進(jìn)行一次循環(huán),最后倒計(jì)時(shí)停留在0s。 4.系統(tǒng)所需硬件: 設(shè)計(jì)所需芯片:8255a、8279、8253 所需設(shè)備:6個(gè)led燈(兩組紅黃綠燈)、八位數(shù)碼管顯示器 將8255a的a口與led燈相連,對(duì)8255a進(jìn)行初始化編程,控制led燈的亮滅。 對(duì)8279編程,顯示60秒倒計(jì)時(shí)。用8253對(duì)交通燈進(jìn)行計(jì)時(shí),南北方向50s,黃燈10s,東西方向50s,黃燈10s
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 慈溪市勞動(dòng)合同8篇
- 關(guān)于保密合同范文6篇
- 工程資料建筑施工物資租賃合同6篇
- 優(yōu)惠價(jià)房買賣服務(wù)合同7篇
- 2025年借款抵押房地產(chǎn)合同范本
- 2025年化妝品店鋪裝修合同范本
- 谷物、糧油購(gòu)銷合同5篇
- 2025年標(biāo)準(zhǔn)廠房購(gòu)買合同范本
- 2025年品牌策劃市場(chǎng)拓展合同
- 藥品企業(yè)藥學(xué)技術(shù)人員解約合同范本
- GA/T 701-2024安全防范指紋識(shí)別應(yīng)用出入口控制指紋識(shí)別模塊通用規(guī)范
- 4.1 人要有自信 (課件)2024-2025學(xué)年七年級(jí)道德與法治下冊(cè)(統(tǒng)編版2024)
- 加強(qiáng)學(xué)校鑄牢中華民族共同體意識(shí)教育心得
- 16.3 二次根式的加減 - 人教版數(shù)學(xué)八年級(jí)下冊(cè)教學(xué)課件
- 馬尼拉草皮施工方案
- 《 大學(xué)生軍事理論教程》全套教學(xué)課件
- 中考數(shù)學(xué)計(jì)算題練習(xí)100道(2024年中考真題)
- 業(yè)主授權(quán)租戶安裝充電樁委托書(shū)
- 工作日志模板
- 購(gòu)銷合同模板(excel版)
- 名中醫(yī)醫(yī)案100例
評(píng)論
0/150
提交評(píng)論