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

正文內(nèi)容

基于51單片機(jī)和時(shí)鐘芯片ds1302的數(shù)字時(shí)鐘設(shè)計(jì)2-在線瀏覽

2025-08-15 00:26本頁面
  

【正文】 。按鍵加1操作入口 ORG 001BH AJMP DU_1302 。實(shí)時(shí)時(shí)鐘 T_IO BIT 。復(fù)位線MOV TMOD,11H MOV TH1,15H 。設(shè)置按鍵防抖延時(shí) MOV TL0,68H SEC0 DATA 40H 。定義秒顯示的十位 LINE0 DATA 42H 。定義分顯示個(gè)位 MIN1 DATA 44H 。定義時(shí)分分隔符 HOUR0 DATA 46H 。定義時(shí)顯示十位 。秒寄存器,用于暫存當(dāng)前由DS1302讀的的秒的數(shù)據(jù)MINUTE DATA 53H 。時(shí)用于暫存當(dāng)前由DS1302讀的的時(shí)的數(shù)據(jù)SMJS DATA 55H 。定義按鍵功能選擇控制位ZANCUN0 DATA 57H 。定義按鍵操作時(shí)存儲(chǔ)校準(zhǔn)值的十位ZANCUN_SECOND DATA 59H 。鬧鈴小時(shí)值存儲(chǔ)單元 NLMINUTE_0 DATA 61H 。NLHOUR_1 DATA 62H 。鬧鈴發(fā)生標(biāo)志位 NLJS DATA 65H 。鬧鈴發(fā)生標(biāo)志位初始化為0,表示沒有鬧鈴的發(fā)生 MOV NLJS,00H 。鬧鈴符初值 MOV NLMINUTE_0,30H MOV LINE0,40H 。顯示小時(shí)和分的間隔符 MOV SMJS,00H MOV SECOND,00H 。R1 MOV R3,07H 。外部中斷葿邊沿觸發(fā) SETB IT1 SETB ET0 SETB ET1 SETB PT0 。外部中斷1中斷為高優(yōu)先級(jí),用來在有功能操作;時(shí)來中斷功能選擇的中斷 SETB EA 。T1主要進(jìn)行顯示掃描中斷 LCALL SET1302 。數(shù)碼管顯示程序XIANSHI: 。R6壓棧 MOV R6,TEMP CJNE R6,01H,XIANSHI_1 。 XIANSHI_1:MOV A,R1 。判斷當(dāng)前為是否需要顯示分隔符 MOV P2,R3 MOV P0,LINE0NEXTWEI:CJNE R3,02H,SEL_0 MOV P2,R3 MOV P0,LINE1 SEL_0:MOV P2,R3 。0,如果當(dāng)前計(jì)數(shù)位的計(jì)數(shù)值位0,則將0的共陰極七段數(shù)碼管編碼3FH送出顯示 SJMP SEL_10SEL_1: CJNE A,01H,SEL_2 MOV P0,06H 。2 SJMP SEL_10SEL_3: CJNE A,03H,SEL_4 MOV P0,4FH 。4 SJMP SEL_10 SEL_5: CJNE A,05H,SEL_6 MOV P0,6DH 。6 SJMP SEL_10 SEL_7:CJNE A,07H,SEL_8 MOV P0,07H 。8 SJMP SEL_10 SEL_9:CJNE A,09H,SEL_10 MOV P0,6FH 。R1加一,使當(dāng)前計(jì)數(shù)位后移一位 DEC R3 。掃描延時(shí)程序DELAY: MOV R5,4 。功能:對(duì)當(dāng)前由ds1302讀得的計(jì)數(shù)值進(jìn)行轉(zhuǎn)換 (寄存器均已壓棧) JSZH: 。R0壓棧 MOV A,R1 PUSH ACC 。計(jì)數(shù)數(shù)據(jù)sec0hour0的存儲(chǔ)首地址 MOV R0,52H 。地址加一跳過分隔符_的存儲(chǔ)單元 INC R0 CJNE R1,49H,LOOP_1 POP PSW POP ACC 。R0彈棧 MOV R0,A POP ACC 。讀取DS1302計(jì)數(shù)程序(T1中斷) (寄存器均已壓棧)DU_1302: PUSH ACC MOV A,R1 PUSH ACC 。每300ms讀一次ds1302的計(jì)數(shù)值,避免在ds1302定時(shí)一秒。調(diào)計(jì)數(shù)轉(zhuǎn)換子程序 MOV TH1,15H 。鬧鈴 MOV A,NLHOUR_0 CJNE A,HOUR,DU_1302_RET MOV A,NLMINUTE_0 CJNE A,MINUTE,DU_1302_RET MOV TEMP,01H 。R1彈棧 POP ACC RETI。設(shè)置ds1302初始時(shí)間,并啟動(dòng)計(jì)時(shí) PUSH ACC ??刂萍拇嫫? LCALL WRITEBYTE MOV B,00H 。秒/時(shí)/分 。秒寫地址 。寫秒/時(shí)/分地址 。寫秒數(shù)據(jù) 。控制寄存器 LCALL WRITEBYTE MOV B,80H。A恢復(fù)數(shù)據(jù) RET 。從ds1302讀時(shí)間秒/時(shí)/分 MOV R0,SECOND 。R7 MOV R2,81H 。寫操作時(shí),將一字節(jié)的內(nèi)容由B寫至DS1302中 LCALL READBYTE 。WRITEBYTE: 。R4INBIT1:MOV A,B RRC A MOV B,A SETB T_IO 。READBYTE: 。R4OUTBIT1:MOV C,T_IO RRC A SETB T_CLK CLR T_CLK DJNZ R4,OUTBIT1 RET。****** **************按鍵操作*********************ANJIAN_FUNCTION: 。啟動(dòng)定時(shí)器0,延時(shí)10ms JNB TF0,$ JNB ,$ 。在有功能選擇的時(shí)候開中斷1 INC FUNC PUSH ACC 。 分隔符下移,以便區(qū)分于校時(shí)操作 MOV LINE1,80H FUN_1:CJNE A,04H,FUN_2 MOV LINE0,80H ??刂扑脭?shù)的計(jì)數(shù)位閃動(dòng) SETB ET1 CLR EX1 。顯示分和秒的間隔符 MOV LINE1,40H ?;謴?fù)A中的值 RETI。檢測(cè)當(dāng)前有無校時(shí)或者對(duì)鬧鈴的操作 CJNE A,00H,COUNT_UP_NEXT AJMP COUNT_UP_RET 。檢測(cè)當(dāng)前操作是否為時(shí)鐘校時(shí)時(shí)鐘位 INC HOUR0 MOV R6,HOUR1 。先判斷小時(shí)高位是否已計(jì)數(shù)值2 MOV R6,HOUR0 CJNE R6,04H,COUNT_UP_RET MOV HOUR1,00H MOV HOUR0,00H AJMP COUNT_UP_RET 。***************分****************************COUNT_UP_1: CJNE A,02H,COUNT_UP_2 。先判斷分的低位 INC MIN1 MOV MIN0,00H COUNT_UP_1_1: MOV R6,MIN1 CJNE R6,06H,COUNT_UP_RET MOV MIN1,00H 。每次校時(shí)秒都?xì)w零 LCALL SET1302 。鬧鈴時(shí) CLR ET1 。時(shí)R6 CJNE R6,02H,COUNT_UP_2_1 。返回 COUNT_UP_2_1: INC HOUR0 MOV R6,HOUR0 CJNE R6,0AH,COUNT_UP_NLRET MOV HOUR0,00H INC HOUR1 SJMP COUNT_UP_NLRETCOUNT_UP_3:CJNE A,04H,COUNT_UP_RET 。暫停對(duì)DS1302的讀操作 INC MIN0 MOV R6,MIN0 CJNE R6,0AH,COUNT_UP_3_1 。*********** 有按鍵時(shí)重置ds1302當(dāng)前位計(jì)數(shù)值(R5) ************** 。R0,A PUSH ACC 。檢測(cè)當(dāng)前有無校時(shí)或者對(duì)鬧鈴的操作 CJNE A,01H,HECHENG_1 MOV ZANCUN0,HOUR0 MOV ZANCUN1,HOUR1 ANL ZANCUN0,0FH ANL ZANCUN1,0FH MOV R5,A
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1