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

下載本文檔

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

文檔簡介

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

2、設(shè)計(jì)匯編語言程序的能力和技巧, 培養(yǎng)實(shí)現(xiàn) 一個(gè)簡單應(yīng)用系統(tǒng)功能的硬件軟件設(shè)計(jì)能力。二、課程設(shè)計(jì)內(nèi)容一) 匯編語言程序設(shè)計(jì)及調(diào)試0) PC 機(jī)實(shí)時(shí)時(shí)鐘的設(shè)計(jì)利用 PC 機(jī)現(xiàn)有的硬件和軟件資源設(shè)計(jì)程序, 以實(shí)現(xiàn)在顯示器上顯示 XX(時(shí)):XX(分): XX (秒)。(1)設(shè)計(jì)思路PC機(jī)系統(tǒng)板上使用一片 8253,其地址為 40H 43H ,其通道 0 以方式 3工作,每 55ms 向中斷控制器 8259A IRQ0 端發(fā)一次中斷請求。 本設(shè)計(jì)題要求借用原有電路, 重新設(shè)置 8253 的計(jì)數(shù)器 0每 10ms產(chǎn)生一次中斷, 100次中斷后加 1 秒,然后調(diào)整時(shí)、分、秒并顯示在屏 幕上。( 2) 實(shí)時(shí)

3、時(shí)鐘的功能 按下任意鍵開始顯示數(shù)據(jù)區(qū)中存放的時(shí)間值,并且每秒更新一次,運(yùn)行中按下空格鍵 則停止運(yùn)行并返回 DOS 。程序中應(yīng)保護(hù)原系統(tǒng)的 08H 中斷矢量以便退出時(shí)恢復(fù)原系統(tǒng)的設(shè) 置。( 3) 題目的要求 PC 機(jī)實(shí)時(shí)時(shí)鐘的基本程序如附錄一,請根據(jù)中斷服務(wù)程序設(shè)計(jì)時(shí)鐘時(shí)、分、秒調(diào)整 的中斷報(bào)務(wù)程序,然后調(diào)試實(shí)現(xiàn)時(shí)鐘的基本功能 在原有程序基礎(chǔ)上,增加鍵盤輸入字符功能,可通過修改時(shí)、分、秒的數(shù)據(jù),實(shí)現(xiàn) 實(shí)時(shí)時(shí)鐘可調(diào)整功能。 在原有程序基礎(chǔ)上,設(shè)計(jì)美觀的時(shí)鐘顯示方式。1)光條式菜單程序設(shè)計(jì) 一個(gè)多功能的軟件通常以菜單為程序界面,用戶可以通過菜單直觀地選擇各項(xiàng)功能。(1)設(shè)計(jì)思路用匯編語言設(shè)計(jì)的菜單程

4、序應(yīng)主要包括 3 項(xiàng)內(nèi)容: 設(shè)計(jì)界面 要求美觀清晰,操作簡便,菜單項(xiàng)簡潔可用一行表示。 菜單項(xiàng)選擇 利用“色帶”選擇菜單項(xiàng)。色帶是顏色鮮明的條形光帶,可以覆蓋一個(gè)菜單項(xiàng),用 戶利用“”、“”、“”、“”鍵移動(dòng)色帶位置,然后按下回車鍵,被色帶覆蓋的菜單項(xiàng) 就被選中。 菜單項(xiàng)程序的組織和調(diào)用菜單項(xiàng)較多時(shí), 可為每一個(gè)菜單項(xiàng)設(shè)計(jì)一個(gè)獨(dú)立的菜單項(xiàng)程序, 采用 JMP、CALL 指令 調(diào)用程序段;菜單項(xiàng)較少時(shí),不必為第一個(gè)菜單項(xiàng)設(shè)計(jì)一個(gè)獨(dú)立的程序,此時(shí)界面顯示、菜 單項(xiàng)選擇和菜單項(xiàng)程序可包含在一個(gè)程序中。( 2)關(guān)鍵技術(shù) 定位顯示彩色字符串利用 BIOS 中的 INT 10H 的 13H 號功能可以設(shè)計(jì)

5、一個(gè)定位顯示彩色字符串的程序段調(diào)用: AH=13H ,AL=寫方式 :0 屬性在 BL 中,字符串中僅含字符碼,寫后光標(biāo)位置 不被修改1 屬性在 BL 中,字符串中僅含字符碼, 寫后修改光標(biāo)BH= 頁;BL=待顯字符串的屬性, 07H 表示正常顯示, 0FH表示黑底白字, 51H表示品紅色背景藍(lán)色字符串CX= 待顯字符串的長度;DH= 待顯字符串首字符的行值DL= 待顯字符中首字符的列值BP=待顯字符串首字符在附加段的偏移地址行值 色帶的生成和移動(dòng)在調(diào)用上一個(gè)字符顯示程序時(shí),將待顯字符串的屬性設(shè)為51H,色帶就生成;設(shè)為0FH時(shí),色帶就消失。 使當(dāng)前色帶消失, 然后在下一個(gè)位置上生成色帶, 就

6、達(dá)到色帶的移動(dòng)。 設(shè)置一個(gè) NN單元存放色帶的位置, NN單元的內(nèi)容跟蹤色帶位置的變化。利用NN單元的值可以計(jì)算出色帶位置的行號和色帶覆蓋菜單項(xiàng)字符的偏移地址。( 3)題目要求 單級菜單程序見附錄二,調(diào)試程序并分析程序以理解程序的功能。 在原有程序的基礎(chǔ)上,設(shè)計(jì)程序?qū)崿F(xiàn)二級菜單功能。2)波形顯示程序設(shè)計(jì)試?yán)?PC機(jī)顯示器軟件中斷( INT 10H)功能( VGA模式 640*480 ),設(shè)計(jì)一個(gè)波形顯示 程序。 顯示器水平方向?yàn)闀r(shí)間軸, 垂直方向?yàn)樾盘柗取?測試信號為正弦波信號和三角波信 號。要求:基本要求: 能顯示正弦波波形和三角波形( 50Hz)。 擴(kuò)展:在基本要求基礎(chǔ)上,能通過鍵盤實(shí)

7、現(xiàn)時(shí)間刻度可變,信號增益可變。3)四則混合運(yùn)算器設(shè)計(jì)要求:設(shè)計(jì)一個(gè)可以進(jìn)行 2 位數(shù)四則運(yùn)算的計(jì)算器。 1、用按鍵輸入數(shù)和運(yùn)算符號(表 達(dá)式最多兩個(gè)運(yùn)算符,如 3*2+4 ); 2、在顯示器上運(yùn)算結(jié)果(十進(jìn)制數(shù)); 3、具有清零和 復(fù)位功能; 5、具有連續(xù)運(yùn)算功能。4)圖形切換要求以菜單方式進(jìn)行選擇,有四種情況。按下1顯示一個(gè)圓;按下 2顯示一個(gè)三角形;按下 3顯示一個(gè)矩形;按下 q,退出。要求有提示。5)字符串輸入隨機(jī)出現(xiàn)一個(gè)不少于 30 個(gè)字符 ASCII 字符串,按空格鍵開始輸入,如果輸入的字符與 原字符不相符,則用不同顏色標(biāo)記。要求有提示。6)顯示楊輝三角形從鍵盤接收正整數(shù) N;屏幕顯

8、示楊輝三角形,顯示 N 行信息 .7)圖形移動(dòng) 圖形的移動(dòng)可以分幾步進(jìn)行:(1)先在屏幕上顯示某個(gè)圖形;(2)延時(shí)適當(dāng)時(shí)間;(3)清除這個(gè)圖形;(4)改變圖形顯示的行列坐標(biāo);(5)返回第( 1)步,重復(fù)上述過程。 按下回車結(jié)束。8)九九乘法表用匯編語言編寫九九乘法表在屏幕上顯示出來 , 而且能按一定規(guī)律顯示 . 1 鍵為橫向 排列;2 鍵為顏色輸出 ;0鍵為取消該功能9). 代碼轉(zhuǎn)換完成一個(gè)字母或數(shù)制之間的轉(zhuǎn)化程序,主程序分別具有 5 種可選擇的子功能,按相應(yīng) 的字符可分別進(jìn)入相應(yīng)的子功能并在屏幕上顯示結(jié)果,按“q”鍵退出。5 種可選擇的子功能分別為:(1 )實(shí)現(xiàn)小寫字母向大寫字母的轉(zhuǎn)換( 2

9、 )實(shí)現(xiàn)大寫字母向小寫字母的轉(zhuǎn)換(3)實(shí)現(xiàn)二進(jìn)制數(shù)向十六進(jìn)制數(shù)的轉(zhuǎn)換( 4 )實(shí)現(xiàn)十六進(jìn)制數(shù)向二進(jìn)制數(shù)的轉(zhuǎn)換(5)實(shí)現(xiàn)十六進(jìn)制數(shù)向十進(jìn)制數(shù)的轉(zhuǎn)換二)接口電路設(shè)計(jì)1 數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)利用 8253, 8255A,ADC0809設(shè)計(jì)一個(gè)基于 8088 最小系統(tǒng)的數(shù)據(jù)采集系統(tǒng)(不包含 A/D 轉(zhuǎn)換器輸入通道中的放大器和采樣保持電路) ,最小系統(tǒng)的時(shí)鐘頻率為 5 MHz, 8253時(shí)鐘頻 率為 1 MHz。要求每隔 200 s 采集一個(gè)數(shù)據(jù),每次啟動(dòng)采集數(shù)據(jù)時(shí)采集時(shí)間為20 ms(即每次啟動(dòng)一次,共采集 100 個(gè)數(shù)據(jù))。由一個(gè)開關(guān)手動(dòng)啟動(dòng)數(shù)據(jù)采集,數(shù)據(jù)的 I/O 傳送采用 中斷方式傳送。 8259A

10、地址為 20H,21H,僅對 8255A,8253地址進(jìn)行譯碼, 8255A、8253 的 端口地址為每位同學(xué)學(xué)號最后 4 位乘以 8,如:學(xué)號后 4 位是 1820,則地址范圍為 1820*81820*8+8 。允許附加必要的門電路、地址譯碼器和單穩(wěn)電路等。完成:( 1) 硬件設(shè)計(jì),畫出連接圖(不包括 8259A,用正規(guī)“米”字方格紙繪制)( 2) 軟件設(shè)計(jì), 包括 8255A,8253 的初始化及中斷服務(wù)程序 (只采集 ADC0809的 IN0 通道)。2 鍵盤顯示接口電路設(shè)計(jì)利用 8253, 8255A設(shè)計(jì)一個(gè)基于 8088 最小系統(tǒng)的鍵盤顯示接口電路。鍵盤為 4X4行列 式鍵盤( 0-

11、9,A-F),顯示器為 7 段代碼 LED,共 4 位,動(dòng)態(tài)顯示。要求每隔 200ms掃描一 次鍵盤,解碼后的鍵值在 LED顯示器上滾動(dòng)顯示。假定最小系統(tǒng)的時(shí)鐘頻率為5 MHz, 8253時(shí)鐘頻率為 1 MHz, 鍵盤軟件消抖動(dòng)。 8259A 地址為 20H,21H,不用參與譯碼, 8255A,8253 的端口地址為每位同學(xué)學(xué)號最后 4 位乘以 8,如:學(xué)號后 4 位是 1820,則地址范圍為 1820*8 1820*8+8 。允許附加必要的門電路、地址譯碼器和單穩(wěn)電路等。( 1) 硬件設(shè)計(jì),畫出連接圖(不包括 8259A,用正規(guī)“米”字方格紙繪制)(2) 軟件設(shè)計(jì),包括 8255A,8253

12、 的初始化及中斷服務(wù)程序,鍵盤掃描子程序,LED顯示子程序。3 交通燈控制系統(tǒng)利用 8253,8255A,8259 等芯片設(shè)計(jì)一個(gè)基于 8088 最小系統(tǒng)的十字路口交通燈控制系統(tǒng)。 通行時(shí)間(綠燈)(或禁止時(shí)間(紅燈) 30秒,準(zhǔn)備時(shí)間 3 秒,在準(zhǔn)備時(shí)間里黃燈閃爍 3 次,閃爍頻率為 0.5 秒,周而復(fù)始。 最小系統(tǒng)的時(shí)鐘頻率為 5 MHz, 8253的時(shí)鐘頻率為 1 MHz。 8259A地址為 20H,21H,不用參與譯碼, 8255A,8253的端口地址為每位同學(xué)學(xué)號最后4 位乘以 8,如:學(xué)號后 4 位是 1820,則地址范圍為 1820*8 1820*8+8 。允許附加必要的門 電路

13、、地址譯碼器和單穩(wěn)電路等。( 1)硬件設(shè)計(jì),畫出連接圖(不包括 8259A,用正規(guī)“米”字方格紙繪制)(2)軟件設(shè)計(jì),包括 8255A,8253 的初始化及中斷服務(wù)程序,控制程序等。二、要求要求每位同學(xué)獨(dú)立完成一個(gè)匯編語言程序設(shè)計(jì)和調(diào)試,以及一個(gè)接口電路設(shè)計(jì)。其中, 程序設(shè)計(jì)部分共有 0-9 十套設(shè)計(jì)題, 請各位同學(xué)按照自己的學(xué)號末位數(shù)對應(yīng)選擇所完成 的題目。匯編語言程序必須實(shí)現(xiàn)基本功能,在基本功能基礎(chǔ)上要有所發(fā)揮,力求創(chuàng)新。 硬件接口電路設(shè)計(jì),必須完成手繪原理圖(通常畫在描圖紙上) ,編出相應(yīng)的程序。三、參考資料1 楊素行編 微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用,清華大學(xué)出版社2 吳寧主編 80X86/

14、Pentium 微型計(jì)算機(jī)原理及應(yīng)用,電子工業(yè)出版社3 孫德文主編 微型計(jì)算機(jī)技術(shù),高等教育出版社4 沈美明編 IBM-PC 匯編語言程序設(shè)計(jì),清華大學(xué)出版社附錄一STACK segment para stack stack db 256 dup (0)stack endsdata segment para public data count db 100 tenh db 1hour db 3,20h tenm db 1 minute db 0db : tens db 5 second db 0,0dh,$ data ends code segment para public code sta

15、rt proc farassume cs:codepush dsxor ax,axpush axmov ah,01int 21hclicldmov ax,0000hmov ds,axmov si,0020hlodswmov bx,axlodswpush ax;segpush bx;offsetmov ax,datamov 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,1193

16、2 out 40h,al mov al,ah out 40h,al in al,21h push ax mov al,0fch sti forever: mov dl,0ffhmov ah,06int 21h jz disp cmp al,20h jz exit disp:mov dx,offset tenhmov ah,9int 21hmov al,second waitcha: cmp al,secondjz waitchajmp forever exit: clicldpop ax out 21h,ax mov al,36h out 43h,al mov al,0 out 40h,al

17、out 40h,al mov ax,0 mov es,ax mov di,4*8pop ax stosw pop ax stosw sti ret start 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 aaamov 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 m

18、ov tens,al mov al,minute add al,1 aaa mov minute,al jnc int_ret mov al,tenm adc al,0 aaa and al,0fh mov tenm,al cmp al,6 jnz int_ret mov al,0mov tenm,almov 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 mo

19、v tenh,al mov al,ch and al,0fh or al,30h mov hour,al jmp int_ret reseth: 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,alclimov al,

20、20h out 20h,al pop cx pop ax iret code endsend 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 segmentl0db MENU l1db =l2db | EXAMPLE_1l3db | EXAMPLE_2l4db | EXAMPLE_3l5db |

21、 RETURN l6db = LL EQU $-l6XX equ (80-ll)/2 yy db ? nn dw 1 tab dw ?,l2,l3,l4,l5 addr dw ? data ends code segmentassume cs:code,ds:data,es:data beg: mov ax,datamov ds,axmov es,axmov ax,3int 10hmov yy,8mov addr,offset l0 last2: disp xx,ll,0fhadd addr,llinc yycmp yy,15jl last2mov nn,1call computedisp x

22、x+3,ll-6,51h scan: mov ah,1int 16hjz scanmov ah,0int 16hcmp ah,80je downcmp ah,72je upcmp al,0dhje exitjmp scan down: cmp nn,4je scancall computedisp xx+3,ll-6,0fhinc nncall computedisp xx+3,ll-6,51hjmp scanup: cmp nn,1je scancall computedisp xx+3,ll-6,0fhdec nncall computedisp xx+3,ll-6,51hjmp scane

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論