版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河北科技大學(xué)課程設(shè)計(jì)報(bào)告學(xué)生姓名: 學(xué) 號(hào): 專(zhuān)業(yè)班級(jí): 軟件工程 課程名稱(chēng): 接口技術(shù)課程設(shè)計(jì) 學(xué)年學(xué)期: 2 0 2 0 學(xué)年第 學(xué)期 指導(dǎo)教師: 2 0 年 月17目錄一、設(shè)計(jì)題目1二、設(shè)計(jì)目的:1三、設(shè)計(jì)原理及方案:11原理及方案18255簡(jiǎn)介2ADC0809主要功能2七段LED顯示器及其接口32.實(shí)驗(yàn)電路及連接4四、實(shí)現(xiàn)方法41.實(shí)驗(yàn)程序框圖42.程序源代碼7五、實(shí)施結(jié)果161操作步驟162運(yùn)行結(jié)果16六、改進(jìn)意見(jiàn)及建議16七、設(shè)計(jì)體會(huì)17一、設(shè)計(jì)題目溫度采集及顯示控制二、設(shè)計(jì)目的:1了解閉環(huán)控制的基本原理。2進(jìn)一步熟悉A/D變換原理和編程方法。3進(jìn)一步了鍵盤(pán)掃描和LED顯示原理和編
2、程方法。三、設(shè)計(jì)原理及方案:1原理及方案利用實(shí)驗(yàn)儀上顯示電路,鍵盤(pán)電路,A/D變換電路,完成溫度顯示,可以利用實(shí)驗(yàn)儀上的電位器模仿溫度變化,加熱和致冷可以用發(fā)光管代替。用鍵盤(pán)可以設(shè)定恒溫溫度,當(dāng)溫度超過(guò)設(shè)定溫度+/-2時(shí),就要啟動(dòng)加熱或致冷。利用AD0809芯片將模擬量的溫度轉(zhuǎn)換為數(shù)字量,然后將AD采樣到的結(jié)果進(jìn)行制式的轉(zhuǎn)換并將結(jié)果顯示在數(shù)碼管上。采樣的結(jié)果與設(shè)定的溫度限值進(jìn)行比較,若超溫了則讓超溫指示燈亮。根據(jù)需要,需選擇的芯片有AD0809 A/D變換芯片,8255可編程并行接口。通過(guò)應(yīng)用模數(shù)轉(zhuǎn)換器AD0809將從模擬電阻上采集的數(shù)據(jù)通過(guò)端口IN0輸入,在A/D的轉(zhuǎn)換下,獲得8位二進(jìn)制的數(shù)
3、字量(D7D0),然后輸入到8088系統(tǒng)總線(xiàn)上,進(jìn)而輸入到可編程并行接口8255上,選擇工作方式0方式,把數(shù)據(jù)輸入到七段數(shù)碼管上,然后顯示出數(shù)字信息。同時(shí)應(yīng)用比較程序,設(shè)定溫度值。溫度顯示范圍-3949度如果在小于鍵盤(pán)設(shè)定溫度-2時(shí)則使8255C輸出00FH值信號(hào)讓顯示燈始終,顯示綠色,表示溫度過(guò)低。如果溫度超過(guò)鍵盤(pán)設(shè)定溫度+2則使8255C口輸出0F0H值信號(hào)讓顯示燈提示,顯示紅色燈,表示溫度過(guò)高。如果溫度在鍵盤(pán)設(shè)定溫度-/+2以?xún)?nèi)則使8255C口無(wú)輸出信號(hào)讓顯示燈熄滅,表示溫度在正常范圍內(nèi)8255簡(jiǎn)介8255 可編程外圍接口芯片是 Intel 公司生產(chǎn)的通用并行I/O 接口芯片,它具有A、
4、B、C 三個(gè)并行接口,并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O 設(shè)備或被控制對(duì)象之間傳遞信息。CPU 和接口之間 的數(shù)據(jù)傳送總是并行的,即可以同時(shí)傳遞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個(gè)通道的模擬輸入線(xiàn)(IN0IN7),可在程序控制下對(duì)任意通道進(jìn)行A/D轉(zhuǎn)換,獲得8位二進(jìn)制數(shù)字量(D7D0)。模擬輸入部分有8路多路開(kāi)關(guān),可由3位地址輸入ADDA、ADDB、ADDC的不同
5、組合來(lái)選擇,ALE為地址鎖存信號(hào),高電平有效,鎖存這三條地址輸入信號(hào)。主體部分是采用逐次逼近式的A/D轉(zhuǎn)換電路,由CLK控制的內(nèi)部電路的工作,START為啟動(dòng)命令,高電平有效,啟動(dòng)ADC0809內(nèi)部的A/D轉(zhuǎn)換,當(dāng)轉(zhuǎn)換完成,輸出信號(hào)EOC有效,OE為輸出允許信號(hào),高電平有效,打開(kāi)輸出三態(tài)緩沖器,把轉(zhuǎn)換后的結(jié)果送DB。ADC0809的內(nèi)部結(jié)構(gòu)和引腳如圖3.3所示:圖3.3 內(nèi)部結(jié)構(gòu)和引腳 七段LED顯示器及其接口七段LED顯示器:由七個(gè)發(fā)光段構(gòu)成,每段均為1個(gè)LED二極管。通過(guò)控制不同段的點(diǎn)亮和熄滅,顯示出16進(jìn)制數(shù)字或字符。七段LED顯示器有共陽(yáng)極和共陰極兩種結(jié)構(gòu),如圖6-3所示的七段LED實(shí)
6、際上包含8個(gè)LED(7段字形加上小數(shù)點(diǎn)DP)。1位LED顯示器有1根位選線(xiàn)和8根段選線(xiàn),段選線(xiàn)控制字符的選擇,位選線(xiàn)控制顯示位的亮和暗。圖3.4七段LED顯示2.實(shí)驗(yàn)電路及連接 LED顯示電路和鍵盤(pán)電路實(shí)驗(yàn)儀上已接好。原理圖見(jiàn)圖1。 A/D變換電路只要接上模擬量輸入和地址選擇信號(hào)即可。PA0口模仿加熱電機(jī)PA1口模仿致冷電機(jī)電位器模仿溫度采樣圖1連接孔1連接孔21AD_CSCS22IN0電位器輸出38255_CSCS04PA0L05PA1L16KEY/LED_CSCS1四、實(shí)現(xiàn)方法1.實(shí)驗(yàn)程序框圖A/D采樣子程序框圖開(kāi)始啟動(dòng)AD變換延時(shí)讀AD變換值返回否是否是開(kāi)始輸出列掃描信號(hào)列信號(hào)移位讀入行
7、值有鍵輸入6列掃描完?計(jì)算鍵值等待鍵松開(kāi)查表得到鍵碼返回是否否是開(kāi)始始始關(guān)閉所有顯示位取出顯示數(shù)據(jù)輸出時(shí)鐘脈沖輸出位選通信號(hào)8位數(shù)據(jù)輸出延時(shí)位選通信號(hào)移位6位全顯示完?返回顯示數(shù)據(jù)移位取出數(shù)據(jù)一位輸出鍵盤(pán)掃描子程序框圖LED顯示子程序框圖高2度+/-2度內(nèi)開(kāi)始工始當(dāng)前溫度和設(shè)定溫度送顯示緩沖鍵盤(pán)值是?顯示溫度不變當(dāng)前溫度與設(shè)定溫度比較初始化溫度參數(shù)采樣當(dāng)前溫度加熱讀鍵盤(pán)致冷低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 ; 鍵盤(pán)讀入口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 ; 延時(shí)子程序 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個(gè)八段管 mov ah, 00100000b ; 從左邊開(kāi)始顯示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 ; 輸出線(xiàn)置為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 ; 沒(méi)有鍵按下, 返回 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五、實(shí)施結(jié)果1操作步驟1).按照電路圖鏈接電路,完成電路鏈接。2).打開(kāi)計(jì)算機(jī)電源,執(zhí)行WAVE集成調(diào)試程序源代碼。3).執(zhí)行程序源代碼,改變電位器,進(jìn)行實(shí)驗(yàn)并記錄實(shí)驗(yàn)結(jié)果。2運(yùn)行結(jié)果調(diào)整電位器,LED顯示溫度范圍在-39到49,分辨率為2。當(dāng)采集的溫度值超過(guò)設(shè)定溫度時(shí),能點(diǎn)亮發(fā)光二極管。小于設(shè)定溫度-2時(shí)顯示綠色;溫度超過(guò)設(shè)定溫度+2,顯示紅色燈;溫度在設(shè)定溫度-/+2以?xún)?nèi)顯示燈熄滅,表示溫度。按鍵盤(pán)向上鍵,LED顯示設(shè)定溫度+1,按向下鍵LED顯示設(shè)定溫度-1。六、改進(jìn)意見(jiàn)及建議這
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版化工危險(xiǎn)品倉(cāng)庫(kù)租賃及消防設(shè)施配備協(xié)議3篇
- 2024校車(chē)司機(jī)服務(wù)滿(mǎn)意度調(diào)查聘用合同3篇
- 專(zhuān)業(yè)墻面刷涂料分包合作合同一
- 二零二五年度不銹鋼欄桿設(shè)計(jì)與安裝服務(wù)協(xié)議3篇
- 二零二五年特色街區(qū)攤位租賃經(jīng)營(yíng)協(xié)議2篇
- 2025賓館客房租賃及酒店旅游咨詢(xún)服務(wù)合同范本3篇
- 二零二五年度智能機(jī)器人OEM研發(fā)與生產(chǎn)合作協(xié)議
- 二零二五版影視作品眾籌投資與分成合同3篇
- 2024版工程設(shè)計(jì)協(xié)議終止協(xié)議范本版B版
- 忻州職業(yè)技術(shù)學(xué)院《生物藥物臨床前評(píng)價(jià)》2023-2024學(xué)年第一學(xué)期期末試卷
- 健康中國(guó)產(chǎn)業(yè)園規(guī)劃方案
- (2024年)二年級(jí)上冊(cè)音樂(lè)
- 2024屆高考英語(yǔ)一輪復(fù)習(xí)讀后續(xù)寫(xiě)脫險(xiǎn)類(lèi)續(xù)寫(xiě)講義
- ISO13485內(nèi)部審核檢查表+內(nèi)審記錄
- 2024年《藥物臨床試驗(yàn)質(zhì)量管理規(guī)范》(GCP)網(wǎng)絡(luò)培訓(xùn)題庫(kù)
- 新華健康體檢報(bào)告查詢(xún)
- 2024版智慧電力解決方案(智能電網(wǎng)解決方案)
- 公司SWOT分析表模板
- 小學(xué)預(yù)防流行性感冒應(yīng)急預(yù)案
- 生物醫(yī)藥大數(shù)據(jù)分析平臺(tái)建設(shè)-第1篇
- 美術(shù)家協(xié)會(huì)會(huì)員申請(qǐng)表
評(píng)論
0/150
提交評(píng)論