硬件課程設(shè)計(jì)修改2_第1頁(yè)
硬件課程設(shè)計(jì)修改2_第2頁(yè)
硬件課程設(shè)計(jì)修改2_第3頁(yè)
硬件課程設(shè)計(jì)修改2_第4頁(yè)
硬件課程設(shè)計(jì)修改2_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、硬件課程設(shè)計(jì)課程報(bào)告 中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院中國(guó)礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院2012 級(jí)本科生課程報(bào)告級(jí)本科生課程報(bào)告課程名稱 硬件課程設(shè)計(jì) 課程題目 壓力控制系統(tǒng) 報(bào)告時(shí)間 2014 年 12 月 學(xué)生姓名 白文芳 學(xué) 號(hào) 08123241 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 任課教師 王凱 硬件課程設(shè)計(jì)課程報(bào)告目 錄1. 概述.11.1 設(shè)計(jì)任務(wù).11.2 設(shè)計(jì)要求.12. 需求分析.13. 各個(gè)芯片工作原理及功能.23.1 8255A .23.2 ADC0809 原理及接線圖.43.3 LED 圖形顯示屏工作原理.63.4 步進(jìn)電機(jī)工作原理.104. 電路原理圖與說(shuō)明.115. 軟件主要模塊與說(shuō)明.145.

2、1 主程序流程圖.145.2 軟件功能模塊圖.155.3 系統(tǒng)詳細(xì)設(shè)計(jì) .155.3.1 模塊設(shè)計(jì).155.3.2 流程圖.166. 源程代碼與注釋.177. 結(jié)論與體會(huì).278. 參考文獻(xiàn).28硬件課程設(shè)計(jì)課程報(bào)告11. 概述1.1 設(shè)計(jì)任務(wù)我們經(jīng)常要控制壓力在某一范圍內(nèi)變化,是壓力不超過(guò)某以上限值也不低于某一下限值。而壓力控制系統(tǒng)在實(shí)際中也有較廣泛的應(yīng)用。為此,我們目前很需要開(kāi)發(fā)一種簡(jiǎn)單的壓力控制系統(tǒng)來(lái)替代人的工作。這樣既可以節(jié)省人力資源,又可以使這項(xiàng)繁瑣而又難實(shí)現(xiàn)的工作變得簡(jiǎn)單又輕松。真正實(shí)現(xiàn)我們所謂的監(jiān)測(cè)和控制。1.2 設(shè)計(jì)要求(1)利用壓力傳感器輸入一個(gè)壓力值,當(dāng)該壓力值超過(guò)一定的限

3、度值時(shí),系統(tǒng)會(huì)發(fā)出警報(bào),紅燈閃爍,然后使用壓力控制系統(tǒng)進(jìn)行減壓,直至變?yōu)楹侠矸秶畠?nèi)。(2)當(dāng)該壓力值低于下限值時(shí),黃燈閃爍,再通過(guò)電機(jī)系統(tǒng)進(jìn)行加壓。(3)當(dāng)壓力值在限定范圍之內(nèi)時(shí),LED 顯示屏顯示內(nèi)容為 P=XXX,即此時(shí)壓力值。2. 需求分析壓力測(cè)試系統(tǒng)的設(shè)計(jì),必然要牽涉到壓力的感應(yīng)與轉(zhuǎn)化,所以必須要有壓力傳感器與 A/D 轉(zhuǎn)換器。將自然中的模擬量轉(zhuǎn)化為電壓信號(hào),再轉(zhuǎn)化位數(shù)字信號(hào)進(jìn)行處理。一個(gè)小型的微機(jī)系統(tǒng),必須要有 8086CPU 來(lái)進(jìn)行整體的控制,將其通過(guò) 8255 與 A/D 傳感器進(jìn)行連接。這就是這個(gè)系統(tǒng)的主要框架。而具體的應(yīng)用框架則是在主要的框架上添加。要當(dāng)壓力低于下限值時(shí),黃

4、燈閃爍。當(dāng)壓力高于上限值時(shí),紅燈閃爍。則應(yīng)添加 8255 模塊。通過(guò)編程來(lái)控制黃燈與紅燈的亮滅情況,考慮到要進(jìn)行比較,所以我用了兩個(gè)比較器進(jìn)行數(shù)據(jù)的比較。而利用 LED 圖形顯示器進(jìn)行顯示輸出,顯示內(nèi)容為四行,包括時(shí)間,當(dāng)前壓力及狀態(tài)。硬件課程設(shè)計(jì)課程報(bào)告23. 各個(gè)芯片工作原理及功能3.1 8255A(1)8255 原理及接線圖 8255A 是 Intel 系列的并行接口芯片,常作為微機(jī)系統(tǒng)與外部設(shè)備接口。由于它是可編程的,可以通過(guò)軟件來(lái)設(shè)置芯片的工作方式,因此,用它連接外部設(shè)備時(shí),一般不需要在附加外部電路,給使用帶來(lái)很大方便。如下圖所示(2)芯片 8255 A 在本設(shè)計(jì)中的功能作用8255

5、 是并行的 I/0 接口芯片,內(nèi)部有三個(gè)相互獨(dú)立的 8 位數(shù)據(jù)端口。8255 實(shí)現(xiàn)了外設(shè)與 8086 之間的數(shù)據(jù)傳輸。8255 的 A 口工作于方式 0,作為輸出口,其 PA0PA7 分別與LCD 液晶顯示屏端口相連,PC5PC7 接相應(yīng)端口,工作在并行模式。(3)芯片 8255 的功能分析8255A 是可編程并行接口,內(nèi)部有 3 個(gè)相互獨(dú)立的 8 位數(shù)據(jù)端口,即 A 口、B 口和C 口。三個(gè)端口都可以作為輸入端口或輸出端口。A 口有三種工作方式:方式 0、方式 1和方式 2;B 口可以工作在方式 0 或方式 1 下;C 口通常作為聯(lián)絡(luò)信號(hào)使用。8255 的工作只有當(dāng)片選 CS 有效時(shí)才能進(jìn)行

6、工作,而控制邏輯端口實(shí)現(xiàn)對(duì)其他端口的控制。當(dāng) 8255工作在方式 0 時(shí),即基本輸入輸出方式時(shí),可將三個(gè)數(shù)據(jù)端口劃分為四個(gè)獨(dú)立的部分:A硬件課程設(shè)計(jì)課程報(bào)告3口和 B 口作為兩個(gè) 8 位端口,C 口的高 4 位和低 4 位可以用作兩個(gè) 4 位的輸入輸出口,各個(gè)端口都可獨(dú)立地用作輸入或輸出。數(shù)據(jù)總線緩沖器是一個(gè) 8 位雙向三態(tài)緩沖器,三態(tài)是由讀/寫(xiě)控制邏輯控制的,它可與系統(tǒng)的 DB 直接相連,實(shí)現(xiàn) CPU 和 8255A 之間的信息傳送;讀寫(xiě)控制器用于管理數(shù)據(jù)、控制字或狀態(tài)字的傳送,接收來(lái)自 CPU 的地址信息及一些控制信號(hào),然后向 A 組、B 組控制電路發(fā)送命令,控制端口數(shù)據(jù)的傳送方向。825

7、5 引腳:RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時(shí),所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有 I/O 口均被置成輸入方式。CS:芯片選擇信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/CS=0 時(shí),表示芯片被選中,允許 8255 與 CPU 進(jìn)行通訊;/CS=1 時(shí),8255 無(wú)法與 CPU 做數(shù)據(jù)傳輸.RD:讀信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/RD=0 且/CS=0 時(shí),允許 8255 通過(guò)數(shù)據(jù)總線向 CPU 發(fā)送數(shù)據(jù)或狀態(tài)信息,即 CPU 從 8255 讀取信息或數(shù)據(jù)。WR:寫(xiě)入信號(hào),當(dāng)這個(gè)輸入引腳為低電平時(shí),即/WR=0 且/CS=0 時(shí),允許 CPU 將數(shù)據(jù)或控制字寫(xiě)入 8255

8、。D0D7:三態(tài)雙向數(shù)據(jù)總線,8255 與 CPU 數(shù)據(jù)傳送的通道,當(dāng) CPU 執(zhí)行輸入輸出指令時(shí),通過(guò)它實(shí)現(xiàn) 8 位數(shù)據(jù)的讀/寫(xiě)操作,控制字和狀態(tài)信息也通過(guò)數(shù)據(jù)總線傳送。PA0PA7:端口 A 輸入輸出線,一個(gè) 8 位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè) 8 位的數(shù)據(jù)輸入鎖存器。PB0PB7:端口 B 輸入輸出線,一個(gè) 8 位的 I/O 鎖存器, 一個(gè) 8 位的輸入輸出緩沖器。PC0PC7:端口 C 輸入輸出線,一個(gè) 8 位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè) 8 位的數(shù)據(jù)輸入緩沖器。端口 C 可以通過(guò)工作方式設(shè)定而分成 2 個(gè) 4 位的端口, 每個(gè) 4 位的端口包含一個(gè) 4 位的鎖存器,分別與端口

9、 A 和端口 B 配合使用,可作為控制信號(hào)輸出或狀態(tài)信號(hào)輸入端口。A0,A1:地址選擇線,用來(lái)選擇 8255 的 PA 口,PB 口,PC 口和控制寄存器.當(dāng) A0=0,A1=0 時(shí),PA 口被選擇;當(dāng) A0=0,A1=1 時(shí),PB 口被選擇;當(dāng) A0=1,A1=0 時(shí),PC 口被選擇;當(dāng) A0=1.A1=1 時(shí),控制寄存器被選擇.(4)8255A 具有 3 種基本的工作方式 工作方式 0 :這是 8255A 中各端口的基本輸入 / 輸出方式。它只完成簡(jiǎn)單的硬件課程設(shè)計(jì)課程報(bào)告4并行輸入 / 輸出操作, CPU 可從指定端口輸入信息,也可向指定端口輸出信息,如果三個(gè)端口均處于工作方式 0 ,則

10、可由工作方式控制字定義 16 種工作方式的組合 工作方式 1 :被稱作選通輸入 / 輸出方式。在這種工作方式下,數(shù)據(jù)輸入 / 輸出操作要在選通信號(hào)控制下完成。 工作方式 2 :被稱作帶選通的雙向傳送方式。 8255A 中只允許端口 A 處于工作方式 2 ,可用來(lái)在兩臺(tái)處理機(jī)之間實(shí)現(xiàn)雙向并行通信。其有關(guān)的控制信號(hào)由端口 C 提供,并可向 CPU 發(fā)出中斷請(qǐng)求信號(hào)。3.2 ADC0809 原理及接線圖 ADC0809 是采用分辨率為 8 位的、以逐次逼近原理進(jìn)行模數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè) 8 通道多路開(kāi)關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通 8 路模擬輸入信號(hào)中的一個(gè)進(jìn)行 A/D 轉(zhuǎn)換。(

11、1)ADC0809 的主要特性8 路輸入通道,8 位 A/D 轉(zhuǎn)換器,即分辨率為 8 位。具有轉(zhuǎn)換起停控制端。轉(zhuǎn)換時(shí)間為 100s單個(gè)+5V 電源供電。模擬輸入電壓范圍 0+5V ,不需要零點(diǎn)和滿刻度校準(zhǔn)。工作溫度范圍為-40+85 攝氏度。低功耗,約 15mW.(2)內(nèi)部結(jié)構(gòu)ADC0809 的內(nèi)部邏輯結(jié)構(gòu)由下圖可知,ADC0809 由一個(gè) 8 路模擬開(kāi)關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè) A/D 轉(zhuǎn)換器和一個(gè)三臺(tái)輸出鎖存器組成。多路開(kāi)關(guān)可選通 8 個(gè)模擬通道,允許 8 路模擬量分時(shí)輸入,共用 A/D 轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三臺(tái)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。硬件課程設(shè)計(jì)課程報(bào)告5 ADC0809 的內(nèi)部邏輯

12、結(jié)構(gòu)(3)外部特性(引腳功能)ADC0809IN2IN1IN0ADD1EOCOESTARTCLKVCCREF(-)GNDADD2ADD3ALEVCCIN3IN7IN6IN5IN4D2D4D5D6D8D7D1D0ADC0809 引腳圖ADC0809 芯片有 28 條引腳,采用雙列直插式封裝,如圖所示。下面說(shuō)明各引腳功能。IN0IN7:8 路模擬量輸入端。2-12-8:8 位數(shù)字量輸出端。ADDA、ADDB、ADDC:3 位地址輸入線,用于選通 8 路模擬輸入中的一路。ALE:地址鎖存允許信號(hào),輸入,高電平有效。START: AD 轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少 100ns 寬)使其啟動(dòng)

13、(脈沖上升沿使 0809 復(fù)位,下降沿啟動(dòng) A/D 轉(zhuǎn)換) 。EOC: AD 轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng) AD 轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平) 。OE:數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng) AD 轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門(mén),輸出數(shù)字量。CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于 640KHZ。REF(+) 、REF(-):基準(zhǔn)電壓。Vcc:電源,單一5V。GND:地。硬件課程設(shè)計(jì)課程報(bào)告63.3 LED 圖形顯示屏工作原理(1)液晶屏簡(jiǎn)介和主要特性液晶顯示屏是一種內(nèi)置 12864-12 漢字圖形點(diǎn)陣的液晶顯示控制模塊,用于顯示漢字及圖形12864A

14、-1 漢字圖形點(diǎn)陣液晶顯示模塊集成 ST7920 驅(qū)動(dòng)器,可顯示漢字及圖形,內(nèi)置 8192 個(gè)中文漢字(1616 點(diǎn)陣) 、128 個(gè)字符(816 點(diǎn)陣)及 64256 點(diǎn)陣顯示 RAM(GDRAM) 。主要技術(shù)參數(shù)和顯示特性:電源:VDD 3.3V+5V(內(nèi)置升壓電路,無(wú)需負(fù)壓);顯示內(nèi)容:128 列 64 行;顯示顏色:黃綠;顯示角度:6:00 鐘直視;LCD 類型:STN;與 MCU 接口:8 位或 4 位并行/3 位串行;2MHZ 時(shí)鐘頻率;配置 LED 背光;多種軟件功能:光標(biāo)顯示、畫(huà)面移位、自定義字符、睡眠模式等(2)試驗(yàn)原理圖硬件課程設(shè)計(jì)課程報(bào)告7(3)液晶顯示屏引腳說(shuō)明邏輯工作

15、電壓(VDD):4.55.5V電源地(GND):0V硬件課程設(shè)計(jì)課程報(bào)告8工作溫度(Ta):060(常溫) / -2075(寬溫)(4)漢字編碼查詢表(5)液晶顯示流程圖:硬件課程設(shè)計(jì)課程報(bào)告9(6)具體指令介紹硬件課程設(shè)計(jì)課程報(bào)告103.4 步進(jìn)電機(jī)工作原理(1)基本原理介紹按原理圖連接線路,利用8255輸出脈沖序列,開(kāi)關(guān)K0K6控制步進(jìn)電機(jī)轉(zhuǎn)速,K7控制步進(jìn)電機(jī)轉(zhuǎn)向。8255 CS接288H28FH。PC0PC3接BABD;PA口接邏輯電平開(kāi)關(guān)。步進(jìn)電機(jī)驅(qū)動(dòng)原理是通過(guò)對(duì)每相線圈中的電流的順序切換來(lái)使電機(jī)作步進(jìn)式旋轉(zhuǎn)。驅(qū)動(dòng)電路由脈沖信號(hào)來(lái)控制,所以調(diào)節(jié)脈沖信號(hào)的頻率便可改變步進(jìn)電機(jī)的轉(zhuǎn)速。本

16、實(shí)驗(yàn)使用的步進(jìn)電機(jī)用直流5V電壓,每相電流為0.16A,電機(jī)線圈由四相組成:即:1(BA);2(BB);3(BC);4(BD)實(shí)驗(yàn)可通過(guò)不同長(zhǎng)度的延時(shí)來(lái)得到不同頻率的步進(jìn)電機(jī)輸入脈沖,從而得到多種步進(jìn)速度。(2)試驗(yàn)原理圖(3)試驗(yàn)流程圖硬件課程設(shè)計(jì)課程報(bào)告114. 電路原理圖與說(shuō)明(1)電路連接圖與說(shuō)明:0809 的通道 0 的地址為 298H,通道 0 與 0+5V 相連接,片選地址為 280H287H8255 的片選地址為 288H29DH,A 口地址為 288H,B 口地址為 289H,C 口地址為28AH,PA0PA7 接 LCD 數(shù)據(jù)總線 D0D7,PB0PB2 接 LCD 的 D

17、/I、RW、E。PC0PC7 接鍵盤(pán)的 DOD7。(2)系統(tǒng)運(yùn)行過(guò)程的詳細(xì)分析壓力控制系統(tǒng)由以下幾個(gè)部分組成,包括輸入部分,轉(zhuǎn)換部分,顯示部分,報(bào)警部分和相應(yīng)加壓減壓措施。輸入部分:首先由壓力傳感器輸入一個(gè)壓力值(利用滑動(dòng)變阻器模擬)轉(zhuǎn)換部分: 通過(guò) ADC0809 芯片,將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),再通過(guò) 8255 芯片送入 8086CPU硬件課程設(shè)計(jì)課程報(bào)告12顯示部分:通過(guò) 8255 連接 LED 燈和液晶電子顯示屏,用液晶電子顯示屏顯示該壓力值報(bào)警部分:當(dāng)高于上限值時(shí),LED 紅燈閃爍報(bào)警;當(dāng)?shù)陀谙孪拗禃r(shí),LED 黃燈閃爍報(bào)警相應(yīng)措施:當(dāng)高于上限值時(shí),利用電機(jī)減壓控制,直至黃燈熄滅,當(dāng)?shù)?/p>

18、于下限值時(shí),利用電機(jī)加壓控制,直至紅燈熄滅。系統(tǒng)軟件實(shí)現(xiàn)模數(shù)轉(zhuǎn)換單元ADC0809CPU 中央處理器8086并行接口芯片8255大于上限值黃燈閃爍小于下限值紅燈閃爍顯示壓力值LED 字符圖形顯示器顯示壓力傳感器壓力控制系統(tǒng)壓力控制系統(tǒng)(3)硬件接線實(shí)物圖硬件課程設(shè)計(jì)課程報(bào)告13(4)運(yùn)行成果壓力為 3MPa 時(shí)為正常,顯示壓力正常壓力大于等于 4MPa 時(shí)為過(guò)高,顯示壓力過(guò)高請(qǐng)降壓,同時(shí)紅燈報(bào)警,步進(jìn)電機(jī)轉(zhuǎn) 硬件課程設(shè)計(jì)課程報(bào)告14壓力小于 3MPa 時(shí)為過(guò)低,顯示壓力過(guò)低請(qǐng)升壓,同時(shí)黃燈報(bào)警,步進(jìn)電機(jī)轉(zhuǎn) 5. 軟件主要模塊與說(shuō)明5.1 主程序流程圖模數(shù)轉(zhuǎn)換單元ADC0809CPU 中央處理器

19、8086并行接口芯片8255大于上限值黃燈閃爍小于下限值紅燈閃爍顯示壓力值LED 字符圖形顯示器顯示0-5V 模擬壓力值壓力控制系統(tǒng)壓力控制系統(tǒng)硬件課程設(shè)計(jì)課程報(bào)告155.2 軟件功能模塊圖壓力控制系統(tǒng)壓力檢測(cè)模塊壓力轉(zhuǎn)換模塊LCD顯示模塊壓力控制模塊0-5V直流電壓模擬壓力ADC0809模數(shù)轉(zhuǎn)換器8255、LCD液晶屏8255、直流電機(jī)5.3 系統(tǒng)詳細(xì)設(shè)計(jì)5.3.15.3.1 模塊設(shè)計(jì)模塊設(shè)計(jì)(1)壓力檢測(cè)模塊壓力檢測(cè)模塊需要用到 8255I/O 芯片、0809 模數(shù)轉(zhuǎn)換器。由 0809 對(duì)壓力值進(jìn)行采集并且轉(zhuǎn)換成數(shù)字化的壓力值,獲得的數(shù)字化的壓力值后通過(guò)編碼使得數(shù)字化的壓力值標(biāo)準(zhǔn)化,經(jīng) 8

20、086CPU 傳送給 8255I/O 芯片。獲得的壓力值在編碼部分完成比較,即壓力檢測(cè)。(2)壓力轉(zhuǎn)換模塊壓力轉(zhuǎn)換模塊由 0809 模數(shù)轉(zhuǎn)換芯片單獨(dú)完成,0809 芯片將輸入的電壓信號(hào)轉(zhuǎn)換成數(shù)字化的壓力值。(3)LCD 顯示模塊LCD 液晶顯示器由 8255I/O 芯片控制,其 8 路數(shù)據(jù)線和 8255 的 PA0-PA7 相連,8255的 PC0,PC1,PC2 分別與 LCD 液晶顯示器的 D/I,W/R,E 相連。通過(guò)編碼完成壓力值的判斷,LCD 將顯示出對(duì)應(yīng)的壓力值的動(dòng)作。如壓力值正常時(shí),LCD 液晶屏將顯示:系統(tǒng)時(shí)間、當(dāng)前壓力 X 兆帕、水塔內(nèi)壓力正常等的字樣。(4)壓力控制模塊硬件

21、課程設(shè)計(jì)課程報(bào)告16壓力控制模塊同樣是由 8255 來(lái)進(jìn)行控制的。8255 獲得數(shù)字化壓力值后,編碼完成對(duì)采集到的壓力值的判斷。壓力控制系統(tǒng)將對(duì)壓力值采取相應(yīng)的措施。如壓力小于 2 兆帕?xí)r,系統(tǒng)中直流電機(jī)轉(zhuǎn)動(dòng)來(lái)增加壓力,LCD 液晶顯示器將顯示:壓力過(guò)低,請(qǐng)?jiān)鰤?。此外,紅燈亮表示警示。5.3.25.3.2 流程圖流程圖(1) 壓力檢測(cè)流程圖0-5V電壓0809D/A轉(zhuǎn)換8255I/O接口芯片(2) 壓力轉(zhuǎn)換流程圖0-5V電壓0809D/A轉(zhuǎn)換(3) LCD 顯示流程圖8255I/O接口芯片LCD液晶屏硬件課程設(shè)計(jì)課程報(bào)告17(4) 壓力控制流程圖6. 源程代碼與注釋IO_ADDRESS equ

22、 288hDATA SEGMENTNUM DW 0A3B0H,0A3B1H,0A3B2H,0A3B3H,0A3B4H,0A3B5H,0A3B6H,0A3B7H,0A3B8H,0A3B9HHZ_TAB DW 0B5B1H,0C7B0H,0A1C3H,0C1A6H,0A1C3H,0A1C3H,0A1A0H,0A1A0H;0-14DW 0B5B1H,0C7B0H,0D1B9H,0C1A6H,0A1A0H,0A3CDH,0A3D0H,0A3E1H;16-30 DW 0A3B0H,0A3B0H,0A3B0H,0A3D0H,0A1A0H,0A1A0H,0A1A0H,0A1A0H;32-硬件課程設(shè)計(jì)課程報(bào)告

23、1846 HZ_ADR DB ? ;存放顯示行起始端口地址DATA ENDSCODE SEGMENTASSUME cs:code,ds:dataSTART: MOV AX,DATA MOV DS,AX MOV DX,IO_ADDRESS ADD DX,3 MOV AL,80H OUT DX,AL ;8255初始化 MOV AL,0FFh MOV DX,300H OUT DX, ALCALL KEEPCALL DELAYTIMECALL DELAYTIMEcall TIMEDISPLAY CALL CLEAR ;LCD 清除 ; CALL FUNCUP ;LCD 功能設(shè)置 LEA BX, HZ_

24、TAB MOV CH,1 ;顯示第1行信息 CALL LCD_DISPLEA BX, HZ_TAB MOV CH,2 ;顯示第2行信息 CALL LCD_DISP LEA BX, HZ_TAB MOV CH,3 ;顯示第3行信息 CALL LCD_DISP硬件課程設(shè)計(jì)課程報(bào)告19 l1: JMP START ;l1CLEAR PROC MOV AL,0CH MOV DX, IO_ADDRESS OUT DX,AL ;設(shè)置CLEAR命令 CALL CMD_SETUP ;啟動(dòng)LCD執(zhí)行命令 RETCLEAR ENDPKEEP PROCMOV DX,298HOUT DX,ALMOV CX,0FFHA

25、GAIN: LOOP AGAIN IN AL,DXMOV BL,ALMOV AH,0MOV CL,51DIV CL MOV AH,0 ADD AX,0A3B0H MOV HZ_TAB+24,AXCMP HZ_TAB+24,0A3B4H硬件課程設(shè)計(jì)課程報(bào)告20JNL YELLOW;大于等于4 CMP HZ_TAB+24,0A3B2H JNG RED ;小于等于2MOV DX,289HMOV AL,00000100B OUT DX,ALMOV HZ_TAB+32,0CBAEH ;正常MOV HZ_TAB+34,0CBFEHMOV HZ_TAB+36,0C4DAHMOV HZ_TAB+38,0D1B

26、9HMOV HZ_TAB+40,0C1A6HMOV HZ_TAB+42,0D5FDHMOV HZ_TAB+44,0B3A3HMOV HZ_TAB+46,0A1A0H RETKEEP ENDPFUNCUP PROC ; MOV AL, 0fH ;LCD功能設(shè)置命令 ; OUT DX, AL ; CALL CMD_SETUP MOV AL, 34H ;LCD顯示狀態(tài)命令 OUT DX, AL CALL CMD_SETUP RETFUNCUP ENDPREDPROCnear ;紅燈,報(bào)警,電機(jī)硬件課程設(shè)計(jì)課程報(bào)告21MOV DX,289HMOV AL,11000001B OUT DX,ALMOV H

27、Z_TAB+32,0D1B9H ;過(guò)低MOV HZ_TAB+34,0C1A6HMOV HZ_TAB+36,0B9FDHMOV HZ_TAB+38,0B5CDHMOV HZ_TAB+40,0A1A0HMOV HZ_TAB+42,0C7EBHMOV HZ_TAB+44,0C9FDHMOV HZ_TAB+46,0D1B9HRETRED ENDPYELLOWPROC NEAR ;黃燈,報(bào)警,電機(jī)MOV DX,289HMOV AL,11000010B OUT DX,ALMOV HZ_TAB+32,0D1B9H ;過(guò)高M(jìn)OV HZ_TAB+34,0C1A6HMOV HZ_TAB+36,0B9FDH MOV

28、 HZ_TAB+38,0B8DFHMOV HZ_TAB+40,0A1A0HMOV HZ_TAB+42,0C7EBHMOV HZ_TAB+44,0BDB5HMOV HZ_TAB+46,0D1B9HRETYELLOW ENDP硬件課程設(shè)計(jì)課程報(bào)告22LCD_DISP PROC LEA BX, HZ_TAB CMP CH, 1 JZ DISP_SEC1 CMP CH,2 JZ DISP_SEC2 CMP CH,3 JZ DISP_SEC3 MOV BYTE PTR HZ_ADR, 98H ;第三行起始端口地址 ADD BX,48 ;指向第二行信息 JMP nextDISP_SEC1: MOV BYT

29、E PTR HZ_ADR,80H JMP NEXTDISP_SEC2: MOV BYTE PTR HZ_ADR,90H ADD BX,16 JMP NEXTDISP_SEC3: MOV BYTE PTR HZ_ADR,88H ADD BX,32 JMP NEXTNEXT: MOV CL,8CONTINUE: PUSH CX MOV AL,HZ_ADR MOV DX, IO_ADDRESS OUT DX, AL CALL CMD_SETUP ;設(shè)定DDRAM地址命令 MOV AX,BX PUSH AX MOV AL,AH ;先送漢字編碼高位硬件課程設(shè)計(jì)課程報(bào)告23 MOV DX,IO_ADDRE

30、SS OUT DX,AL CALL DATA_SETUP ;輸出漢字編碼高字節(jié) CALL DELAY ;延遲 POP AX MOV DX,IO_ADDRESS OUT DX, AL CALL DATA_SETUP ;輸出漢字編碼低字節(jié) CALL DELAY INC BX INC BX ;修改顯示內(nèi)碼緩沖區(qū)指針 INC BYTE PTR HZ_ADR ;修改LCD顯示端口地址 POP CX DEC CL JNZ CONTINUE RETLCD_DISP ENDPCMD_SETUP PROC MOV DX,IO_ADDRESS ;指向8255端口控制端口 ADD DX,2 NOP MOV AL,0

31、0000000B ;PC1置0,pc0置0 (LCD I端=0,W端0) OUT DX, AL call delay NOP MOV AL,00000100B ;PC2置1 (LCD E端1) OUT DX, AL NOP硬件課程設(shè)計(jì)課程報(bào)告24 call delay MOV AL, 00000000B ;PC2置0,(LCD E端置0) OUT DX, AL call delay RETCMD_SETUP ENDPDATA_SETUP PROC MOV DX,IO_ADDRESS ;指向8255控制端口 ADD DX,2 MOV AL,00000001B ;PC1置0,PC0=1 (LCD

32、I端=1) OUT DX, AL NOP call delay MOV AL,00000101B ;PC2置1 (LCD E端1) OUT DX, AL NOP call delay MOV AL, 00000001B ;PC2置0,(LCD E端0) OUT DX, AL NOP call delay RETDATA_SETUP ENDPDELAY PROC push cx push dx MOV CX, 0fffh硬件課程設(shè)計(jì)課程報(bào)告25 x1: loop x1 pop dx pop cx RETDELAY ENDPDELAYTIME PROC MOV CX,0FFFFH D1:LOOP

33、D1RETDELAYTIME ENDPTIMEDISPLAY PROC NEARMOV AH,2CHINT 21HMOV BX,10MOV AL,CH ;CH存時(shí)XOR AH,AHDIV BLMOV DL,AHMOV AH,00ADD AX,0A3B0HMOV HZ_TAB+0,AXMOV AL,DLMOV AH,00ADD AX,0A3B0HMOV HZ_TAB+2,AXMOV AL,CL ;CL存分XOR AH,AHDIV BLMOV DL,AH硬件課程設(shè)計(jì)課程報(bào)告26MOV AH,00ADD AX,0A3B0HMOV HZ_TAB+6,AXMOV AL,DLMOV AH,00ADD AX,0A3B0HMOV HZ_TAB+8,AXMOV AL,DH ;DH存秒XOR AH,AHDIV BLMOV DL,AHMOV AH,00ADD AX,0A3B0HMOV HZ_TAB+12,AXMOV AL,DLMOV AH,00ADD AX,0A3B0HMOV HZ_TAB+14,AXRET ;時(shí)間調(diào)用返回TIMEDISPLAY ENDPCODE ENDSEND STA

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論