报警产生器实验

报警产生器
1. 实验任务
用p1.0输出1khz和500hz的音频信号驱动扬声器,作报警信号,要求1khz信号响100ms,500hz信号响200ms,交替进行,p1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。
2. 电路原理图
图4.6.1
3. 系统板上硬件连线
(1. 把“单片机系统”区域中的p1.0端口用导线连接到“音频放大模块”区域中的spk in端口上;
(2. 在“音频放大模块”区域中的spk out端口上接上一个8欧的或者是16欧的喇叭;
(3. 把“单片机系统”区域中的p1.7/rd端口用导线连接到“四路拨动开关”区域中的k1端口上;
4. 程序设计内容
(1. 信号产生的方法
500hz信号周期为2ms,信号电平为每1ms变反1次,1khz的信号周期为1ms,信号电平每500us变反1次;
5. 程序框图
图4.6.2
6. 汇编源程序
flag bit 00h
org 00h
start: jb p1.7,start
jnb flag,next
mov r2,#200
dv: cpl p1.0
lcall dely500
lcall dely500
djnz r2,dv
cpl flag
next: mov r2,#200
dv1: cpl p1.0
lcall dely500
djnz r2,dv1
cpl flag
sjmp start
dely500: mov r7,#250
loop: nop
djnz r7,loop
ret
end
7. c语言源程序
#include
#include
bit flag;
unsigned char count;
void dely500(void)
{
unsigned char i;
for(i=250;i>0;i--)
{
_nop_();
}
}
void main(void)
{
while(1)
{
if(p1_7==0)
{
for(count=200;count>0;count--)
{
p1_0=~p1_0;
dely500();
}
for(count=200;count>0;count--)
{
p1_0=~p1_0;
dely500();
dely500();
}
}
}

黑莓Z10拆解全解:内部设计构造谁是大赢家?
什么是EMI(电磁干扰)?开关电源外部EMI的来源?
气体质量流量计测量航空燃油流量
马斯克成全球第四大富豪 马斯克身价达848亿美元
三星note7爆炸了又如何? 粉丝们三星S8超过iPhone8
报警产生器实验
温控品牌PMA继推出第四代KS98-2多功能控制产品
PTC与诸多合作伙伴联袂打造的PTC Forum中国年度大会圆满闭幕
人工智能最近有什么新闻
叫板华为荣耀9!一加手机5发布前外观配置全部泄露,逆天性价比着实感人
四川造低空空管系统国内首次实现地空短信双向通讯
2018年区块链和身份验证的5种预测及展望
国内首条县级城市有轨电车文山4号线解决方案
Cadence Allegro进行快速对齐器件的操作说明
新能源的泡沫主要在上游
中央空调和风管机的区别是什么 浅谈中央空调选择方法
全球首个天基蜂窝语音通话,打通了,这个重大新闻非常值得关注
OLED下一代显示技术已经是行业共识,海信电视转战OLED趋势不可逆转
采用磁致伸缩技术的位移传感器
如何使用ArduinoIDE设置ESP32