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

正文內(nèi)容

基于51單片機(jī)和時鐘芯片ds1302的數(shù)字時鐘設(shè)計(編輯修改稿)

2024-11-28 08:26 本頁面
 

【文章內(nèi)容簡介】 SETB T_CLK CLR T_RST DJNZ R7,S1302 CLR T_RST CLR T_CLK SETB T_RST MOV B,8EH 。控制寄存器 LCALL WRITEBYTE MOV B,80H??刂疲?wp=1,寫保護(hù) LCALL WRITEBYTE SETB T_CLK CLR T_RST POP ACC MOV R1,A POP ACC 。A 恢復(fù)數(shù)據(jù) 14 RET 。 GET1302: 。從 ds1302 讀時間秒 /時 /分 MOV R0,SECOND 。R0 MOV R7,03H 。R7 MOV R2,81H 。R2 G13021:CLR T_RST CLR T_CLK SETB T_RST MOV B,R2 LCALL WRITEBYTE 。寫操作時,將一字節(jié)的內(nèi)容由 B 寫至 DS1302 中 LCALL READBYTE 。讀操作時,將一字節(jié)的內(nèi)容讀至 A 中 MOV @R0,A INC R0 INC R2 INC R2 SETB T_CLK CLR T_RST DJNZ R7,G13021 RET 。 WRITEBYTE: 。寫 B 寄存器中的內(nèi)容至 1302 一字節(jié) MOV R4,08H 。R4 INBIT1:MOV A,B RRC A MOV B,A SETB T_IO 。T_IO 口做輸入口 MOV T_IO,C SETB T_CLK CLR T_CLK DJNZ R4,INBIT1 RET 。 READBYTE: 。讀 1302 一字節(jié)至 A 寄存器 MOV R4,8 。R4 OUTBIT1:MOV C,T_IO RRC A SETB T_CLK CLR T_CLK DJNZ R4,OUTBIT1 RET 。 END DS0302 。****** **************按鍵操作 ********************* ANJIAN_FUNCTION: 。功能選擇鍵中斷 接至 15 WAIT:JB ,WAIT SETB TR0 。啟動定時器 0,延時 10ms JNB TF0,$ JNB ,$ 。檢測按鍵是否彈起 SETB EX1 。在有功能選擇的時候開中斷 1 INC FUNC PUSH ACC 。保存 A 中的數(shù)值 MOV A,FUNC CJNE A,03H,FUN_1 MOV LINE0,80H 。 分隔符下移,以便區(qū)分于校時操作 MOV LINE1,80H FUN_1:CJNE A,04H,FUN_2 MOV LINE0,80H 。 分隔符下移,以便區(qū)分于校時操作 MOV LINE1,80H FUN_2:CJNE A,05H,ANJIAN_FUNCTION_RET 。控制所要置數(shù)的計數(shù)位閃動 SETB ET1 CLR EX1 。在功能選擇的時退出開中斷 1 MOV FUNC,00H MOV LINE0,40H 。顯示分和秒的間隔符 MOV LINE1,40H 。顯示小時和分的間隔符 ANJIAN_FUNCTION_RET: POP ACC ?;謴?fù) A 中的值 RETI 。校時加 中斷 COUNT_UP: PUSH ACC MOV A,FUNC CLR C SUBB A,00H 。檢測當(dāng)前有無校時或者對鬧鈴的操作 CJNE A,00H,COUNT_UP_NEXT AJMP COUNT_UP_RET 。*****************時 ******************** COUNT_UP_NEXT: CJNE A,01H,COUNT_UP_1 。檢測當(dāng)前操作是否為時鐘校時 時鐘位 INC HOUR0 MOV R6,HOUR1 。校時 R6 CJNE R6,02H,COUNT_UP_0_1 。先判斷小時高位是否已計數(shù)值 2 MOV R6,HOUR0 CJNE R6,04H,COUNT_UP_RET MOV HOUR1,00H MOV HOUR0,00H AJMP COUNT_UP_RET 。返回 COUNT_UP_0_1: MOV R6,HOUR0 CJNE R6,0AH,COUNT_UP_RET 16 MOV HOUR0,00H INC HOUR1 AJMP COUNT_UP_RET 。***************分 **************************** COUNT_UP_1: CJNE A,02H,COUNT_UP_2 。校時 分 INC MIN0 MOV R6,MIN0 CJNE R6,0AH,COUNT_UP_1_1 。先判斷分的低位 INC MIN1 MOV MIN0,00H COUNT_UP_1_1: MOV R6,MIN1 CJNE R6,06H,COUNT_UP_RET MOV MIN1,00H 。SJMP COUNT_UP_RET COUNT_UP_RET: LCALL HECHENG MOV SECOND,ZANCUN_SECOND 。每次校時秒都?xì)w零 LCALL SET1302 。每加一次對當(dāng)前計數(shù)值進(jìn)行一次重置 POP ACC RETI COUNT_UP_2: CJNE A,03H,COUNT_UP_3 。鬧鈴 時 CLR ET1 。暫停對 DS1302 的讀操作 MOV R6,HOUR1 。時 R6 CJNE R6,02H,COUNT_UP_2_1 。先判斷小時高位是否已計數(shù)值 2 INC HOUR0 MOV R6,HOUR0 CJNE R6,04H,COUNT_UP_NLRET MOV HOUR1,00H MOV HOUR0,00H AJMP COUNT_UP_NLRET 。返回 COUNT_UP_2_1: INC HOUR0 MOV R6,HOUR0 CJNE R6,0AH,COUNT_UP_NLRET MOV HOUR0,00H INC HOUR1 SJMP COUNT_UP_NLRET COUNT_UP_3:CJNE A,04H,COUNT_UP_RET 。鬧鈴 分 CLR ET1 。暫停對 DS1302 的讀操作 INC MIN0 MOV R6,MIN0 CJNE R6,0AH,COUNT_UP_3_1 。先判斷分的低位 17 INC MIN1 MOV MIN0,00H COUNT_UP_3_1:MOV R6,MIN1 CJNE R6,06H,COUNT_UP_NLRET MOV MIN1,00H COUNT_UP_NLRET: LCALL HECHENG POP ACC RETI 。*********** 有按鍵時重置 ds1302 當(dāng)前位計數(shù)值 (R5) ************** 。功能 :將當(dāng)前時,分的高低顯示計數(shù)值分別合成為 HOUR,MINUTE,對校時時 ds1302 重新寫入數(shù)據(jù)做準(zhǔn)備 HECHENG: 。R0,A PUSH ACC 。對 R0 的值壓棧 MOV A,FUNC CLR C SUBB A,00H 。檢測當(dāng)前有無校時或者對鬧鈴的操作 CJNE A,01H,HECHENG_1 MOV ZANCUN0,HOUR0 MOV ZANCUN1,HOUR1 ANL ZANCUN0,0FH ANL ZANCUN1,0FH MOV R5,A 。保存 A 中的值 MOV A,ZANCUN1 SWAP A ADD A,ZANCUN0 MOV HOUR,A MOV A,R5 ?;謴?fù) A 的計數(shù)值 SJMP HECHENG_RET HECHENG_1: CJNE A,02H,HECHENG_2 MOV ZANCUN0,MIN0 MOV ZANCUN1,MIN1 ANL ZANCUN0,0FH ANL ZANCUN1,0FH MOV R5,A 。保存 A 中的值
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1