廣東工業(yè)大學(xué)微機課設(shè)報告-計時器_第1頁
廣東工業(yè)大學(xué)微機課設(shè)報告-計時器_第2頁
廣東工業(yè)大學(xué)微機課設(shè)報告-計時器_第3頁
廣東工業(yè)大學(xué)微機課設(shè)報告-計時器_第4頁
廣東工業(yè)大學(xué)微機課設(shè)報告-計時器_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計課程名稱微機課程設(shè)計題目名稱計時器學(xué)生學(xué)院自動化學(xué)院專業(yè)班級14級自動化班學(xué)號學(xué)生姓名指導(dǎo)教師林麗純2016年12月21日目錄一、課程設(shè)計目的1二、課程設(shè)計內(nèi)容1三、系統(tǒng)設(shè)計說明2四、系統(tǒng)原理圖3五、程序設(shè)計部分3六、參考文獻13、課程設(shè)計目的1、鞏固和加深對微機原理及應(yīng)用課程內(nèi)容的認(rèn)識和理解,提高應(yīng)用水平2、掌握匯編語言程序的編程方法3、熟悉鍵盤控制和七段數(shù)碼管的使用、課程設(shè)計內(nèi)容課程設(shè)計內(nèi)容上機編程:1、編程將儲存器的數(shù)據(jù)8、A、9、F共4個數(shù)經(jīng)XLAT查表后,在四位七段數(shù)碼管LED上顯示出來;2、編程在顯示器上顯示對應(yīng)鍵值,要求顯示值能左移;9BCFEA013、編程實現(xiàn):a)定義

2、鍵盤按鍵,7個為數(shù)字鍵0、1、2、3、4、5、6,1個功能鍵:設(shè)置SET;b)顯示器上的四位顯示為時(兩位)、分(兩位)、秒(利用一個發(fā)光二極管顯示);c)通過鍵盤的按鍵SET,可以設(shè)置、修改時間。三、系統(tǒng)設(shè)計說明本次課程設(shè)計目的是利用可編程并行輸入/輸出接口芯片8255A和七段數(shù)碼管實現(xiàn)一個計時器的設(shè)計。8255A連接鍵盤,對鍵盤掃描按鍵就可以對計時器的時間進行設(shè)置,依照任務(wù)安排定義鍵盤按鍵中7個為數(shù)字鍵0、1、2、3、4、5、6,1個功能鍵:設(shè)置SET設(shè)計思路:根據(jù)系統(tǒng)系統(tǒng)原理圖接線。(1)計時器利用延時程序的調(diào)用進行計時,每次查詢TABLES中的下一個數(shù)字,顯示到數(shù)碼管,進過一個延時程序

3、后查詢下一個數(shù)字,即完成計時功能。(2)計時狀態(tài)下,只有當(dāng)掃描到鍵盤按下SET鍵時才進入數(shù)字鍵盤的掃描,即時間的設(shè)置。按下SET功能鍵后,掃描鍵盤數(shù)字鍵,然后進行顯示,當(dāng)SET鍵被再次按下后,進入判斷:此時數(shù)碼管前兩位是否小于24?后兩位是否小于59?如果都小于,開始計時,否則繼續(xù)掃描鍵盤數(shù)字鍵,當(dāng)SET鍵再次按下時進行新一次的判斷。四、系統(tǒng)原理圖+5V4.7KX2XD0D0PC0XD7-0-0-D7PC7系統(tǒng)總8255線XA1XA2A0PA5PA6-CH0-A1IOW#WRPB0PB17IOR#-O-CRDPB2PB3IOY1-CS70514/SET+5V4.7KX2五、程序設(shè)計部分1 .程

4、序一1.1 題目:編程將儲存器的數(shù)據(jù)8、A、9、F共4個數(shù)經(jīng)XLAT查表后,在四位七段數(shù)碼管LED上顯示出來;1.2流程圖:1.3源程序:STACKSEGMENTSTACKSTACKDW32DUPENDSDATASEGMENTTABLEDB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEHDB0F6H,0EEH,3EH,9CH,7AH,9EH,8EHVA1VA2DATADB0FEH,0FDH,0FBH,0F7HDB0FH,0DH,0BH,09HENDS;對應(yīng)亮的數(shù)碼管;將要顯示的98AF的七段碼建成一張表CODESEGMENTSTART:A1:ASSUMECS

5、:CODE,DS:DATAMOVAX,DATAMOVDS,AXMOVDX,0646HMOVAL,80HOUTDX,ALMOVSI,OFFSETVA18255初始化MOVDI,OFFSETVA2MOVBX,OFFSETTABLE;顯示4位,CX賦予0004HMOVCX,0004HA2:MOVDX,0642HMOVAL,SIOUTDX,AL;控制亮的數(shù)碼管MOVDX,0644HMOVAL,DIXLAT;查表TABLE得到要顯示的數(shù)據(jù)OUTDX,ALINCSIINCDICALLYDALLYLOOPA2JMPA1DALLY:PUSHCX;延時子程序MOVCX,0001HA3:MOVAX,0FFFHA4

6、:DECAXJNZA4LOOPA3POPCXRETCODEENDSENDSTART2 .程序三2.1 題目:編程實現(xiàn):實現(xiàn):a)定義鍵盤按鍵,7個為數(shù)字鍵0、1、2、3、5、8、9,1個功能鍵:設(shè)置SET;b) 顯示器上的四位顯示為時(兩位)、分(兩位)c) 通過鍵盤的按鍵SET,可以設(shè)置、修改時間。2.2 流程圖:開哈初始化£255成室購亨健打向,使量時間R始計時>轉(zhuǎn)用2.3 源程序STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTVA1DB0F7H,0EFH,0DFH,0BFH;對應(yīng)選中一個數(shù)碼管VA2DB00H,00H,00H,

7、00HTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,0646H;8255初始化MOVAL,90HOUTDX,AL;選擇PA,PB,PC的工作方式MOVBX,0000H;BX清零STT:MOVAL,00H;鍵盤測試MOVDX,0640HOUTDX,ALMOVDX,0644HINAL,DXANDAL,60HCMPAL,60HJNZKEYABCCALLDISP;調(diào)用顯示

8、程序JMPSTTKEYABC:CALLTIME;延時,去抖動MOVDX,0640HINAL,DXANDAL,60HCMPAL,60HJNZKEY_3JMPSTTSTT3:MOVDX,0642HOUTDX,ALMOVDX,0640HINAL,DXANDAL,20HCMPAL,20H;JNZSTT3_4L0:MOVDI,OFFSETVA2;判斷計時器時間是否合理MOVAL,DICMPAL,02HJBCONT_1JZL7JMPSTTL7:MOVAL,DI+1CMPAL,03HJASTTCONT_1:MOVAL,DI+2CMPAL,06HJBCONT_2JMPSTTCONT_2:JMPCONTSET:

9、MOVDX,0642H;判斷SET鍵是否按下MOVAL,0F7HOUTDX,ALMOVDX,0644HINAL,DXTESTAL,08HJNZSTTJMPSTTKSTT2:CALLTIME;鍵盤測試MOVAL,00HMOVDX,0642HOUTDX,ALMOVDX,0644HINAL,DXANDAL,18HCMPAL,18HJNZKEYABC2CALLDISPJMPSTT2KEYABC2:MOVDX,0642H;延時,去抖動INAL,DXANDAL,60HCMPAL,60HJNZSET_0JMPSTT2SET_0:MOVDX,0642H;SET鍵放鍵測試,進入時間設(shè)置MOVAL,0F7HOUT

10、DX,ALMOVDX,0644HINAL,DXTESTAL,08HJNZKEY_0JMPSTT3_4KEY_7:TESTAL,10H;鍵盤數(shù)字鍵的按鍵掃描JNZKEY_2CALLKEY7JMPSTTKKEY_2:MOVDX,0642HMOVAL,0EFHOUTDX,ALMOVDX,0644HINAL,DXTESTAL,10HJNZKEY_6CALLKEY2JMPSTTKKEY_6:TESTAL,08HJNZKEY_5CALLKEY4JMPSTTKKEY_1:MOVDX,0642HMOVAL,0DFHOUTDX,ALMOVDX,0644HINAL,DXTESTAL,08HJNZKEY_5CALL

11、KEY1JMPSTTKKEY_5:TESTAL,40HJNZKEY_0CALLKEY5JMPSTTKKEY_0:MOVDX,0642HMOVAL,0BFHOUTDX,ALMOVDX,0640HINAL,DXTESTAL,20HJNZKEY_4CALLKEY0JMPSTTKKEY_4:TESTAL,10HJNZKEY_C1CALLKEY4KEY_C1:JMPSTTKKEY0:CALLLP1MOVAL,00H;MOVDI,ALCALLDISP;RET;返回KEY1:CALLLP1MOVAL,01H;MOVDI,ALCALLDISPRETKEY2:CALLLP1MOVAL,02H;MOVDI,AL數(shù)

12、字鍵0處理程序顯示數(shù)字鍵1處理程序數(shù)字鍵2處理程序CALLDISPRETKEY3:CALLLP1MOVAL,03H;MOVDI,ALCALLDISPRETKEY4:CALLLP1MOVAL,04H;MOVDI,ALCALLDISPRETKEY5:CALLLP1MOVAL,05H;MOVDI,ALCALLDISPRETKEY6:CALLLP1MOVAL,06H;MOVDI,ALCALLDISP數(shù)字鍵3處理程序數(shù)字鍵4處理程序數(shù)字鍵5處理程序數(shù)字鍵6處理程序RETLP1:MOVDI,OFFSETVA2;數(shù)據(jù)移位保存子程序MOVCX,0003HLP2:MOVAL,DI+1MOVDI,ALINCDIL

13、OOPLP2RETDISP:PUSHCX;顯示程序PUSHAXMOVSI,OFFSETVA1MOVDI,OFFSETVA2MOVBX,OFFSETTABLEMOVCX,0004HDIR:MOVDX,0642HMOVAL,SIOUTDX,ALMOVDX,0640HMOVAL,DIXLATOUTDX,ALCALLTIMEINCSI10INCDILOOPDIRPOPCXPOPAXRETSTTK:MOVAL,00H;放鍵測試程序MOVDX,0642HOUTDX,ALMOVDX,0644HINAL,DXANDAL,18HCMPAL,18HJNZSTTKJMPSTT2STTK1:MOVAL,00HMOVD

14、X,0642HOUTDX,ALMOVDX,0644HINAL,DXANDAL,18HCMPAL,18HJNZSTTK1JMPSTT2CONT:MOVDI,OFFSETVA2;計時器各位是否進位的判斷程序MOVAL,DI+3CMPAL,09HJALM2MOVAL,DI+2CMPAL,05HJALM1MOVAL,DICMPAL,02HJZL6MOVAL,DI+1CMPAL,0AHJZL2A1:MOVCH,0BHA11:MOVCL,050HL4:DECCLJNZL4PUSHAXPUSHCXPUSHDXSTT1:CALLTIME;鍵盤測試11MOVAL,00HMOVDX,0642HOUTDX,ALMO

15、VDX,0640HINAL,DXANDAL,60HCMPAL,60HJNZKEYABC1CALLDISPJMPA2KEYABC1:MOVDX,0644H;延時,去抖動INAL,DXANDAL,60HCMPAL,60HJNZSET_1JMPA2SET_1:MOVDX,0642HMOVAL,0F7HOUTDX,ALMOVDX,0640HINAL,DXTESTAL,20HJZSTTK1A2:POPAXPOPXPOPCXDECCHJNZA11MOVDI,OFFSETVA2INCDI+3JMPCONTLM2:MOVDI+3,00H;分鐘個位處理程序INCDI+2JMPCONTLM1:MOVDI+2,00

16、H;分鐘十位處理程序INCDI+1JMPCONTL2:MOVDI+1,00H;小時個位處理程序INCDIJMPCONTL6:LEADI,VA2;小時個位處理程序2MOVAL,DI+1CMPAL,04H12JBA1MOVCX,0004HLEADI,VA2L8:MOVDI,00H;小時十位處理程序INCDILOOPL8JMPCONTTIME:PUSHAX;延時程序PUSHCXMOVCX,0005HTIME1:MOVAX,00FFHTIME2:DECAXJNZTIME2LOOPTIME1POPCXPOPAXRETCODEENDSENDSTART五、課程設(shè)計心得與體會這次的課程設(shè)計主要是學(xué)習(xí)并掌握匯編語言程序的編程方法,針對鍵盤及可編程接口芯片8255A的編程,在上機不斷調(diào)試過程中,讓我對本學(xué)期所學(xué)的微機理論知識有了更加深刻的理解。以前在課堂上一些一知半解的東西,經(jīng)過這次的實際應(yīng)用也頓時覺得豁然開朗。在實驗過程中,由于自己的疏忽及算法的不完善導(dǎo)致了程序不能實現(xiàn)預(yù)期的功能,經(jīng)過一遍又一遍的檢查,思考和請教交流,終于完成了這次課程設(shè)計的任務(wù)。對于本次課程的編程題第一題和第二題,實驗

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論