作业帮 > 综合 > 作业

用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz方波信号响100ms,500Hz方波信号

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 00:21:50
用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz方波信号响100ms,500Hz方波信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上报警信号响,当开关断开报警信号停止,编出程序.单片机晶振频率为12MHz.
选用定时计数器T1工作与定时方式1,定时1ms(1KHz)和2ms(500Hz)机器周期为
1ms:定时器初值TC= D=FC18H
所以:TH1=0FCH,TL1=18H
2ms:定时器初值TC= D=F830H
所以:TH1=0F8H,TL1=30H
开关合上P1.7输入低电平;方波由P1.0引脚输出,具体主程序及中断服务程序如下:
FLAG BIT 20H.0
ORG 00H
LJMP START
ORG 1BH
LJMP INT_T1
ORG 0100H
START:MOV TMOD,#10H
MOV TH1,#0FCH
MOV TL1,#18H
SETB ET1
SETB EA
SETB P1.7
MOV R7,#100
CLR FLAG
LOOP:CLR TR1
JB P1.7,$
SETB TR1
JNB P1.7,$
SJMP LOOP
INT_T0:JB FLAG,YS_200Ms
MOV TH1,#0FCH
MOV TL1,#18H
SJMP T0_1
YS_200Ms :MOV TH1,#0F8H
MOV TL1,#30H
DJNZ R7,T0_END
MOV R7,#100
CPL FLAG
T0_END:CPL P1.0
RETI