标题: 简易报警发生器的设计。 [打印本页]
作者: 火123 时间: 2016-12-1 19:52
标题: 简易报警发生器的设计。
1 简易报警发生器的设计。编程实现从P1.5分别输出1KHz和500Hz的音频信号驱动其所接的蜂鸣器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行。用一开关或按键控制报警器的开和关。(出题时里面的参数可变动;可以用查询法或中断法检测定时时间到,但两种方法必须都会;会计算定时器定时初值,会初始化TMOD、TCON、IE)。
下面这个程序能实现此功能不?
#include<reg51.h>
unsigned char a=0;
unsigned char i=0;
sbit P1_5=P1^5;
sbit P1_0=P1^0;//2úéú1KHZμÄÆμÂê
sbit P1_1=P1^1;//2úéú500HZμÄÆμÂê
void main()
{
TMOD=0x11;
TH1=(65536-1000)/256;//¶¨ê±1ms
TL1=(65536-1000)%256;
EA=1;
ET1=1;
TR1=1;
TH0=0xd8;//¶¨ê±10ms
TL0=0xf0;
ET0=1;
TR0=1;
while(1);
}
void int_1() interrupt 1
{
TH0=0xd8;//¶¨ê±10ms
TL0=0xf0;
i++;
if(i==1)
{
P1_5=P1_0;//¶¨ê±100ms
}
else if(i==11)
{
P1_5=P1_1;//¶¨ê±200ms
if(i==31) i=1;
}
}
void int_3() interrupt 3
{
TH1=(65536-1000)/256;//¶¨ê±1ms
TL1=(65536-1000)%256;
a++;
P1_0=~P1_0;
if(a==2)
{P1_1=~P1_1;a=0;}
}
作者: zl2168 时间: 2016-12-2 08:21
标题: 电话铃声、救护车报警声
本帖最后由 zl2168 于 2016-12-2 08:27 编辑
电话铃声、救护车报警声
先Proteus仿真一下,确认有效。
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1.。书中电路和程序设计有详细说明,程序语句条条有注解。
作者: zl2168 时间: 2016-12-2 08:28
本帖最后由 zl2168 于 2016-12-2 08:32 编辑
警车声
警车声在电子密码锁案例中,连续4次输入错误,1602第1行显示:input fail!(输入失败),并发出警车声,报警灯VD2(黄)闪烁,中间不能打断。
先Proteus仿真一下,确认有效,验证上述功能。
以上摘自张志良编著《80C51单片机实用教程》ISBN978-7-04-044532-9,高教社出版。书中电路和程序设计有详细说明,程序语句条条有注解。
作者: lgjdqm 时间: 2016-12-2 11:41
基本可以
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |