




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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 年 月目錄一、設(shè)計題目1二、設(shè)計目的:1三、設(shè)計原理及方案:11原理及方案18255簡介2ADC0809主要功能2七段LED顯示器及其接口32.實驗電路及連接4四、實現(xiàn)方法41.實驗程序框圖42.程序源代碼7五、實施結(jié)果161操作步驟162運行結(jié)果16六、改進意見及建議16七、設(shè)計體會17一、設(shè)計題目溫度采集及顯示控制二、設(shè)計目的:1了解閉環(huán)控制的基本原理。2進一步熟悉A/D變換原理和編程方法。3進一步了鍵盤掃描和LED顯示原理和編程方
2、法。三、設(shè)計原理及方案:1原理及方案利用實驗儀上顯示電路,鍵盤電路,A/D變換電路,完成溫度顯示,可以利用實驗儀上的電位器模仿溫度變化,加熱和致冷可以用發(fā)光管代替。用鍵盤可以設(shè)定恒溫溫度,當(dāng)溫度超過設(shè)定溫度+/-2時,就要啟動加熱或致冷。利用AD0809芯片將模擬量的溫度轉(zhuǎn)換為數(shù)字量,然后將AD采樣到的結(jié)果進行制式的轉(zhuǎn)換并將結(jié)果顯示在數(shù)碼管上。采樣的結(jié)果與設(shè)定的溫度限值進行比較,若超溫了則讓超溫指示燈亮。根據(jù)需要,需選擇的芯片有AD0809 A/D變換芯片,8255可編程并行接口。通過應(yīng)用模數(shù)轉(zhuǎn)換器AD0809將從模擬電阻上采集的數(shù)據(jù)通過端口IN0輸入,在A/D的轉(zhuǎn)換下,獲得8位二進制的數(shù)字量
3、(D7D0),然后輸入到8088系統(tǒng)總線上,進而輸入到可編程并行接口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、B、
4、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),可在程序控制下對任意通道進行A/D轉(zhuǎn)換,獲得8位二進制數(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二極管。通過控制不同段的點亮和熄滅,顯示出16進制數(shù)字或字符。七段LED顯示器有共陽極和共陰極兩種結(jié)構(gòu),如圖6-3所示的七段LED實際上
6、包含8個LED(7段字形加上小數(shù)點DP)。1位LED顯示器有1根位選線和8根段選線,段選線控制字符的選擇,位選線控制顯示位的亮和暗。圖3.4七段LED顯示2.實驗電路及連接 LED顯示電路和鍵盤電路實驗儀上已接好。原理圖見圖1。 A/D變換電路只要接上模擬量輸入和地址選擇信號即可。PA0口模仿加熱電機PA1口模仿致冷電機電位器模仿溫度采樣圖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 ; Por
8、t 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, 0ffh
10、 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)所有八段管 retDisplayLED
12、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, 0fh
13、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, a
14、lWaitRelease: 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 mov
15、 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, al
16、 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, ax
17、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 Di
18、splayLED 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, PortABu
19、f 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).打開計算機電源,執(zhí)行WAVE集成調(diào)試程序源代碼。3).執(zhí)行程序源代碼,改變電位器,進行實驗并記錄實驗結(jié)果。2運行結(jié)果調(diào)整電位器,LED顯示溫度范圍在-39到49,分辨率為2。當(dāng)采集的溫度值超過設(shè)定溫度時,能點亮發(fā)光二極管。小于設(shè)定溫度-2時顯示綠色;溫度超過設(shè)定溫度+2,顯示紅色燈;溫度在設(shè)定溫度-/+2以內(nèi)顯示燈熄滅,表示溫度。按鍵盤向上鍵,LED顯示設(shè)定溫度+1,按向下鍵LED顯示設(shè)定溫度-1。六、改進意見及建議這
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年元旦小孩的主持詞(8篇)
- 2022年自助餐廳圣誕節(jié)方案范文
- 環(huán)境友好型廠房建設(shè)方案
- 供水管網(wǎng)老舊設(shè)施更換工程規(guī)劃設(shè)計方案(范文)
- 書籍封面的制作與設(shè)計
- 汛期安全教育知識培訓(xùn)
- 山西晉中理工學(xué)院《資源環(huán)境審計學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州番禺職業(yè)技術(shù)學(xué)院《政府與非盈利組織會計》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇衛(wèi)生健康職業(yè)學(xué)院《電視新聞節(jié)目制作》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京鐵道職業(yè)技術(shù)學(xué)院《大數(shù)據(jù)分析工具與技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 汽車路試協(xié)議書
- 2025年河南高一學(xué)業(yè)水平合格考模擬地理試卷試題(含答案詳解)
- 《危險化學(xué)品企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化規(guī)范》專業(yè)深度解讀與應(yīng)用培訓(xùn)指導(dǎo)材料之6:5管理要求-5.6 設(shè)備完整性(雷澤佳編制-2025A0)
- 市場調(diào)查與分析(完全)
- 臨床專業(yè)考試試題及答案
- 2024年黑龍江帕弗爾能源產(chǎn)業(yè)管理有限公司高校畢業(yè)生招聘筆試真題
- 初中家長學(xué)校父母課堂課件與教案
- (四調(diào))武漢市2025屆高中畢業(yè)生四月調(diào)研考試 生物試卷(含答案)
- 2024年青海省中考生物地理合卷試題(含答案解析)
- 壓力鋼管鎮(zhèn)墩抗滑穩(wěn)定及地基應(yīng)力計算
- 勞動安全與工業(yè)衛(wèi)生專項竣工驗收自查報告格式模板
評論
0/150
提交評論