“叮咚”门铃电路设计 您所在的位置:网站首页 智能门铃电路图 “叮咚”门铃电路设计

“叮咚”门铃电路设计

2024-07-13 23:24| 来源: 网络整理| 查看: 265

“叮咚”门铃1. 实验任务 当按下开关SP1,AT89S51单片机产生“叮咚”声从P1.0端口输出到LM386,经过放大之后送入喇叭。 2. 电路原理图

图4.19.1 3. 系统板上硬件连线 (1. 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上; (2. 在“音频放大模块”区域中的SPK OUT端口上接上一个8欧或者是16欧的喇叭; (3. 把“单片机系统”区域中的P3.7/RD端口用导线连接到“独立式键盘”区域中的SP1端口上; 4. 程序设计方法 (1. 我们用单片机实定时/计数器T0来产生700HZ和500HZ的频率,根据定时/计数器T0,我们取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ的频率要经过4次250us的定时。 (2. 在设计过程,只有当按下SP1之后,才启动T0开始工作,当T0工作完毕,回到最初状态。 (3. “叮”和“咚”声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250us为基准定时2000次才可以。 5. 程序框图

主程序框图  T0中断服务程序框图

图4.19.2 6. 汇编源程序T5HZ EQU 30HT7HZ EQU 31HT05SA EQU 32HT05SB EQU 33HFLAG BIT 00HSTOP BIT 01HSP1 BIT P3.7ORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HSETB ET0SETB EANSP: JB SP1,NSPLCALL DELY10MSJB SP1,NSPSETB TR0MOV T5HZ,#00HMOV T7HZ,#00HMOV T05SA,#00HMOV T05SB,#00HCLR FLAGCLR STOPJNB STOP,$LJMP NSPDELY10MS: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETINT_T0: INC T05SAMOV A,T05SACJNE A,#100,NEXTMOV T05SA,#00HINC T05SBMOV A,T05SBCJNE A,#20,NEXTMOV T05SB,#00HJB FLAG,STPCPL FLAGLJMP NEXTSTP: SETB STOPCLR TR0LJMP DONENEXT: JB FLAG,S5HZINC T7HZMOV A,T7HZCJNE A,#03H,DONEMOV T7HZ,#00HCPL P1.0LJMP DONES5HZ: INC T5HZMOV A,T5HZCJNE A,#04H,DONEMOV T5HZ,#00HCPL P1.0LJMP DONEDONE: RETIEND

7. C语言源程序#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;}}}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有