微機原理與接口技術課程設計簡單電子時鐘設計_第1頁
微機原理與接口技術課程設計簡單電子時鐘設計_第2頁
微機原理與接口技術課程設計簡單電子時鐘設計_第3頁
微機原理與接口技術課程設計簡單電子時鐘設計_第4頁
微機原理與接口技術課程設計簡單電子時鐘設計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、微微機機原原理理與與接接口口技技術術課程設計報告書課程設計報告書題目題目:簡單電子時鐘設計簡單電子時鐘設計姓名:姓名:學號:學號:p081512961p081512961 p081512970p081512970 p081512989p081512989 p081512960p081512960 p081512980p081512980班級:班級:20082008 級計算機科學與技術級計算機科學與技術 1 1 班班指導教師:指導教師: 設計時間:設計時間:20112011 年年 3 3 月月 7 7 月月西北民族大學數(shù)學與計算機學院西北民族大學數(shù)學與計算機學院 數(shù)學與計算機學院接口設計報告書g

2、rade:第 頁 共 頁1目 錄1.引言引言.21.1.背景和編寫目的.21.2.設計思想與原理.21.3.術語與縮寫.32.系統(tǒng)組成系統(tǒng)組成.33.硬件設計硬件設計.44.軟件編程軟件編程.135.系統(tǒng)調試系統(tǒng)調試.166.總結總結.167.附錄附錄.16 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁21. 引言引言1.1 背景和編寫目的背景和編寫目的本次課程設計主要利用 8253 定時器設計一個具有時、分、秒顯示的電子時鐘,并定義一個啟動鍵,當按下該鍵的時候,時鐘從當前的設定值(可以在緩沖區(qū)中設置)開始走。同時,再定義三個按鍵,分別對時、分、秒進行校正。通過本次課程設計我們應掌

3、握 8279、8259、8253 等芯片的使用方法和編程方法,進一步理解所學的相關芯片的原理、內部結構、使用方法等,學會相關芯片實際應用及編程。1.21.2 設計思想與原理設計思想與原理1.2.11.2.1 設計思想設計思想在本系統(tǒng)設計的電子時鐘以 8088 微處理器作為 cpu,用 8253 做定時計數(shù)器產生時鐘頻率,8279 做可編程并行接口顯示時鐘和鍵盤電路,8259 做中斷控制器產生中斷。在此系統(tǒng)中,8253 的功能是定時,接入 8253 的 clk 信號為周期性時鐘信號。8253 采用計數(shù)器 0,工作于方式 2,使 8253 的 out0 端輸出周期性的負脈沖信號。即每隔 20ms,

4、8253 的 out0 端就會輸出一個負脈沖的信號,此信號接 8259 的 ir2,當中斷到 50 次數(shù)后,cpu 即處理,使液晶顯示器上的時間發(fā)生變化。其中 8259 只需初始化 icw1,其功能是向 8259 表明 irx 輸入是電瓶觸發(fā)方式還是上升沿觸發(fā)方式,是單片 8259 還是多片 8259。8259 接收到信號后,產生中斷信號送 cpu 處理。1.21.2 .2.2 工作原理工作原理 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁3利用定時器 8253 和 8259 以及鍵盤和數(shù)碼顯示電路,設計一個電子時鐘,由 8253 中斷定時,小鍵盤控制電子時鐘的啟停及初始值的預置。

5、電子時鐘的顯示格式 hh:mm:ss 由左到右分別為時、分、秒,最大記時59:59:59 超過這個時間時分秒位都清零從 00:00:00 重新開始。設計一個定時顯示裝置,用六個數(shù)碼管顯示時間,用小鍵盤控制計時,設置和顯示時間。系統(tǒng)一運行就從 00 點 00 分 00 秒開始計時,并在數(shù)碼管上顯示時、分、秒當前值,而且,可以用鍵盤設置當前時間?;竟ぷ髟恚好堪俜种幻雽Π俜种幻爰拇嫫鞯膬热菁右?,并依次對秒、分、小時寄存器的內容加一;六個數(shù)碼管動態(tài)顯示時、分、秒的當前值。c 鍵:置初值,顯示 00:00:00g 鍵:顯示動態(tài)變化(啟動表) ;d 鍵:顯示靜態(tài)不變(表停止) ;e 鍵:終止程序,

6、返回 dos;p 鍵:設置時:分:秒的值1.3 術語與縮寫術語與縮寫 可編程并行芯片 8279 定時/計數(shù)器 8253 中斷控制器 8259七段數(shù)碼顯示管 延時 計數(shù) 比較 定時 中斷2. 系統(tǒng)組成系統(tǒng)組成程序由以下模塊組成:系統(tǒng)共有 5 個功能模塊,分別為,主控模塊,顯示模塊,定時模塊,中斷模塊,小鍵盤模塊。系統(tǒng)總體框圖如下: 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁4鍵盤讀入的數(shù)顯示緩沖的值秒脈沖顯示模塊主控模塊中斷模塊定時模塊小鍵盤模塊六個 led小鍵盤8279825382593. 硬件設計硬件設計3.1 設計所用芯片結構簡介設計所用芯片結構簡介3.1.13.1.1、82

7、59a8259a 芯片的內部結構及引腳芯片的內部結構及引腳中斷控制器 8259a 是 intel 公司專為控制優(yōu)先級中斷而設計開發(fā)的芯片。它將中斷源優(yōu)先排隊、辨別中斷源以及提供中斷矢量的電路集中于一片中。因此無需附加任何電路,只需對 8259a 編程,就可以管理 8 級中斷,并選擇優(yōu)先模式和中斷請求方式,即中斷結構可以由用戶編程來設定。8259 引腳圖如圖3.1.1,各引腳功能如下 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁58259 引腳圖如圖 3.3,各引腳功能如下。d7d0八條雙向數(shù)據線;wr(低電平有效)寫輸入信號;rd(低電平有效)讀輸入信號;cs(低電平有效)片選輸入

8、信號;a0地址信號;int中斷請求信號;inta(低電平有效)中斷響應信號;cas0cas2級聯(lián)信號,形成一條專用 8259a 總線,以便多片 8259a 的級聯(lián);sp/en從編程/允許級聯(lián)。在緩沖方式中,可用做輸出信號以控制總線緩沖器的接收和發(fā)送。在非緩沖方式中,作為輸入信號用于表示主片還是從片;ir0ir7外部中斷請求輸入線。要求輸入的中斷請求信號是由低電平到高電平的上升沿(并保持高電平到 cpu 響應時為止)或者是高電平。8259 中斷矢量地址與中斷信號之間的關系如表 3.1.1 所示: 表 3.1.1 8259 中斷矢量表 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁6中斷

9、序號01234567功能調用08h09h0ah0bh0ch0dh0eh0fh矢量地址20h23h24h27h28h2bh2ch2fh30h33h34h37h38h3bh3ch3fh說明時鐘鍵盤可用可用串行口可用可用可用3.1.23.1.2、82798279 芯片的內部結構及引腳芯片的內部結構及引腳intel8279 是一種通用的可編程序的鍵盤、顯示接口器件,單片器件就能夠完成鍵盤輸入和顯示控制兩種功能。 鍵盤部分提供一種掃描的工作方式,可以和具有 64 個按鍵的矩陣鍵盤相連接,能對鍵盤不斷掃描,自動消抖,自動識別按下的鍵并給出編碼,能對雙鍵或 n 鍵同時按下實行保護。 顯示部分為發(fā)光二極管、熒

10、光管及其它顯示器提供了按掃描方式工作的顯 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁7示接口,它為顯示器提供多路復用信號,可以顯示多達 16 位的字符或數(shù)字。db0db7:雙向數(shù)據總線,用來傳送 8279 與 cpu 之間的數(shù)據和命令。 clk:時鐘輸入線,用以產生內部定時的時鐘脈沖。 reset:復位輸入線,8279 復位后被置為字符顯示左端輸入,二鍵閉鎖的觸點回彈型式,程序時鐘前置分頻器被置為 31,reset 信號為高電平有效。 cs:片選輸入線,低電平有效,單片機在 cs 端為低時可以對 8279 讀/寫操作。 a0:緩沖器低位地址,當 a0 為高電平時,表示數(shù)據總線上為

11、命令或狀態(tài), 當為低電平時,表示數(shù)據總線上為命令或狀態(tài),當為低電平時,表示數(shù)據總線上為數(shù)據。 rd:讀信號輸入線,低電平有效,將緩沖器讀出,數(shù)據送往外部總線。 wr:寫信號輸入線,低電平有效,將緩立器讀出,將數(shù)據從外部數(shù)據總線寫入8279 的緩沖器。3.1.33.1.3 82538253 芯片的內部結構及引腳芯片的內部結構及引腳8253 可編程定時/計數(shù)器是 intel 公司生產的通用外圍芯片之一,有 3 個獨立的十六位計數(shù)器,技術頻率范圍為 02mhz,它所有的技術方式和操作方式都通過編程控制。8253 的功能用途是:(1)延時中斷(2)可編程頻率發(fā)生器(3)事件計數(shù)器(4)二進倍頻器(5)

12、實時時鐘(6)數(shù)字單穩(wěn)(7)復雜的電機控制器 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁88253 有六種工作方式:(1)方式 0:計數(shù)結束中斷(2)方式 1:可編程頻率發(fā)生器(3)方式 2:頻率發(fā)生器(4)方式 3:方波頻率發(fā)生器(5)方式 4:軟件觸發(fā)的選通信號(6)方式 5:硬件觸發(fā)的選通信號8253 引腳圖如圖 3.3 示,各引腳功能如下。d7d0八條雙向數(shù)據線;wr(低電平有效)寫輸入信號;rd(低電平有效)讀輸入信號;cs(低電平有效)片選輸入信號;a0、a1片內寄存器地址輸入信號;clk計數(shù)輸入,用于輸入定時基準脈沖或計數(shù)脈沖;out輸出信號,以相應的電平指示計數(shù)的

13、完成,或輸出脈沖波形;gate選通輸入(門控輸入) ,用于啟動或禁止計數(shù)器的操作,以使計數(shù)器和 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁9計測對象同步。 8253 端口地址的端口地址如表 3.1.3 所示表 3.1.3 8253 端口地址表信號線信號線寄存器寄存器編址編址0#計數(shù)器40h1#計數(shù)器41h2#計數(shù)器42hioy2控制寄存器43h3.23.2 分模塊介紹分模塊介紹3.2.13.2.1 主控模塊主控模塊 主控模塊是系的核心模塊,對 8253、8279 進行初始化,設置中斷向量,掃描鍵盤根據按鍵值作相應的處理。主要由軟件實現(xiàn)。它的主要功能是調用其它模塊對系統(tǒng)工作進行協(xié)調

14、,它的主要功能是讀小鍵盤輸入鍵值并執(zhí)行要做的工作,如果鍵值為 c 則將顯示初始值 00:00:00 置入顯示緩沖,并調用顯示模塊顯示。如果鍵值為 g 則開中斷, (中斷程序為秒最低位加一) 。如果鍵值為 d則關中斷,停止動態(tài)顯示。如鍵值為 p 則連續(xù)六次調用小鍵盤模塊,將鍵值依次存入顯示緩沖。并調用顯示模塊顯示。如果健值為 e,則終止程序,返回dos。3.2.2 定時模塊定時模塊定時模塊是為 8259 提供中斷請求信號的。由一片 8253 實現(xiàn),選用定時器0#,工作在方式 3,由于時鐘應該 1 秒走動一次,所以輸出值應為 1s,其輸出信號可作為 8259 的中斷請求信號。定時模塊原理圖如圖 3

15、.2.2 所示 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁10圖 3.2.23.2.33.2.3 中斷處理模塊中斷處理模塊中斷模塊實現(xiàn)動態(tài)顯示的,硬件為一片 8259,由于中斷請求信號為每秒一次,中斷程序該為時間按秒增加,并顯示,只要開中斷,便可實現(xiàn)每秒顯示時間增加一秒,從而達到動態(tài)顯示的效果。 中斷模塊原理圖如圖 3.2.3 所示3.2.43.2.4顯顯示模塊示模塊和小鍵盤模塊和小鍵盤模塊顯示模塊是將顯示緩沖區(qū)的數(shù)值送到 led 顯示的功能模塊,顯示緩沖區(qū)是由六個字節(jié)構成,分別保存小時的高位和低位,分鐘的高位和低位,秒鐘的高位和低位。硬件上由六個 led 構成,軟件上由掃描顯示

16、的方法實現(xiàn)。小鍵盤模塊送入主控模塊的子功能模塊。由軟件和硬件實現(xiàn),硬件上由小鍵 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁11盤和 8279 互連,將小鍵值由 8279 送入主控模塊。軟件上使用行掃描法獲得鍵值并送回主控模塊。本課題只考慮去抖動。執(zhí)行一個約 10ms 的延時程序后再掃描鍵盤,若 f0=1 表示真正有鍵按下,從而消除了抖動影響。其中 8279 接口電路如圖 3.2.4 所示圖 3.2.3 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁12中斷模塊原理圖中斷模塊原理圖顯示模塊原理圖如下圖所示顯示模塊原理圖如下圖所示 數(shù)學與計算機學院接口設計報告書grade:

17、第 頁 共 頁13鍵盤部分原理圖鍵盤部分原理圖4. 軟件編程軟件編程4.1 主程序流程圖主程序流程圖 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁14 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁154.2 定時中斷服務程序流程圖:定時中斷服務程序流程圖:保護現(xiàn)場秒單元+1n秒單元=60?秒單元清零,分單元+1分單元清零,小時單元+1分單元=60?時單元=24?小時單元=0顯示時分秒恢復現(xiàn)場中斷返回nnyyy 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁165. 系統(tǒng)仿真調試系統(tǒng)仿真調試 將編寫好的源程序輸入,編譯后出現(xiàn)很多錯誤,只能部分修改正確,因此導致編

18、譯無法通過,無法生成.exe 文件,同時也就不能加載到仿真軟件中,致使無法仿真。6. 總結總結本次課程設計做的是電子時鐘設計,本以為設計思路清楚,設計會簡單,可是經過兩周的時間,發(fā)現(xiàn)選擇了一個相對比較難的題目,最終也沒有將其完全設計出來,比較遺憾。 這個題目有幾個難處,一,是匯編語言與微機原理的相結合部分比較難,導致部分代碼不能正確寫出:二,對實驗箱了解不充分,設計起來對具體端口不理解。三,本次設計的大多數(shù)題目都能在網上找到可以借鑒的程序,而我們的雖然找到了,但是遇到了相當不擅長的端口問題,暴漏了平常學習的缺漏。四,總結,中斷,計數(shù),以及端口等的知識在學習中沒有能夠很好的學習,遇到具體細節(jié)問題

19、時,解決不了,不過確實對微機原理的相關知識很有收獲。7. 附錄附錄7.1 參考文獻參考文獻1、馬義德,張在峰,徐光柱,杜桂芳.微型計算機技術及應用(第 3 版).高等教育出版社,20072、周明德編著.微型計算機系統(tǒng)原理及應用(第四版).北京:清華大學出版社,20023、 李順增,吳國東,趙河明等.微機原理及接口技術.北京:機械工業(yè)出版社,20064、楊立新.微型計算機原理和應用m.北京:科學技術文獻出版社, 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁171986.11 5、李大友.微型計算機原理m.北京:清華大學出版社,1998.76、眭碧霞.微型計算機原理與組成m.人民郵電出

20、版社,2003.8 7、閻石 主編.數(shù)字電子技術基礎.高等教育出版社7.2 總體原理圖總體原理圖 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁19 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁207.37.3 源程序清單源程序清單d8279 equ 200hc8279 equ 202hc8253 equ 20bhd82530 equ 208hd82531 equ 209hc82590 equ 210hc82591 equ 211hdata segmenthour db 00minute db 00stat db 00led db 3fh,06h,5bh,4fh,66h,

21、6dh,7dh,27h,7fh,6fh,00h,00hdisbuf db 8 dup(0)data endsstack segment stack dw 100 dup(?)stack endscode segment assume cs:code,ds:datastart:mov ax,data mov ds,ax;=init 8259= cli mov al,13h mov dx,c82590 out dx,al mov al,8 mov dx,c82591 out dx,al mov al,1 out dx,al mov ax,0 mov es,ax lea ax,int0 mov es

22、:4*8,ax mov ax,cs mov es:4*8+2,ax;=init 8253= 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁21 mov dx,c8253 mov al,36h out dx,al mov dx,d82530 mov ax,10000 out dx,al mov al,ah out dx,al mov dx,c8253 mov al,36h out dx,al mov dx,d82531 mov ax,100 out dx,al mov al,ah out dx,al;=init 8279= mov dx,c8279 mov al,00h out dx,

23、al mov al,34h out dx,al mov al,0d2h out dx,al mov stat,0 mov dx,c82591 mov al,0feh out dx,al;=wait1:mov dx,c8279 in al,dx mov ah,al and al,80h jne wait1 mov al,ah and al,0fh cmp al,00h je wait1 mov al,40h out dx,alchk: mov dx,d8279 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁22 in al,dx cmp al,33h jne bbb mov dx,c8

24、2591 mov al,0ffh out dx,al mov al,stat inc al mov stat,al cmp al,1 jnz aa1 mov si,offset disbuf mov cx,4 mov al,00bb0: mov si,al inc si loop bb0 call disp jmp chk;=aa1: mp al,2 jnz aa2 mov si,offset disbuf mov al,00 mov si,al inc si mov si,al add si,2 mov si,al inc si mov si,al call disp jmp chk;=aa

25、2: mp al,3 jnz aa3 mov si,offset disbuf+2 mov cx,4 mov al,00bb1: mov si,al inc si 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁23 loop bb1 call disp jmp chk;=aa3: mov stat,00 mov al,0feh mov dx,c82591 out dx,al call fullsfm call disp jmp chk;=bbb: cmp al,3bh je bb0 jmp cccbb0: mov al,stat cmp al,1 jnz bbb1 mov al,ho

26、ur add al,1 daa mov hour,al call fullshi call disp jmp bbb;=bbb1: mov al,stat cmp al,2 jnz bbb3 mov al,minute add al,1 daa mov minute,al call fullfen call disp jmp bbb;=bbb3: mov al,stat cmp al,3 jz bbb4 jmp ddd 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁24bbb4: mov al,second add al,1 daa mov second,al call fullmi

27、ao call disp jmp bbb;= ccc: cmp al,3ah je cc0 jmp dddcc0: mov al,stat cmp al,1 jnz ccc1 mov al,hour sub al,1 das mov al,hour sub al,1 das mov hour,al call fullsh1 call disp jmp cccccc1: mov al,stat cmp al,2 jnz ccc3 mov al,minute sub al,1 das mov minute,al call fullfen call disp jmp ccc ccc3: mov al

28、,stat cmp al,3 jz ccc4 jmp ddd 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁25ccc4: mov al,second sub al,1 das mov second,al call fullmiao call disp jmp cccddd: mov stat,0 mov al,0ffh mov dx,c82591 out dx,al call fullsfm call disp jmp chkint0: push ax push bx push di push si mov al,second add al,1 daa mov second,al

29、cmp al,60h jnz fanhui mov second,0 mov al,minute add al,1 daa mov minute,al cmp al,60h jnz fanhui mov minute,0 mov al,hour add al,1 daa mov hour,al cmp al,24h jnz fanhui mov hour,0 call fullsfm call disp 數(shù)學與計算機學院接口設計報告書grade:第 頁 共 頁26 pop si pop di pop bx pop ax iretfull sfm proc near lea di,disbuf lea bx,led lea si,second mov cx,3aa4: mov al,si and al,0fh xlat mov di,a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論