版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
單片機電子時鐘匯編語言程序單片機電子時鐘匯編語言程序單片機電子時鐘匯編語言程序xxx公司單片機電子時鐘匯編語言程序文件編號:文件日期:修訂次數(shù):第1.0次更改批準審核制定方案設(shè)計,管理制度51單片機架構(gòu)下時鐘控制程序;KEYAA鍵功能程序開啟/關(guān)閉定時器;KEYBB鍵功能程序時值加1;KEYCC鍵功能程序分值加1;KEYD D鍵功能程序秒值加1;KEYE E鍵功能程序12/24時值轉(zhuǎn)換;BEEP_BL整點報時;P0顯示接口 ;系統(tǒng)初始化程序****************************************************KEYAEQU ;單片機控制設(shè)置 KEYBEQU ;單片機控制設(shè)置 KEYCEQU ;單片機控制設(shè)置 KEYDEQU ;單片機控制設(shè)置 KEYEEQU ;單片機控制設(shè)置 BEEPEQU ;單片機控制設(shè)置 ORG0000HAJMPMAIN ;轉(zhuǎn)到系統(tǒng)初始化程序ORG000BHAJMPPITO ;轉(zhuǎn)到定時器0中斷服務(wù)程序ORG0100HMAIN:MOVSP,#60H ;確立堆棧區(qū)MOVTMOD,#01H ;設(shè)定定時器0為工作方式1MOVTL0,#0DCH ;裝計數(shù)器初值MOVTH0,#0BHCLRCLRTR0 ; TR0置"0",定時關(guān)閉SETBEA ; EA置"1",中斷總允許SETBET0;ET0置"1",定時器0中斷;允許MOV30H,#10H ; 循環(huán)次數(shù)MOV7EH,#0AH ; P.點顯示初始化MOVR0,#79HMOVR1,#05HPP:MOV@R0,#0BHINCR0DJNZR1,PPMOVR0,#31H ; 時、分、秒值存儲單元清零MOVR1,#06HQ00:MOV@R0,#00HINCR0DJNZR1,Q00;監(jiān)控程序**********************************************************LOOP:LCALLDIR ; 調(diào)顯示子程序LCALLKEY ; 調(diào)鍵掃描子程序LOOP1:JB,KEYA; A鍵是否按下,是跳轉(zhuǎn)到A鍵功能程序開啟/關(guān)閉定時器JB,KEYB; B鍵是否按下,是跳轉(zhuǎn)到B鍵功能程序時值加1JB,KEYC; C鍵是否按下,是跳轉(zhuǎn)到C鍵功能程序分值加1JB,KEYD ; D鍵是否按下,是跳轉(zhuǎn)到D鍵功能程序秒值加1 JB,KEYE ; E鍵是否按下,是跳轉(zhuǎn)到E鍵功能程序12/24時值轉(zhuǎn)換LCALLDIR LJMPLOOP ; 跳轉(zhuǎn)到監(jiān)控程序;A鍵功能子程序****************************************************KEYA:CPLTR0;開啟/關(guān)閉定時器SETBAJMPLOOP ;返回;B鍵功能子程序****************************************************KEYB:JBTR0,KEYB1;定時器是否運行,是跳轉(zhuǎn)JNB,KEYB2MOVR0,#36H ;時值存儲單元地址送R0LCALLDAAD1 ;調(diào)加1子程序MOVA,R3 ;時值加1后的值送累加器A LCALLBEEP_BL ;整點報時XRLA,#12H;時值是否到12時 JNZKEYB0 ; BACK:XRLA,#24H; 判是否到24時 JNZKEYB1 ;時值是否到24時,否返回LCALLCLR0 ;時值存儲單元清零KEYB0:JB,KEYB1;是否啟用12時值,否返回 LCALLCLR0 ;時值存儲單元清零 KEYB1:MOV7DH,35HMOV7EH,36HKEYB2:LJMPLOOP ;返回監(jiān)控程序;C鍵功能子程序****************************************************KEYC:JB8CH,KEYC1;定時器是否運行,否跳轉(zhuǎn)JNB,KEYC2MOVR0,#34H; 分值存儲單元地址送R0LCALLDAAD1 ; 調(diào)加1子程序MOVA,R3 ; 分值加1后的值送累加器AXRLA,#60H;JNZKEYC1 ; 分值是否到60分,否返回LCALLCLR0 ; 分值存儲單元清零KEYC1:MOV7CH,34HMOV7BH,33HKEYC2:LJMPLOOP ; 返回監(jiān)控程序;D鍵功能子程序****************************************************KEYD:JB8CH,KEYD1;定時器是否運行,否跳轉(zhuǎn)JNB,KEYD2MOVR0,#32H ;秒值存儲單元地址送R0LCALLDAAD1 ;調(diào)加1子程序MOVA,R3;秒值加1后的值送R0XRLA,#60HJNZKEYD1 ; 秒值是否到60秒,否返回LCALLCLR0 ; 秒值存儲單元清0KEYD1:MOV79H,31HMOV7AH,32HKEYD2:LJMPLOOP ; 返回監(jiān)控程序;中斷服務(wù)程序******************************************************PITO:PUSHPSW ;中斷服務(wù)程序,現(xiàn)場保護PUSHASETBRS0 ;選第三組通用寄存器SETBRS1MOVTL0,#0DCH ; 計數(shù)器重新加載MOVTH0,#0BHMOVA,30H ;循環(huán)次數(shù)減1DECAMOV30H,AJNZRETO ;不滿16次,轉(zhuǎn)RET0返回MOV30H,#10H ;滿16次開始計時操作MOVR0,#32H ;秒顯示單元地址ACALLDAAD1 ; 秒加1MOVA,R3 ; 加1后秒值在R3中XRLA,#60H ; 判是否到60秒JNZRETO ; 不到轉(zhuǎn)RET0返回ACALLCLR0 ; 到60秒顯示單元清0MOVR0,#34H ; 分顯示單元地址ACALLDAAD1 ; 分加1MOVA,R3 ; 加1后分值在R3中XRLA,#60H ; 判是否到60分JNZRETO ; 不到轉(zhuǎn)RET0返回ACALLCLR0 ; 到60分顯示單元清0MOVR0,#36H ; 時顯示單元地址ACALLDAAD1 ; 時加1MOVA,R3 ; 加1后時值在R3中 LCALLBEEP_BL ;整點報時XRLA,#12H;時值是否到12時 JNZKEYB3 ; XRLA,#24H ; 判是否到24時JNZRETO ; 不到轉(zhuǎn)RET0返回ACALLCLR0 ; 到24時顯示單元清0 KEYB3:JB,RETO;是否啟用12時值,否返回 ACALLCLR0 ;時值存儲單元清零 RETO:CLRRS0 ; 返回第0組通用寄存器CLRRS1POPA ; 現(xiàn)場恢復(fù)POPPSW MOV79H,31H ; 時、分、秒值放緩沖區(qū)MOV7AH,32HMOV7BH,33HMOV7CH,34HMOV7DH,35HMOV7EH,36HRETI ; 中斷返回;加1子程序*******************************************************DAAD1:MOVA,@R0;加1子程序,十位送ADECR0SWAPA ; 十位數(shù)占高4位ORLA,@R0 ; 個位數(shù)占低4位ADDA,#01H ; 加1DAA ; 十進制調(diào)整MOVR3,A ; 全值暫存R3中ANLA,#0FH ; 屏蔽十位數(shù),取出個位數(shù)MOV@R0,A ; 個位值送顯示緩沖單元MOVA,R3INCR0ANLA,#0F0H ; 屏蔽個位數(shù)取出十位數(shù)SWAPA ; 使十位數(shù)占低四位MOV@R0,A ; 十位數(shù)送緩沖單元RET ; 返回CLR0:CLRA ; 清緩沖單元子程序MOV@R0,A ; 十位緩沖單元清"0"DECR0MOV@R0,A ; 個位數(shù)緩沖單元清"0"RET ; 返回;鍵盤掃描子程序***************************************************KEY:LCALLKEYCHULI ; 調(diào)鍵值處理子程序JZEXIT ; 沒有鍵按下轉(zhuǎn)到返回LCALLDIRLCALLDIR ; 調(diào)顯示去抖動LCALLKEYCHULI ; 調(diào)鍵值處理子程序JZEXIT ; 沒有鍵按下轉(zhuǎn)到返回MOVB,20H ; 保存鍵值KEYSF:LCALLKEYCHULI ; 調(diào)鍵值處理子程序JZKEY1 ; 鍵釋放,轉(zhuǎn)到恢復(fù)鍵值LCALLDIR ; 調(diào)顯示子程序延時AJMPKEYSF ; 等到鍵釋放KEY1:MOV20H,B ; 鍵值送20H單元保存EXIT:RET ; 返回KEYCHULI:PUSHPSW ; 保護現(xiàn)場CLRRS1 ; 改變寄存器組號SETBRS0MOVP1,#0FFH ; 先向P1口寫1MOVA,P1 ; P1口值送累加器ACPLA ; A值取反ANLA,#0FH ; 保存P1口的低4位MOV20H,A ; A值送20H保存CLRRS1 ; 改變寄存器組號CLRRS0 ;POPPSW ; 恢復(fù)現(xiàn)場RET;顯示子程序********************************************************DIR:PUSHPSW;恢復(fù)現(xiàn)場SETBRS1 ; 改變寄存器組號CLRRS0MOVR0,#79H ; 建立顯示緩沖區(qū)首地址MOVR3,#0FBH ; 設(shè)置位控碼LD0:MOVP2,R3 ; 送位控碼MOVA,@R0 ;緩沖區(qū)值送累加器ADISP1:ADDA,#1BHMOVCA,@A+PC ; 取段控碼并送A中DISP2:MOVP0,A ; 送段控碼MOVR2,#09H ; 設(shè)置延時循環(huán)次數(shù)ACALLDEY ; 延時點亮INCR0 ; 緩沖區(qū)地址加1MOVA,R3 ; 位控碼送AJNB,HERE ; 是否到最高位,是轉(zhuǎn)到返回JB ,LD2RL ARLA ; 不到向顯示器高位移位LD2:RL AMOVR3,A ;位控值保存到R4中AJMPLD0 ; 繼續(xù)掃描HERE:CLRRS0 ; 改變寄存器組號CLRRS1POPPSW ; 恢復(fù)現(xiàn)場RET ; 返回DBB:DB0C0HDB0F9HDB0A4H
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國取水頭市場調(diào)查研究報告
- 二零二五版汽車零部件銷售合同范本2篇
- 2025年中國PP蓋市場調(diào)查研究報告
- 2025年全球及中國食品工業(yè)X射線檢測系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025至2031年中國不銹鋼耐腐蝕離心泵行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國工業(yè)用氧氣制品數(shù)據(jù)監(jiān)測研究報告
- 二零二五年度城市更新改造項目設(shè)計施工合同2篇
- 二零二五年度體育賽事代理運營合同(專業(yè)賽事管理)3篇
- 二零二五年度裝配式建筑承包合同補充協(xié)議4篇
- 2025版船舶船體焊接及裝配承包服務(wù)合同4篇
- 2024年全國體育專業(yè)單獨招生考試數(shù)學(xué)試卷試題真題(含答案)
- 北師大版小學(xué)三年級上冊數(shù)學(xué)第五單元《周長》測試卷(含答案)
- DB45T 1950-2019 對葉百部生產(chǎn)技術(shù)規(guī)程
- 2025屆河北省衡水市衡水中學(xué)高考仿真模擬英語試卷含解析
- 新修訂《保密法》知識考試題及答案
- 電工基礎(chǔ)知識培訓(xùn)課程
- 住宅樓安全性檢測鑒定方案
- 廣東省潮州市潮安區(qū)2023-2024學(xué)年五年級上學(xué)期期末考試數(shù)學(xué)試題
- 市政道路及設(shè)施零星養(yǎng)護服務(wù)技術(shù)方案(技術(shù)標(biāo))
- 選擇性必修一 期末綜合測試(二)(解析版)2021-2022學(xué)年人教版(2019)高二數(shù)學(xué)選修一
- 《論語》學(xué)而篇-第一課件
評論
0/150
提交評論