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 《at89x51.h》
#include 《intrins.h》
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();
}
}
}
}
斯坦德赋能富通集团自动化升级,领跑智能叉车批量落地
由简冲湾地区android论坛评估android开发
梅雨时节,小心蓄电池“发霉”,教你如何维护蓄电池
机智云助力万达打造“蓝海”实体商业数字化开放平台
京东数字科技推出智能机器人通用底盘开发平台
使用单片机实现报警器声音产生的设计资料概述
digilent万用表介绍
三星128GBEVOPlus卡评测 拥有出色的读写速度和能力
wireshark导入数据包进行分析
这位00后经历人生重大变故后,选择了智能家居,选择了Aqara绿米
显微红外热测试系统在驱动电源的应用案例
led灯珠封装工艺对灯珠的影响有哪些
佳都科技公司的认识及介绍
单片开关电源新技术概述
是德科技最新光通信和高速数字测试解决方案亮相OFC 2019大会
NAS网络存储器的网络备份软件有哪些?
如何为PDA采集器选择合适的嵌入式一维二维扫描模组?
什么是流程/规则编排
射频技术的研究进展分析和射频核心技术的原理及研究与工程实践
游戏首选手机VivoX20,全面屏+超强游戏配置