单片机定时器控制电子门铃c语言程序

发布网友 发布时间:2022-04-22 16:49

我来回答

4个回答

热心网友 时间:2023-10-22 05:31

图中那示波器的接法有什么用?应该是监测P2.0口和P2.3口吧。
编程如下:
#include <reg52.h> //52系列头文件
#define uchar unsigned char //变量类型宏定义
#define uint unsigned int

sbit Key = P2^0; //按键位声明
sbit Bell = P2^3;//门铃位声明
uint p; //中断次数变量

void main()//主程序
{
TMOD = 0x00;//设置T0工作于方式0
TH0 = (8192-700)/32;//T0计数器装入定时700us初值
TL0 = (8192-700)%32;
IE = 0x82;//开总中断,开T0中断

if(Key==0)//如果键被按下
{
TR0 = 1;//启动T0定时器计时
}
while(Key==0);//等待按键松开
}

void Timer0() interrupt 1//T0中断服务子程序
{
Bell = ~Bell;//每次中断发生时,门铃状态取反
p++;//中断计次值加1
if(p<=400)//如果中断<=400次,
{
TH0 = (8192-700)/32;//重装700us定时初值
TL0 = (8192-700)%32;
}
if(p>400) //如果中断次数>400
{
TH0 = (8192-1000)/32;//则重装定时 1ms 初值
TL0 = (8192-1000)%32;
if(p==1000)//如果中断次数 =800次
{
P = 0;//中断计数值归0
TR0 = 0;//关闭T0定时器
}
}
}
操作说明:每当按下并保持,响铃一声。松开后再按,即重复上述状态。

热心网友 时间:2023-10-22 05:31

有易语言的!C++的没有,需要就采纳。+81708437

热心网友 时间:2023-10-22 05:32

2653914184@QQ.COM把要求发给我

热心网友 时间:2023-10-22 05:32

具体要求写出来才好回答呀。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com