單片機(jī)制作“ 叮咚”門鈴,AT89S51 DOORBELL
關(guān)鍵字:AT89S51,門鈴電路
1.實(shí)驗(yàn)任務(wù)
2.電路原理圖

3.系統(tǒng)板上硬件連線
(1.把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上;
(2.在“音頻放大模塊”區(qū)域中的SPK OUT端口上接上一個(gè)8歐或者是16歐的喇叭;
(3.把“單片機(jī)系統(tǒng)”區(qū)域中的P3.7/RD端口用導(dǎo)線連接到“獨(dú)立式鍵盤”區(qū)域中的SP1端口上;
4.程序設(shè)計(jì)方法
(1.我們用單片機(jī)實(shí)定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生700HZ和500HZ的頻率,根據(jù)定時(shí)/計(jì)數(shù)器T0,我們?nèi)《〞r(shí)250us,因此,700HZ的頻率要經(jīng)過(guò)3次250us的定時(shí),而500HZ的頻率要經(jīng)過(guò)4次250us的定時(shí)。
(2.在設(shè)計(jì)過(guò)程,只有當(dāng)按下SP1之后,才啟動(dòng)T0開(kāi)始工作,當(dāng)T0工作完畢,回到最初狀態(tài)。
(3.“?!焙汀斑恕甭曇舾髡加?.5秒,因此定時(shí)/計(jì)數(shù)器T0要完成0.5秒的定時(shí),對(duì)于以250us為基準(zhǔn)定時(shí)2000次才可以。
6.匯編源程序
T5HZEQU 30H
T7HZEQU 31H
T05SAEQU 32H
T05SBEQU 33H
FLAGBIT 00H
STOPBIT 01H
SP1BIT P3.7
ORG 00H
LJMP START
ORG 0BH
LJMP INT_T0
START:MOV TMOD,#02H
MOV TH0,#06H
MOV TL0,#06H
SETB ET0
SETB EA
NSP:JB SP1,NSP
LCALL DELY10MS
JB SP1,NSP
SETB TR0
MOV T5HZ,#00H
MOV T7HZ,#00H
MOV T05SA,#00H
MOV T05SB,#00H
CLR FLAG
CLR STOP
JNB STOP,$
LJMP NSP
DELY10MS:MOV R6,#20
D1:MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
INT_T0:INC T05SA
MOV A,T05SA
CJNE A,#100,NEXT
MOV T05SA,#00H
INC T05SB
MOV A,T05SB
CJNE A,#20,NEXT
MOV T05SB,#00H
JB FLAG,STP
CPL FLAG
LJMP NEXT
STP:SETB STOP
CLR TR0
LJMP DONE
NEXT:JB FLAG,S5HZ
INC T7HZ
MOV A,T7HZ
CJNE A,#03H,DONE
MOV T7HZ,#00H
CPL P1.0
LJMP DONE
S5HZ:INC T5HZ
MOV A,T5HZ
CJNE A,#04H,DONE
MOV T5HZ,#00H
CPL P1.0
LJMP DONE
DONE:RETI
END
7.C語(yǔ)言源程序
#include
unsigned char t5hz;
unsigned char t7hz;
unsigned int tcnt;
bit stop;
bit flag;
void main(void)
{
unsigned char i,j;
TMOD=0x02;
TH0=0x06;
TL0=0x06;
ET0=1;
EA=1;
while(1)
{
if(P3_7==0)
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_7==0)
{
t5hz=0;
t7hz=0;
tcnt=0;
flag=0;
stop=0;
TR0=1;
while(stop==0);
}
}
}
}
void t0(void) interrupt 1 using 0
{
tcnt++;
if(tcnt==2000)
{
tcnt=0;
if(flag==0)
{
flag=~flag;
}
else
{
stop=1;
TR0=0;
}
}
if(flag==0)
{
t7hz++;
if(t7hz==3)
{
t7hz=0;
P1_0=~P1_0;
}
}
else
{
t5hz++;
if(t5hz==4)
{
t5hz=0;
P1_0=~P1_0;
}
}
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
AT89C51 單片機(jī)中文資料
電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機(jī)中文資料.pdf》資料免費(fèi)下載
發(fā)表于 06-24 15:29
?0次下載
51單片機(jī)溫度報(bào)警器
電子發(fā)燒友網(wǎng)站提供《51單片機(jī)溫度報(bào)警器.zip》資料免費(fèi)下載
發(fā)表于 12-30 14:16
?3次下載
STC89C51是不是不可以通過(guò)串口讀取ADS1118的數(shù)據(jù),因?yàn)?b class='flag-5'>單片機(jī)是8位的?
STC89C51是不是不可以通過(guò)串口讀取ADS1118的數(shù)據(jù),因?yàn)?b class='flag-5'>單片機(jī)是8位的?
發(fā)表于 12-20 06:11
51單片機(jī)中為什么很少出現(xiàn)printf的身影
51單片機(jī)中為什么很少出現(xiàn) printf 的身影?是用不了嗎? 不是的,51單片機(jī)可以用 printf,只是不建議使用。 平時(shí)我們?cè)诓僮飨到y(tǒng)上寫C語(yǔ)言代碼,使用 printf 可以把數(shù)

基于51單片機(jī)的7人多數(shù)投票表決器設(shè)計(jì)
設(shè)計(jì)編號(hào):P13 1.主要功能: ? ? ? ? ? 基于51單片機(jī)AT89C51/52(與AT89S51/52、AT89C51/52、S

基于51單片機(jī)的簡(jiǎn)易搶答器
單片機(jī)的簡(jiǎn)易搶答器-仿真視頻設(shè)計(jì)介紹 51單片機(jī)簡(jiǎn)介51單片是一種低功耗、高性能CMOS-8位微控制器,擁有靈巧的8位CPU和可編

基于51單片機(jī)的手動(dòng)數(shù)字時(shí)鐘
具體實(shí)現(xiàn)功能由51單片機(jī)+8位共陰數(shù)碼管+獨(dú)立按鍵構(gòu)成。具體功能:(1)利用數(shù)碼管顯示時(shí)分秒,顯示格式為“時(shí)-分-秒”;(2)利用6個(gè)按鍵控制時(shí)、分、秒,設(shè)定好后自動(dòng)開(kāi)始時(shí)鐘顯示;(3)設(shè)置秒復(fù)位

基于51單片機(jī)的遙控開(kāi)關(guān)仿真(雙機(jī)通信)
具體實(shí)現(xiàn)功能由51單片機(jī)+獨(dú)立按鍵+繼電器+LED燈等構(gòu)成。實(shí)現(xiàn)功能:(1)本仿真設(shè)計(jì)的是一款遙控開(kāi)關(guān),采用51單片機(jī)進(jìn)行遙控器與主機(jī)的設(shè)計(jì);(2)遙控器由

如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信
51單片機(jī)與PC機(jī)的串行通信是一種常見(jiàn)的通信方式,它允許單片機(jī)通過(guò)串行接口與PC機(jī)進(jìn)行數(shù)據(jù)交換。這種通信方式在嵌入式系統(tǒng)、工業(yè)控制、物聯(lián)網(wǎng)等領(lǐng)域有著廣泛的應(yīng)用。以下是實(shí)現(xiàn)51
單片機(jī)的中斷機(jī)制
單片機(jī)的中斷機(jī)制是一種重要的處理方式,它允許單片機(jī)在執(zhí)行主程序的過(guò)程中,能夠暫停當(dāng)前任務(wù),轉(zhuǎn)而處理外部或內(nèi)部緊急事件。這種機(jī)制極大地提高了系統(tǒng)的響應(yīng)速度和處理能力,使得
51單片機(jī)驅(qū)動(dòng)
電子發(fā)燒友網(wǎng)站提供《51單片機(jī)驅(qū)動(dòng).exe》資料免費(fèi)下載
發(fā)表于 09-20 11:46
?5次下載
51單片機(jī)晶振的問(wèn)題總結(jié)
電子發(fā)燒友網(wǎng)站提供《51單片機(jī)晶振的問(wèn)題總結(jié).doc》資料免費(fèi)下載
發(fā)表于 09-07 09:32
?0次下載
51單片機(jī)燒錄軟件怎么用
準(zhǔn)備工作 確保您已經(jīng)安裝了51單片機(jī)燒錄軟件,如Keil、IAR等。 準(zhǔn)備好51單片機(jī)開(kāi)發(fā)板和燒錄器,如STC-ISP等。 確保您的計(jì)算機(jī)已經(jīng)安裝了相應(yīng)的驅(qū)動(dòng)程序。 安裝燒錄軟件 從官
評(píng)論