惠州學(xué)院微機(jī)報(bào)告_第1頁(yè)
惠州學(xué)院微機(jī)報(bào)告_第2頁(yè)
惠州學(xué)院微機(jī)報(bào)告_第3頁(yè)
惠州學(xué)院微機(jī)報(bào)告_第4頁(yè)
惠州學(xué)院微機(jī)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、惠州學(xué)院計(jì)算機(jī)科學(xué)系課程設(shè)計(jì)(綜合實(shí)驗(yàn))報(bào)告( 2015-2016年度第一學(xué)期)課程名稱: 微型計(jì)算機(jī)技術(shù) 題 目: 多功能實(shí)時(shí)時(shí)鐘 班 級(jí): 最牛逼班 學(xué) 號(hào): 111111222222 學(xué)生姓名: 杰克 指導(dǎo)教師: 老師 設(shè)計(jì)周數(shù): 1周 同 組 人: 路飛,鳴人 日期: 2015年 12 月 31 日一、 課程設(shè)計(jì)的目的與要求。1.1 設(shè)計(jì)的目的。通過(guò)本次課程設(shè)計(jì)要掌握芯片使用的方法,靈活運(yùn)用課本知識(shí),加深所學(xué)的知識(shí),對(duì)所學(xué)的相關(guān)芯片的原理、內(nèi)部結(jié)構(gòu)、使用方法等有更加深刻的了解,學(xué)會(huì)利用課本知識(shí)聯(lián)系實(shí)際應(yīng)用及編程。1.2 設(shè)計(jì)的要求。(1) 實(shí)時(shí)時(shí)鐘 由時(shí)鐘信號(hào)產(chǎn)生部分和時(shí)間顯示部分組成

2、時(shí)鐘計(jì)時(shí)器 ,計(jì)算中斷時(shí)間準(zhǔn)確計(jì)時(shí)、分、秒; (2) 小鍵盤控制多功能選擇 采用小鍵盤輸入,通過(guò)小鍵盤LED數(shù)碼管顯示,不同鍵輸入對(duì)應(yīng)不同功能(如時(shí)間暫停開(kāi)始,設(shè)置時(shí)間等)。1.3 設(shè)計(jì)的意義。通過(guò)了解綜合問(wèn)題的程序設(shè)計(jì)掌握實(shí)時(shí)處理程序的編制和調(diào)試方法,掌握一般的設(shè)計(jì)步驟和流程,使我們以后搞設(shè)計(jì)時(shí)邏輯更加清晰。二、 設(shè)計(jì)正文。2.1 設(shè)計(jì)的基本原理。2.1.1 設(shè)計(jì)所用芯片結(jié)構(gòu) 8253的功能用途是:(1)延時(shí)中斷 (2)可編程頻率發(fā)生器 (3)事件計(jì)數(shù)器 (4)二進(jìn)倍頻器 (5)實(shí)時(shí)時(shí)鐘(6)數(shù)字單穩(wěn)(7)復(fù)雜的電機(jī)控制器8253有六種工作方式:(1)方式0:計(jì)數(shù)結(jié)束中斷(2)方式1:可編程

3、頻率發(fā)生器(3)方式2:頻率發(fā)生器(4)方式3:方波頻率發(fā)生器(5)方式4:軟件觸發(fā)的選通信號(hào)(6)方式5:硬件觸發(fā)的選通信號(hào)8253各引腳功能如下。D7D0八條雙向數(shù)據(jù)線;WR(低電平有效)寫輸入信號(hào);RD(低電平有效)讀輸入信號(hào);CS(低電平有效)片選輸入信號(hào);A0、A1片內(nèi)寄存器地址輸入信號(hào);CLK計(jì)數(shù)輸入,用于輸入定時(shí)基準(zhǔn)脈沖或計(jì)數(shù)脈沖;OUT輸出信號(hào),以相應(yīng)的電平指示計(jì)數(shù)的完成,或輸出脈沖波形;GATE選通輸入(門控輸入),用于啟動(dòng)或禁止計(jì)數(shù)器的操作,以使計(jì)數(shù)器和計(jì)測(cè)對(duì)象同步。2.2 設(shè)計(jì)方案。2.2.1 總體方案。(見(jiàn)附錄)2.2.2 硬件原理圖。23 具體模塊設(shè)計(jì)。2.3.1主程

4、序模塊:;*;* 鍵盤顯示控制實(shí)驗(yàn) *;*;inta00 equ 20h ;8259a port,口地址inta01 equ 21h ;8259a port,口地址port0 equ 2b0h ;8279 data port,8279數(shù)據(jù)口port1 equ 2b1h ;8279 ctrl port,8279控制口time0 equ 280h ;8253 time0 port,8253定時(shí)器0口地址time1 equ 281h ;8253 time1 port,8253定時(shí)器1口地址timec equ 283h ;8253 ctrl port,8253控制口地址stacks segment s

5、tacksta dw 512 dup(?)top equ length stastacks endsdata segmentcsreg dw ?ipreg dw ?irq_times dw 00hbuf db 0 ;count,計(jì)數(shù)單元sign db 0 ;flage,計(jì)數(shù)標(biāo)志sec1 db 0 ;hour hight,秒高位sec2 db 0 ;houp low,秒低位min1 db 0 ;min hight,分高位min2 db 0 ;min low,分低位hour1 db 0 ;sec hight,時(shí)高位hour2 db 0 ;sec low,時(shí)低位err1 db 0 ;error fl

6、age,出錯(cuò)標(biāo)志hms db 0 ;00 is hour,11 is min,22 is sec,預(yù)置時(shí)、分、秒標(biāo)志led db 3fh,06,5bh,4fh,66h,6dh,7dh,07,7fh,6fh,79h,40hmes db 'pleas first create the irq pulse!',0ah,0dh,0ah,0dh db 'in small keybord:',0ah,0dh db 'c-clear to zero; g-go ahead',0ah,0dh db 'd-stop the disply;e-exit

7、9;,0ah,0dh db 'p-position the beginning time',0ah,0dh,'$'data endscode segmentmain proc far assume cs:code,ds:data,ss:stacks,es:datastart: cli mov ax,data mov ds,ax mov buf,0 mov sign,01 mov sec1,0 mov sec2,0 mov min1,0 mov min2,0 mov hour1,0 mov hour2,0 mov err1,0 mov dx,timec ;8253

8、初始化 mov al,36h out dx,al mov dx,time0 mov ax,1000 out dx,al mov al,ah out dx,al mov dx,timec mov al, 74h out dx,al mov ax,100 mov dx,time1 ;定時(shí)器1每0.1秒中斷一次 out dx,al mov al,ah out dx,al mov ax,stacks mov ss,ax mov sp,top mov ax,data mov ds,ax mov es,ax mov dx,offset mes mov ah,09 int 21h mov ax,cs mov

9、 ds,ax mov dx,offset int_proc mov ax,250bh int 21h in al,21h and al,0f7h out 21h,al mov dx,port1 mov al,0d3h out dx,al ;8279 clear,清零 mov al,2ah out dx,al ;8279 clock,置時(shí)鐘命令 mov al,40h out dx,al ;read fifo ram command,fifo ram命令 mov al,00h out dx,al ;keybord disply mode,置鍵盤顯示模式 mov al,80h out dx,al ;

10、write ram command,寫ram命令 stikey1: call key2 ;call keybord and disply,調(diào)鍵盤顯示子命令 cmp hour2,0ah ;err flage jz next2next1: cmp al,0ch ;'c' command,'c'命令否 jnz lp0next2: mov sign,00h mov hour2,00h mov hour1,00h mov min2,00h mov min1,00h mov sec2,00h mov sec1,00hlp0: cmp al,0eh ;'e'

11、command,'e'命令退出程序 jnz lp1 mov sign,00h jmp exitlp1: cmp al,10h ;'g' command,'g'命令否 jnz lp2 mov sign,01h jmp key1lp2: cmp al,0dh ;'d' command,'d'命令否 jnz seti mov sign,00hkey3: jmp key1seti: cmp al,12h ;'p' command,'p'命令否 jnz key1 mov sign,00h ;a

12、dd 1 flage,'00'為預(yù)置時(shí)標(biāo)志 mov hms,00h ;hour flage call high0 cmp err1,01h jz key3 call low0 cmp err1,01h jz key3 mov hms,11h ;min flage,'11'為預(yù)置分標(biāo)志 call high0 cmp err1,01h jz key3 call low0 cmp err1,01h jz key3 mov hms,22h ;sec flage,'22'為預(yù)置秒標(biāo)志 call high0 cmp err1,01h jz key3 call

13、 low0 jmp key1exit: in al,21h ;關(guān)中斷IRQ3 or al,08h out 21h,al sti mov ax,4c00h int 21hmain endpint_proc proc far cli push ax push bx push cx push dx push si push di push ds cmp sign,00 ;sign is add 1 flage,是否允許計(jì)數(shù) jz endt1 inc buf ;buf is count,計(jì)數(shù)單元加1 cmp buf,10 jl endt mov buf,0 inc sec1 cmp sec1,10 j

14、l endt mov sec1,0 inc sec2 cmp sec2,6 jl endt mov sec2,0 inc min1 cmp min1,10 jl endt mov min1,0 inc min2 cmp min2,6 jl endt mov min2,0 inc hour1 cmp hour2,2 jl hh cmp hour1,4 jl endt mov hour1,0 mov hour2,0endt1: jmp endthh: cmp hour1,10 jl endt mov hour1,0 inc hour2endt: mov al,20h ;send EOI mov d

15、x,inta00 out dx,al mov cx,0ffffhloopx: nop loop loopx ;延時(shí) pop ds pop di pop si pop dx pop cx pop bx pop ax mov al,20h out 20h,al iretint_proc endpkey2 proc near mov dx,port1 mov al,0d1h out dx,al ;clear display,清顯示wrep: call disp ;調(diào)顯示子程序 mov dx,port1 in al,dx and al,07h jz wrepkeyn: mov dx,port0 ;讀狀

16、態(tài) in al,dx mov bl,al and al,07h and bl,38h mov cl,03 shr bl,cl cmp bl,00h ;是否第一行鍵 jnz line1 add al,08h jmp quit1line1: cmp bl,01h jnz line2 ;是否第二行鍵 jmp quit1line2: add al,10hquit1: retkey2 endpdisp proc near push cx mov ax,data mov ds,ax mov dx,port1 mov al,90h out dx,al mov si,offset sec1 mov cx,00

17、06 mov bx,offset leddisp1: cld lodsb xlat mov dx,port0 out dx,al loop disp1 pop cx retdisp endperrs proc near mov hour2,0ah mov hour1,0bh ;error mov min2,0bh ;disply 'E-'顯示出錯(cuò)標(biāo)志 mov min1,0bh mov sec2,0bh mov sec1,0bh mov err1,01h ;err flage,標(biāo)記出錯(cuò) reterrs endphigh0 proc near call key2 mov err1,

18、00 cmp hms,00h ;hms is hour min sc flage,預(yù)置時(shí)、分、秒 jnz min0 cmp al,02h ;00 is hour,預(yù)置時(shí) jg error ;11 is min,預(yù)置分 mov hour2,al ;22 is sec,預(yù)置秒 jmp hqut1min0: cmp hms,11h jnz sec0 cmp al,05h jg error mov min2,al jmp hqut1sec0: cmp al,05h jg error mov sec2,alhqut1: ret error: call errs rethigh0 endplow0 pro

19、c near call key2 ;get hour min sec low,預(yù)置時(shí)、分、秒低位 mov err1,00 cmp hms,00h jnz min3 mov dl,hour2 cmp dl,01 jg hour3 cmp al,09h jg error mov hour1,al jmp lqut1hour3: cmp al,03h jg error mov hour1,al jmp lqut1min3: cmp hms,11h jnz sec3 cmp al,09h jg error mov min1,al jmp lqut1sec3: cmp al,09h jg error m

20、ov sec1,allqut1: retlow0 endpcode endsend start三、 課程設(shè)計(jì)的結(jié)論。這次課程設(shè)計(jì)我學(xué)會(huì)了很多東西,首先是微機(jī)里面有些不懂的東西,小鍵盤這個(gè)設(shè)備我們?cè)谏险n很少接觸的東西,在實(shí)驗(yàn)時(shí)我們發(fā)現(xiàn)用小鍵盤非常的方便,比幾個(gè)實(shí)驗(yàn)箱并起來(lái)方便多了,于是我們收集了小鍵盤的相關(guān)用法的資料,著手開(kāi)始做實(shí)驗(yàn),邊做邊改實(shí)驗(yàn)的代碼,最后終于成功了;其次是堅(jiān)持不懈的去做,實(shí)驗(yàn)室里面有的實(shí)驗(yàn)箱接觸有點(diǎn)不好,我們換了很多個(gè)實(shí)驗(yàn)箱和電腦,但是怎么做都不行,做了幾個(gè)小時(shí)都不行,代碼什么的都是按要求來(lái)做的就是不行,我們還開(kāi)始懷疑我們的思路究竟是不是正確的,最后終于在一個(gè)實(shí)驗(yàn)箱和一臺(tái)電腦的組合下有反應(yīng)了,努力是有回報(bào)的;最后是要學(xué)會(huì)相互合作,有時(shí)候一個(gè)人是解決不了問(wèn)題的,個(gè)人的能力有限,只有相互合作,共同努力,做事才能更加快,力量才更加大。在這次實(shí)驗(yàn)中,開(kāi)始時(shí)我們做得并不好,有很多問(wèn)題,被退回重做。我們明白做事不能馬馬虎虎,要做一件事就要認(rèn)真地做完,所以在第二次做時(shí),我們都很認(rèn)真地做,功夫不負(fù)有心人,最后竟然得到了一個(gè)更好的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論