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. 单片机实例1——闪烁灯(硬件电路图+汇编程序+C语言程序)

    1. 闪烁灯 1. 实验任务 如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒. 2. 电路原理图 图4.1.1 3. 系统板上硬件连线 ...

  2. 单片机实例2——模拟开关灯(硬件电路图+汇编程序+C语言程序)

    2. 模拟开关灯 1. 实验任务 如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭. 2. 电 ...

  3. 单片机实例19—— “叮咚”门铃(硬件电路图+汇编程序+C语言程序)

    19. "叮咚"门铃 1. 实验任务 当按下开关SP1,AT89S51单片机产生"叮咚"声从P1.0端口输出到LM386,经过放大之后送入喇叭. 2. 电路原理 ...

  4. 单片机实例20——数字钟(硬件电路图+汇编程序+C语言程序)

    20. 数字钟﹝★﹞ 1. 实验任务 (1. 开机时,显示12:00:00的时间开始计时: (2. P0.0/AD0控制"秒"的调整,每按一次加1秒: (3. P0.1/AD1控制 ...

  5. 单片机实例18——“嘀、嘀、……”报警声(硬件电路图+汇编程序+C语言程序)

    18. "嘀.嘀.--"报警声 1. 实验任务 用AT89S51单片机产生"嘀.嘀.-"报警声从P1.0端口输出,产生频率为1KHz,根据上面图可知:1KHZ方 ...

  6. 单片机实例27——ADC0809A/D转换器基本应用技术(硬件电路图+汇编程序+C语言程序)

    27. ADC0809A/D转换器基本应用技术 1. 基本知识 ADC0809是带有8位A/D转换器.8路多路开关以及微处理机兼容的控制逻辑的CMOS组件.它是逐次逼近式A/D转换器,可以和单片机直接 ...

  7. 单片机实例3——多路开关状态指示(硬件电路图+汇编程序+C语言程序)

    3. 多路开关状态指示 1. 实验任务 如图4.3.1所示,AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极 ...

  8. 单片机实例21——拉幕式数码显示技术(硬件电路图+汇编程序+C语言程序)

    21. 拉幕式数码显示技术 1. 实验任务 用AT89S51单片机的P0.0/AD0-P0.7/AD7端口接数码管的a-h端,8位数码管的S1-S8通过74LS138译码器的Y0-Y7来控制选通每个数 ...

  9. 单片机实例26——点阵式LED简单图形显示技术(硬件电路图+汇编程序+C语言程序)

    26. 点阵式LED简单图形显示技术 1. 实验任务 在8X8点阵式LED显示"★"."●"和心形图,通过按键来选择要显示的图形. 2. 电路原理图 图4.26 ...

最新文章

  1. oracle grand select,Oracle SQL 高级篇
  2. Python高级教程-生成器
  3. 计算机视觉实习岗面试准备(一.基础知识)
  4. fuzz系列之libfuzzer
  5. 模板资源管理器的使用
  6. Mono for Android 篇二 使用Spinner 实现下拉列表读取Browser.BookmarksUri
  7. java字符串学习_java之字符串学习记录
  8. TCP socket心跳包示例程序
  9. Hibernate事务
  10. 通过chrome console 快速获取网页连接
  11. Runtime library, CRT
  12. 计算机基础雨课堂答案,雨课堂试卷批量导入Word模板
  13. 公众号滑动图代码_微信公众号的代码块插入,及一键排版
  14. 阿里架构师经验分享!写给即将正在找工作的Java攻城狮,吊打面试官
  15. 使用Notification实现站内信
  16. 国科大学习资料--人工智能原理与算法-第七次作业解析(学长整理)
  17. qcustomplot圆_Qt之QCustomPlot(图形库)
  18. 戒梭先生:随笔|合格交易者要达到的三个境界
  19. Tiled Based Deferred Shading与Forward+
  20. 世纪佳缘水分有多大?

热门文章

  1. Linux,grep命令,在大日志文件中搜索关键字 最后/最开始出现位置
  2. 用二叉树表示家谱关系并实现各种查找功能
  3. 使用JavaScript创建SVG矢量图Code128编码
  4. 反距离加权matlab算法,ImageWarping变形算法研究---反距离加权插值(IDW)
  5. 2022-2028全球及中国弹性体行业研究及十四五规划分析报告
  6. 一位期货人的总结:大道至简,悟者大成
  7. 新游戏中出现的基于BSP场景分割技术
  8. 迅睿CMS 全站生成静态
  9. 删除无效的“设备和驱动器”
  10. 【华为HCIE证书难考吗?】