找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 862|回復(fù): 1
收起左側(cè)

單片機(jī)門鈴代碼

[復(fù)制鏈接]
ID:1124435 發(fā)表于 2024-6-10 19:11 | 顯示全部樓層 |閱讀模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uint p=0;//必須是uint定義(p占2個(gè)字節(jié))
sbit K=P1^7;//按鍵
sbit DoorBell=P3^0;//門鈴
unsigned int i;
void main()
{
DoorBell=0;
TMOD=0x00;
TH0=(8192-700)/32;//700us定時(shí)
TL0=(8192-700)%32;
IE=0x82;

while(1)
{
if(K==0)//按下按鍵啟動(dòng)定時(shí)器
{
for(i=0;i<2;i++)//想實(shí)現(xiàn)兩次“叮咚”,但是只能有一次“叮咚”
{
TR0=1;
}
}
}
}
void Timer0()interrupt 1
{
DoorBell=~DoorBell;
p++;

if(p<600) //若需要拖長(zhǎng)聲音,可以調(diào)整400 和800
{
TH0=(8192-700)/32; //700us 定時(shí)
TL0=(8192-700)%32;
}
else if(p<1200)
{
TH0=(8192-1000)/32; //1ms 定時(shí)
TL0=(8192-1000)%32;
}

else
{
TR0=0;
p=0;
}

}
回復(fù)

使用道具 舉報(bào)

ID:161164 發(fā)表于 2024-6-18 14:29 | 顯示全部樓層
  1.         while(1)
  2.         {
  3.                 if(K==0)//按下按鍵啟動(dòng)定時(shí)器
  4.                 {
  5.                         i=2;
  6.                 }
  7.                 if(i!=0)
  8.                         if(TR0==0)
  9.                         {
  10.                                 i=i-1;
  11.                                 TR0=1;
  12.                         }
  13.         }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表