![PIC16F877A數(shù)字時鐘時鐘程序_第1頁](http://file4.renrendoc.com/view/ff51eff19dc1784ec463e25bb74b8d1f/ff51eff19dc1784ec463e25bb74b8d1f1.gif)
![PIC16F877A數(shù)字時鐘時鐘程序_第2頁](http://file4.renrendoc.com/view/ff51eff19dc1784ec463e25bb74b8d1f/ff51eff19dc1784ec463e25bb74b8d1f2.gif)
![PIC16F877A數(shù)字時鐘時鐘程序_第3頁](http://file4.renrendoc.com/view/ff51eff19dc1784ec463e25bb74b8d1f/ff51eff19dc1784ec463e25bb74b8d1f3.gif)
![PIC16F877A數(shù)字時鐘時鐘程序_第4頁](http://file4.renrendoc.com/view/ff51eff19dc1784ec463e25bb74b8d1f/ff51eff19dc1784ec463e25bb74b8d1f4.gif)
![PIC16F877A數(shù)字時鐘時鐘程序_第5頁](http://file4.renrendoc.com/view/ff51eff19dc1784ec463e25bb74b8d1f/ff51eff19dc1784ec463e25bb74b8d1f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——PIC16F877A數(shù)字時鐘時鐘程序;Digitclock
;;DATE:20231205;Author:TangHS;MCU:PIC16F877A
;FileName:ClockPIC.ASM
;
;Date:{2023/12/07.14:35}-Ver01--CS-ICD:0xAFCEISP:0xb7ce;功能:1.LED顯示:時分秒;格式:[hhmmss]備注:按鍵未定義;;
;Date:{2023/12/07.22:15}-Ver01--CS-ICD:0xAFCEISP:0xb7ce;功能:1.LED顯示:時分秒;格式:[hhmmss]備注:按鍵未定義
;2.RB0-SET_KEY;RB1-ADD_KEY;RB2-SUB_KEY;RB3-EXIT_KEY;
;Date:{2023/12/09.18:06}-Ver02--CS-ICD:0xAFCEISP:0xef0e
;************************************************************;Date:{2023/12/10.00:47}-Ver03--CS-ICD:0xb08dISP:0xfaa7;功能:1.LED顯示:時分秒;格式:[hhmmss]備注:按鍵未定義
;2.RB0-SET_KEY;RB1-ADD_KEY;RB2-SUB_KEY;RB3-EXIT_KEY都OK;3.MOVLW改正MOVVREG,1引起的SUB_不良;;
;Date:{2023/12/10.13:10}-Ver03.1--CS-ICD:0xb08bISP:0xfaa4
;4.時差。50ms原來計(jì)數(shù)20次改為19次;250us原來計(jì)數(shù)200次改為197次;
;Date:{2023/12/10.17:30}-Ver03.2--CS-ICD:0x296BISP:0x7387;5.在Set_ini中--增加CALLSET_Flag;指定Flag,1=1;標(biāo)志位-
解決Ver03.1-第一次按SET鍵時不能調(diào)HourL
;************************************************;程序清單
;**************************************************
__CONFIG3F39H;設(shè)置配置位中振蕩方式為XT,其它全部阻止或關(guān)閉;************************************************;includeP16F877A.INC
;
;ramvarableHourHequ20H;HourLequ21H;MinHequ22H;MinLequ23H;SecHequ24h;
SecLequ25h;B'00100101'
;N250usequ26h;250us*200=50ms;N50msequ27h;50ms*20=1000ms;Nsecequ28h;
data1equ29h;定義一個廷時變量寄放器data2equ2Ah;定義另一個廷時變量寄放器
keyvalueEQU2Bh;
FlagKeyEQU2Ch;W_STKequ2Dh;STATUS_STKequ2Eh;PCLATH_STKequ2Fh;
FSR_STKequ30h;
COUNT0equ31h;DELAYuse00110000COUNT1equ32h;COUNT2equ33h;
Flagequ34h;Adjust.Time
N250usequ35h;250us*200=50msN50msequ36h;50ms*20=1000msNsecequ37h;
;Counstant
n1equd'1';d'13';定義一個外層循環(huán)廷時常數(shù)d'13'(10ms)n2equ0ffh;定義一個內(nèi)層廷時常數(shù)RBCOUNSTequ0x1f;rb0~rb4讀取后異或常數(shù);bit1
cequ0;定義進(jìn)位標(biāo)志位位地址
rp0equ5;定義狀態(tài)寄放器的頁選位RP0
NOT_RBPUequ7;定義選擇寄放器RB的上拉電阻位RBPUzequ2;定義0狀態(tài)位的位地址F_releaseEQU0;F_pressedequ1;
;FlagKeybit2;#defineF_releaseFlagKey,0;按鍵釋放標(biāo)志位;#defineF_pressedFlagKey,1;按鍵閉合標(biāo)志位;Flag;Flag,0;時間調(diào)整標(biāo)志位;Flag,1;FSR=21H=HourL;Flag,2;FSR=23H=MinL;Flag,3;FSR=25H=SecL
;**************************************************************;ORG0000H
NOP;放置一條ICD必需的空操作指令GOTOMAINORG0004H
GOTOISR_TMR0;
ORG0008H
;******************************************************;NAME:CONMERT1數(shù)碼管位碼查表子程序;
CONVERT1;取數(shù)碼管位碼
ADDWFPCL,1;地址偏移量加當(dāng)前PC值TABLE1
RETLW0FDH;第一位數(shù)碼管RETLW0FEH;其次位數(shù)碼管RETLW0F7H;第三位數(shù)碼管RETLW0FBH;第四位數(shù)碼管RETLW0DFH;第五位數(shù)碼管RETLW0EFH;第六位數(shù)碼管
;********************************************************;NAME:CONVERT數(shù)碼管段碼查表子程序;
CONVERT;取數(shù)碼管段碼
ADDWFPCL,1;地址偏移量加當(dāng)前PC值TABLERETLW0C0H;0RETLW0F9H;1RETLW0A4H;2RETLW0B0H;3RETLW99H;4RETLW92H;5RETLW82H;6RETLW0F8H;7RETLW80H;8RETLW98H;9
RETLW7FH;.retlw00h;11
;*************************************************************;///////////--Mainprogram--///////////////////////////////;
;***********************************************************
;return;
;MAIN
CALLSys_ini;CALLClear_RAM;
BSFINTCON,GIE;開啟全局中斷,啟動定時器CALLRAM_ini;LOOP_DIS
CALLDisplay_led;NOP;
bcfSTATUS,RP0;
BTFSCPORTB,0;RB0=0?鍵按下否?GOTOLOOP_DIS;noCALLDisplay_led;YesCALLDisplay_led;
BTFSCPORTB,0;RB0=0?再次確認(rèn)鍵按下否?GOTOLOOP_DIS;noCALLSet_in;CALLkeyscan;LoopEND
GOTOLOOP_DIS;
;****************************************************Set_in
BSFFlag,0;Set1閃爍顯示處理放在中斷進(jìn)行MOVLW0x21;HourL->FSRMOVWFFSR;;CALLSET_Flag;BSFFlag,1;1BCFFlag,2;0BCFFlag,3;0
keyscanRealase0;按鍵釋放,子程序名
CALLDisplay_led;
movfPORTB,W;讀取RB口數(shù)據(jù)到W(d=0)andlw0x1f;屏蔽高4位bcfSTATUS,Z;xorlw0x1f;btfssSTATUS,Z;
gotokeyscanRealase0;Z=0有鍵按下;calldelay;Z=1無鍵按下CALLDisplay_led;
CALLDisplay_led;
movfPORTB,W;讀取RB口數(shù)據(jù)到W(d=0)andlw0x1f;屏蔽高4位bcfSTATUS,Z;xorlw0x1f;btfssSTATUS,Z;
gotokeyscanRealase0;Z=0有鍵按下,waittingforrelease;Z=1無鍵按下exit;
RETURN;
;;
KEY0_SUB;SET_KEYINCFFSR,1;21-23-25hINCFFSR,1;MOVFFSR,W;
SUBLW0x27;27>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-BTFSSSTATUS,Z;FSR=27H?GOTO$+3;MOVLW0x21;MOVWFFSR;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年互聯(lián)網(wǎng)融資項(xiàng)目協(xié)議模板
- 2025年養(yǎng)殖業(yè)牛羊銷售合同
- 2025年農(nóng)業(yè)用地交換協(xié)議樣本
- 2025年業(yè)主前期物業(yè)安全服務(wù)協(xié)議
- 2025年中鐵隧道煤礦鉆孔工程合同文本
- 2025年二手房產(chǎn)顧問職位合同
- 2025年典型房地產(chǎn)咨詢服務(wù)合同
- 2025年全勤教師合同范本
- 2025年企業(yè)招聘審計(jì)專員合同范本
- 2025年光纖寬帶服務(wù)合作協(xié)議
- (高清版)TDT 1037-2013 土地整治重大項(xiàng)目可行性研究報(bào)告編制規(guī)程
- 幼兒園春季開學(xué)教職工安全培訓(xùn)內(nèi)容
- 儲油罐安全操作規(guī)程培訓(xùn)
- 情緒障礙跨診斷治療的統(tǒng)一方案
- 《萬以內(nèi)數(shù)的認(rèn)識》大單元整體設(shè)計(jì)
- 中醫(yī)護(hù)理質(zhì)量敏感指標(biāo)的構(gòu)建
- 聚焦幼兒作品分析的游戲觀察與評價
- 創(chuàng)傷性腦疝查房
- 農(nóng)村常見傳染病預(yù)防知識講座
- XX醫(yī)院網(wǎng)絡(luò)及設(shè)備巡檢記錄表
- 開龍IT2021使用手冊
評論
0/150
提交評論