欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机控制的电铃控制器.docx

    • 资源ID:13440225       资源大小:424.43KB        全文页数:29页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机控制的电铃控制器.docx

    1、基于单片机控制的电铃控制器单片机原理与应用技术题目:基于单片机控制的电铃控制器基于单片机控制的电铃控制器一.设计要求(一) 基本功能1.显示:可以显示星期、时、分和秒2.打铃:每天可设置20次,打铃持续时间每次1-90秒可调,每次打铃的间隔时间分钟 gg 可调。3.铃声:内置蜂鸣器可以发出监控声音(二) 性能时间日误差1.5秒(三) 扩展功能1.可设定单/双休息日不打铃2.随季节变化,每天自动调整开与关的时间二计划完成时间三周1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。2.第二周完成软件的具体设计和硬件的制作。3.第三周完成软件和硬件的联合调试。3.编写设计报告写出设计的全

    2、过程,附上有关资料和图纸,有心得体会。4.答辩在规定时间内,完成叙述并回答问题。1引言 12总体设计方案 12.1设计思路 12.2总体设计框图 12.3设计方案 13设计原理分析 23.1按键功能 23.2状态指示 23.3打铃控制 23.4电路原理图 24程序流程框图 34.1总体程序流程图 34.2主程序流程图 34. 3校时程序流程图 44. 4时钟打铃程序流程图 45心得与体会 5参考文献 5附录基于单片机控制的电铃控制器摘要:该设计介绍了一种以AT89C51单片机为核心,以七段数码管显示星期、时、分和秒,发光二极管作为指示灯标志 及按键较时、定时的自动打铃器。关键词:单片机 电铃自

    3、动 数码管1引言基于目前传统电铃噪音大,声音刺耳,不符合人们追求绿色环保的要求,我们采用 89C51单片机设计了一套自动打铃系统。单片机( Si ngle Chip Microcomputer SCM )技术的应用,不但降低了生产成本,同时也方便了消费者,使操作简洁、安全。单片机的应用使许多复杂的事情,都 能够简单、方便的实现了。用单片机控制的自动打铃器,充分发挥单片机体积小,价格便宜,功耗低, 可靠性好等特点,充分发挥了单片机的控制优势。本打铃器可用于作息时间控制,方便了广大师生。2总体设计方案2.1设计思路利用单片机及其定时器设计的一个时钟,在每次毫秒加 1的计时过程中,都与设定的打铃时间

    4、作比较,如果相等就输出打铃信号,不等则返回。如此反复运行。2. 2总体设计框图图1总体设计框图2. 3设计方案根据设计任务的基本要求, 设计了由单片机(AT89S51)作为主控器件,七段数码管作为显示电路,七个按键组成的按键操作电路,七个发光二极管组成的状态指示电路,以及三极管、蜂鸣器组 成的报警提示电路和继电器组成的打铃信号输出电路构成的自动打铃器。除了以上的硬件电路外,还充分利用软件、硬件相结合,充分发挥单片机设计的优势。使设计更具 特色。系统可分成三部分,即时钟电路、时间显示电路、控制电路,而时钟电路起控制主导作用。时钟电路的构成由单片机及其定时器完成,时间显示电路则由单片机串口输出,送

    5、到外部集成芯片 74LS164,最后由七段数码管显示出来。控制电路主要控制着复位电路、校时以及设置打铃点等操作,并 配以状态指示电路辅助操作。3设计原理分析3.1按键功能初步设计了由六个按键来完成所有的操作, 它们的功能分别是:复位键、设置键、存储键、加一键、减一键、确认键,具体操作方法由软件设计为菜单式操作, 使所有的操作更加的简洁,方便。3. 2状态指不状态指示电路由硬件部分(六个发光二极管),结合软件使操作状态一目了然。第一个发光二极管 亮时候,表明当前状态为时间显示;第二个发光二极管亮时候,表明此状态为时间调整状态;第三个发 光二极管亮时候,表明此状态为时间加一状态;第四个发光二极管亮

    6、时候,表明此状态为时间减一状 态;第五个发光二极管亮时候,表明此状态为定时时间设定存储状态。3. 3打铃控制比较所存储的打零时间点,至旳铃时间时进行打铃o3. 4电路原理图LENTLENI图2总体电路图图2屮,S1为确认键,S2为设置键,S3为加一键,S4为减一键,S5为存储键,S7为复位键。当 S2按下时L2亮,S3按下时L3亮,S4按下时L4亮,S5按下时L5亮。L1为正常运行指 示。S5, L6暂 无使用。蜂鸣器在每个操作时给予报警提示。 继电器电路作为打铃信号输出电路,对外提供打铃信号。4程序流程框图4. 1总体程序流程图根据硬件设计结果,为满足要求,程序应有主程序、按键处理程序、中断

    7、服务程序和显示 程序等部 分构成。主程序中主要是程序各部分的初始化;按键处理程序处理五个按键的操作,包括各个按键的响 应程序以及按键指示、闪烁指示、报警输出等;显示程序显示星期、时、分、秒,主要是时钟显示。图3总体程序流程图4. 2主程序流程图该部分程序主要是对程序中所用到的数据单元进行初始化,以及定时器的赋初值。矩时器 初始化|打铃屮断图4主程序流程图4. 3校时程序流程图该部分的键盘扫描为程序扫描方式, CPU不停的对P1 口进行扫描,当任何一个键按下时,与之相连的输入数据线即被清 0 (低电平),而平时该线为1 (高电平)。这种键盘扫描方式的优点是电路简单:缺点是当键数较多时,要占用较多

    8、的 I/O线。由于按键的机械特性,在闭合及断开的瞬间均伴随有一连串的抖动,键抖动会引起一次按键被误读多次。为了确保 CPU对键的次闭合仅作一次处理,必须去除键抖动。该程序使用10ms延时程序作为去抖动程序去除键抖动。校时程序I设置键1*11星期调整I I小时调整I 分钟调整一 1调用闪烁子程序一 图5校时程序流程图4.4时钟打铃程序流程图时钟打铃程序使用单片机TO、T1两个定时器中断,两个定时器均为方式一,初值为10ms当定时 器TO溢出时响应中断,使毫秒单元加 1,当毫秒单元满100时分单元加1,依此类推。条件符合就输出打铃信号。屮断均需保护现场,当定时器T1溢出时响应屮断,依次比较存储的打

    9、铃点,返回时恢复现场。,恢复现场中断返回II图6时钟打铃屮断程序流程图5心得与体会在此次将近三周的单片机实习,在指导老师和同学的帮助下,我确实学到了不少平时在课堂上所学 不到的知识。这样的实习不论是对我们的理论知识还是实践能力都有很大的帮助,经 过这些实习可以使 我们能更快更准确的掌握专业方面的理论知识。总Z,通过这次实习,我真正学到了很多东西,体会到了理论联系实际的重要性。充分认识到实践 的重要性,只有在实践中才能更好的验证理论知识。虽然也遇到一些问题,但在老师及同学的帮助下, 各种问题迎刃而解。最后,衷心感谢辅导老师的指导和同学的帮助!参考文献1周航慈.单片机应用程序设计基础M 北京:电子

    10、工业出版社,1997年7月2朱承高.电工及电子技术手册M.北京:高等教育出版社,19903阎石.数字电子技术基础(第三版)M.北京:高等教育出版社,19894廖常初现场总线概述J.电工技术,1999. 65李朝青.单片机原理及接口技术(第三版) M.北京;北京航空航天大学出版社,2005年10月附录1程序分为五部分1初始化程序,2.键值处理程序,3中断程序,4.显示程序,5.延时程序2程序清单ORG 0000H LJMP MAINORG 000BHLJMP TOINTORG 001BHLJMP DLBJMOVTMOD,#11HMOVTHO,#0D8HMOVTLO,#OFOHMOVA, #0MO

    11、V59H,AMOV60H,AMOV61H,AMOV62H,AMOV63H,AMOV64H,AMOV65H,A容*g宕廿倉* 无匸巳丿予 林*拿驾林塔驾*ORG 30HMAIN: MOV IE, #8AH;开TO, T1中断;定时器方式1;初值MOV 66H, A;清零m_sec EQU20H;毫秒单元sec EQU21H;秒单元min EQU22H;分单元hour EQU23H;时单元week EQU24H;星期单元SETB TROSETB TRICLR Pl. 0CLR AMOV RO, AMOV Rl, AMOV R2, AMOV R3, AMOV R5, AMOV R6, AMOV R7

    12、, AMOV m_sec,#00;毫秒单元清零MOV sec,#00;秒单元清零MOV min,#00;分单元清零MOV hour,#00;时单元清零MOV weekMOV 70H, AMOV 71H,AMOV 72H,AMOV 73H,AMOV 74H,A,#00;星期单元清零LCALL xs ;调用显示程序数字钟按键程序屮 调时钟按键NET1: JB P0.税刚巒*LCALL YS1OMSJB P0. 0, NET2CLR p2. 2JNB P0. 0, $SETB p2. 2CLR Pl. 1SETB Pl. 0;开中断SETB TRO;正常运行SETB TR1CLR Pl. 0SETB

    13、 Pl. 1SETB Pl. 2SETB Pl. 3MOV 59H, #00MOV R7,#00A调整时间部分切换键NET2:娜已A ,#00 ,NET3,NET9 ;数字钟调整时间部分切换键YSlOMsPO. 1 , NET9p2. 2JB P0. 1LCALLJBCLRINC59HJNBPO. 1 , $SETBp2. 2INCR7CLRTROCLRTRISJMPNET4NET3:JBPO. 1 , NET4LCALLYSlOmsJBPO. 1 , NET4CLRp2. 2INC59HJNBPO. 1 , $SETBp2. 2INCR7NET4:CJNER7 , #1 ,NET5LCALL

    14、SSH ;秒闪烁SJMP NET9NET5:CJNER7,#2 ;分,NET6LCALLMSH闪烁SJMPNET9NET6:CJNER7,#3 ;时,NET7LCALLHSH闪烁SJMPNET9NET7:MOVR7,#0LCALLWSH;星期闪烁SJMPNET9NET8:LCALLXSNET9: JBP0. 2 ,NET115 ;数字钟调整时间键LCALL YSlOmsJB P0.2 ,NET13CLR p2.2CLR Pl. 2CJNE R7 ,#1 ,NET1OSETB p2.2SETB Pl. 3LCALL YS200msINCMOVCJNEMOVLCALLJBLJMPsecAAsecX

    15、SPO. 2NET9;秒单元加,sec,#60,#00,NET131,NET8 ;不等60时跳转显示,等NET115: LJMPNET 15NET10:CJNER7,#2,NET11SETBp2. 2SETBPl. 3LCALLYS200msINCmin;分单元加1MOVA,minCJNEA,#60,NET8 ;不等60时跳转显示,等MOVmin,#00LCALLXSJBPO. 2,NET13LJMPNET9NET11:CJNER7,#3,NET12SETBp2. 2SETBPl. 3LCALLYS200msINChour;时单元11MOVA,hourCJNEA,#24,NET8 ;不等24时

    16、跳转显示,等MOVhour,#00LCALLXSJBPO. 2,NET1360时将秒单元清零60时将分单元清零24时将时单元清零LJMP NET9NET12: SETB p2. 2SETB Pl. 3LCALLYS200msNET15:INCweek;星期单元加1字钟调整时间键MOVA,weekCJNEA,#08 ,NET8;不等7时跳转显示,等7MOVweek,#01LCALLXSJNBP0. 2,NET13LJMP丄2NET9IV 4 y TT 丄y XIX-/ 丄x6NET13:SJ蛾TBP2 阿15NET14:lcWbPl范时将星期单元清零LCALLYS200msDECsec ;秒单元

    17、减1MOVA , secCJNEA ,#OFFH,NET14 ;不等60时跳转显示MOVsec ,#59LCALLNET14JBPO. 3 , NET19LJMPNET 15NET16:CJNER7 ,#2,NET17SETBP2. 2SETBPl. 2LCALLYS200msDECmin ;分单元减1MOVA , minCJNEA ,#OFFH,NET14 ;不等60时跳转显示MOVmin ,#59LCALLNET14JBPO. 3 , NET19LJMPNET 15NET17:CJNER7 ,#3,NET18SETBP2. 2SETBPl. 2LCALLYS200msDEChour ;时单

    18、元减1 *等 60时将秒单元清零等60时将分单元清零MOVA , hourCJNEA , #OFFH , NET 14 ;不等24时跳转显示等24时将时单元清零MOVhour ,#23LCALLNET 14JBPO.3 , NET19LJMPNET 15NET18:SETBP2. 2SETBPl. 2LCALLYS200msDECweek ;星期单元减1MOVA , weekCJNEA ,#00 , NET14 ;不等7时跳转显示,等7时将星期单元清1MOVweek , #07LCALLNET 14JBPO. 3 ,NET19LJMPNET 15NET19:LJMPDSH *4*X Xxyj%

    19、 yy yj% yp j yj%DSH: MOV R2, #00JB P0. 4 ,NT11LCALL YSlOmsJB P0.4 ,NT11CLR P2. 2CLR Pl. 4JNB PO. 4, $SETB P2. 2INC R2CJNE R2,#01,NTA ;第 1 个打铃点MOV Rl,#30HLCALL CUNNT11:LJMP NT1NTA:CJNE R2, #02, NTB ;第 2 个打铃点LCALL CUNNTB:CJNE R2, #03, NTC ;第 3 个打铃点LCALL CUNNTC:CJNE R2, #04, NTD ;第 4 个打铃点LCALL CUNNTD:C

    20、JNE R2, #05, NTE ;第 5 个打铃点LCALL CUNNTE:CJNE R2, #06, NTF ;第 6 个打铃点LCALL CUNNTF:CJNE R2, #07, NTG ;第 7 个打铃点LCALL CUNNTG:CJNE R2,#08, NTHLCALL CUN;第8个打铃点NTH:CJNE R2, #09, NT ILCALL CUN;第9个打铃点NTI:CJNE R2,#10,NTJLCALL CUN;第10个打铃点NTJ:CJNE R2,#11,NTKLCALL CUN;第11个打铃点NTK:CJNE R2,#12,NTLLCALL CUN;第12个打铃点NTL

    21、:CJNE R2,#13,NTMLCALL CUN;第13个打铃 占八、NTM:CJNE R2,#14,NTNLCALL CUN;第14个打铃 点NTN:CJNE R2,#15,NT0LCALL CUN;第15个打铃 点NTO:CJNE R2,#16,NTPLCALL CUN;第16个打铃点NTP:CJNE R2,#17,NTQLCALL CUN;第17个打铃点NTQ:CJNE R2,#l&NTRLCALL CUN;第18个打铃 占八、NTR:CJNE R2,#19,NTSLCALL CUN;第19个打铃点NTS:NT1:CJNE R2,#2O,NT1LCALL CUNLJMP NET1;第2

    22、0个打铃点比* 炖*CUN:打铃点存储子程序*韋*:*尋林条:合#*拿驾驾MOV R1,hourINC R1MOV R1, minINC R1衬*林*紳*炖时钟中断程序TOINT:PUSHPSWPUSHACC;保护现场MOVTHO,#0D8HMOVTLO,#OFOH ;重新赋计数初INCm_sec;毫秒单元加1MOVA,m_secCJNEA,#100,NEXT1MOVm_sec,#00INCsec;秒单元加1MOVA,secCJNEA,#60,NEXT1MOVsec,#00INCminJMOVA,minCJNEA,#60,NEXT1MOVmin,#00INChourJMOVA,houCJNEA

    23、,#24,NEXT1MOVhour,#00INCweekMOVA,weekCJNEA,#08,NEXT1MOVweek,#01NEXT1: LCALLXSPOPACCPOPPSW;恢复现场RET I;屮断返回-料* 打铃中断程序DLBJ:PUSH PSWPUSH ACC MOV THO,#0D8H MOV TLO, #OFOH MOVRO,#30HFH: MOV A, R0CJNE A,hour, LOP1 INC RO MOV A,R0 CJNEA, min, LOP2 CLR P2. 2 CLR Pl. 4 LCALL YSlmin SETBP2. 2 SETB Pl. 4 CLR A M

    24、OV 7FH, A AJMP L0P2LOP1: INC ROL0P2: INC RO;铃声响;延时1分 钟CJNE RO, #58H, FHL0P3:LCALL XSPOP PSWPOP ACCRETIXS:MOVA,sec ;将秒送AMOVB,#1ODIVABMOV60H,B ;秒的个位MOV61H,A ;秒的十位MOVA,min ;将分送AMOVB,#10DIVABMOV62H,B ;分的个位MOV63H,A ;分的十位MOVA,hour ;将时送AMOVB,#10DIVABMOV64H,B ;时的个位MOV65H,A ;时的十位MOVA,week ;星期的送AMOVB,#10DIVABMOV66H,B ;星期的个位LCP:MOVR1,#60HMOVR5,#7MOVDPTR,STABBK:MOVA,R1MOVCA,A+DPTRMOVSBUF,AJNBTI,$CLRTIINCR1DJNZR5,BKRETTAB: DB11H, 0D7H, 32H, 92H,0D4H, 98H, 18H, 0D3H, 10H, 90H* 1YSlOms: MOV延时10ms子程序R2,#10HTS1:MOV


    注意事项

    本文(基于单片机控制的电铃控制器.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开