📄 “叮咚”门铃源程序 - et电子技术网.htm
字号:
MOV T5HZ,#00H
<BR>
MOV T7HZ,#00H
<BR>
MOV T05SA,#00H
<BR>
MOV T05SB,#00H
<BR>
CLR FLAG
<BR>
CLR
STOP
<BR>
JNB STOP,$
<BR>
LJMP NSP
<BR>DELY10MS: MOV
R6,#20
<BR>D1:
MOV R7,#248
<BR>
DJNZ R7,$
<BR>
DJNZ R6,D1
<BR>
RET
<BR>INT_T0:
INC T05SA
<BR>
MOV A,T05SA
<BR>
CJNE A,#100,NEXT
<BR>
MOV T05SA,#00H
<BR>
INC T05SB
<BR>
MOV A,T05SB
<BR>
CJNE A,#20,NEXT
<BR>
MOV T05SB,#00H
<BR>
JB FLAG,STP
<BR>
CPL FLAG
<BR>
LJMP NEXT
<BR>STP:
SETB STOP
<BR>
CLR TR0
<BR>
LJMP DONE
<BR>NEXT:
JB FLAG,S5HZ
<BR>
INC T7HZ
<BR>
MOV A,T7HZ
<BR>
CJNE A,#03H,DONE
<BR>
MOV T7HZ,#00H
<BR>
CPL P1.0
<BR>
LJMP DONE
<BR>S5HZ:
INC T5HZ
<BR>
MOV A,T5HZ
<BR>
CJNE A,#04H,DONE
<BR>
MOV T5HZ,#00H
<BR>
CPL P1.0
<BR>
LJMP DONE
<BR>DONE:
RETI
<BR>
END <BR><STRONG>7.C语言源程序<BR></STRONG>#include
<BR>unsigned char t5hz; <BR>unsigned char t7hz;
<BR>unsigned int tcnt; <BR>bit stop; <BR>bit flag;
<BR>void main(void) <BR>{ <BR> unsigned char i,j;
<BR> TMOD=0x02; <BR> TH0=0x06; <BR>
TL0=0x06; <BR> ET0=1; <BR> EA=1; <BR>
while(1) <BR> {
<BR> if(P3_7==0)
<BR> {
<BR>
for(i=10;i>0;i--)
<BR>
for(j=248;j>0;j--);
<BR>
if(P3_7==0)
<BR>
{
<BR>
t5hz=0;
<BR>
t7hz=0;
<BR>
tcnt=0;
<BR>
flag=0;
<BR>
stop=0;
<BR>
TR0=1;
<BR>
while(stop==0);
<BR>
} <BR> }
<BR> } <BR>} <BR>void t0(void)
interrupt 1 using 0 <BR>{ <BR> tcnt++; <BR>
if(tcnt==2000) <BR> {
<BR> tcnt=0;
<BR> if(flag==0)
<BR> {
<BR>
flag=~flag;
<BR> }
<BR> else
<BR>
{
<BR>
stop=1;
<BR>
TR0=0;
<BR>
} <BR> } <BR> if(flag==0)
<BR> {
<BR> t7hz++;
<BR> if(t7hz==3)
<BR> {
<BR>
t7hz=0;
<BR>
P1_0=~P1_0;
<BR> }
<BR> } <BR> else
<BR> {
<BR> t5hz++;
<BR>
if(t5hz==4)
<BR>
{
<BR>
t5hz=0;
<BR>
P1_0=~P1_0;
<BR>
} <BR> } <BR>}</P><BR>
<CENTER></CENTER></TD></TR>
<TR align=middle>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -