| 联系本站 - 如何购买 - 订单查询 - 业务合作 - 投稿荐稿 - 网站导航 - |
|
![]() |
|
| 本站首页 | 电子制作 | 基础知识 | 单片机栏 | 专题文章 | 资源下载 | 网站产品 | 合作论坛 |
| 当前位置:首页 >> 单片机栏 >> 单片机实战例程 >> 正文 |
| “叮咚”门铃 |
| 单片机系列实验 |
| 作者:未知 来源:网络 推荐给好友 保护视力色:
|
|
当按下开关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次才可以。 6.汇编源程序 T5HZ EQU 30H T7HZ EQU 31H T05SA EQU 32H T05SB EQU 33H FLAG BIT 00H STOP BIT 01H SP1 BIT 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语言源程序 #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; } } }
|
|
|
添加到本地IE收藏夹 到论坛讨论 字号〖大 中 小〗 |
|
| 联系本站
- 如何购买 - 订单查询
- 业务合作 -
投稿荐稿 -
网站导航 - 版权说明 ◆◇实用电子制作◇◆网 sydzdiy.com 2004 - 2008 信息产业部备案号:蜀ICP备05006466号 |