找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 116|回复: 1
打印 上一主题 下一主题
收起左侧

单片机门铃代码

[复制链接]
跳转到指定楼层
楼主
ID:1124435 发表于 2024-6-10 19:11 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint p=0;//必须是uint定义(p占2个字节)
sbit K=P1^7;//按键
sbit DoorBell=P3^0;//门铃
unsigned int i;
void main()
{
DoorBell=0;
TMOD=0x00;
TH0=(8192-700)/32;//700us定时
TL0=(8192-700)%32;
IE=0x82;

while(1)
{
if(K==0)//按下按键启动定时器
{
for(i=0;i<2;i++)//想实现两次“叮咚”,但是只能有一次“叮咚”
{
TR0=1;
}
}
}
}
void Timer0()interrupt 1
{
DoorBell=~DoorBell;
p++;

if(p<600) //若需要拖长声音,可以调整400 和800
{
TH0=(8192-700)/32; //700us 定时
TL0=(8192-700)%32;
}
else if(p<1200)
{
TH0=(8192-1000)/32; //1ms 定时
TL0=(8192-1000)%32;
}

else
{
TR0=0;
p=0;
}

}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表