版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課</b></p><p><b> 程</b></p><p><b> 設</b></p><p><b> 計</b></p><p><b> 報</b></p><p
2、><b> 告</b></p><p> 2015年1月12日</p><p><b> 目錄</b></p><p> 一、設計任務說明4</p><p> 1.1、實驗目的4</p><p> 1.2、實驗內(nèi)容4</p><p
3、><b> 二、需求分析5</b></p><p> 2.1、計算機的重要性5</p><p> 2.2、8279芯片5</p><p><b> 三、設計方案5</b></p><p> 3.1、課程設計步驟與方法5</p><p> 3.2、課
4、程設計說明書與圖紙6</p><p> 3.3、設計程序9</p><p><b> 四、測試分析16</b></p><p><b> 五、總結16</b></p><p><b> 六、參考文獻16</b></p><p> 課程
5、設計報告正文內(nèi)容</p><p><b> 設計任務說明</b></p><p><b> 1.1、實驗目的</b></p><p> 1.掌握8279鍵盤顯示電路的基本功能及編程方法</p><p> 2.掌握一般鍵盤盒顯示電路的工作原理</p><p> 3.進
6、一步掌握定時器的使用和中斷處理程序的編程方法</p><p><b> 1.2、實驗內(nèi)容</b></p><p> 利用實驗臺上提供的定時器8253和擴展板上提供的8279以及鍵盤和數(shù)碼顯示電路,設計一個秒表,由8253中斷定時,小鍵盤控制秒表的啟停及初始值的預置。</p><p> 秒表的顯示格式**.**.**
7、由左到右分別為分、秒、百分秒</p><p><b> 要求具體如下:</b></p><p> 1. C鍵:清楚,顯示00.00.002. G鍵:啟動,秒表計時</p><p> 3. D鍵:停止,秒表停止計時</p><p> 4. P鍵:設置分、秒、百分秒值。輸入時
8、依次為分、秒、百分秒,同時應有判斷輸入錯誤的能力,若輸入有錯,則顯示:E - - - - -,此時敲P鍵可重新輸入預置值。</p><p> 5. E鍵:程序退出,返回DOS</p><p><b> 二、需求分析</b></p><p> 2.1、計算機的重要性 </p
9、><p> 計算機是當代眾多新興技術中發(fā)展最快、應用最廣的一項技術,也是滲透力最強,對社會發(fā)展影響最為深遠的高新技術。今天它已經(jīng)逐漸深入到社會的每一個細胞,改變著人們的生產(chǎn)方式,社會活動方式甚至家庭生活方式。計算機發(fā)展如此迅速,影響如此深遠。有其深刻的社會背景。</p><p> 2.2、8279芯片</p><p> 8279是一種通用的可編程的鍵盤/顯示器接口
10、器件,可對64個開關組成的鍵盤矩陣進行自動掃描,接收鍵盤上的輸入信息,并在有鍵輸入時向單片機請求中斷,還能對8位或16位LED自動掃描,使顯示緩沖器的內(nèi)容在LED上顯示出來。利用8279對鍵盤/顯示器的自動掃描,可以減輕CPU負擔,具有顯示穩(wěn)定、程序簡單、不會出現(xiàn)誤動作等特點。是一種應用非常廣泛的芯片,學習8279芯片的簡單應用時十分有必要的。</p><p><b> 三、設計方案</b>
11、;</p><p> 3.1、課程設計步驟與方法</p><p> 1、本設計是做在一塊擴展電路板上,用一根20芯扁平電纜與實驗臺上擴展插頭J7相連。</p><p> 2、編程1:使得在小鍵盤上每按一個健,6位數(shù)碼管上顯示出相應字符,它們的對應關系如下:</p><p> 小鍵盤 顯示 小鍵盤
12、 顯示</p><p> 0 — 0 C —C</p><p> 1 — 1 D — d</p><p> 2 — 2 E —E</p><p>
13、3 — 3 F — F</p><p> 4 — 4 G —q</p><p> 5 — 5 M —</p><p> 6 — 6 P —p&l
14、t;/p><p> 7 — 7 W — </p><p> 8 — 8 X — </p><p> 9 — 9 Y — </p><p> A —
15、 R — 返回</p><p> B — b</p><p> 3、編程2:中斷編程</p><p> 利用實驗臺上提供的定時器8253和擴展板上提供的8279以及鍵盤和數(shù)碼顯示電路,</p><p> 設計一個電子鐘。由8253中斷定時,小鍵盤控制電子鐘的啟停及初始值的預置。&
16、lt;/p><p> 電子鐘顯示格式如下:</p><p> XX.XX.XX. 由左向右分別為時、分、秒</p><p><b> 要求具有如下功能:</b></p><p> ?、?、C鍵:清除,顯示全零。</p><p> ?、?、G鍵:啟動,電子鐘計時。</p><p&g
17、t; ③、D鍵:停止,電子鐘停止計時。</p><p> ?、?、P鍵:設置時、分、秒值。輸入時依次為時、分、秒,同時應有判斷輸入錯誤的</p><p> 能力,若輸入有錯,則顯示:E-----。此時敲P鍵可重新輸入預置值。</p><p> ?、?、E鍵:程序退出。</p><p> 3.2、課程設計說明書與圖紙</p>&
18、lt;p><b> (一)設計說明</b></p><p> 1.本設計編程1 接線方法:</p><p> 用一根20芯扁平電纜將實驗擴展板與實驗臺上擴展插頭J7相連。</p><p> 2.本設計編程2 接線方法:</p><p> ?。?)用一根20芯扁平電纜將實驗擴展板與實驗臺上擴展插頭J7相連。&
19、lt;/p><p> ?。?)實驗臺上8253 CLK0 接1MHZ,GATE0 和GATE1接+5V,OUT0 接CLK1,OUT1 接IRQ,CS接280H~287H。</p><p> (二)設計電路如下圖所示:</p><p> ?。ㄈ﹨⒖剂鞒虉D如下所示:</p><p> 鍵盤顯示子程序流程圖:KEY2</p>&l
20、t;p> 3.3、設計程序(部分代碼)</p><p><b> 源程序:</b></p><p> ASSUME CS:CODE,DS:DATA,SS:STACK</p><p> START: CLI</p
21、><p> MOV AX,DATA</p><p> MOV DS,AX</p><p> MOV BUF,0</p><p> MOV
22、60; SIGH,01</p><p> MOV SEC1,0</p><p> MOV MIN1,0</p><p> MOV MIN2,0</p>
23、<p> MOV HOUR1,0</p><p> MOV HOUR2,0</p><p> MOV ERR1,0</p><p> MOV
24、 DX,TIMEC ;8253初始化</p><p> MOV AL,36H</p><p> OUT
25、160; DX,AL</p><p> MOV DX,TIME0</p><p> MOV AX,100</p><p> OUT DX,AL</p><p&
26、gt; MOV AL,AH</p><p> OUT DX,AL</p><p> MOV DX,TIMEC</p><p> MOV
27、160;AL,74H</p><p> OUT DX,AL</p><p> MOV AX,10</p><p> MOV DX,TIME1 ;定時器每0.1S中斷
28、1次</p><p> OUT DX,AL</p><p> MOV AL,AH</p><p> OUT DX,AL</p><p> MOV
29、60; AX,STACK</p><p> MOV SS,AX</p><p> MOV SP,TOP</p><p> MOV AX,DATA</
30、p><p> MOV DS,AX</p><p> MOV DX,OFFSET MES</p><p> MOV AH,09</p><p> INT
31、60; 21H</p><p> MOV AX,CS</p><p> MOV DS,AX</p><p> MOV DX,OFFSET
32、60;INT_PROC</p><p> MOV AX,250FH</p><p> INT 21H ;置IRQT中斷向量</p><p> MOV
33、 DX,INTA01</p><p> IN AL,DX</p><p> AND AL,7FH</p><p> OUT DX,AL</p>
34、<p> MOV DX,PORT1</p><p> MOV AL,0D3H</p><p> OUT DX,AL ;8279清零</p>
35、<p> MOV AL,2AH OUT DX,AL ;置8279時鐘命令</p><p> MOV
36、160; AL,40H</p><p> OUT DX,AL ;讀FIFO RAM命令</p><p> MOV AL,00H</p><p> OUT
37、 DX,AL ;置鍵盤顯示模式</p><p> MOV AL,80H</p><p> OUT DX,AL ;寫RA
38、M命令</p><p><b> STI</b></p><p> KEY1: CALL KET2 ;調(diào)鍵盤顯示子程序</p><p> CMP
39、 HOUR2,0AH</p><p> JZ NEXT2</p><p> NEXT1: CMP AL,0CH
40、; ;是否“C”命令</p><p> JNZ LP0</p><p> NEXT2: MOV SIGH,00H</p><p> MOV
41、0; HOUR2,00H</p><p> MOV HOUR1,00H</p><p> MOV MIN2,00H</p><p> MOV MIN1,0
42、0H</p><p> MOV SEC2,00H</p><p> MOV SEC1,00H</p><p> LP0: CMP
43、 AL,0EH ;是否“E”命令</p><p> JNZ LP1</p><p> MOV SIGH,00H</p><p><b> CLI</b>
44、;</p><p> MOV DX,INTA01</p><p> IN AL,DX</p><p> OR AL,80H</p><p>
45、 OUT DX,AL</p><p><b> STI</b></p><p> MOV AX,4C00H ;是“E”命令返回DOS</p><p> INT &
46、#160; 21H</p><p> LP1: CMP AL,10H ;是否“G”命令</p><p> JNZ LP2</
47、p><p> MOV SIGH,01H</p><p> JMP KEY1</p><p> LP2: CMP
48、;AL,0DH ;是否“D”命令</p><p> JNZ SETI</p><p> MOV SIGH,00H</p><p> KEY3:
49、60; JMP KEY1</p><p> SETI: CMP AL,12H ;是否“P”命令</p><p> JNZ
50、 KET1</p><p> MOV SIGH,00H ;“00”為預置時標志</p><p> MOV HMS,00H</p><p> CALL &
51、#160; HIGH0</p><p> CMP ERR1,01H</p><p> JZ KEY3</p><p> CALL LOW0</p><p>
52、; CMP ERR1,01H</p><p> JZ KEY3</p><p> MOV HMS,11H ;“11”為預置分標志</p><p>
53、 CALL HIGH0</p><p> CMP ERR1,01H</p><p> JZ KEY3</p><p> MOV H
54、MS,22H ;“22”為預置秒標志</p><p> CALL HIGH0</p><p> CMP ERR1,01H</p><p> JZ KEY3</p>
55、;<p> CALL LOW0</p><p> JMP KEY1</p><p> MAIN ENDP</p><p> INT_PROC:
56、60;STI</p><p> PUSH AX</p><p> PUSH BX</p><p> PUSH CX</p><p> PUSH DX&l
57、t;/p><p> PUSH SI</p><p> PUSH DI</p><p> PUAH DS</p><p> CMP SIGH,00
58、 ;是否允許記數(shù)</p><p> JZ ENDT1</p><p>
59、 INC BUF ;記數(shù)單元加1</p><p> CM
60、P BUF,10</p><p> JL ENDT</p><p> MOV BUF,0</p><p> INC S
61、EC1</p><p> CMP SEC1,10</p><p> JL ENDT</p><p> MOV SEC1,0</p><p> INC&
62、#160; SEC2</p><p> CMP SEC2,6</p><p> JL ENDT</p><p> MOV SEC2
63、,0</p><p> INC MIN1</p><p> CMP MIN1,10</p><p> JL ENDT</p><p> MOV
64、0; MIN1,0</p><p> INC MIN2</p><p> CMP MIN2,6</p><p> JL ENDT&
65、lt;/p><p> MOV MIN2,0</p><p> INC HOUR1</p><p> CMP HPUR2,2</p><p> JL
66、0; HH</p><p> CMP HOUR1,4</p><p> JL ENDT</p><p> MOV HOUR1,0&
67、lt;/p><p> MOV HOUR2,0</p><p> ENDT1: JMP ENDT</p><p> HH:
68、 CMP HOUR1,10</p><p> JL ENDT</p><p> MOV HOUR1,0</p><p>
69、 INC HOUR2</p><p> ENDT: MOV DX,INTA00</p><p> MOV
70、AL,20H</p><p> OUT DX,AL</p><p> POP DS</p><p> POP DI</p><p&g
71、t; POP SI</p><p> POP DX</p><p> POP CX</p><p> POP
72、60; BX</p><p> POP AX</p><p><b> IRET</b></p><p> KEY2 PROC
73、160; NEAR</p><p> MOV DX,PORT1</p><p> MOV AL,0D1H</p><p> OUT DX,AL
74、 ;清顯示</p><p> WAEP: CALL DISP ;調(diào)顯示子程序</p><p> MOV
75、0; DX,PORT1</p><p> IN AL,DX</p><p> AND AL,07H</p><p> JZ
76、60; WAEP</p><p> KETN: MOV DX,PORT0 ;讀狀態(tài)</p><p> IN &
77、#160; AL,DX</p><p> MOV BL,AL</p><p> AND AL,07H</p><p> AND &
78、#160;BL,38H</p><p> MOV CL,03</p><p> SHR BL,CL</p><p> CMP BL,00H &
79、#160; ;是否第一行鍵</p><p> JNZ LINE1</p><p> ADD AL,08H</p><p> JMP
80、160;QUIT1</p><p> LINE1: CMP BL,01H</p><p> JNZ LINE2 ;是否第二行鍵</
81、p><p> JMP QUIT1</p><p> LINE2: ADD AL,10H</p><p> QUIT1: &
82、#160;RET</p><p> KEY2 ENDP</p><p> DISP PROC NEAR</p><p> PUSH
83、; CX</p><p> MOV AX,DATA</p><p> MOV DS,AX</p><p> MOV &
84、#160;DX,PORT1</p><p> MOV AL,90H</p><p> OUT DX,AL</p><p> MOV SI,OFFSET&
85、#160;SEC1</p><p> MOV CX,0006</p><p> MOV BX,OFFSET LED</p><p> DISP1: CLD
86、</p><p><b> LODSB</b></p><p><b> XLAT</b></p><p> MOV DX,PORT0</p><p> OUT &
87、#160;DX,AL</p><p> LOOP DISP1</p><p> POP CX</p><p><b> RET</b></p><p> DISP
88、 ENDP</p><p> ERR PROC NEAR</p><p> MOV HOUR2,0AH<
89、;/p><p> MOV HOUR1,0BH</p><p> MOV MIN2,0BH ;顯示“E----”</p><p> MOV
90、0; MIN1,0BH</p><p> MOV SEC2,0BH</p><p> MOV SEC1,0BH</p><p> MOV
91、160; ERR1,01H ;出錯標志</p><p><b> RET</b></p><p> ERR ENDP</p><p> HIGH0
92、0; PROC NEAR</p><p> CALL KEY2</p><p> MOV ERR1,00</p><p> CMP
93、 HMS,00H ;HMS是預置時、分、秒標志</p><p> JNZ MIN0</p><p> CMP AL,02H ;00預置時&
94、lt;/p><p> JG ERROR ;11預置分</p><p> MOV HOUR2,AL ;22預置秒<
95、/p><p> JMP HOUT1</p><p> MIN0: CMP HMS,11H</p><p> JNZ
96、60; SEC0</p><p> CMP AL,05H</p><p> JG ERROR</p><p> MOV
97、;MIN2,AL</p><p> JMP HOUT1</p><p> SEC0: CMP AL,05H</p><p> JG
98、; ERROR</p><p> MOV SEC2,AL</p><p> HOUT1: RET</p><p> ERROR:
99、 CALL ERR</p><p><b> RET</b></p><p> HIGH0 ENDP</p><p> LOW0 &
100、#160;PROC NEAR</p><p> CALL KEY2 ;預置時、分、秒低位</p><p> MOV ERR1,00</p
101、><p> CMP HMS,00H</p><p> JNZ MIN3</p><p> MOV DL,HOUR2</p><p>
102、 CMP DL,01</p><p> JG HOUR3</p><p> CMP AL,09H</p><p> JG
103、60; ERROR</p><p> MOV HOUR1,AL</p><p> JMP LQUT1</p><p> HOUR3:
104、0; CMP AL,03H</p><p> JG ERROR</p><p> MOV HOUR1,AL</p><p&g
105、t; JMP LQUT1</p><p> MIN3: CMP HMS,11H</p><p> JNZ
106、SEC3</p><p> CMP AL,09H</p><p> JG ERROR</p><p> MOV MIN1,AL</p&
107、gt;<p> JMP LQUT1</p><p> SEC3: CMP AL,09H</p><p> JG
108、160; ERROR</p><p> MOV SEC1,AL</p><p> LQUT1: RET</p><p> LOW0
109、;ENDP</p><p> CODE ENDS</p><p> END START</p><p><b> 四、測試分析</b></p><
110、;p> 按要求在實驗臺上連好線,打開電源,然后在PC機上編譯、連接、運行程序,再測試功能:</p><p><b> 按P鍵設置時分秒</b></p><p><b> 按C清零</b></p><p><b> 按G啟動計時</b></p><p><b&
111、gt; 按D停止計時</b></p><p><b> 按E返回DOS</b></p><p> 輸入有錯顯示E-----,此時按P可重新輸入。</p><p><b> 五、總結</b></p><p> 本次設計是兩人一組,實驗設計中,能夠感受到若是光靠自己的能力,是不能夠
112、完成這次設計的。自己分析原因:其一,沒有對單片機了解不夠詳細,知識面欠缺。其二,自己做的許多過程有差誤,不說自己到頭來能否發(fā)現(xiàn),即使發(fā)現(xiàn),時間耽誤太多了,自己過于粗心馬虎。正是因為我們是團體合作,有異議提出來,將錯誤及時解決,避免了很多設計的復雜性。當然,這次設計,其他的同學也提供了不少援助,當然,老師為我們課程設計的成功提供了很重要的幫助。再次感謝我的老師,感謝我的合作伙伴,當然,這次的實驗設計也看到自己的不足,以后自己會更加努力的學
113、習,相信自己以后會越來越棒。</p><p><b> 六、參考文獻</b></p><p> 《微型計算機原理與接口技術》 主編:吳秀清 中國科技大學出版社</p><p> 微機原理與接口技術 主編:梁建武 中國水
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機原理與接口技術課程設計——液晶顯示器與鍵盤系統(tǒng)
- 微機原理與接口技術課程設計
- 微機原理與接口技術課程設計
- 微機原理與接口技術課程設計.
- 微機原理與接口技術課程設計
- 微機原理與接口技術課程設計--實時鐘顯示與定時控制設計
- 微機原理與接口技術課程設計報告
- 微機原理與接口技術課程設計 --存儲器
- 微機原理與接口技術課程設計---交通燈顯示系統(tǒng)
- 微機原理與接口技術課程設計--交通燈顯示系統(tǒng)
- 微機原理與接口技術課程設計---智能搶答器
- 微機接口技術課程設計
- 微機接口技術課程設計
- 微機原理與接口技術課程設計--流水燈
- 微機原理與接口技術課程設計-交通燈
- 紅外通信-微機原理與接口技術課程設計報告
- 微機原理與接口技術課程設計報告書
- 《微機原理與接口技術》課程設計
- 微機原理與接口技術-8086cpu小鍵盤課程設計
- 微機接口技術課程設計報告
評論
0/150
提交評論