#include<stc89xx.h>
#define uchar unsigned char
sbit fmq=P4^4;
sbit key=P1^7;
bit flag;
uchar times;
uchar cnt;
void t0isr() interrupt 1
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
if(flag)
{
fmq=~fmp;
num++;
if(num>=10)
{
flag=~flag;
num=0;
}
}
else
{
cnt++;
cnt%=2;
if(cnt==0)
{
fmq=~fmq;
num++;
if(num>=10)
{
num=0;
flag=~flag;
}
}
}
}
main()
{
TMOE=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
ET0=1;
EA=1;
while(1)
{
if(key==0)
{
TR0=1;
}
else TR0=0;
}
}
❷ 开关控制报警器如何用单片机实现
开关控制报警器如何用单片机实现
单片机C语言程序设计:开关控制报警器
/*名称:开关控制报警器
说明:用K1开关控制报警器,程序控制P1.0输出两种不同频率的声音,模拟很逼真的报警效果
*/
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitSPK=P1^0;
sbitK1=P1^7;
//发声函数
voidAlarm(uchart)
{
uchari,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j//由参数t行成不同的频率
}
voidmain()
{
SPK=0;
while(1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}
❸ 用单片机做电压报警器
这个只能告诉你大体的思路,至于详细的程序,要看硬件怎么设计的了,首先要测电压最简单的办法就是分压后ad,(单片机内部自带的ad或者外接的ad芯片),至于指示灯的跳动可以用定时器的中断来做,也是很简单的
❹ 单片机报警器程序
请问你需要对什么报警呢?温度,湿度?
还是只是单纯的给个时间让蜂鸣器响?我有写好的程序,
❺ 怎么用单片机最小系统做报警器,什么报警器都行,简单的 at89c51
电路很简单的,单片机的最小系统+蜂鸣器电路就可以了,程序自己写吧,贴上蜂鸣器的图:那个P34可以是单片机的任意IO口,供参考。
❻ 基于单片机的声音报警器设计
使用定时器,500HZ是周期是2ms,可将定时器0设置为200us中断,每次中断,进去计数计数到5(1ms),就翻转P1.0口电平,连续翻转0.2s后,暂停翻转,输出高电平或者低电平输出,并持续0.2s,然后循环。这段定时中断程序应该不难,给你思路,你就该会写了。
❼ 利用单片机实现数字显示优先报警器。
51单片机本身有两个带有一个可编程的定时器/计数器T1,T2,有四个方面的工作,只要初始值写入控制字,设置计数,你可以输出不同频率的脉冲为600万HZ 0.51微控制器值可以计算,存款0F0H,选择的方式,控制字
MOV TMOD,#01H;可选的方式
MOV TL0,#0F0H;加载初始值
SETB TR0;开始BR />或者,当目的地是SETB ET0允许中断
或SETB,如果目标是EA的CUP开中断
❽ 想用单片机开发一个温度湿度警报器,当温度湿度过高时,触发警报。需要哪些东西
单片机最小系统就不用说了吧 就是能让单片机工作起来 然后是湿度的传感器 和报警器 这些分别与单片机的某些引脚连接 接着就是单片机的编程 这个东西不大 用54应该能实现了 编程也就是说 当开启电源后 传感器开始检测 写一个报警的值 当达到这个值时 单片机发送个电平给报警器让起工作 报警.
❾ AT89C51单片机报警器设计
16个开关可以使用矩阵按键使用单片机的8IO引脚,单片机写程序利用延时函数通过P1.0引脚发出方波驱动蜂鸣器。可以换成有源蜂鸣器直接给高低电平信号就能驱动蜂鸣器工作。两位数码管一般需要10个单片机的IO引脚连接。
❿ 单片机at89c51用C语言编写报警器
#include<reg51.h>
#defineucharunsignedchar
uchartime;
sbitspk=P1^0;
voidt0isr()interrupt1
{
TH0=t_h;
TL0=t_l;
spk=~spk;
}
voidt1isr()interrupt3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
time++;
time%=6;
if(time==0)
{
t_h=(65536-500)/256;
t_l=(65536-500)%256;
}
if(time==2)
{
t_h=(65536-1000)/256;
t_l=(65536-1000)%256;
}
}
main()
{
TMOD=0x11;
t_h=(65536-500)/256;
t_l=(65536-500)%256;
TH0=t_h;
TL0=t_l;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR0=1;
TR1=1;
ET0=1;
ET1=1;
EA=1;
while(1);
}