第一篇:微機原理課程設(shè)計
合肥工業(yè)大學(xué) 計算機與信息學(xué)院
課程設(shè)計
課
程:微機原理與接口技術(shù)設(shè)計
專業(yè)班級:計算機科學(xué)與技術(shù)班
學(xué)
號:2
姓
名:
一、設(shè)計題目及要求:
利用 8259A中斷,實現(xiàn)對8253多種計數(shù)初值的設(shè)定: 1.在中斷服務(wù)程序中設(shè)定8253的計數(shù)初值。
2.開關(guān)K1用于設(shè)定0.5秒方波的計數(shù)初值,K2用于設(shè)定1秒方波的計數(shù)初值,K3用于設(shè)定2秒方波的計數(shù)初值。
3.用8253的輸出信號,控制一個發(fā)光二極管,以演示修改效果。
二、設(shè)計思想:
整體設(shè)計:
①利用8259A芯片設(shè)定IR1、IR2、IR3三個中斷,分別用三個開關(guān)的高低電平觸發(fā)中斷。
②在三個終端的中斷服務(wù)子程序里面為8253芯片通道0設(shè)定不同頻率的方波計數(shù)初值,使得在觸發(fā)不同中斷時8253芯片產(chǎn)生周期為0.5秒、1,秒、2秒的方波。③將8253的輸出端口與發(fā)光二極管連接,通過二極管的亮滅顯示出8253內(nèi)部方波的頻率。
部分設(shè)計:
①8253芯片方式3初值確定:根據(jù)分頻電路T(n)=T/2*公式以及0.5s、1s、2s方波的頻率計算出初值分別為2580H、4B00H、9600H。
②8253芯片和8259芯片的片選方法:設(shè)定8259A和8253芯片的端口號分別為0FFE0H、0FFE1H,以及0FFFCH—0FFFFH,使得在連接138譯碼器時,A連A2,B連A3,C連A4,T0連接8259A芯片的CS端,T7連接8253芯片的CS端。
③8259A中斷向量表寫入以及芯片初始化:根據(jù)8259A各個中斷在中斷向量表中的地址,將IR0、IR1、IR2的中斷服務(wù)程序入口地址寫入向量表中;ICW4設(shè)定除中斷0、1、2外其他位屏蔽。
④手動設(shè)置中斷結(jié)束:為了不影響各個中斷之間的交替響應(yīng),在每個中斷服務(wù)程序結(jié)束之前寫入中斷結(jié)束方式,將20H輸出到8259端口,將當前中斷結(jié)束響應(yīng)后再響應(yīng)下一個中斷。
三、功能流程圖:
四、結(jié)果討論:
附錄:實驗代碼:(完整的源程序)
CODE
SEGMENT
ASSUME CS:CODE,DS:CODE,ES:CODE
ORG 3400H Port0
EQU 0FFE0H
;8259芯片的端口號 Port1
EQU 0FFE1H START:
CALL F8259 P0:
CLI
MOV AX,OFFSET INT0
MOV BX,0020H
MOV [BX],AX
MOV BX,0022H
MOV AX,0000H
MOV [BX],AX
STI
P1:
CLI
MOV AX,OFFSET INT1
MOV BX,0024H
MOV [BX],AX
MOV BX,0026H
MOV AX,0000H
MOV [BX],AX
;CALL F8259
STI
P2:
CLI
MOV AX,OFFSET INT2
MOV BX,0028H
MOV [BX],AX
MOV BX,002AH
MOV AX,0000H
MOV [BX],AX
;CALL F8259
STI P:
JMP P;-----F8259: MOV AL,1BH
;8259的初始化00011011 icw1
MOV DX,Port0
OUT DX,AL
MOV AL,08H
;00001000 icw2
MOV DX,Port1
OUT DX,AL
MOV AL,01H
;00000001 icw4
OUT DX,AL
MOV AL,00H
;屏蔽只留IR0,IR1,IR2。OCW1
OUT DX,AL
RET;---------------------------INT0:
CLI
CALL FB0
STI
MOV DX,Port0
MOV AL,20H
OUT DX,AL
IRET
INT1:
CLI
CALL FB1
STI
MOV DX,Port0
MOV AL,20H
OUT DX,AL
IRET
INT2:
CLI
CALL FB2
STI
MOV DX,Port0
MOV AL,20H
OUT DX,AL
IRET
FB0:
MOV DX,0FFFFH
MOV AL,00110110B
OUT DX,AL
MOV AL,80H
MOV DX,0FFFCH
OUT DX,AL
MOV AL,25H
OUT DX,AL
RET
FB1:
MOV DX,0FFFFH
MOV AL,00110110B
OUT DX,AL
MOV AL,00H
MOV DX,0FFFCH
OUT DX,AL
MOV AL,4bH
OUT DX,AL
RET
FB2:
MOV DX,0FFFFH
MOV AL,00110110B
OUT DX,AL
MOV AL,00H
MOV DX,0FFFCH
OUT DX,AL
MOV AL,96H
OUT DX,AL
RET
;--------------------------DONE: CODE
ENDS
END START
第二篇:微機原理課程設(shè)計
匯編程序設(shè)計題
題目一 密碼設(shè)置模擬
該程序可以進行密碼的設(shè)置(第一次)和修改(已設(shè)置密碼)。要求輸入的密碼不顯示。題目二 計算器
編輯程序可以實現(xiàn)鍵盤輸入數(shù)據(jù)與運算符,進行“加減乘除”運算。(提示:先輸入數(shù)據(jù)與運算符,保存,再按照運算符選擇對應(yīng)的子程序;輸入的數(shù)據(jù)是用字符表示的,需要轉(zhuǎn)換;要有良好的界面(提示信息))
題目三工作周期判斷程序
輸入年、月、日,能夠判斷當日的星期數(shù),并進行輸出。(以校歷為依照,可設(shè)某日為起點,根據(jù)相差的天數(shù)與7的關(guān)系進行判斷)。
題目四 PC揚聲器發(fā)聲
利用8253驅(qū)動PC機內(nèi)揚聲器發(fā)聲,PC結(jié)構(gòu)參考相關(guān)文獻資料。題目五 樂曲播放
利用PC機內(nèi)8253實現(xiàn)樂曲播放。題目六 按鍵選擇樂曲播放
利用按鍵選擇播放不同樂曲。(★)(自制交互界面實現(xiàn)按鍵選擇★★)題目七 實現(xiàn)閃爍文字效果 編程提示:
提示信息于屏幕中央顯示出來,用光標定位子程序?qū)⒐鈽硕ㄎ挥?0*25顯示方式的第8行第10列,然后輸出一條提示信息,接著調(diào)用屏幕上卷子程序上卷一行,接著再定位光標,然后顯示下一條提示信息,直到所有信息顯示完畢,對于閃爍的信息,同樣是定位光標,然后用BIOS功能調(diào)用13H來顯示閃爍信息,當BL的高位為1時,字符閃爍。mov ah,00h mov al,03h ;設(shè)置顯示方式為80*25,16色文本 int 10h 題目八
數(shù)字秒表
設(shè)計可以顯示1~60秒的無存儲功能的秒表,最小單位為毫秒。題目九
倒計時牌
設(shè)計日期倒計時牌界面,可輸入設(shè)定日期,顯示當前日期的統(tǒng)計天數(shù),如奧運計時牌。題目十
數(shù)字時鐘
編程實現(xiàn)時鐘功能,按秒刷新,要求定位在屏幕右上角。
硬件設(shè)計題
總體要求:根據(jù)題意自行設(shè)計電路,編寫相關(guān)匯編程序。題目一
交通燈控制系統(tǒng)
1.利用8253定時,8259中斷及8255設(shè)計電路,實現(xiàn)十字路口交通燈模擬控制。2.實現(xiàn)能自動控制和手動應(yīng)急控制。
3.實現(xiàn)能隨時可以調(diào)整自動模式的綠燈和紅燈時間。題目二 實現(xiàn)特定功能的鍵盤及LED顯示
了解鍵盤及LED顯示接口原理,設(shè)計實驗電路圖完成以下功能: 1.按1鍵顯示年; 2.按2鍵顯示月日; 3.按3鍵顯示GOOD ;
4.按4鍵數(shù)碼管由左到右字符“0”循環(huán)顯示。5.自行設(shè)計特效顯示功能。題目三
LED七段數(shù)碼管數(shù)字鐘
設(shè)計并完成LED七段數(shù)碼管數(shù)字鐘電路,數(shù)字鐘顯示格式為:HH:MM:SS。要求:具有通過鍵盤能夠調(diào)整時、分、秒的功能。題目四
閃爍燈
利用8253和LED燈相結(jié)合實現(xiàn)閃爍燈效果。題目五
電子鐘
利用8253定時器設(shè)計一個電子鐘,并定義一個啟動鍵。當按下該鍵時電子時鐘從當前設(shè)定值開始走時。
附錄:實驗箱功能模塊電路圖
第三篇:微機原理課程設(shè)計
《微機原理》課程設(shè)計報告
時
間 學(xué) 院 專業(yè)班級 姓 名 學(xué) 號 合 作 者
指導(dǎo)教師
成 績
2013 年 11 月
摘要
本文針對可燃氣體檢測模塊MQ—K1,綜合運用《微機原理》所學(xué)知識,選擇合適的芯片,如微處理器8086、存儲器、可編程并行接口芯片8255、A/D轉(zhuǎn)換芯片ADC0809,LED顯示芯片8279以及其它輔助芯片等,設(shè)計合理的硬件系統(tǒng),實現(xiàn)可燃氣體濃度的測量與檢測結(jié)果的顯示,設(shè)定閾值,超過閾值后報警,并對設(shè)計出的硬件系統(tǒng)運用匯編語言完成全部軟件系統(tǒng)設(shè)計及調(diào)試。
關(guān)鍵詞:可燃氣體傳感器、LED數(shù)碼管顯示、LCD液晶模塊、語音報警
Abstract In this paper, combustible gas detection module MQ-K1, integrated use of “Computer Architecture” the knowledge, choosing the right chip, such as the 8086 microprocessor, memory, programmable parallel interface chip 8255, A / D conversion chip ADC0809, LED display chip 8279 as well as other auxiliary chips, designed hardware system, combustible gas concentration measurement and test results show that the set threshold, exceeds the threshold alarms, and design the hardware system using assembly language software system design and complete all debugging.Keywords: combustible gas sensor, LED digital display, LCD liquid crystal module, voice alarm
目錄
摘要.........................................................................................................................................................1 Abstract............................................................................................................................................................1 1實驗?zāi)康?.....................................................................................................................................................3 2實驗內(nèi)容......................................................................................................................................................3 3實驗設(shè)備......................................................................................................................................................3 4實驗原理......................................................................................................................................................3
4.1系統(tǒng)概述...........................................................................................................................................3 4.2硬件介紹...........................................................................................................................................4 4.3可燃氣體傳感器.............................................................................................................................6 4.4 LCD顯示....................................................................................................錯誤!未定義書簽。4.5語音錄放模塊.................................................................................................................................9 5設(shè)計思路....................................................................................................................................................10 5.1數(shù)碼管顯示....................................................................................................................................10 5.2 LCD顯示.......................................................................................................................................10 5.3語音報警.........................................................................................................................................10 6實驗測試步驟............................................................................................................................................11 7程序流程....................................................................................................................................................12 8實驗程序....................................................................................................................................................15 8.1數(shù)碼管顯示....................................................................................................................................15 8.2 LCD顯示..................................................................................................1錯誤!未定義書簽。8.3數(shù)碼管,LCD顯示,語音報警最終程序.................................................................................19 9實驗現(xiàn)象及說明........................................................................................................................................26 10實驗結(jié)論..................................................................................................................................................28 11承擔的主要任務(wù)......................................................................................................................................28 12結(jié)論及設(shè)計心得與體會.........................................................................................................................28
1、實驗?zāi)康?/p>
掌握可燃氣體傳感器的工作原理和測量電路。通過采集氣體的濃度,經(jīng)過模擬量轉(zhuǎn)換為數(shù)字量,即A/D轉(zhuǎn)換,AD0809采樣輸出電壓值并在數(shù)碼管上顯示,并改進程序,使在液晶屏上顯示可燃氣體傳感器檢測結(jié)果轉(zhuǎn)換的電壓值,并設(shè)定閾值,超過閾值后報警。對所設(shè)計的硬件系統(tǒng)運用匯編語言完成全部軟件系統(tǒng)設(shè)計及調(diào)試。
2、實驗內(nèi)容
用打火機靠近可燃氣體傳感器并噴射少量氣體,AD0809采樣輸出電壓值并顯示。并改進程序,使在液晶屏上顯示可燃氣體傳感器檢測結(jié)果轉(zhuǎn)換的電壓值。設(shè)定閾值,超過閾值后報警。對所設(shè)計的硬件系統(tǒng)運用匯編語言完成全部軟件系統(tǒng)設(shè)計及調(diào)試。
3、實驗設(shè)備
3.1 EL-MUT-III實驗箱 3.2 8086CPU板
3.3 霍爾、氣體傳感器模塊 3.4 交叉串口線 3.5 E-LAB-AUDIO-ISD1700
4、實驗原理
4.1系統(tǒng)概述
1、微處理器:8086
2、時鐘頻率:6MHz
3、存儲器
6264 系統(tǒng)RAM,地址范圍 0~3FFFH,奇地址有效 6264 系統(tǒng)RAM,地址范圍0~3FFFH,偶地址有效 27C64 系統(tǒng)ROM,地址范圍 FFFFF~FC000H,奇地址有效 27C256 系統(tǒng)ROM,地址范圍 FFFFF~FC000H,偶地址有效
4、系統(tǒng)資源分配
本系統(tǒng)采用可編程邏輯器件(CPLD)EPM7128 做地址的編譯碼工作,可通過芯片的JTAG 接口與PC機相連,對芯片進行編程。此單元也分兩部分:一部分為系統(tǒng)CPLD,完成系統(tǒng)器件,如監(jiān)控程序存儲器、用戶程序存儲器、數(shù)據(jù)存儲 器、系統(tǒng)顯示控制器、系統(tǒng)串行通訊控制器等的地址譯碼功能,同時也由部分地址單元經(jīng)譯碼后輸出(插孔CS0—CS5)給用戶使用,其地址固定,用戶不可改變。另一部分為用戶CPLD,它完全對用戶開放,用戶可在一定的地址范圍內(nèi),進行編譯碼,輸出為插孔LCS0—LCS7,注意,用戶的地址不能與系統(tǒng)相沖突,否則將導(dǎo)致錯誤。1)地址分配
CS0 片選信號,地址04A0~04AF 偶地址有效 CS1 片選信號,地址04B0~04BF 偶地址有效 CS2 片選信號,地址04C0~04CF 偶地址有效 CS3 片選信號,地址04D0~04DF 偶地址有效 CS4 片選信號,地址04E0~04EF 偶地址有效 CS5 片選信號,地址04F0~04FF 偶地址有效 CS6 片選信號,地址0000~01FF 偶地址有效 CS7 片選信號,地址0200~03FF 偶地址有效 8250 片選地址:0480~048F,偶地址有效 8279 片選地址:0490~049F,偶地址有效 2)硬件實驗說明
所有實驗程序的起始地址為01100H,CS=0100H,IP=0100H,代碼段、數(shù)據(jù)段、堆棧段在同一個64K的地址空間中。4.2硬件介紹
4.2.1整機介紹
EL-MUT-III 型微機教學(xué)實驗系統(tǒng)由電源、系統(tǒng)板、CPU 板、可擴展的實驗?zāi)0濉⑽C串口通訊線、JTAG通訊線及通用連接線組成。
圖1 系統(tǒng)板結(jié)構(gòu) 4.2.3硬件資源
1.可編程并口接口芯片8255 一片。
2.串行接口兩個:8250 芯片一個,系統(tǒng)與主機通訊用,用戶不可用。單片機的串行口,可供用戶使用。
3.鍵盤、LED 顯示芯片8279 一片,其地址已被系統(tǒng)固定為CFE8H、CFE9H。硬件系統(tǒng)要求編碼掃描顯示。
4.六位LED 數(shù)碼管顯示。
5.ADC0809 A/D 轉(zhuǎn)換芯片一片,其地址、通道1—8 輸入對用戶開放。6.DAC0832 D/A 轉(zhuǎn)換芯片一片,其地址對用戶開放,模擬輸出可調(diào) 7.8 位簡單輸入接口74LS244 一個,8 位簡單輸出接口74LS273 一個,其地址對用戶開放。
8.配有8 個邏輯電平開關(guān),8 個發(fā)光二極管顯示電路。9.配有一個可手動產(chǎn)生正、負脈沖的單脈沖發(fā)生器
10.配有一個可自動產(chǎn)生正、負脈沖的脈沖發(fā)生器,按基頻6.0MHz 進行1 分頻(CLK0)、二分頻(CLK1)、四分頻(CLK2)、八分頻(CLK3)、十六分頻(CLK4)輸出方波。
11.配有一路0—5V 連續(xù)可調(diào)模擬量輸出(AN0)。
12.配有可編程定時器8253 一個,其地址、三個定時器的門控輸入、控制輸出均對用戶開放。
13.配有可編程中斷控制器8259 一個,其中斷IRQ 輸入、控制輸出均對用戶開放。
14.2組總線擴展接口,最多可擴展2 塊應(yīng)用實驗板。
15.配有兩塊可編程器件EPM7064,一塊被系統(tǒng)占用。另一塊供用戶實驗用。兩塊器件皆可通過JTAG接口在線編程。使用十分方便。
16.靈活的電源接口:配有PC 機電源插座,可與PC 電源直接接駁。另還配有外接開關(guān)電源,提供所需的+5V,±12V,其輸入為220V 的交流電。4.3可燃氣體傳感器
MQ—K1可燃氣體傳感器主要用于檢測空氣中CO、CH4、H2等可燃氣體的濃度,其原理為傳感器的內(nèi)部阻抗隨可燃氣體的濃度而變化。MQ—K1的測量范圍為100—10000PPM(PPM為體積比例,表示百萬分之一),工作環(huán)境的溫度:-10℃~45℃,濕度≤95%。其引腳及電學(xué)參數(shù)如下: 可燃氣體傳感器的工作原理見模塊說明,其測量電路如下圖所示:
圖2 可燃氣體傳感器測量電路 腳、5腳用于加熱,1、3腳和4、6腳接測量電路,RL為負載電阻。
表1-可燃氣體傳感器標準工作條件
傳感器在1000ppm的CH4中的阻抗用R0表示,在各種環(huán)境中的動態(tài)阻抗用Rs表示。在潔凈的空氣中Rs/ R0=5,在其它環(huán)境中如下表所示:
表2-在各種環(huán)境中的阻抗用R0與動態(tài)阻抗Rs 的關(guān)系
可燃氣體傳感器電路如下所示:
圖3 可燃氣體傳感器電路
R2(SEN.)用于改變負載電阻的大小,R6(ZERO)用于零位調(diào)節(jié),R12(ALARM)用于設(shè)置報警電壓,VOUT為模擬輸出,DOUT為數(shù)字輸出。
使用前,應(yīng)先對MQ—K1通電預(yù)熱3—5分鐘,以使輸出穩(wěn)定。在潔凈的空氣中,通過采樣VOUT電壓,求出R0;在有可燃氣體的環(huán)境中,通過采樣VOUT電壓,求出Rs;用Rs/R0的比值確定空氣中可燃氣體的濃度。4.4 LCD顯示
點陣式LCD顯示電路是在系統(tǒng)板上外掛電正式液晶顯示模塊,模塊的數(shù)據(jù)線、狀態(tài)、控制線都通過插孔引出??芍苯优c系統(tǒng)相連。4.4.1 OCMJ2×8液晶模塊介紹及使用說明
OCMJ中文模塊系列液晶顯示器內(nèi)含 GB 2312 16*16點陣國標一級簡體漢字和 ASCII8*8(半高)及8*16(全高)點陣英文字庫,用戶輸入?yún)^(qū)位碼或 ASCII 碼即可實現(xiàn)文本顯示。也可用作一般的點陣圖形顯示器之用。提供位點陣和字節(jié)點陣兩種圖形顯示功能,用戶可在指定的屏幕位置上以點為單位或以字節(jié)為單位
進行圖形顯示。完全兼容一般的點陣模塊。OCMJ中文模塊系列液晶顯示器可以實現(xiàn)漢字、ASCII 碼、點陣圖形和變化曲線的同屏顯示,并可通過字節(jié)點陣圖形方式造字。本系列模塊具有上/下/左/右移動當前顯示屏幕及清除屏幕的命令。OCMJ 中文模塊所有的設(shè)置初始化工作都是在上電時自動完成的,實現(xiàn)了“即插即用”。同時保留了一條專用的復(fù)位線供用戶選擇使用,可對工作中的模塊進行軟件或硬件強制復(fù)位。規(guī)劃整齊的10個用戶接口命令代碼,非常容易記憶。標準用戶硬件接口采用REQ/BUSY 握手協(xié)議,簡單可靠。4.4.2硬件接口 接口協(xié)議為請求/應(yīng)答(REQ/BUSY)握手方式。應(yīng)答B(yǎng)USY 高電平(BUSY =1)表示 OCMJ 忙于內(nèi)部處理,不能接收用戶命令;BUSY 低電平(BUSY =0)表示 OCMJ 空閑,等待接收用戶命令。發(fā)送命令到 OCMJ 可在BUSY =0 后的任意時刻開始,先把用戶命令的當前字節(jié)放到數(shù)據(jù)線上,接著發(fā)高電平REQ 信號(REQ =1)通知OCMJ請求處理當前數(shù)據(jù)線上的命令或數(shù)據(jù)。OCMJ模塊在收到外部的REQ高電平信號后立即讀取數(shù)據(jù)線上的命令或數(shù)據(jù),同時將應(yīng)答線BUSY變?yōu)楦唠娖剑砻髂K已收到數(shù)據(jù)并正在忙于對此數(shù)據(jù)的內(nèi)部處理,此時,用戶對模塊的寫操作已經(jīng)完成,用戶可以撤消數(shù)據(jù)線上的信號并可作模塊顯示以外的其它工作,也可不斷地查詢應(yīng)答線BUSY是否為低(BUSY =0?),如果BUSY =0,表明模塊對用戶的寫操作已經(jīng)執(zhí)行完畢??梢栽偎拖乱粋€數(shù)據(jù)。如向模塊發(fā)出一個完整的顯示漢字的命令,包括坐標及漢字代碼在內(nèi)共需5個字節(jié),模塊在接收到最后一個字節(jié)后才開始執(zhí)行整個命令的內(nèi)部操作,因此,最后一個字節(jié)的應(yīng)答B(yǎng)USY 高電平(BUSY =1)持續(xù)時間較長,具體的時序圖和時間參數(shù)說明查閱相關(guān)手冊。
4.2.3用戶命令
用戶通過用戶命令調(diào)用OCMJ系列液晶顯示器的各種功能。命令分為操作碼及操作數(shù)兩部分,操作數(shù)為十六進制。共分為3類10條,分別是:
一)、字符顯示命令:
1、顯示國標漢字;
2、顯示8X8 ASCII字符;
3、顯示8X16ASCII字符;
二)、圖形顯示命令:
4、顯示位點陣;
5、顯示字節(jié)點陣;
三)、屏幕控制命令:
6、清屏;
7、上移;
8、下移;
9、左移;
10、右移;(1)顯示國標漢字
命令格式: F0 XX YY QQ WW。該命令為5字節(jié)命令(最大執(zhí)行時間為1.2毫秒,Ts2=1.2mS),其中 XX為以漢字為單位的屏幕行坐標值,取值范圍00到07、02到09、00到09。YY為以漢字為單位的屏幕列坐標值,取值范圍00到01、00到03、00到04。QQ WW為坐標位置上要顯示的GB 2312 漢字區(qū)位碼。
(2)顯示8X8 ASCII字符
命令格式:F1 XX YY AS。該命令為4字節(jié)命令(最大執(zhí)行時間為0.8毫秒,Ts2=0.8mS),其中 XX為以ASCII碼為單位的屏幕行坐標值,取值范圍00到0F、04到13、00到13。YY為以ASCII碼為單位的屏幕列坐標值,取值范圍00到1F、00到3F、00到4F。AS坐標位置上要顯示的ASCII 字符碼。(3)顯示8X16 ASCII字符
命令格式:F9 XX YY AS。該命令為4字節(jié)命令(最大執(zhí)行時間為1.0毫秒,Ts2=1.0mS),其中 XX為以ASCII碼為單位的屏幕行坐標值,取值范圍00到0F、04到13、00到13。YY為以ASCII碼為單位的屏幕列坐標值,取值范圍00到1F、00到3F、00到4F。AS坐標位置上要顯示的ASCII 字符碼。
(4)清屏
命令格式:F4。該命令為單字節(jié)命令(最大執(zhí)行時間為11毫秒,Ts2=11mS),其功能為將屏幕清空。4.5語音錄放模塊
語音錄放模塊由單片語音錄放芯片ISD2560 及其外圍電路組成。4.5.1 SD2560 芯片介紹
ISD2560 是美國ISD 公司推出的ISD2500 系列語音芯片的一種。ISD2500 系列芯片按錄放時間60 秒、75 秒、90 秒和120 秒分成ISD2560、2575、2590 和25120 四個品種。ISD2560 芯片具有抗斷電、音質(zhì)好,使用方便等優(yōu)點,它使用單一的+5V 供電,錄音部分有自動增益控制電路,錄音的采樣頻率可達8KHz。ISD2560 片內(nèi)有容量為480K 字節(jié)的E2PROM,所以錄放時間長,可重復(fù)錄制100000 次且可保持100 年不變。此外ISD2560 芯片支持分段錄音和分段播放,有10 個地址輸入端,尋址能力可達1024 位,最多能分600 段。芯片設(shè)有OVF(溢出)端,便于多個器件級聯(lián)。4.5.2 模塊電路原理圖
本電路中ISD2560采用按鈕控制操作方式,A9、A8、A6接VCC,A1—A5、A7均接GND,A0由CA0插孔引出,用于控制是否進入檢索模式。ISD2560的音頻輸出端SP+、SP-經(jīng)過音頻功放LM386驅(qū)動喇叭。電位器R8(對應(yīng)于模塊上VOLUME電位器)用于調(diào)節(jié)喇叭的增益。4.5.3 模塊的基本測試方法
1、模塊上P/-R、PD、CA0插孔分別接至實驗箱的K1、K2、K3,EOM接實驗箱指示燈L1,CE接單脈沖P-。
2、將K1、K3撥至低電平,K2先高后低。按一下單脈沖P-,L1應(yīng)熄滅。此時對這麥克風說一段話,然后再按P-,此時L1應(yīng)被點亮,錄音完成。
3、將K1 撥至高電平,K3 撥至低電平,K2 先高后低。按一下單脈沖P-,L1 應(yīng)熄滅,此時可以聽到剛才錄的語音片斷。播放完成后,L1 應(yīng)被點亮。
圖4 語音模塊電路
5、設(shè)計思路
5.1數(shù)碼管顯示
通過可燃氣體傳感器,在有可燃氣體的環(huán)境中,通過采樣VOUT電壓,將測試結(jié)果通過AD0809采樣輸出電壓,A D轉(zhuǎn)換,并通過8279顯示電路使數(shù)碼管顯示相應(yīng)的轉(zhuǎn)換結(jié)果。5.2 LCD顯示
通過可燃氣體傳感器,在有可燃氣體的環(huán)境中,通過采樣VOUT電壓,將測試結(jié)果通過AD0809采樣輸出電壓,A D轉(zhuǎn)換,并通過LCD液晶屏顯示相應(yīng)的轉(zhuǎn)換結(jié)果。5.3 語音報警
通過調(diào)節(jié)相應(yīng)的滑阻設(shè)置閾值,當電路正常運行時,在可燃氣體模塊電路的Dout輸出端就會有相應(yīng)的開關(guān)量的輸出。語音模塊提前錄好音,當可燃氣體濃度超過閾值時,利用Dout輸出量控制語音模塊輸出,即可實現(xiàn)語音報警。
6、實驗測試步驟
6.1 數(shù)碼管顯示
1、實驗連線:VOUT接A/D模塊的ADIN0,CS0809選擇CS3。
2、調(diào)節(jié)ZERO電位器,將VZERO調(diào)為0。將SEN.電位器調(diào)到最小,即VOUT輸出最小。調(diào)節(jié)ALARM電位器,將VALARM調(diào)到2V。
3、運行實驗程序,用打火機靠近可燃氣體傳感器并噴射少量氣體,觀察數(shù)碼管顯示的變化。6.2 LCD顯示 1、8255 的PA0~PA7接A/D PORT單元的DB0~DB7;2、8255 的PC7接A/D PORT單元的BUSY;3、8255 的PC0接A/D PORT單元的REQ;4、8255CS接CS0;
5、運行實驗程序,觀察液晶的顯示狀態(tài)。6.3 語音報警
1、實驗箱上CS244 接到片選CS2。
2、實驗箱上CS273 接到片選CS1。
3、實驗箱上244 的輸入IN0—IN1 接到實驗箱上撥碼開關(guān)的輸出k7 和k8。
4、實驗箱上273 的輸出O0—O1 到ISD1700 語音模塊上的REC 和PLAY。
7、程序流程
7.1數(shù)碼管顯示
7.2 LCD顯示
圖5 數(shù)碼管顯示程序流程圖
圖6 LCD液晶屏顯示程序流程圖
7.3最終程序流程圖
開始LCD初始化BUSY為0?Y數(shù)據(jù)輸出“檢測結(jié)果”REQ置位NNBUSY為1?YREQ復(fù)位N數(shù)據(jù)讀完?Y開始AD轉(zhuǎn)換延時讀入轉(zhuǎn)換數(shù)據(jù)讀入開關(guān)量開關(guān)量取反輸出至語音模塊所讀數(shù)據(jù)低八位賦給BX將BX中數(shù)據(jù)取高四位數(shù)碼管顯示將BX中數(shù)據(jù)取高四位LCD顯示將BX中數(shù)據(jù)取低四位數(shù)碼管顯示將BX中數(shù)據(jù)取低四位LCD顯示延時
8、實驗程序 8.1數(shù)碼管顯示
CON8279 EQU
0492H
;賦值偽指令給8279控制口地址賦予一個名字
DAT8279 EQU
0490H
;賦值偽指令給8279數(shù)據(jù)口地址賦予一個名字 CS0809 EQU
04D0H ;賦值偽指令給AD0809通道0控制口地址賦予一個名字
ASSUME CS:CODE
;將CS設(shè)置為存放CODE的段地址 CODE SEGMENT
PUBLIC
;PUBLIC,組合類型,邏輯段有相同的段名,集中為一個邏輯段裝入內(nèi)存
ORG
100H
;利用ORG偽指令使程序的起始地址為01100H,CS=0100H,IP=0100H
START: JMP
START1
;JMP無條件轉(zhuǎn)移指令 START1: MOV DX,CS0809
;將CS0809放入DX寄存器中
MOV AX,34H
;任意給一個控制字,啟動AD轉(zhuǎn)換
OUT
DX,AX
;AD0809開始轉(zhuǎn)換
WAIT:
MOV CX,0010H
;延時,等待AD轉(zhuǎn)換結(jié)束 WAIT1: NOP
NOP
LOOP WAIT1
;CX不為0時轉(zhuǎn)移
MOV
DX,CS0809
IN
AX,DX
;讀入AD轉(zhuǎn)換結(jié)果到CS0809
AND
AX,0FFH
;保留AX寄存器數(shù)據(jù)的低八位,高八位清零
MOV
BX,AX
;將AX寄存器數(shù)據(jù)傳送到BX寄存器
NOP
;空操作
DISP:
MOV
DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入變址寄存器DI
MOV
AX,08H
;8279控制字,左端入口,16個字符顯示
MOV
DX,CON8279
OUT
DX, AX
;輸出8279控制字到CON8279
MOV
AX, 90H ;8279控制字,寫顯示RAM 0000B內(nèi)容,地址自加1
MOV
DX, CON8279
OUT
DX, AX
;輸出8279控制字到CON8279
MOV
PUSH
AND
MOV
SHR
ADD 據(jù)相加
MOV AL寄存器
MOV
OUT
NOP
NOP
MOV 器DI
POP
AND
ADD 數(shù)據(jù)相加
MOV 到AL寄存器
MOV
OUT DX, DAT8279 ;將DAT8279放入DX BX
;將BX寄存器的數(shù)據(jù)壓入堆棧,保護現(xiàn)場 BX,0F0H
;取BX寄存器數(shù)據(jù)的高四位
CL,4
;CL寄存器存放移位次數(shù) BX,CL
;邏輯右移4位
DI,BX
;將DI中SEGCOD的偏移地址值與BX中數(shù) AL,CS:[DI]
;將段地址為CS,偏移地址為DI的數(shù)據(jù)送到 AH,0
;AX寄存器的高八位置零
DX,AX
;將AX寄存器的數(shù)據(jù)輸出到DAT8279端口
DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入變址寄存
BX
;出棧,恢復(fù)現(xiàn)場
BX,0FH
;取BX寄存器數(shù)據(jù)的低4位
DI,BX
;將DI中SEGCOD的偏移地址值與BX中
AL,CS:[DI]
;將段地址為CS,偏移地址為DI的數(shù)據(jù)送
AH,0
;將AH寄存器置零
DX,AX
;將AX寄存器的數(shù)據(jù)輸出到DAT8279端口
DELAY: MOV
CX, 2A00H
;延時
DELAY1: NOP
NOP
LOOP
DELAY1
;循環(huán)2A00H次
JMP
START1
;返回重新采集和轉(zhuǎn)換數(shù)據(jù)并顯示
SEGCOD DB
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
;空指令
;七段共陰數(shù)碼管顯示編碼,分別對應(yīng)著0123456789ABCDEF CODE ENDS
;代碼段結(jié)束 END
START
;源程序結(jié)束
8.2 LCD顯示
;=;液晶顯示
;CS0接CS8255,DB0-DB7接PA0-PA7,BUSY接PC7,REQ接PC0
;CS0片選信號,地址04A0-04AF,偶地址有效
ASSUME
CS:CODE
;將CS設(shè)置為存放CODE的段地址 CODE SEGMENT
PUBLIC
;PUBLIC,組合類型,邏輯段有相同的段名,集中成為一個邏輯段裝入內(nèi)存
ORG
100H
;ORG設(shè)置指令存儲起始地址;= START: MOV DX, 04A6H
;將控制端口地址放入DX
MOV AX, 88H
;88H為工作方式選擇控制字,A口方式0輸出,PC7~PC4輸入,B口方式0輸出,PC3~PC0輸出
OUT
DX, AX
MOV AX, 70H
OUT
DX, AX
;向控制端口發(fā)送工作方式選擇控制字
;70H為C口按位置位/復(fù)位控制字,PC0復(fù)位 ;向控制端口發(fā)送C口按位置位/復(fù)位控制字
MOV AL, 0F4H
;LCD顯示清屏
CALL COMD
;過程調(diào)用指令,調(diào)用過程COMD CALL DELAY
;過程調(diào)用指令,調(diào)用過程DELAY START1: MOV SI,OFFSET[TABLE] ;將TABLE的偏移地址送到SI寄存器
MOV CX, 4
;循環(huán)次數(shù)設(shè)定
WR1:
MOV DX, 04A4H
;WR1檢查BUSY信號是否為零,將C數(shù)據(jù)端口地址放入DX
IN
AX, DX
;讀入數(shù)據(jù)
AND
AX, 80H
;保留PC7的輸出數(shù)據(jù),即busy
JNZ
WR1
;ZF零標志位,ZF非零轉(zhuǎn)移到WR1
MOV
AL, [SI]
;將地址在SI寄存器的數(shù)據(jù)送到AL
CALL
COMD
;調(diào)用過程COMD
INC
SI
;將TABLE的偏移地址緩沖區(qū)指針加1
LOOP
WR1
;CX寄存器的內(nèi)容不為零,則循環(huán)WR1
CALL
DELAY
;調(diào)用過程DELAY OK:
JMP
START1
;無條件轉(zhuǎn)移到START1;= DELAY: MOV
CX,1000H
;將1000H送入CX寄存器 DLYB: LOOP
DLYB
RET
;過程返回指令,回到原來調(diào)用過程的地方;= COMD: MOV
DX, 04A0H
;將A數(shù)據(jù)端口地址放入DX
OUT
DX, AL
;將相應(yīng)數(shù)據(jù)輸出
;將控制端口地址放入DX
MOV
DX, 04A6H
MOV
AX, 71H
;71H為C口按位置位/復(fù)位控制字,PC0置位
OUT
DX, AX
MON:
MOV
DX, 04A4H
;MON檢查BUSY信號是否為零,將C數(shù)據(jù)端口地址放入DX
IN
AX, DX
;讀入數(shù)據(jù)
;向控制端口發(fā)送C口按位置位/復(fù)位控制字
AND
AX, 80H
;保留PC7的輸出數(shù)據(jù),即busy
JZ
MON
;ZF零標志位,ZF非零轉(zhuǎn)移到MON
MOV
DX, 04A6H
;將控制端口地址放入DX
MOV
AX, 70H
;70H為C口按位置位/復(fù)位控制字,PC0復(fù)位
OUT
DX ,AX
;向控制端口發(fā)送C口按位置位/復(fù)位控制字
RET
;過程返回指令,回到原來調(diào)用過程的地方;= TABLE: DB
0F9H,00D,00D,31H
;在此處輸入要顯示漢字的命令代碼 CODE ENDS
;代碼段結(jié)束 END
START
8.3 數(shù)碼管,LCD顯示,語音報警最終程序
CON8279 EQU
0492H
;賦值偽指令給8279控制口地址賦予一個名字 DAT8279 EQU
0490H
;賦值偽指令給8279數(shù)據(jù)口地址賦予一個名字 CS0809
EQU
04D0H
;賦值偽指令給AD0809通道0控制口地址賦予一個名字
ASSUME
CS:CODE
;將CS設(shè)置為存放CODE的段地址
CODE SEGMENT PUBLIC ;PUBLIC,組合類型,邏輯段有相同的段名,集中為一個邏輯段裝入內(nèi)存
ORG
100H ;利用ORG偽指令使程序的起始地址為01100H,CS=0100H,IP=0100H START: MOV DX, 04A6H
;將控制端口地址放入DX
MOV AX, 88H
;88H為工作方式選擇控制字,A口方式0輸
;源程序結(jié)束
出,PC7~PC4輸入,B口方式0輸出,PC3~PC0輸出
OUT
DX, AX
;向控制端口發(fā)送工作方式選擇控制字
MOV AX, 70H
;70H為C口按位置位/復(fù)位控制字,PC0復(fù)位
OUT
DX, AX
;向控制端口發(fā)送C口按位置位/復(fù)位控制字 MOV AL, 0F4H
;LCD顯示清屏
CALL COMD
;過程調(diào)用指令,調(diào)用過程COMD
CALL DELAY
;過程調(diào)用指令,調(diào)用過程DELAY
MOV
CX, 25
;循環(huán)次數(shù)設(shè)定
MOV
SI,OFFSET JCJG ;將JCJG的偏移地址送到SI寄存器
JCJG1: MOV
DX, 04A4H
;JCJG1檢查BUSY信號是否為零,將C數(shù)據(jù)端口地址放入DX IN
AX, DX
;讀入數(shù)據(jù)
AND
AX, 80H
;保留PC7的輸出數(shù)據(jù),即busy信號
JNZ
JCJG1
MOV
AL, [SI]
CALL
COMD
INC
SI
LOOP
JCJG1
CALL
DELAY
JMP
START1
START1: MOV
DX, CS0809 MOV
AX, 34H
OUT
DX, AX
WAIT:
MOV
CX, 0010H
WAIT1: NOP
NOP
LOOP
WAIT1
MOV
DX, CS0809
IN
AX, DX
AND
AX, 0FFH
MOV
BX, AX
NOP
;ZF零標志位,ZF非零轉(zhuǎn)移到JCJG1
;將地址在SI寄存器的數(shù)據(jù)送到AL ;調(diào)用過程COMD
;將JCJG的偏移地址緩沖區(qū)指針加1
;CX寄存器的內(nèi)容不為零,則循環(huán)JCJG1 ;調(diào)用過程DELAY
;無條件轉(zhuǎn)移到START1
;將CS0809放入DX寄存器中
;任意給一個控制字
;AD0809開始轉(zhuǎn)換
;延時,等待AD轉(zhuǎn)換結(jié)束
;CX不為0時轉(zhuǎn)移
;讀入AD轉(zhuǎn)換結(jié)果到CS0809
保留AX寄存器數(shù)據(jù)的低八位,高八位清零
;將AX寄存器數(shù)據(jù)傳送到BX寄存器
;空操作
; yy:
MOV
DX,04C0H
;74LS244地址
IN
AL,DX
;讀輸入開關(guān)量
NOT
AL
;將AL內(nèi)容取反
MOV
DX,04B0H
;74LS273地址
OUT
DX,AL
;輸出值語音模塊
DISP:
MOV
DI, OFFSET SEGCOD;取SEGCOD的偏移地址放入變址寄存器DI
MOV
MOV
OUT
MOV
地址自加1
MOV
OUT
MOV
PUSH 場
AND
MOV
SHR
ADD
中數(shù)據(jù)相加
MOV
據(jù)送到AL寄存器
AX, 08H
;8279控制字,左端入口,16個字符顯示 DX, CON8279
DX, AX
; 輸出8279控制字到CON8279 AX, 90H
;8279控制字,寫顯示RAM 0000B內(nèi)容,DX, CON8279
DX, AX
;輸出8279控制字到CON8279 DX, DAT8279 ;將DAT8279放入DX BX
;將BX寄存器的數(shù)據(jù)壓入堆棧,保護現(xiàn) BX,0F0H
;取BX寄存器數(shù)據(jù)的高四位 CL,4
;CL寄存器存放移位次數(shù)
BX,CL
;邏輯右移4位
DI,BX
;將DI中SEGCOD的偏移地址值與BXAL,CS:[DI]
;將段地址為CS,偏移地址為DI的數(shù)
MOV
AH,0
;AX寄存器的高八位置零
OUT
DX,AX
;將AX寄存器的數(shù)據(jù)輸出到DAT8279端口
NOP
NOP WR1:
MOV
DX, 04A4H
;WR1檢查BUSY信號是否為零,將C數(shù)據(jù)端口地址放入DX
IN
AX, DX
;讀入數(shù)據(jù)
AND
AX, 80H
;保留PC7的輸出數(shù)據(jù),即busy
JNZ
WR1
;ZF零標志位,ZF非零轉(zhuǎn)移到WR1 MOV
AL, 0F9H
;顯示8X16ASCII字符命令
CALL
COMD
;調(diào)用過程COMD
;輸入列信息
MOV
AL, 0AH
CALL
COMD
;調(diào)用過程COMD
MOV
AL, 00H
;輸入行信息
MOV
SI,OFFSET SEGCOD2 ;取SEGCOD2的偏移地址放
CALL
COMD
;調(diào)用過程COMD 入變址寄存器SI
ADD
SI, BX
;將SI中SEGCOD2的偏移地址值與BX中數(shù)據(jù)相加
MOV
AL, [SI]
;將地址在SI寄存器的數(shù)據(jù)送到AL
CALL
COMD
;調(diào)用過程COMD
MOV
DX, DAT8279 ;將DAT8279放入DX寄存器中
MOV
DI,OFFSET SEGCOD;取SEGCOD的偏移地址放入變址寄存器DI
POP
BX
;出棧,恢復(fù)現(xiàn)場
AND
BX,0FH
;取BX寄存器數(shù)據(jù)的低4位
ADD
DI,BX
;將DI中SEGCOD的偏移地址值與BX中數(shù)據(jù)相加
MOV
AL,CS:[DI]
;將段地址為CS,偏移地址為DI的數(shù)據(jù)送到AL寄存器
MOV
AH,0
;將AH寄存器置零
OUT
DX,AX
;將AX寄存器的數(shù)據(jù)輸出到DAT8279端口
WR2:
MOV
DX, 04A4H
;WR2檢查BUSY信號是否為零,將C數(shù)據(jù)端口地址放入DX
IN
AX, DX
;讀入數(shù)據(jù)
AND
AX, 80H
;保留PC7的輸出數(shù)據(jù),即busy
JNZ
WR2
;ZF零標志位,ZF非零轉(zhuǎn)移到WR2
MOV
AL, 0F9H ;顯示8X16ASCII字符命令
CALL
COMD
;調(diào)用過程COMD
MOV
AL, 0BH
;輸入列信息
CALL
COMD
;調(diào)用過程COMD
MOV
AL, 00H
;輸入行信息
CALL
COMD
;調(diào)用過程COMD
MOV
SI,OFFSET SEGCOD2;將SEGCOD2的偏移地址送到SI寄存器
ADD
SI, BX
;將SI中SEGCOD的偏移地址值與BX中數(shù)據(jù)相加
器
CALL
COMD
;調(diào)用過程COMD CALL
DELAY
;調(diào)用過程DELAY
DELAY0:
MOV
CX, 2A00H
;延時 DELAY1:
NOP;空指令
NOP
LOOP
DELAY1
;循環(huán)2A00H次
OK:
JMP
START1
;返回重新采集和轉(zhuǎn)換數(shù)據(jù)并顯示;= DELAY:
MOV
CX,1000H
;將1000H送入CX寄存器 DLYB:
LOOP
DLYB
RET
;過程返回指令,回到原來調(diào)用過程的地方
;= COMD:
MOV
DX, 04A0H ;將A數(shù)據(jù)端口地址放入DX
OUT
DX, AL
;將相應(yīng)數(shù)據(jù)輸出
MOV
AL, [SI]
;將偏移地址為SI的數(shù)據(jù)送到AL寄存
MOV
DX, 04A6H
;將控制端口地址放入DX
MOV
AX, 71H
;71H為C口按位置位/復(fù)位控制字,PC0置位
OUT
DX, AX 制字
;向控制端口發(fā)送C口按位置位/復(fù)位控
MON:
MOV
DX, 04A4H
;MON檢查BUSY信號是否為零,將C數(shù)據(jù)端口地址放入DX
IN
AX, DX
;讀入數(shù)據(jù)
AND
AX, 80H
;保留PC7的輸出數(shù)據(jù),即busy
JZ
MON
;ZF零標志位,ZF非零轉(zhuǎn)移到MON
MOV
DX, 04A6H
;將控制端口地址放入DX
MOV
AX, 70H
;70H為C口按位置位/復(fù)位控制字,PC0復(fù) 位
OUT
DX ,AX
;向控制端口發(fā)送C口按位置位/復(fù)位控制字
RET
;過程返回指令,回到原來調(diào)用過程的地方
;= SEGCOD
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;七段共陰數(shù)碼管顯示編碼,分別對應(yīng)著0123456789ABCDEF
SEGCOD2 DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H ;0123456789ABCDEF的ASCII碼 JCJG
DB 0F0H,00D,00D,28D,76D,0F0H,01H,00H,18D,66D,0F0H,02H,00H,29D,65D,0F0H,03H,00H,25D,91D,0F9H,08H,00H,3AH;顯示“檢測結(jié)果:”
CODE ENDS
;代碼段結(jié)束 END
START
;源程序結(jié)束
9實驗現(xiàn)象及說明 9.1 運行數(shù)碼管顯示程序
實驗現(xiàn)象:
將打火機靠近氣體傳感器,數(shù)碼管會顯示相應(yīng)AD轉(zhuǎn)換結(jié)果
當氣體濃度超過閾值時,LED燈會亮。
9.2 運行LCD顯示程序 實驗現(xiàn)象:
將打火機靠近氣體傳感器,液晶屏?xí)@示相應(yīng)AD轉(zhuǎn)換結(jié)果
9.3 運行數(shù)碼管,LCD顯示,語音報警程序
實驗現(xiàn)象:
將打火機靠近氣體傳感器,數(shù)碼管,LCD會顯示相應(yīng)AD轉(zhuǎn)換結(jié)果,當氣體濃度超過閾值時,LED燈會亮,語音報警模塊會報警。10實驗結(jié)論
在完成對已有程序的解讀,通過可燃氣體傳感器檢測氣體濃度,并在數(shù)碼管上顯示氣體濃度轉(zhuǎn)換為的電壓值后,我們改進了程序,使其在LCD液晶屏上顯示氣體濃度轉(zhuǎn)換為的電壓值,最后進一步改進,使氣體濃度轉(zhuǎn)換為的電壓值可以同時在數(shù)碼管和LCD液晶屏上顯示,最后我們加入了語音報警模塊,當檢測值超過閾值后,會有相應(yīng)的報警。
11承擔的主要任務(wù)
在氣體傳感器模塊微機原理課程設(shè)計中,我主要進行小組內(nèi)成員的分工,課程設(shè)計進度的調(diào)整。以及對氣體檢測模塊相關(guān)程序的解讀,對已有程序的修改和程序的調(diào)試。
12結(jié)論及設(shè)計心得與體會
通過對氣體傳感器模塊的相應(yīng)功能的實現(xiàn),我更深入的了解了微機原理課程的相關(guān)知識。通過親身實踐,對匯編語言有了更深入的理解。鞏固了上學(xué)期學(xué)習(xí)的微機原理基本知識,當然還認識到自己還有很多不足,比如對匯編語言的理解還比較淺顯,有些細節(jié)還沒有引起自己足夠的重視等。我還認識到在進行設(shè)計實驗時,程序的流程圖是十分重要的,在對整個程序的理解方面起著十分關(guān)鍵的作用。在分析程序時,先按照功能將程序分為幾個部分,再對每個部分分別在細節(jié)上分析是十分有效的方法。
總之,經(jīng)過微機原理課程設(shè)計,我對匯編語言程序與相應(yīng)硬件外設(shè)結(jié)合實現(xiàn)相應(yīng)的功能這整個過程有了一定的了解,對于匯編語言知識的有了更深入的了解。
第四篇:微機原理課程設(shè)計
接口技術(shù)課程設(shè)計
一、設(shè)計內(nèi)容
設(shè)計一個投票統(tǒng)計器,完成投票、計票統(tǒng)計和票數(shù)顯示等功能。
二、設(shè)計原理及方案
在8086最小工作模式下,連接一塊8255A芯片。在 8255A的C端口連接8個開關(guān),開關(guān)按下表示支持,燈亮,開關(guān)不按便是反對,燈不亮,從8255A的C端口輸入投票結(jié)果,經(jīng)8086運算統(tǒng)計出結(jié)果;在 8255A的A端口連接一塊7段LED數(shù)碼管,將輸出結(jié)果通過數(shù)碼管顯示出來。電路圖:
接口技術(shù)課程設(shè)計
程序代碼: A_PROT B_PROT C_PROT CT_PROT DATA DATA CODE
MOV DX,C_PROT IN AL,DX EQU EQU EQU EQU 200H 202H 204H 206H
;可通過計算獲得,連接的是IO1 SEGMENT ENDS SEGMENT MOV AX,DATA MOV DX,AX MOV AL,10001001B MOV DX,CT_PROT OUT DX,AL
;控制字寫入
;A端口輸出,C端口輸入 TAB1 DB 7FH,07H,7DH,6DH,66H,4FH,5BH,06H,3FH ASSUME CS:CODE,DS:DATA
START: MOV DX,C_PROT MOV AL,0 OUT DX,AL
;C端口清零
AGAIN: TJ: XOR AH,AH
MOV CX,8 LOOP1: SAL AL,1
ADC AH,0
LOOP LOOP1
MOV AL,AH
PUSH BX
LEA BX,TAB1
XLAT
MOV DX,A_PROT
OUT DX,AL
PUSH CX
MOV CX,2801 WAIT1: LOOP WAIT1
POP CX
JMP AGAIN
MOV AH,4CH INT 21H CODE ENDS END START
接口技術(shù)課程設(shè)計
;統(tǒng)計1個數(shù)
;進位加CF,以統(tǒng)計出C端口中1的個數(shù)
;延時10ms
接口技術(shù)課程設(shè)計
三、運行結(jié)果
程序結(jié)果圖:
接口技術(shù)課程設(shè)計
四、設(shè)計總結(jié)與體會
為期一周的微機原理課程實踐終于結(jié)束了,回過頭來,感慨萬千。過了一個多月,書本上的好些知識已然忘卻,剛開始拿到課題時,看到一大堆傳說中的神器,霎時凌亂了,選來選去,從僅剩的課題中挑了“投票統(tǒng)計器”,上網(wǎng)搜索了一下,大體上把設(shè)計的方向搞清了,接下來,便是開始設(shè)計了。
畫模擬圖對于我們來說,還是比較困難的,特別是8086那一塊兒,大家參考網(wǎng)上的資料,反復(fù)討論,著實花了不少時間。接下來的畫圖連線就比較簡單了,為了節(jié)省時間,在做模擬圖的同時,其他兩個人便開始編寫程序了。將設(shè)計流程圖簡略寫下來,對照流程圖,分塊兒編寫程序,顯得很有條理,簡單輕松些。
就這樣,三次課之后,設(shè)計的圖和程序都好了,只剩下調(diào)試程序,查看模擬結(jié)果了。這是檢錯和糾錯的過程,輕松但也不輕松,因為那么多東西,如果看不仔細了,你就找不到錯誤,也就沒法兒解決問題了,費事費力還一無所獲,這是最傷腦筋的事情。還好,運氣不錯,只是程序出現(xiàn)了小小的問題,改好之后,得到了很滿意的結(jié)果。
最后的驗收,是對書本與實踐知識的融匯總結(jié),本以為毫無問題的我們,沒想到被程序中的一個問題給秒殺了,大家四處找資料,和別的組的同學(xué)討論,反復(fù)演算了半天,終于會了。當然,就算是會了,我們也只是懂得了微機原理中的一點皮毛而已,學(xué)的扎實很重要,因為這樣才能把理論知識運用到實踐中去,不斷地提高自己。
五、參考文獻 1.周明德.微型計算機系統(tǒng)原理及應(yīng)用.北京:清華大學(xué)出版社
2.張彌左,王兆月,邢立軍等.微型計算機接口技術(shù).北京:機械工業(yè)出版社 3.戴梅萼,史嘉權(quán).微型計算機技術(shù)及應(yīng)用.北京:清華大學(xué)出版社 4.沈美明,溫冬嬋.IBM-PC匯編語言程序設(shè)計.北京:清華大學(xué)出版社
第五篇:微機原理課程設(shè)計
電子信息科學(xué)與技術(shù)《微機原理》課程設(shè)計
一、本次課程設(shè)計的目的和意義
學(xué)習(xí)和掌握計算機中常用接口電路的應(yīng)用和設(shè)計技術(shù),充分認識理論知識對應(yīng)用技術(shù)的指導(dǎo)性作用,進一步加強理論知識與應(yīng)用相結(jié)合的實踐和鍛煉。通過這次設(shè)計實踐能夠進一步加深對專業(yè)知識和理論知識學(xué)習(xí)的認識和理解,使自己的設(shè)計水平和對所學(xué)的知識的應(yīng)用能力以及分析問題解決問題的能力得到全面提高。
二、設(shè)計時間、基本要求
(一)、設(shè)計時間:二周(二)、基本要求:
a.每題2人;b.設(shè)計出完整的接口電路;c.編寫出全部程序;d.在實驗系統(tǒng)上調(diào)試通過。
三、設(shè)計選題與要求
選題一:多路模擬數(shù)據(jù)采集系統(tǒng)設(shè)計
要求:設(shè)計一個2路以上的模擬數(shù)據(jù)采集系統(tǒng)。
1、用按鍵選擇那一路;
2、用LED顯示轉(zhuǎn)換結(jié)果(十進制數(shù));
3、將每一路采集的100個數(shù)據(jù)存放到各自的存儲區(qū)中。
選題二:溫度測控系統(tǒng)的設(shè)計
要求:利用ADC0809設(shè)計一個溫度測控系統(tǒng),在LED數(shù)碼顯示器上顯示溫度值,并對溫度進行測試和控制,當檢測溫度到達溫度上限60℃時開風扇(即開啟電動機,或以一個燈的亮滅表示),低于下限30℃時關(guān)閉風扇,LED上的顯示內(nèi)容為:XX ℃(采用十進制顯示)。
選題三:函數(shù)發(fā)生器的設(shè)計(一)要求:利用DAC0832設(shè)計一個函數(shù)發(fā)生器,并利用按鍵選擇輸出波形,能分別產(chǎn)生三角波、階梯波(每階梯1V)、正向鋸齒波、負向鋸齒波和方波。并利用按鍵(自行定義)進行輸出波形選擇,同時將當前輸出波形代號顯示在LED上(左邊位):0為方波、1為正向鋸齒波、2為負向鋸齒波、3 為三角波、4為階梯波。
選題四:函數(shù)發(fā)生器的設(shè)計(二)要求:設(shè)計一個三角波發(fā)生器,可利用鍵盤改變其輸出波形的幅值。例如,可利用1-5這5個數(shù)字鍵改變其輸出波形的幅值,當按下1-5數(shù)字鍵時使D/A輸出幅值從1V增加到5V。
選題五:電子音樂播放器
要求:設(shè)計要求:利用8253作為音階頻率發(fā)生器,應(yīng)先對“2008年奧運會主題歌”進行編碼后存入音符表,并建立好音階表(只建立一個8度即可),音符長度不能少于60個,連續(xù)播放3遍后停止。
選題六:鍵盤電子樂器
要求:利用并行接口8155作為鍵盤接口,設(shè)計一個具有2個八度音階的鍵盤樂器,音階鍵不少于16個,采用掃描方式管理鍵盤,音域范圍自行定義。
選題七:電子時鐘設(shè)計
要求:利用8253定時器設(shè)計一個具有時、分、秒顯示的電子時鐘,并定義一個啟動鍵,當按下該
鍵時時鐘從當前設(shè)定值(可在顯示緩沖區(qū)中予置)開始走時。
選題八:壓力測控系統(tǒng)的設(shè)計(一)要求:對壓力傳感器的信號進行檢測并在LED數(shù)碼顯示器上顯示壓力值,當壓力低于30pa時,黃燈閃爍,閃爍周期為1秒。當壓力高于150pa時,紅燈閃爍。LED的顯示內(nèi)容為P=XXX。X為測試值。
選題九:可變輸出頻率方波發(fā)生器設(shè)計
要求:設(shè)計一個輸出方波頻率可利用按鍵改變的方波信號發(fā)生器(可以使用D/A也可以直接使用8253產(chǎn)生方波),利用鍵盤選擇方波發(fā)生器的輸出頻率并驅(qū)動喇叭。輸出頻率=鍵號*100HZ
選題十:直流電機速度控制器設(shè)計
要求:利用D/A轉(zhuǎn)換器和按鍵設(shè)計一個直流電動機轉(zhuǎn)速控制器。按鍵定義如下:0 停止,1-1/10轉(zhuǎn)速,2-2/10轉(zhuǎn)速?? 9 最高速(D/A輸出滿量程),鍵號每加1,D/A輸出增加0.5V
選題十一:可任意啟動/停止的電子秒表設(shè)計
要求:6位LED數(shù)碼顯示,計時單位為1/100秒。利用功能鍵進行啟/??刂?。其功能為:上電后計時器清0,當?shù)谝淮危ɑ蚱鏀?shù)次)按下啟/停鍵時開始計數(shù)。第2次(或偶數(shù)次)按下該鍵時停止計時,再一次按啟/停鍵時清零后重新開始計時??
選題十二:溫度測試系統(tǒng)設(shè)計
要求:利用溫度傳感器和ADC0809設(shè)計一個溫度測試系統(tǒng),將測試結(jié)果(十進制)在LED上顯示出來,并定義一個保持按鍵,當按下該鍵時,將當前測試值保持不變(按鍵不動作時為正常測量顯示)。溫度顯示格式為:XXX ℃。(可以每隔0.3秒測量一次)
選題十三:壓力測試系統(tǒng)設(shè)計(二)要求:利用壓力傳感器和ADC0809設(shè)計一個壓力測試系統(tǒng),并將測試結(jié)果(十進制)在LED上顯示出來,并定義一個測試最大值按鍵,當按下該鍵時,可進行最大值測量(按鍵不動作時為正常測量顯示),即:只有當當前測量值大于上次測量值時才刷新顯示,顯示格式為:P=XXX??梢悦扛?.3秒測量一次。
選題十四:簡易計算器系統(tǒng)設(shè)計
要求:設(shè)計一個可以進行2位數(shù)四則運算的計算器。
1、用按鍵輸入數(shù)和運算符號;
2、用LED顯示運算過程和結(jié)果(十進制數(shù));
3、可以表示出當前的運算類型;
4、具有清零和復(fù)位功能;
5、具有連續(xù)運算功能。
選題十五:交通燈控制系統(tǒng)
要求:按照時間控制原則,利用并行接口和定時器,設(shè)計一套十字路口的交通燈管理系統(tǒng),通行時間(或禁止時間)30秒,準備時間3秒,在準備時間里黃燈閃爍3次,閃爍頻率為0.5秒,周而復(fù)始??衫?255、8253等接口電路。
選題十六:計件系統(tǒng)設(shè)計
要求:利用8253計數(shù),對外界脈沖技術(shù),并將計數(shù)值在數(shù)碼管上顯示,可通過鍵盤控制重新計數(shù)。
四、設(shè)計任務(wù)及要求
1、接口設(shè)計:根據(jù)所選題目和所用的接口電路芯片設(shè)計出完整的接口電路,并在實驗系統(tǒng)上完成電路的連接和調(diào)試通過。
2、程序設(shè)計:要求畫出程序框圖,設(shè)計出全部程序并給出程序設(shè)計說明和程序注釋。
3、課程設(shè)計報告:(1)設(shè)計題目;
(2)系統(tǒng)的主要功能、作用以及主要技術(shù)性能指標;
(3)總體設(shè)計方案、工作和組成原理(框圖)或設(shè)計說明、采用的技術(shù)路線等;
(4)系統(tǒng)設(shè)計:接口電路設(shè)計,程序設(shè)計(程序框圖和程序清單及注釋)其他有關(guān)的理論分析和計算;
(5)設(shè)計總結(jié):對整個設(shè)計工作過程進行歸納和綜合,對設(shè)計中所存在的問題和不足進行分析和總結(jié),提出解決的方法、措施、建議和對這次設(shè)計實踐的認識、收獲和提高。