




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、河北科技大學(xué)課程設(shè)計報告學(xué)生姓名: 學(xué) 號: 專業(yè)班級: 軟件工程 課程名稱: 接口技術(shù)課程設(shè)計 學(xué)年學(xué)期: 2 0 2 0 學(xué)年第 學(xué)期 指導(dǎo)教師: 2 0 年 月17目錄一、設(shè)計題目1二、設(shè)計目的:1三、設(shè)計原理及方案:11原理及方案18255簡介2ADC0809主要功能2七段LED顯示器及其接口32.實驗電路及連接4四、實現(xiàn)方法41.實驗程序框圖42.程序源代碼7五、實施結(jié)果161操作步驟162運(yùn)行結(jié)果16六、改進(jìn)意見及建議16七、設(shè)計體會17一、設(shè)計題目溫度采集及顯示控制二、設(shè)計目的:1了解閉環(huán)控制的基本原理。2進(jìn)一步熟悉A/D變換原理和編程方法。3進(jìn)一步了鍵盤掃描和LED顯示原理和編
2、程方法。三、設(shè)計原理及方案:1原理及方案利用實驗儀上顯示電路,鍵盤電路,A/D變換電路,完成溫度顯示,可以利用實驗儀上的電位器模仿溫度變化,加熱和致冷可以用發(fā)光管代替。用鍵盤可以設(shè)定恒溫溫度,當(dāng)溫度超過設(shè)定溫度+/-2時,就要啟動加熱或致冷。利用AD0809芯片將模擬量的溫度轉(zhuǎn)換為數(shù)字量,然后將AD采樣到的結(jié)果進(jìn)行制式的轉(zhuǎn)換并將結(jié)果顯示在數(shù)碼管上。采樣的結(jié)果與設(shè)定的溫度限值進(jìn)行比較,若超溫了則讓超溫指示燈亮。根據(jù)需要,需選擇的芯片有AD0809 A/D變換芯片,8255可編程并行接口。通過應(yīng)用模數(shù)轉(zhuǎn)換器AD0809將從模擬電阻上采集的數(shù)據(jù)通過端口IN0輸入,在A/D的轉(zhuǎn)換下,獲得8位二進(jìn)制的數(shù)
3、字量(D7D0),然后輸入到8088系統(tǒng)總線上,進(jìn)而輸入到可編程并行接口8255上,選擇工作方式0方式,把數(shù)據(jù)輸入到七段數(shù)碼管上,然后顯示出數(shù)字信息。同時應(yīng)用比較程序,設(shè)定溫度值。溫度顯示范圍-3949度如果在小于鍵盤設(shè)定溫度-2時則使8255C輸出00FH值信號讓顯示燈始終,顯示綠色,表示溫度過低。如果溫度超過鍵盤設(shè)定溫度+2則使8255C口輸出0F0H值信號讓顯示燈提示,顯示紅色燈,表示溫度過高。如果溫度在鍵盤設(shè)定溫度-/+2以內(nèi)則使8255C口無輸出信號讓顯示燈熄滅,表示溫度在正常范圍內(nèi)8255簡介8255 可編程外圍接口芯片是 Intel 公司生產(chǎn)的通用并行I/O 接口芯片,它具有A、
4、B、C 三個并行接口,并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O 設(shè)備或被控制對象之間傳遞信息。CPU 和接口之間 的數(shù)據(jù)傳送總是并行的,即可以同時傳遞8 位、16 位、32 位等。用+5V 單電源供電,能在以下三種方式下工作:方式0-基本輸入/出方式、方式1-選通輸入/出方式、方式2-雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖6-4所示:圖3.1 8255內(nèi)部結(jié)構(gòu)及引腳ADC0809主要功能AD0809具有8個通道的模擬輸入線(IN0IN7),可在程序控制下對任意通道進(jìn)行A/D轉(zhuǎn)換,獲得8位二進(jìn)制數(shù)字量(D7D0)。模擬輸入部分有8路多路開關(guān),可由3位地址輸入ADDA、ADDB、ADDC的不同
5、組合來選擇,ALE為地址鎖存信號,高電平有效,鎖存這三條地址輸入信號。主體部分是采用逐次逼近式的A/D轉(zhuǎn)換電路,由CLK控制的內(nèi)部電路的工作,START為啟動命令,高電平有效,啟動ADC0809內(nèi)部的A/D轉(zhuǎn)換,當(dāng)轉(zhuǎn)換完成,輸出信號EOC有效,OE為輸出允許信號,高電平有效,打開輸出三態(tài)緩沖器,把轉(zhuǎn)換后的結(jié)果送DB。ADC0809的內(nèi)部結(jié)構(gòu)和引腳如圖3.3所示:圖3.3 內(nèi)部結(jié)構(gòu)和引腳 七段LED顯示器及其接口七段LED顯示器:由七個發(fā)光段構(gòu)成,每段均為1個LED二極管。通過控制不同段的點(diǎn)亮和熄滅,顯示出16進(jìn)制數(shù)字或字符。七段LED顯示器有共陽極和共陰極兩種結(jié)構(gòu),如圖6-3所示的七段LED實
6、際上包含8個LED(7段字形加上小數(shù)點(diǎn)DP)。1位LED顯示器有1根位選線和8根段選線,段選線控制字符的選擇,位選線控制顯示位的亮和暗。圖3.4七段LED顯示2.實驗電路及連接 LED顯示電路和鍵盤電路實驗儀上已接好。原理圖見圖1。 A/D變換電路只要接上模擬量輸入和地址選擇信號即可。PA0口模仿加熱電機(jī)PA1口模仿致冷電機(jī)電位器模仿溫度采樣圖1連接孔1連接孔21AD_CSCS22IN0電位器輸出38255_CSCS04PA0L05PA1L16KEY/LED_CSCS1四、實現(xiàn)方法1.實驗程序框圖A/D采樣子程序框圖開始啟動AD變換延時讀AD變換值返回否是否是開始輸出列掃描信號列信號移位讀入行
7、值有鍵輸入6列掃描完?計算鍵值等待鍵松開查表得到鍵碼返回是否否是開始始始關(guān)閉所有顯示位取出顯示數(shù)據(jù)輸出時鐘脈沖輸出位選通信號8位數(shù)據(jù)輸出延時位選通信號移位6位全顯示完?返回顯示數(shù)據(jù)移位取出數(shù)據(jù)一位輸出鍵盤掃描子程序框圖LED顯示子程序框圖高2度+/-2度內(nèi)開始工始當(dāng)前溫度和設(shè)定溫度送顯示緩沖鍵盤值是?顯示溫度不變當(dāng)前溫度與設(shè)定溫度比較初始化溫度參數(shù)采樣當(dāng)前溫度加熱讀鍵盤致冷低2度向下鍵向上鍵設(shè)定溫度減1設(shè)定溫度加1溫度控制主程序框圖2.程序源代碼mode equ 082h ; 方式0,PA,PC輸出,PB輸入PortA equ 8000h ; Port APortB equ 8001h ; P
8、ort BPortC equ 8002h ; Port CCAddr equ 8003h ; 控制字地址ADPort equ 0a000h ; AD采樣輸入片選CS273 equ 0a000h ; 控制輸出片選UP equ 16h ; NextDOWN equ 15h ; LastLowLimit equ 10HighLimit equ 30LowTemp equ -45 ; A/D 0HighTemp equ 55 ; A/D 255Heat equ 1 ; 加熱控制Cool equ 2 ; 致冷控制OUTBIT equ 09002h ; 位控制口OUTSEG equ 09004h ; 段控
9、制口IN_KEY equ 09001h ; 鍵盤讀入口data segmentLEDBuf db 6 dup(?) ; 顯示緩沖Num db 1 dup(?) ; 顯示的數(shù)據(jù)DelayT db 1 dup(?)CurTemp db 1 dup(?)SetTemp db 1 dup(?)PortABuf db 1 dup(?)LEDMAP: ; 八段管顯示碼 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hKeyTable: ; 鍵碼定義 db 16h, 15h, 14h, 0f
10、fh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hdata endscode segment assume cs:code, ds:dataDelay proc near push ax ; 延時子程序 push cx mov al, 0 mov cx,ax loop $ pop cx pop ax retDelay endpDisplayLED proc near mov bx, offset LEDBuf mov cl
11、, 6 ; 共6個八段管 mov ah, 00100000b ; 從左邊開始顯示DLoop: mov dx, OUTBIT mov al, 0 out dx,al ; 關(guān)所有八段管 mov al, bx mov dx, OUTSEG out dx,al mov dx, OUTBIT mov al, ah out dx, al ; 顯示一位八段管 push ax mov ah, 1 call Delay pop ax shr ah, 1 inc bx dec cl jnz DLoop mov dx, OUTBIT mov al, 0 out dx,al ; 關(guān)所有八段管 retDisplayLE
12、D endpTestKey proc near mov dx, OUTBIT mov al, 0 out dx, al ; 輸出線置為0 mov dx, IN_KEY in al, dx ; 讀入鍵狀態(tài) not al and al, 0fh ; 高四位不用 retTestKey endpGetKey proc near mov ch, 00100000b mov cl, 6KLoop: mov dx, OUTBIT mov al, ch ; 找出鍵所在列 not al out dx, al shr ch, 1 mov dx, IN_KEY in al, dx not al and al, 0f
13、h jne Goon_ ; 該列有鍵入 dec cl jnz KLoop mov cl, 0ffh ; 沒有鍵按下, 返回 0ffh jmp Exit1Goon_: dec cl shl cl, 2 ; 鍵值 = 列 X 4 + 行 mov ch, 4LoopC: test al, 1 jnz Exit1 shr al, 1 inc cl dec ch jnz LoopCExit1: mov dx, OUTBIT mov al, 0 out dx, al mov ch, 0 mov bx, offset KeyTable add bx, cx mov al, bx ; 取出鍵碼 mov bl,
14、 alWaitRelease: mov dx, OUTBIT mov al, 0 out dx, al ; 等鍵釋放 mov ah, 10 call Delay call TestKey jne WaitRelease mov al, bl retGetKey endp; =DisplayResult proc near mov al, CurTemp test al, 80h jz GE0 mov LEDBuf, 40h ; '-' dec al not al jmp GoonGE0: mov LEDBuf, 0 ; ' 'Goon: mov cl, 10 m
15、ov ah, 0 div cl mov bl, al mov bh, 0 add bx, offset LEDMAP mov al, bx mov LEDBuf+1, al mov bl, ah mov bh, 0 add bx, offset LEDMAP mov al, bx mov LEDBuf+2, al mov LEDBuf+3, 0 ; ' ' mov al, SetTemp mov ah, 0 mov cl, 10 div cl mov bl, al mov bh, 0 add bx, offset LEDMAP mov al, bx mov LEDBuf+4,
16、al mov bl, ah mov bh, 0 add bx, offset LEDMAP mov al, bx mov LEDBuf+5, al retDisplayResult endpReadAD proc near mov dx, ADPort mov al, 0 out dx, al mov al, 60rr: dec al ; delay jnz rr mov dx, ADPort in al, dx retReadAD endpReadTemp proc near mov bx, 0 mov cl, 16RLoop: call ReadAD mov ah, 0 add bx, a
17、x dec cl jnz RLoop shr bx, 4 mov ax, bx mov cl, HighTemp - LowTemp mul cl mov al, ah ; /256 add al, LowTemp mov CurTemp, al retReadTemp endpStart proc near mov ax, data mov ds, ax mov al, mode mov dx, CAddr out dx, al ; 輸出控制字 mov SetTemp, 20MLoop: call TestKey jne KeyPressed call DisplayResult call
18、DisplayLED call ReadTemp mov al, SetTemp dec al dec al cmp CurTemp, al jge GN2 or PortABuf, Heat and PortABuf, not Cool jmp GN4GN2: mov al, SetTemp inc al inc al cmp CurTemp, al jle GN3 or PortABuf, Cool and PortABuf, not Heat jmp GN4GN3: and PortABuf, not (Cool+Heat)GN4: mov dx, PortA mov al, PortA
19、Buf out dx, al jmp MLoopKeyPressed: call GetKey cmp al, DOWN jne Key0 cmp SetTemp, LowLimit je Key1 dec SetTemp jmp Key1Key0: cmp al, UP jne Key1 cmp SetTemp, HighLimit je Key1 inc SetTempKey1: jmp MLoopstart endpcode ends end start五、實施結(jié)果1操作步驟1).按照電路圖鏈接電路,完成電路鏈接。2).打開計算機(jī)電源,執(zhí)行WAVE集成調(diào)試程序源代碼。3).執(zhí)行程序源代碼,改變電位器,進(jìn)行實驗并記錄實驗結(jié)果。2運(yùn)行結(jié)果調(diào)整電位器,LED顯示溫度范圍在-39到49,分辨率為2。當(dāng)采集的溫度值超過設(shè)定溫度時,能點(diǎn)亮發(fā)光二極管。小于設(shè)定溫度-2時顯示綠色;溫度超過設(shè)定溫度+2,顯示紅色燈;溫度在設(shè)定溫度-/+2以內(nèi)顯示燈熄滅,表示溫度。按鍵盤向上鍵,LED顯示設(shè)定溫度+1,按向下鍵LED顯示設(shè)定溫度-1。六、改進(jì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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 議論文論點(diǎn)的尋找或提煉
- 2025年黨章黨史國史國情知識競賽題庫及答案(共180題)
- 寫母親的作文
- 公司犯錯誤的檢討書
- 演講稿開場白說
- 飛機(jī)維修委托協(xié)議
- 體外膈肌起搏治療結(jié)合呼吸訓(xùn)練法對慢阻肺患者呼吸功能及運(yùn)動耐力的影響
- 《數(shù)據(jù)庫應(yīng)用技術(shù)》課件-第2章 MySQL的安裝與配置
- 陵園墓碑裝修合同模板
- 《Linux操作系統(tǒng)》課件-2.Linux基本命令操作
- 部編版語文五年級下冊第四單元大單元整體教學(xué)設(shè)計
- 《廂式貨運(yùn)車系列型譜》
- 第二課-智能多面手-課件-六年級下冊信息科技河南大學(xué)版
- 浙江弘博新材料科技有限公司年產(chǎn) 10 萬噸增塑劑和配套 4 萬噸苯酐擴(kuò)建項目 環(huán)境影響報告書
- 境外安全管理培訓(xùn)(海外)課件
- 家鄉(xiāng)物產(chǎn)說課稿公開課
- 紙箱出廠檢驗報告
- 廠房分布式光伏系統(tǒng)施工進(jìn)度計劃橫道圖
- 《大學(xué)英語四六級》課件
- 基于實驗教學(xué)培養(yǎng)學(xué)生物理核心素養(yǎng)的研究
- 2023年漢字聽寫大會漢字聽寫知識競賽題庫及答案
評論
0/150
提交評論