freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機at89s52的電子實時時鐘萬年歷系統(tǒng)(參考版)

2024-10-26 13:30本頁面
  

【正文】 經(jīng)過這次試驗,確實學到我好多好多的東西。最后發(fā)現(xiàn)是在一個子程序里邊用了一個錯誤的 ljmp。本來還想加上紀念日和音樂鬧鈴,當一方面時間有限,另一方面 嘗試后失敗了就暫時擱下。 剛開始的時候,我什麼都不懂,根本不知怎樣入門,后來查找了一些系統(tǒng)資料,漸漸有了些了解,才開始寫自己的程序。在 CPU 耗不起時間的情況下,硬件消抖會更好 在本程序中設置了 30ms 的按鍵消抖。在程序中為 DMS 子程序實現(xiàn)。軟件的消抖主要是調(diào)整出一個切到好處的延遲檢測時間,一般為 530ms。 按鍵消抖: 按鍵消抖可以采用硬件消抖跟軟件消抖。就實現(xiàn)了鬧鐘設置的功能。 end 鬧鐘: 實現(xiàn)鬧鐘功能主要有兩個步驟,首先是能在按鍵中把鬧鐘數(shù)值寫進寄存器,實現(xiàn)存儲功能。 ret。 lcall dl5ms。 dl20ms: lcall dl5ms。 lcall dl5ms。 lcall dl5ms。 lcall dl5ms。 ret。 d1: djnz 56h,d1。 delay1ms: mov R6,14H dl1:mov R7,19H dl2:djnz R7,dl2 djnz R6,dl1 ret dl5ms: mov 55h,03h。1ms延時 。延時程序 。 。 lcall dl5ms。 jnc ff02 ff01: mov p2,0dfh。 cjne a,03h,ff01。 mov p1,a。 inc r0。 lcall dl5ms。 jnc ee02 ee01: mov p2,0efh。 cjne a,03h,ee01。 mov p1,a。 inc r0。 lcall dl5ms。 jnc dd02 dd01: mov p2,0f7h。 cjne a,02h,dd01。 mov p1,a。 inc r0。 lcall dl5ms。 jnc cc02 cc01: mov p2,0fbh。 cjne a,02h,cc01。 mov p1,a。 inc r0。 lcall dl5ms。 bb01: mov p2,0fdh。 rrc a。 cjne a,01h,bb01。 mov p1,a。 inc r0。 lcall dl5ms。 aa01: mov p2,0feh。 rrc a。 cjne a,01h,aa01。 mov p1,a。 aa: mov p2,0ffh。 mbiao: mov r0,mao_sfw。 ala: cjne a,02h,mbiao mov r0,als_l。若為 01h 則顯示年份,否則顯示鬧鐘 mov r0,dayL。00h 是時間顯示不等則轉到年份顯示 timdis: mov r0,secL。************************************************** display:mov a,50h。傳入?yún)?shù): 無 。函數(shù)名: display 。子程序返回 。指針指向高四位地址 mov r1,a。將暫存數(shù)據(jù)移回 anl a,0fh。 mov r1,a。下面是將 a 中然數(shù)據(jù)恢復為高位與低位 anl a,0f0h。對 a 中數(shù)據(jù)進行加 1,并作十進制調(diào)整 mov r2,a。將低四位顯示數(shù)據(jù)放入 a 中 add a,01h。指向低四位 swap a。指向高四位數(shù)據(jù)地址 mov a,r1。************************************************** add1: mov a,0。傳入?yún)?shù): r1 存的是地址指針 。函數(shù)名: add1 。將經(jīng)過處理的數(shù)據(jù)放入 a 中 outri: ret 。指向年計時單元 lcall add1。年加 1 mov monL,0 mov monH,0。將經(jīng)過處理的數(shù)據(jù)放入 a 中 cjne a,12h,outri。指向月計時單元 lcall add1。月加 1 mov dayL,0 mov dayH,0??丛路菔遣皇?2 月 。是的話,看月份是不是 2 月 ajmp addmon day28: mov a,r5 cjne a,29h,outri。是的話 ,加月 day29: mov a,r5 cjne a,30h,day28。判斷是不是 4, 6, 9, 11 中的某一月 cjne a,06h,outri cjne a,09h,outri cjne a,11h,outri。是的話,處理 mov a,0h mov a,monL swap a orl a,monh。是的話,加月 day30: mov r5,a cjne a,31h,day29。將經(jīng)過處理的數(shù)據(jù)放入 a 中 day31: cjne a,32h,day30。指向天計時單元 lcall add1。************************************************** rili: addday: mov hourL,0 mov hourH,0。傳入?yún)?shù): 無 。函數(shù)名: rili 。中斷返回 ?;謴同F(xiàn)場 setb ET0。當小時未到達 60 時跳出中斷 lcall rili 。調(diào)用加 1 程序 mov a,r2。將分清零 mov r1,hourH。當分鐘 未到達 60 時跳出中斷 addhour: 。調(diào)用加 1 程序 mov a,r2。將秒清零 mov r1,minH。當秒到未到達 60 時跳出中斷 addmin: 。調(diào)用加 1 程序 mov a,r2。給 r0 重新賦值 mov r1,secH。允許計時 djnz r4,outT0。 mov a,0b0h add a,TL0 mov TL0,a。關 T0 中斷允許 clr TR0。************************************************** time0: push PSW push acc push b 。功能: t0 中斷處理程序函數(shù) 。************************************************** ?;謴同F(xiàn)場 reti 。 mov 5fh,00h。將經(jīng)過處理的數(shù)據(jù)放入 a 中 cjne a,60h,outT0。指向小時計時單元 lcall add1。 mov 5dh,00h。將經(jīng)過處理的數(shù)據(jù)放入 a 中 cjne a,60h,outT01。指向分計時單元 lcall add1。當秒到未到達 60 時跳出中斷 mov 5ah,00h mov 5bh,00h。調(diào)用加 1 程序 mov a,r2。T1 初值為 fc18h 定時 1ms mov r1,mao_bfw。************************************************ time1: push PSW push acc mov TL1,0f0h。功能: t1 中斷函數(shù) 。*********************************************** 。 ljmp start。 out5: pop acc。 秒的各位 mov mao_qw,00h。秒的百分位 mov mao_sw,00h 。 mov mao_sfw ,00h。 jb ,out5。第三次清 0 jb ,jimao4。 clr et1。 jimao3:jnb ,jimao3。 lcall display。 jimao2:call display。 setb et1。第一次開中斷計秒 mov a,50h。 jb ,out5。 push acc。傳出參數(shù): 無 。功能: 計秒程序 。************************************************** 。 ret。 mov 51h,a。 sjmp set11。 mov a,03h。 sjmp set11。 mov a,02h。 sjmp set11。 cjne a,00h,zliang mov a,01h。 lcall chuan。 jb ,set11。傳出參數(shù):
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1