![]() |
發布時間: 2017-8-17 17:38
正文摘要:面板是自己做的有點粗糙,本定時器可以嵌入墻壁內,主控芯片是AT89C2051直接驅動數碼管和繼電器,紅燈指示繼電器輸出,現在是定時時間內繼電器吸合狀態,也可以設置為定時時間到吸合 |
雖然學過匯編,但看起來依然很頭疼 |
底下還有一層電源嗎?另外,這個at89c2051用什么燒錄?isp行嗎?必須要用編程器嗎? |
如樓主說的繼電器狀態不同接法也不同,看各自需求加上 |
數碼管倒計時提醒器.jpg (47.76 KB, 下載次數: 122)
給個圖!!! |
樓主上傳個電路圖唄 |
是呀是呀,樓主真要賜給個電路圖哦.我們這些土包子是從音響功放DIY出來玩的,不是電子專業人士,沒有電路圖,怎么玩呀 |
樓主給個電路圖和HEX燒寫文件嗎?謝謝! |
thanks for sharing |
求樓主給個電路圖和HFX燒寫文件, |
czhaii 發表于 2017-8-23 14:20 那是我以前做的,現在用C寫了 |
還有不少人弄匯編么?想當初入門也是一個一個匯編指令敲出來,一條一條研究。 |
源碼怎么上傳? |
MENU BIT P3.4 UPO BIT P3.5 ;DOWNO BIT P3.7 JDQ BIT P3.7 ORG 00H SJMP MAIN ;程序開始 ORG 0BH ;T0入口地址 JMP INTT0 ORG 1BH JMP INTT1 ORG 30H ;------------------------------------------------ MAIN: MOV SP,#70H ;堆鍵地址設置 MOV R1,#60H ;清除首址 MOV R7,#16 ;清除單元數 MOV P3,#0FFH SETB JDQ CLEARH: MOV @R1,#00H INC R1 DJNZ R7,CLEARH ;-------------------------------------------------- MOV R2,#00H ;60S計數單元 MOV R3,#00H ;60M計數單元 MOV R4,#14H ;1S中斷20次 MOV 22H,#10 ;0.5S中斷10次 MOV 29H,#00H ;MENU鍵按鍵次數 MOV 20H,#00H ;0.5S標志位 MOV 24H,#00H ;24小時到標志單元 MOV 6CH,#0BH ;熄滅符 MOV TMOD,#11H MOV TL0,#0B0H MOV TH0,#3CH MOV TL1,#0B0H MOV TH1,#3CH SETB EA SETB ET0 SETB ET1 SETB TR0 CLR TR1 JMP MENUD1 ;----------------------------- START1: CALL DISP JNB MENU,MENU0 ;時間調整按鍵 SJMP START1 ;------------------------------------------ MENU0: CALL DISP JNB MENU,MENU0 NEXT: MOV R0,#68H ;調時單元 MOV 29H,#00H CLR TR0 SETB TR1 NEXT1: CALL DISP JNB MENU,MENUD1 JNB UPO,UP ;JNB DOWNO,DOWN SJMP NEXT1 MENUD1: MOV R0,#68H ;調時單元 ;MOV 29H,#00H CLR TR0 SETB TR1 CALL DISP JNB MENU,MENUD1 INC R0 INC R0 INC 29H ;按“MENU”鍵29H單元加 1 SETB 20H.1 JNB MENU,MENUD1 JNB UPO,UP ;JNB DOWNO,DOWN MOV A,29H CJNE A,#02H,NEXT1 ;MENU鍵按下3次退出調時程序,不到3次繼續 MOV 29H,#00H SETB TR0 CLR TR1 CLR JDQ MOV R2,66H CLR 20H.2 CLR 20H.1 MOV 60H,66H MOV 61H,67H MOV 62H,68H MOV 63H,69H JMP START1 ;------------------------------------------ UP: CALL DISP JNB UPO,UP UP2: CJNE R0,#68H,UP0 CALL ADDSS UP3: CALL DISP JNB MENU,MENUD1 JNB UPO,UP ;JNB DOWNO,DOWN SJMP UP3 UP0: CJNE R0,#6AH,UP1 CALL ADDMM1 UP1: SJMP UP3 ;--------------------------------------------- DOWN: CALL DISP ;JNB DOWNO,DOWN CJNE @R0,#00H,DOWN0 MOV @R0,#0AH DOWN0: DEC @R0 MOV 60H,66H MOV 61H,67H MOV 62H,68H MOV 63H,69H MOV 64H,6AH MOV 65H,6BH DOWN1: CALL DISP JNB MENU,MENUD1 JNB UPO,UP ;JNB DOWNO,DOWN JMP DOWN1 ;---------------------------------------------------- DISP: MOV R5,#04H ;數碼管掃描位數 MOV R1,#60H ;顯示首地址 ;MOV R5,#11110111B ;數碼管位掃描碼 PLAY: CJNE R5,#04H,D3 CLR P3.3 D3: CJNE R5,#03H,D4 CLR P3.2 D4: CJNE R5,#02H,D5 CLR P3.1 D5: CJNE R5,#01H,D6 CLR P3.0 ;MOV A,R5 ;MOV P3,A D6: MOV A,@R1 JNB 20H.0,D1 MOV DPTR,#TAB0 SJMP D2 D1: MOV DPTR,#TAB1 D2: MOVC A,@A+DPTR MOV P1,A CALL DL1MS INC R1 SETB P3.3 SETB P3.2 SETB P3.1 SETB P3.0 ;MOV A,R5 ;RR A ;MOV R5,A DJNZ R5,PLAY RET ;---------------------------------------------------- INTT1: PUSH ACC ;調時閃爍中斷程序 PUSH PSW CLR TF1 MOV TL1,#0B0H MOV TH1,#3CH SETB TR1 DJNZ 22H,T1OUT CPL 20H.2 MOV 22H,#10 T1OUT: JB 20H.2,FLASH1 MOV 60H,66H MOV 61H,67H MOV 62H,68H MOV 63H,69H D1OUT: POP PSW POP ACC RETI FLASH1: JB 20H.1,FLASH2 MOV 60H,6CH MOV 61H,6CH MOV 62H,68H MOV 63H,69H AJMP D1OUT FLASH2: MOV 60H,66H MOV 61H,67H MOV 62H,6CH MOV 63H,6CH AJMP D1OUT ;==================================== INTT0: PUSH ACC ;秒中斷程序 PUSH PSW CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 DJNZ R4,T0OUT CALL DECSS;ADDSS T0OUT: CJNE R4,#10,D0OUT CPL 20H.0 D0OUT: POP PSW POP ACC RETI JIAYIOUT:RET ;=================================================== ADDSS: CPL 20H.0 MOV R4,#14H ;50毫秒中斷20次 INC 66H INC R2 ;60S計數寄存器 MOV 60H,66H CJNE R2,#60,ADDSS1 JMP ADDMM ADDSS1: MOV A,66H ;秒個位傳入顯示 CJNE A,#0AH,JIAYIOUT ;不相等轉移 ;---------------------------------------------------------- MOV 66H,#00H ;--------------------------------------------------------------------------- INC 67H MOV 61H,67H ;秒十位傳入顯示 RET ;----------------------------------------------------------- ADDMM: MOV 66H,#00H ;秒個位清零 MOV 60H,66H MOV 67H,#00H ;秒十位清零 MOV 61H,67H MOV R2,#00H ;秒計數寄存器清零 ;-------------------------------------------- ADDMM1: INC 68H INC R3 ;60分計數寄存器 MOV 62H,68H ;分個位傳入顯示 CJNE R3,#60,ADM1 JMP start1 ADM1: MOV A,68H CJNE A,#0AH,JIAYIOUT ;------------------------------------- MOV 68H,#00H INC 69H MOV 63H,69H ;分十位傳入顯示 RET ;---------------------------------------------------------------------------- DECOUT: CJNE R2,#00H,A1 MOV R2,66H DEC 67H MOV 61H,67H RET A1: DEC 66H DEC R2 MOV 60H,66H RET DECSS: CPL 20H.0 MOV R4,#14H ;50毫秒中斷20次 MOV A,66H CJNE A,#00H,DECOUT MOV A,67H CJNE A,#00H,DECSS1 MOV A,68H CJNE A,#00H,DECSS2 MOV A,69H CJNE A,#00H,DECMM0 CLR TR0 ;SETB TR1 SETB JDQ RET ;JMP START1 ;SETB TRO DECSS1: MOV 66H,#9 ;秒個位從9-0開始 MOV 60H,66H JMP DECOUT DECSS2: MOV 66H,#9 MOV 60H,66H MOV 67H,#6 MOV 61H,67H DEC 68H MOV 62H,68H JMP DECOUT ;----------------------------- DECMM0: MOV 66H,#9 MOV 60H,66H MOV 67H,#6 MOV 61H,67H MOV 68H,#9 MOV 62H,68H DEC 69H MOV 63H,69H JMP DECOUT ;------------------------------------------------------------------------------ DL1MS: MOV 27H,#10 ;2MS DL2: MOV 28H,#200 DJNZ 28H,$ DJNZ 27H,DL2 RET ;-------0---1---2---3---4---5---6---7---8---9---0--熄滅符------------ TAB0:DB 02H,9EH,24H,0CH,98H,48H,40H,1EH,00H,08H,02H,0FFH;--“:”--亮 TAB1:DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H,03H,0FFH;--“:”--滅 END |
好東東,樓主能分享一下源碼嗎? |