欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3376|回復: 5
收起左側

51單片機無法在倒計時歸0時使蜂鳴器響起,求大神解答代碼出了什么問題

[復制鏈接]
ID:789840 發表于 2020-6-25 22:37 | 顯示全部樓層 |閱讀模式
STRT EQU P2.6
STP EQU P2.7
CLRR EQU P3.0
SEC EQU P3.5
MIN EQU P3.6
HOUR EQU P3.7

ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0INT
ORG 001BH
AJMP T1INT
ORG 0030H

MAIN:
CPL P1.0
MOV  SP,#60H
MOV R4,#20
MOV TMOD,#11H
MOV TH0,#03CH  ;#9EH 12M晶振時定時初值取#3CB0H,還可細調,如 TL=#0B7H,可以更準  
MOV TL0,#0B0H   ;#58H
MOV TH1,#0FEH
MOV TL1,#0CH
SETB EA
SETB ET0
SETB ET1
;MOV 28H,#12   

kS: LCALL DISP ;秒調整按鍵
JB SEC,KM
LCALL DISP
JNB SEC,$-3
AJMP SINC

kM: JB MIN,KH ;分調整按鍵
LCALL DISP
JNB MIN,$-3
AJMP MINC

KH: JB HOUR,K1 ;時調整按鍵
LCALL DISP
JNB HOUR,$-3
AJMP HINC

SINC: INC 26H ;秒調整
MOV A,26H
CJNE A,#60,SINC0
MOV 26H,#0
SINC0: AJMP KS

MINC: INC 27H ;分調整
MOV A,27H
CJNE A,#60,MINC0
MOV 27H,#0
MINC0: AJMP KM

HINC: INC 28H ;時調整
MOV A,28H
CJNE A,#24,HINC0
MOV 28H,#0
HINC0: AJMP KH  


k1: LCALL DISP ;開始鍵
JB STRT,K2
LCALL DISP
JNB STRT,$-3
AJMP START

k2: JB STP,K3 ;暫停鍵
LCALL DISP
JNB STP,STOP
K3: JB CLRR,KS
LCALL DISP
JNB CLRR,CLEAR ;清零鍵
AJMP KS

START: SETB TR0     ;開始
SETB 7DH  ;7DH為開始鍵按下標志,此作為允許鬧鈴標志
AJMP K1

STOP: CLR TR0 ;暫停
CPL P1.0
AJMP K2

CLEAR: CLR     TR0 ;清零
MOV A,#0
MOV 26H,A
MOV 27H,A
MOV 28H,A
AJMP KS

DISP:
MOV A,26H
MOV B,#10
DIV AB
MOV 20H,B  ;余數(秒個位數)
MOV 21H,A  ;商(秒十位數)
MOV A,27H
MOV B,#10
DIV AB
MOV 22H,B  ;余數(分個位數)
MOV 23H,A  ;商(分十位數)
MOV A,28H
MOV B,#10
DIV AB
MOV 24H,B  ;余數(時個位數)
MOV 25H,A  ;商(時十位數)
MOV A,20H  ;秒個位
ACALL SEG7
MOV P0,A
CLR P2.0
ACALL DLY
SETB P2.0
MOV A,21H  ;秒十位
ACALL SEG7
MOV P0,A
CLR P2.1
ACALL DLY
SETB P2.1
MOV A,22H  ;分個位
ACALL SEG7
MOV P0,A
SETB P0.7
CLR P2.2
ACALL DLY
SETB P2.2
MOV A,23H  ;分十位
ACALL SEG7
MOV P0,A
CLR P2.3
ACALL DLY
SETB P2.3
MOV A,24H  ;時個位
ACALL SEG7
MOV P0,A
SETB P0.7
CLR P2.4
ACALL DLY
SETB P2.4
MOV A,25H  ;時十位
ACALL SEG7
MOV P0,A
CLR P2.5
ACALL DLY
SETB P2.5
RET
ALARM:
JNB 7DH,ALRT
MOV A,28H    ;比較小時
CJNE A,#0,RT   ;不等返回。 相等,轉分鐘比較
MOV A,27H    ;比較分鐘
CJNE A,#0,RT
MOV A,26H    ;比較秒
CJNE A,#0,RT
SETB TR1
MOV R0,#0    ;鬧鈴時間到,鬧鈴計時清零
ALRT:
RET
RT:
RET
T0INT: MOV TH0,#03CH;#9EH ;定時中斷子程序。重裝定時常數
MOV TL0,#0B0H;#58H
DJNZ R4,T0INTR ;50msX20=1S,未滿20次,跳出中斷子程序
MOV R4,#20
CALL ALARM
DEC 26H  ;1S,秒存儲單元內數-1
MOV A,26H
CJNE A,#-1,T0INTR    ;未滿0S,跳轉
MOV 26H,#59  ;到0S,秒單元回到60
DEC 27H  ;分-1
MOV A,27H
CJNE A,#-1,T0INTR
MOV 27H,#59
DEC 28H           ;時-1
MOV A,28H
CJNE A,#-1,T0INTR
MOV 28H,#59               
T0INTR: RETI
T1INT:
MOV TH1,#0FEH
MOV TL1,#0CH
CJNE R0,#3,T1RTI   ;鬧鈴時間設為5秒
CPL P1.0
CLR TR1     ;關鬧鈴
T1RTI:
RETI

DLY10:  MOV R3,#30
D0: ACALL DLY
DJNZ R3,D0
RET
DLY: MOV R7,#2
D1: MOV R6,#40
DJNZ R6,$
DJNZ R7,D1
RET

SEG7:INC A
MOVC A,@A+PC
RET         
         DB      03FH  ;0
     DB      006H  ;1
         DB      05BH  ;2           共陰
         DB      04FH  ;3
         DB      066H  ;4
         DB      06DH  ;5
         DB      07DH  ;6
         DB      007H  ;7
         DB      07FH  ;8
         DB      06FH  ;9
END


51hei截圖_20200625223637.png
回復

使用道具 舉報

ID:789840 發表于 2020-6-25 22:38 | 顯示全部樓層
也沒有辦法使倒計時停止,但是ALARM子程序不是已經跳轉到T1了嘛
回復

使用道具 舉報

ID:784974 發表于 2020-6-26 08:33 | 顯示全部樓層
蜂鳴器可以更改為speaker試試,希望能幫助解決蜂鳴器的問題。
回復

使用道具 舉報

ID:319023 發表于 2020-6-26 09:57 | 顯示全部樓層
加一個指示燈 測試一下咯。  蜂鳴器 也單獨測試下是不是正常
回復

使用道具 舉報

ID:789840 發表于 2020-6-26 15:35 | 顯示全部樓層
謝謝大家!已經解決了,是代碼的問題導致無法進入ALARM子程序
回復

使用道具 舉報

ID:21568 發表于 2022-9-14 14:17 | 顯示全部樓層
樓主:希望看到調試正常的程序,謝謝
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表