单片机实例6——报警产生器(硬件电路图+汇编程序+C语言程序)
6. 报警产生器
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();}}}
}
单片机实例6——报警产生器(硬件电路图+汇编程序+C语言程序)相关推荐
- 单片机实例1——闪烁灯(硬件电路图+汇编程序+C语言程序)
1. 闪烁灯 1. 实验任务 如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒. 2. 电路原理图 图4.1.1 3. 系统板上硬件连线 ...
- 单片机实例2——模拟开关灯(硬件电路图+汇编程序+C语言程序)
2. 模拟开关灯 1. 实验任务 如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭. 2. 电 ...
- 单片机实例19—— “叮咚”门铃(硬件电路图+汇编程序+C语言程序)
19. "叮咚"门铃 1. 实验任务 当按下开关SP1,AT89S51单片机产生"叮咚"声从P1.0端口输出到LM386,经过放大之后送入喇叭. 2. 电路原理 ...
- 单片机实例20——数字钟(硬件电路图+汇编程序+C语言程序)
20. 数字钟﹝★﹞ 1. 实验任务 (1. 开机时,显示12:00:00的时间开始计时: (2. P0.0/AD0控制"秒"的调整,每按一次加1秒: (3. P0.1/AD1控制 ...
- 单片机实例18——“嘀、嘀、……”报警声(硬件电路图+汇编程序+C语言程序)
18. "嘀.嘀.--"报警声 1. 实验任务 用AT89S51单片机产生"嘀.嘀.-"报警声从P1.0端口输出,产生频率为1KHz,根据上面图可知:1KHZ方 ...
- 单片机实例27——ADC0809A/D转换器基本应用技术(硬件电路图+汇编程序+C语言程序)
27. ADC0809A/D转换器基本应用技术 1. 基本知识 ADC0809是带有8位A/D转换器.8路多路开关以及微处理机兼容的控制逻辑的CMOS组件.它是逐次逼近式A/D转换器,可以和单片机直接 ...
- 单片机实例3——多路开关状态指示(硬件电路图+汇编程序+C语言程序)
3. 多路开关状态指示 1. 实验任务 如图4.3.1所示,AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极 ...
- 单片机实例21——拉幕式数码显示技术(硬件电路图+汇编程序+C语言程序)
21. 拉幕式数码显示技术 1. 实验任务 用AT89S51单片机的P0.0/AD0-P0.7/AD7端口接数码管的a-h端,8位数码管的S1-S8通过74LS138译码器的Y0-Y7来控制选通每个数 ...
- 单片机实例26——点阵式LED简单图形显示技术(硬件电路图+汇编程序+C语言程序)
26. 点阵式LED简单图形显示技术 1. 实验任务 在8X8点阵式LED显示"★"."●"和心形图,通过按键来选择要显示的图形. 2. 电路原理图 图4.26 ...
最新文章
- oracle grand select,Oracle SQL 高级篇
- Python高级教程-生成器
- 计算机视觉实习岗面试准备(一.基础知识)
- fuzz系列之libfuzzer
- 模板资源管理器的使用
- Mono for Android 篇二 使用Spinner 实现下拉列表读取Browser.BookmarksUri
- java字符串学习_java之字符串学习记录
- TCP socket心跳包示例程序
- Hibernate事务
- 通过chrome console 快速获取网页连接
- Runtime library, CRT
- 计算机基础雨课堂答案,雨课堂试卷批量导入Word模板
- 公众号滑动图代码_微信公众号的代码块插入,及一键排版
- 阿里架构师经验分享!写给即将正在找工作的Java攻城狮,吊打面试官
- 使用Notification实现站内信
- 国科大学习资料--人工智能原理与算法-第七次作业解析(学长整理)
- qcustomplot圆_Qt之QCustomPlot(图形库)
- 戒梭先生:随笔|合格交易者要达到的三个境界
- Tiled Based Deferred Shading与Forward+
- 世纪佳缘水分有多大?