电子开发 | 基础入门 | 电路原理图 | 梯形图实例 | PLC基础   《如果喜欢本站,请按 Ctrl+D 手动收藏!感谢您的支持》一起学习一起进步,电子开发王欢迎您!.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

★电路公式手册,最新版《电子电路公式计算器》,电路公式查询手册 电路公式计算器【电子从业人员必备手册】
☆十天学会单片机实例100 c语言 chm格式。资料内容详细,覆盖例子多,内容广【电子从业人员必备手册】
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机 >> 正文

单片机制作“ 叮咚”门铃电路图

作者:佚名    文章来源:本站原创    点击数:1789    更新时间:2016-9-23

关键字:AT89S51,门铃电路

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

单片机门路电路图详解 

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;
          }
      }
}


Tags:单片机,门铃电路图,AT89S51  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
    没有任何评论
电子开发网:汇集综合各类电子制作与电路图的网站,plc工控技术,模电数电知识,单片机EDA等等!荟萃电路图网站精华,为工程师创造价值。欢迎关注微信公众号:电子开发网!
资料包下载
 [闁告娲滄晶鏍嫉妤﹁法銈柡鍌︽嫹]闁告ぞ绀侀妵澶屸偓娑崇細缁变即宕¢弴鐘差暬闁哄牆鎼悿鍕瑹閿燂拷100 c閻犲浄鎷�
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]LM324閺夆晜鍔栭弬锟�4~20mA閺夌儑鎷�1~5V闁汇垹鐏氱粊锟�
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]LM386濡炲湱绮悗顒佹媴閹捐顔婇柛蹇擃儔椤ユ捇寮ㄩ幆褋浜i柛锝冨妼鐢拷
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]936闁绘帒锕よぐ鎾偨娴e啰鐔呴柛妯煎枔閹﹪宕堕敓锟�
 [闁告娲滄晶鏍嫉妤﹁法銈柡鍌︽嫹]閻℃帒鎳庨敍鎰枖閵忥紕銈撮悹鐚存嫹+婵炴挴鏅涚€癸拷+闁硅翰鍎撮鐔兼儍閸曨偄绀�
 [闂侇偅姘ㄩ弫銈夋偨闂堟稓鎽嶉悹浣瑰礃椤撳憡娼娆愵偨]S7-200PLC闁汇劌瀚挒銏ゆ儑閻旀槒鎷ù鐙呮嫹 S7_2
 [閺夌儐鍨▎銏㈢尵閿燂拷]S7-200閹煎瓨鎸婚弸鍐╃鐠佸湱绀勯柛蹇g厜缁憋拷,STEP7
 [閺夌儐鍨▎銏㈢尵閿燂拷]ModbusPoll闁告粌顒爋dbusSalve闁稿骏鎷�
 [閺夌儐鍨▎銏㈢尵閿燂拷]STEP7婵☆垪鍓濈€氭瑩鏌岃箛鏂跨樄濞寸姰鍊曠花锟� Smart_
 [閺夌儐鍨▎銏㈢尵閿燂拷]Modbus閻犲鍟抽惁顖滃垝閸撗傜触 v1.024 缂備緤鎷�
 [閺夌儐鍨▎銏㈢尵閿燂拷]Modscan32闁告粌顒爋dsim32,modb
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]89c51闁稿繐顦遍悵娑㈠棘闁稖闆归柣顏嗗櫐缁辨獤rotues
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]濞戞挸娲ら崟楣冨储閸炴姰otues濞寸姾娉曞﹢锛勭矙鐎n亞纰嶆繝褎鍔楅悥锟�
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]51闁告娲滄晶鏍嫉閸濆嫬鍧婄紒瀣舵嫹 protues濞寸姾娉曞﹢锟�
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]闁告娲滄晶鏍嫉閿燂拷 PROTUES濞寸姾娉曞﹢锛勨偓鍦仒缁躲儲寰勯敓锟�
最新文章
 简单三极管逆变器
 TL494制作50HZ逆变
 80W简单的功放电路
 555制作的简易电子
 850热风枪电路图原
 直流12v荧光灯电路
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询