微機(jī)原理課程設(shè)計指導(dǎo)書2015_第1頁
微機(jī)原理課程設(shè)計指導(dǎo)書2015_第2頁
微機(jī)原理課程設(shè)計指導(dǎo)書2015_第3頁
微機(jī)原理課程設(shè)計指導(dǎo)書2015_第4頁
微機(jī)原理課程設(shè)計指導(dǎo)書2015_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微機(jī)原理及應(yīng)用課程設(shè)計指導(dǎo)書軟件按照學(xué)號末尾選做東華大學(xué)信息科學(xué)與技術(shù)學(xué)院自動化系2015年9月1日一、課程設(shè)計目的本課程設(shè)計是繼微機(jī)系統(tǒng)及應(yīng)用課程之后的一次綜合性設(shè)計、實驗訓(xùn)練。根據(jù)微機(jī)系統(tǒng)及應(yīng)用課程教學(xué)的重點和主要知識點及工程實際需要,設(shè)置匯編語言程序設(shè)計、PC機(jī)內(nèi)部接口和8086系統(tǒng)接口電路設(shè)計等設(shè)計題目。要求學(xué)生綜合本課程和其它相關(guān)課程中學(xué)到的80X86系統(tǒng)結(jié)構(gòu)、匯編語言設(shè)計、典型接口芯片、電路電子技術(shù)等相關(guān)知識進(jìn)行程序設(shè)計、硬件接口電路設(shè)計和調(diào)試,系統(tǒng)地掌握微機(jī)原理和接口技術(shù)的相關(guān)知識,實現(xiàn)知識的融會貫通。要求學(xué)生通過課程設(shè)計的學(xué)習(xí),提高設(shè)計匯編語言程序的能力和技巧,培養(yǎng)實現(xiàn)一個簡單

2、應(yīng)用系統(tǒng)功能的硬件軟件設(shè)計能力。二、課程設(shè)計內(nèi)容一)匯編語言程序設(shè)計及調(diào)試0) PC機(jī)實時時鐘的設(shè)計利用PC機(jī)現(xiàn)有的硬件和軟件資源設(shè)計程序,以實現(xiàn)在顯示器上顯示XX(時):XX(分):XX(秒)。(1)設(shè)計思路PC機(jī)系統(tǒng)板上使用一片8253,其地址為40H43H,其通道0以方式3工作,每55ms向中斷控制器8259A IRQ0端發(fā)一次中斷請求。本設(shè)計題要求借用原有電路,重新設(shè)置8253的計數(shù)器0每10ms產(chǎn)生一次中斷,100次中斷后加1秒,然后調(diào)整時、分、秒并顯示在屏幕上。 (2) 實時時鐘的功能按下任意鍵開始顯示數(shù)據(jù)區(qū)中存放的時間值,并且每秒更新一次,運行中按下空格鍵則停止運行并返回DOS。

3、程序中應(yīng)保護(hù)原系統(tǒng)的08H中斷矢量以便退出時恢復(fù)原系統(tǒng)的設(shè)置。 (3) 題目的要求 PC機(jī)實時時鐘的基本程序如附錄一,請根據(jù)中斷服務(wù)程序設(shè)計時鐘時、分、秒調(diào)整的中斷報務(wù)程序,然后調(diào)試實現(xiàn)時鐘的基本功能 在原有程序基礎(chǔ)上,增加鍵盤輸入字符功能,可通過修改時、分、秒的數(shù)據(jù),實現(xiàn)實時時鐘可調(diào)整功能。 在原有程序基礎(chǔ)上,設(shè)計美觀的時鐘顯示方式。1) 光條式菜單程序設(shè)計一個多功能的軟件通常以菜單為程序界面,用戶可以通過菜單直觀地選擇各項功能。(1)設(shè)計思路 用匯編語言設(shè)計的菜單程序應(yīng)主要包括3項內(nèi)容:設(shè)計界面要求美觀清晰,操作簡便,菜單項簡潔可用一行表示。 菜單項選擇利用“色帶”選擇菜單項。色帶是顏色鮮

4、明的條形光帶,可以覆蓋一個菜單項,用戶利用“”、“”、“”、“”鍵移動色帶位置,然后按下回車鍵,被色帶覆蓋的菜單項就被選中。 菜單項程序的組織和調(diào)用菜單項較多時,可為每一個菜單項設(shè)計一個獨立的菜單項程序,采用JMP、CALL指令調(diào)用程序段;菜單項較少時,不必為第一個菜單項設(shè)計一個獨立的程序,此時界面顯示、菜單項選擇和菜單項程序可包含在一個程序中。(2)關(guān)鍵技術(shù)定位顯示彩色字符串利用BIOS中的INT 10H的13H號功能可以設(shè)計一個定位顯示彩色字符串的程序段調(diào)用:AH=13H,AL=寫方式 :0 屬性在BL中,字符串中僅含字符碼,寫后光標(biāo)位置不被修改 1 屬性在BL中,字符串中僅含字符碼,寫后

5、修改光標(biāo)位置; BH=頁; BL=待顯字符串的屬性,07H表示正常顯示,0FH表示黑底白字,51H 表示品紅色背景藍(lán)色字符串 CX=待顯字符串的長度; DH=待顯字符串首字符的行值 DL=待顯字符中首字符的列值 BP=待顯字符串首字符在附加段的偏移地址行值 色帶的生成和移動 在調(diào)用上一個字符顯示程序時,將待顯字符串的屬性設(shè)為51H,色帶就生成;設(shè)為0FH時,色帶就消失。使當(dāng)前色帶消失,然后在下一個位置上生成色帶,就達(dá)到色帶的移動。 設(shè)置一個NN單元 存放色帶的位置,NN單元的內(nèi)容跟蹤色帶位置的變化。利用NN單元的值可以計算出色帶位置的行號和色帶覆蓋菜單項字符的偏移地址。 (3)題目要求 單級菜

6、單程序見附錄二,調(diào)試程序并分析程序以理解程序的功能。 在原有程序的基礎(chǔ)上,設(shè)計程序?qū)崿F(xiàn)二級菜單功能。2) 波形顯示程序設(shè)計 試?yán)肞C機(jī)顯示器軟件中斷(INT 10H)功能(VGA模式640*480),設(shè)計一個波形顯示程序。顯示器水平方向為時間軸,垂直方向為信號幅度。測試信號為正弦波信號和三角波信號。要求:基本要求: 能顯示正弦波波形和三角波形(50Hz)。擴(kuò)展:在基本要求基礎(chǔ)上,能通過鍵盤實現(xiàn)時間刻度可變,信號增益可變。 3) 四則混合運算器設(shè)計 要求:設(shè)計一個可以進(jìn)行2位數(shù)四則運算的計算器。1、用按鍵輸入數(shù)和運算符號(表達(dá)式最多兩個運算符,如3*2+4);2、在顯示器上運算結(jié)果(十進(jìn)制數(shù))

7、;3、具有清零和復(fù)位功能;5、具有連續(xù)運算功能。4) 圖形切換要求以菜單方式進(jìn)行選擇,有四種情況。按下1顯示一個圓;按下2顯示一個三角形;按下3顯示一個矩形;按下q,退出。要求有提示。5) 字符串輸入 隨機(jī)出現(xiàn)一個不少于30個字符ASCII字符串,按空格鍵開始輸入,如果輸入的字符與原字符不相符,則用不同顏色標(biāo)記。要求有提示。6) 顯示楊輝三角形從鍵盤接收正整數(shù)N;屏幕顯示楊輝三角形,顯示N行信息.7) 圖形移動圖形的移動可以分幾步進(jìn)行:(1)先在屏幕上顯示某個圖形;(2)延時適當(dāng)時間;(3)清除這個圖形;(4)改變圖形顯示的行列坐標(biāo);(5)返回第(1)步,重復(fù)上述過程。 按下回車結(jié)束

8、。8) 九九乘法表用匯編語言編寫九九乘法表在屏幕上顯示出來,而且能按一定規(guī)律顯示.1鍵為橫向排列;2鍵為顏色輸出;0鍵為取消該功能即退出該程序。 9). 代碼轉(zhuǎn)換 完成一個字母或數(shù)制之間的轉(zhuǎn)化程序,主程序分別具有5種可選擇的子功能,按相應(yīng)的字符可分別進(jìn)入相應(yīng)的子功能并在屏幕上顯示結(jié)果,按“q”鍵退出。5種可選擇的子功能分別為:  (1)實現(xiàn)小寫字母向大寫字母的轉(zhuǎn)換    (2)實現(xiàn)大寫字母向小寫字母的轉(zhuǎn)換(3)實現(xiàn)二進(jìn)制數(shù)向十六進(jìn)制數(shù)的轉(zhuǎn)換    (4)實現(xiàn)十六進(jìn)制數(shù)向二進(jìn)制數(shù)的轉(zhuǎn)換(5)實現(xiàn)十六進(jìn)制數(shù)向十進(jìn)制數(shù)的轉(zhuǎn)換(二)

9、接口電路設(shè)計1 數(shù)據(jù)采集系統(tǒng)設(shè)計利用8253,8255A,ADC0809設(shè)計一個基于8088最小系統(tǒng)的數(shù)據(jù)采集系統(tǒng)(不包含A/D轉(zhuǎn)換器輸入通道中的放大器和采樣保持電路),最小系統(tǒng)的時鐘頻率為5 MHz,8253時鐘頻率為1 MHz。要求每隔200 s采集一個數(shù)據(jù),每次啟動采集數(shù)據(jù)時采集時間為20 ms(即每次啟動一次,共采集100個數(shù)據(jù))。由一個開關(guān)手動啟動數(shù)據(jù)采集,數(shù)據(jù)的I/O傳送采用中斷方式傳送。8259A地址為20H,21H,僅對8255A,8253地址進(jìn)行譯碼,8255A、8253的端口地址為每位同學(xué)學(xué)號最后4位乘以8,如:學(xué)號后4位是1820,則地址范圍為1820*81820*8+8

10、。允許附加必要的門電路、地址譯碼器和單穩(wěn)電路等。完成:(1) 硬件設(shè)計,畫出連接圖(不包括8259A,用正規(guī)“米”字方格紙繪制)(2) 軟件設(shè)計,包括8255A,8253的初始化及中斷服務(wù)程序(只采集ADC0809的IN0通道)。2 鍵盤顯示接口電路設(shè)計利用8253,8255A設(shè)計一個基于8088最小系統(tǒng)的鍵盤顯示接口電路。鍵盤為4X4行列式鍵盤(0-9,A-F),顯示器為7段代碼LED,共4位,動態(tài)顯示。要求每隔200ms掃描一次鍵盤,解碼后的鍵值在LED顯示器上滾動顯示。假定最小系統(tǒng)的時鐘頻率為5 MHz,8253時鐘頻率為1 MHz, 鍵盤軟件消抖動。8259A地址為20H,21H,不用

11、參與譯碼,8255A,8253的端口地址為每位同學(xué)學(xué)號最后4位乘以8,如:學(xué)號后4位是1820,則地址范圍為1820*81820*8+8。允許附加必要的門電路、地址譯碼器和單穩(wěn)電路等。(1) 硬件設(shè)計,畫出連接圖(不包括8259A,用正規(guī)“米”字方格紙繪制)(2) 軟件設(shè)計,包括8255A,8253的初始化及中斷服務(wù)程序,鍵盤掃描子程序,LED顯示子程序。3 交通燈控制系統(tǒng)利用8253,8255A,8259等芯片設(shè)計一個基于8088最小系統(tǒng)的十字路口交通燈控制系統(tǒng)。通行時間(綠燈)(或禁止時間(紅燈)30秒,準(zhǔn)備時間3秒,在準(zhǔn)備時間里黃燈閃爍3次,閃爍頻率為0.5秒,周而復(fù)始。最小系統(tǒng)的時鐘頻

12、率為5 MHz, 8253的時鐘頻率為1 MHz。8259A地址為20H,21H,不用參與譯碼,8255A,8253的端口地址為每位同學(xué)學(xué)號最后4位乘以8,如:學(xué)號后4位是1820,則地址范圍為1820*81820*8+8。允許附加必要的門電路、地址譯碼器和單穩(wěn)電路等。(1)硬件設(shè)計,畫出連接圖(不包括8259A,用正規(guī)“米”字方格紙繪制)(2)軟件設(shè)計,包括8255A,8253的初始化及中斷服務(wù)程序,控制程序等。二、要求要求每位同學(xué)獨立完成一個匯編語言程序設(shè)計和調(diào)試,以及一個接口電路設(shè)計。其中,程序設(shè)計部分共有0-9十套設(shè)計題,請各位同學(xué)按照自己的學(xué)號末位數(shù)對應(yīng)選擇所完成的題目。匯編語言程序

13、必須實現(xiàn)基本功能,在基本功能基礎(chǔ)上要有所發(fā)揮,力求創(chuàng)新。硬件接口電路設(shè)計,必須完成手繪原理圖(通常畫在描圖紙上),編出相應(yīng)的程序。三、參考資料 1 楊素行編 微型計算機(jī)系統(tǒng)原理及應(yīng)用,清華大學(xué)出版社2 吳寧主編 80X86/Pentium微型計算機(jī)原理及應(yīng)用,電子工業(yè)出版社 3 孫德文主編 微型計算機(jī)技術(shù),高等教育出版社 4 沈美明編 IBM-PC匯編語言程序設(shè)計,清華大學(xué)出版社附錄一STACK segment para stack 'stack' db 256 dup (0)stack endsdata segment para public 'data'co

14、unt db 100tenh db '1'hour db '3',20htenm db '1'minute db '0' db ':'tens db '5'second db '0',0dh,'$'data endscode segment para public 'code'start proc far assume cs:code push ds xor ax,ax push ax mov ah,01 int 21h cli cld mov ax,

15、0000h mov ds,ax mov si,0020h lodsw mov bx,ax lodsw push ax;seg push bx;offset mov ax,data mov ds,ax assume ds:data mov ax,0000h mov es,ax mov di,0020h mov ax,offset timer stosw mov ax,cs stosw mov al,00110110b out 43h,al mov ax,11932 out 40h,al mov al,ah out 40h,al in al,21h push ax mov al,0fch stif

16、orever: mov dl,0ffh mov ah,06 int 21h jz disp cmp al,20h jz exitdisp:mov dx,offset tenh mov ah,9 int 21h mov al,secondwaitcha: cmp al,second jz waitcha jmp foreverexit: cli cld pop ax out 21h,ax mov al,36h out 43h,al mov al,0 out 40h,al out 40h,al mov ax,0 mov es,ax mov di,4*8 pop ax stosw pop ax st

17、osw sti retstart endptimer:push ax push cx sti mov al,count dec al mov count,al jnz int_ret mov count,100 mov al,second add al,1 aaa mov second,al jnc int_ret mov al,tens adc al,0 aaa and al,0fh mov tens,al cmp al,6 jnz int_ret mov al,0 mov tens,al mov al,minute add al,1 aaa mov minute,al jnc int_re

18、t mov al,tenm adc al,0 aaa and al,0fh mov tenm,al cmp al,6 jnz int_ret mov al,0 mov tenm,al mov al,tenh mov cl,4 shl al,cl mov cl,al mov al,hour and al,0fh or al,cl add al,1 daa cmp al,24h jz reseth mov ch,al mov cl,4 shr al,cl or al,30h mov tenh,al mov al,ch and al,0fh or al,30h mov hour,al jmp int

19、_retreseth: mov tenh,'0' mov hour,'0'int_ret: mov al,second and al,0fh or al,30h mov second,al mov al,tens and al,0fh or al,30h mov tens,al mov al,tenm and al,0fh or al,30h mov tenm,al mov al,minute and al,0fh or al,30h mov minute,al cli mov al,20h out 20h,al pop cx pop ax iretcode e

20、nds end start 附錄二stack segment para stack 'stack' db 256 dup(0)stack endsdisp macro x,length,color mov ax,1301h mov bx,color mov cx,length mov dh,yy mov dl,x mov bp,addr int 10h endmdata segmentl0 db ' MENU 'l1 db '='l2 db '| EXAMPLE_1 'l3 db '| EXAMPLE_2 'l4

21、db '| EXAMPLE_3 'l5 db '| RETURN 'l6 db '='LL EQU $-l6XX equ (80-ll)/2yy db ?nn dw 1tab dw ?,l2,l3,l4,l5addr dw ?data endscode segment assume cs:code,ds:data,es:databeg: mov ax,data mov ds,ax mov es,ax mov ax,3 int 10h mov yy,8mov addr,offset l0last2: disp xx,ll,0fh add addr,

22、ll inc yy cmp yy,15 jl last2 mov nn,1 call compute disp xx+3,ll-6,51hscan: mov ah,1 int 16h jz scan mov ah,0 int 16h cmp ah,80 je down cmp ah,72 je up cmp al,0dh je exit jmp scandown: cmp nn,4 je scan call compute disp xx+3,ll-6,0fh inc nn call compute disp xx+3,ll-6,51h jmp scanup: cmp nn,1 je scan call compute disp xx+3,ll-6,0fh dec nn call compute disp x

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論