版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、微機原理課程設(shè)計指導(dǎo)書東華大學(xué)信息學(xué)院自動化系2014年9月1日一、課程設(shè)計目的本課程設(shè)計是繼微機系統(tǒng)及應(yīng)用、微機系統(tǒng)及應(yīng)用實驗課程之后的一次綜合性設(shè)計、實驗訓(xùn)練。根據(jù)微機系統(tǒng)及應(yīng)用課程教學(xué)的重點和主要知識點及工程實際需要,設(shè)置匯編語言程序設(shè)計、PC機內(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)地掌握微機原理和接口技術(shù)的相關(guān)知識,實現(xiàn)知識的融會貫通。要求學(xué)生通過1.5周的學(xué)習(xí),提高設(shè)計匯編語言程序的能力和技巧,培養(yǎng)實現(xiàn)一個簡單應(yīng)用系統(tǒng)功能的硬
2、件軟件設(shè)計能力。二、課程設(shè)計內(nèi)容一)匯編語言程序設(shè)計及調(diào)試1 PC機實時時鐘的設(shè)計利用PC機現(xiàn)有的硬件和軟件資源設(shè)計程序,以實現(xiàn)在顯示器上顯示XX(時):XX(分):XX(秒)。(1)設(shè)計思路PC機系統(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。程序中應(yīng)保護原系統(tǒng)
3、的08H中斷矢量以便退出時恢復(fù)原系統(tǒng)的設(shè)置。 (3) 題目的要求 PC機實時時鐘的基本程序如附錄一,請根據(jù)中斷服務(wù)程序設(shè)計時鐘時、分、秒調(diào)整的中斷報務(wù)程序,然后調(diào)試實現(xiàn)時鐘的基本功能 在原有程序基礎(chǔ)上,增加鍵盤輸入字符功能,可通過修改時、分、秒的數(shù)據(jù),實現(xiàn)實時時鐘可調(diào)整功能。 在原有程序基礎(chǔ)上,設(shè)計美觀的時鐘顯示方式及友好的操作方式。2 光條式菜單程序設(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)二級菜單功能。3 波形顯示程序設(shè)計 試?yán)肞C機顯示器軟件中斷(INT 10H)功能(VGA模式640*480),設(shè)計一個波形顯示程序。顯示器水平方向為時間軸,垂直方向為信號幅度。測試信號為正弦波信號和三角波信號。要求:基本要求: 能顯示正弦波波形和三角波形(50Hz)。擴展:在基本要求基礎(chǔ)上,能通過鍵盤實現(xiàn)時間刻度可變,信號增益可變,界面友好、操作方便。 4 四則混合運算器設(shè)計 要求:設(shè)計一個可以進(jìn)行2位數(shù)四則運算的計算器。1)、用按鍵輸入數(shù)和運算符號(表達(dá)式最多兩個運算符,如3*2+4);2)、在顯示器上運算
7、結(jié)果(十進(jìn)制數(shù));3)、具有清零和復(fù)位功能;4)、具有連續(xù)運算功能。要求有美觀的顯示界面和友好的操作方式。5 圖形切換要求以菜單方式進(jìn)行選擇,有四種情況。按下1顯示一個圓;按下2顯示一個三角形;按下3顯示一個矩形;按下q,退出。要求能輸入各種圖形的幾何尺寸、顯示位置;圖形顯示美觀、操作界面友好。6 鍵盤練習(xí)程序 隨機出現(xiàn)一個不少于30個字符ASCII字符串,按空格鍵開始輸入,如果輸入的字符與原字符不相符,則用不同顏色標(biāo)記,并統(tǒng)計出相同和不相同字符的個數(shù)及百分比(整數(shù))。要求顯示美觀,操作界面友好。7 打鈴程序設(shè)計利用系統(tǒng)時鐘,按本校作息時間設(shè)計打鈴程序。每天有8節(jié)課:第1,2節(jié)課8:15-9:
8、45第3,4節(jié)課10:05-11:35第5,6節(jié)課13:00-14:30第7,8節(jié)課 14:50-16:20鈴聲用PC機蜂鳴器代替,并在顯示器上顯示相關(guān)信息;可以用鍵盤調(diào)節(jié)作息時間。要求顯示美觀,操作界面友好。8 圖形移動和旋轉(zhuǎn)圖形的移動旋轉(zhuǎn)可以分幾步進(jìn)行:(1)先在屏幕上顯示某個圖形(自定義圖形);(2)延時適當(dāng)時間;(3)清除這個圖形;(4)改變圖形顯示的行列坐標(biāo)及傾角(5)返回第(1)步,重復(fù)上述過程。按下回車結(jié)束。 可自定義上、下、左、右移動鍵及順時針、逆時針旋轉(zhuǎn)鍵,還可以直接給出移動坐標(biāo)、旋轉(zhuǎn)角度等。要求顯示美觀,操作界面友好。9. 加、減、乘、除練習(xí)器隨機生成一個加、減、乘、除算式
9、(一個算式只含一個算符),由鍵盤輸入結(jié)果。顯示運算正確或錯誤的信息,顯示正確或錯誤統(tǒng)計信息。要求顯示美觀,操作界面友好。 (本題與第4題相仿。)10. 代碼轉(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)換要求顯示美觀,操作界面友好。二) 微機系統(tǒng)硬件實驗(另附指導(dǎo)書) 三、課程設(shè)計要求要求每位同學(xué)獨立完成
10、課完成一個匯編語言程序的設(shè)計和調(diào)試,完成硬件實驗。匯編語言程序必須實現(xiàn)基本功能,在基本功能基礎(chǔ)上要有所發(fā)揮,力求創(chuàng)新。 (按學(xué)號選擇1-10題, 學(xué)號末位數(shù)為1,選第1題; .; 末位數(shù)9, 選第9題;末位數(shù)0, 選第10題。)四、參考資料 1 楊素行編 微型計算機系統(tǒng)原理及應(yīng)用,清華大學(xué)出版社2 吳寧主編 80X86/Pentium微型計算機原理及應(yīng)用,電子工業(yè)出版社 3 孫德文主編 微型計算機技術(shù),高等教育出版社 4 沈美明編 IBM-PC匯編語言程序設(shè)計,清華大學(xué)出版社五、考核 1 集中上機調(diào)試時間執(zhí)行嚴(yán)格的考勤制度2 上機實考3 設(shè)計報告4 程序運行驗證(提交*.asm文檔)。注:獨立
11、按時完成規(guī)定的工作任務(wù),不得弄虛作假,不準(zhǔn)抄襲他人內(nèi)容,否則成績按不及格計。如發(fā)現(xiàn)程序或者課程設(shè)計報告雷同,一律記不及格。 可以合理引用搜到的程序和文獻(xiàn)(做好引用標(biāo)記,給出參考文獻(xiàn)出處),但必須要在此基礎(chǔ)上有提高和創(chuàng)新。 六、設(shè)計報告(須手寫,打印無效)一般,設(shè)計報告應(yīng)包括如下內(nèi)容:1、所完成課程設(shè)計的題目、內(nèi)容、功能2、設(shè)計思想、原理,模塊的劃分,程序的流程框圖3、每個程序中,所使用的DOS/BIOS功能調(diào)用,宏庫文件列表清單; 如涉及硬件編程,介紹相應(yīng)的工作原理4、程序源代碼及注釋。5、調(diào)試過程,出現(xiàn)的問題及解決,運行結(jié)果,運行說明(必須附程序運行時的屏幕截圖)。6、硬件工作原理分析,硬件
12、電路接線圖,相應(yīng)的工作程序。7、課程設(shè)計總結(jié)及展望。8、參考文獻(xiàn)七、提交與報告相對應(yīng)的源程序文件(XXX.asm文件)(通過郵箱發(fā)送,注明學(xué)號、題號、姓名)附錄一STACK segment para stack stack db 256 dup (0)stack endsdata segment para public datacount db 100tenh db 1hour db 3,20htenm db 1minute db 0 db :tens db 5second db 0,0dh,$data endscode segment para public codestart proc f
13、ar assume cs:code push ds xor ax,ax push ax mov ah,01 int 21h cli cld mov ax,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,b out 43h,al mov ax,119
14、32 out 40h,al mov al,ah out 40h,al in al,21h push ax mov al,0fch stiforever: 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 4
15、0h,al out 40h,al mov ax,0 mov es,ax mov di,4*8 pop ax stosw pop ax stosw 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
16、 al,0 mov 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,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
17、al,30h mov tenh,al mov al,ch and al,0fh or al,30h mov hour,al jmp int_retreseth: mov tenh,0 mov hour,0int_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 c
18、li mov al,20h out 20h,al pop cx pop ax iretcode ends 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 db
19、 | 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,ll inc yy cmp yy,15 jl last2 mov
20、 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
21、 dec nn call compute disp xx+3,ll-6,51h jmp scanexit: mov al,byte ptr nn mov ah,4ch int 21hcompute proc near mov di,nn add di,di mov ax,tabdi add ax,3 mov addr,ax mov al,byte ptr nn add al,9 mov yy,al retcompute endpcode ends end beg stack segment para stack stack db 256 dup(0)stack endsdisp macro x
22、,length,color ;定位顯示彩色字符宏定義 mov ax,1301h mov bx,color ;屬性字給BX mov cx,length ;串長度給CX mov dh,yy ;行值給DH mov dl,x ;列值給DL mov bp,addr ;待顯串偏移地址給BP int 10h ;將多個字符輸入到緩沖區(qū)DS:DX endmdata segmentL0 db MENU L1 db =L2 db | EXAMPLE_1 L3 db | EXAMPLE_2 L4 db | EXAMPLE_3 L5 db | RETURN L6 db =LL EQU $-l6 ;LL為邊框長度為=長度
23、XX equ (80-ll)/2 ;XX為待顯串首字符列值窗口的位置在(80-ll)/2yy db ? ;存放待顯串的行值nn dw 1 ;記錄色帶位置tab dw ?,L2,L3,L4,L5 ;存放菜單項偏移地址(n分別為1,2,3,4)addr 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,8 ;菜單(第八行)起始行值給YY單元mov addr,offset l0 ;10(菜
24、單)偏移地址給ADDR單元last2: disp xx,LL,0fh ;(黑底白字)顯示一行菜單內(nèi)容 add addr,LL ;下一串偏移地址給ADDR單元 inc yy ;下一菜單項行值給YY單元 cmp yy,15 ;比較是否為最后一行 jl last2 ;小于15(不在最后一行),繼續(xù)顯示 mov nn,1 call compute disp xx+3,ll-6,51h ;令色帶覆蓋第一菜單項scan: mov ah,1 int 16h ;讀取鍵盤狀態(tài) jz scan ;ZF=1,無字符循環(huán)等待輸入scan,否則al=ASCII mov ah,0 int 16h ;讀鍵盤輸入字符 cmp ah,80 je down ;是向
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度茶葉市場推廣合作合同4篇
- 2025年度城市綠化工程經(jīng)營權(quán)轉(zhuǎn)讓及生態(tài)維護合同
- 2025年度水井轉(zhuǎn)讓與水資源利用規(guī)劃合同
- 二零二五年度國際貨物買賣合同中的國際支付結(jié)算法規(guī)解讀
- 二零二五年度新材料研發(fā)與生產(chǎn)承包合同3篇
- 2025版住宅樓電梯維保及服務(wù)合同4篇
- 2025版綠化樹苗種植與城市綠化項目配套合同4篇
- 2025年度生態(tài)環(huán)保場地施工租賃合同范本4篇
- 2025年二手車交易市場經(jīng)營許可合同4篇
- 2025年度旅游項目導(dǎo)游勞務(wù)提供合同
- 2024年08月云南省農(nóng)村信用社秋季校園招考750名工作人員筆試歷年參考題庫附帶答案詳解
- 防詐騙安全知識培訓(xùn)課件
- 心肺復(fù)蘇課件2024
- 2024年股東股權(quán)繼承轉(zhuǎn)讓協(xié)議3篇
- 2024-2025學(xué)年江蘇省南京市高二上冊期末數(shù)學(xué)檢測試卷(含解析)
- 四川省名校2025屆高三第二次模擬考試英語試卷含解析
- 湖南財政經(jīng)濟學(xué)院專升本管理學(xué)真題
- 考研有機化學(xué)重點
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識
- 江蘇省建筑與裝飾工程計價定額(2014)電子表格版
- 基因的表達(dá)與調(diào)控.ppt
評論
0/150
提交評論