您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 单片机课程设计:电铃控制器
单片机课程设计题目:单片机控制的电铃控制器班级:姓名:学号:指导教师:设计时间:评语:成绩兰州交通大学课程设计-1-1引言基于目前传统电铃噪音大,声音刺耳,不符合人们追求绿色环保的要求,我们采用89c51单片机设计了一套自动打铃系统。单片机(Single-ChipMicrocomputerSCM)技术的应用,不但降低了生产成本,同时也方便了消费者,使操作简洁、安全。单片机的应用使许多复杂的事情,都能够简单、方便的实现了。用单片机控制的自动打铃器,充分发挥单片机体积小,价格便宜,功耗低,可靠性好等特点,充分发挥了单片机的控制优势。本打铃器可用于作息时间控制,方便了广大师生。2总体设计方案2.1设计思路利用单片机及其定时器设计的一个时钟,在每次毫秒加1的计时过程中,都与设定的打铃时间作比较,如果相等就输出打铃信号,不等则返回。如此反复运行。2.2总体设计框图图1总体设计框图2.3设计方案根据设计任务的基本要求,设计了由单片机(AT89S51)作为主控器件,七段数码管作为显示电路,七个按键组成的按键操作电路,七个发光二极管组成的状态指示电路,以及三极管、蜂鸣器组成的报警提示电路和继电器组成的打铃信号输出电路构成的自动打铃器。除了以上的硬件电路外,还充分利用软件、硬件相结合,充分发挥单片机设计的优势。使设计更具特色。键盘电路复位电路AT89S51数码管显示状态指示打铃信号兰州交通大学课程设计-2-系统可分成三部分,即时钟电路、时间显示电路、控制电路,而时钟电路起控制主导作用。时钟电路的构成由单片机及其定时器完成,时间显示电路则由单片机串口输出,送到外部集成芯片74LS164,最后由七段数码管显示出来。控制电路主要控制着复位电路、校时以及设置打铃点等操作,并配以状态指示电路辅助操作。3设计原理分析3.1按键功能初步设计了由六个按键来完成所有的操作,它们的功能分别是:复位键、设置键、存储键、加一键、减一键、确认键,具体操作方法由软件设计为菜单式操作,使所有的操作更加的简洁,方便。3.2状态指示状态指示电路由硬件部分(六个发光二极管),结合软件使操作状态一目了然。第一个发光二极管亮时候,表明当前状态为时间显示;第二个发光二极管亮时候,表明此状态为时间调整状态;第三个发光二极管亮时候,表明此状态为时间加一状态;第四个发光二极管亮时候,表明此状态为时间减一状态;第五个发光二极管亮时候,表明此状态为定时时间设定存储状态。3.3打铃控制比较所存储的打零时间点,到打铃时间时进行打铃。3.4电路原理图电路原理图如图2所示图2中,S1为确认键,S2为设置键,S3为加一键,S4为减一键,S5为存储键,S7为复位键。当S2按下时L2亮,S3按下时L3亮,S4按下时L4亮,S5按下时L5亮。L1为正常运行指示。S5,L6暂无使用。蜂鸣器在每个操作时给予报警提示。继电器电路作为打铃信号输出电路,对外提供打铃信号。4程序流程框图4.1总体程序流程图务程序和显示程序等部分构成。主程序中主要是程序各部分的初始化;按键兰州交通大学课程设计-3-P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC40P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728ALE/PROG30PSEN29EA/VPP31P1.01P1.12P1.23P1.34P1.45P1.5/MOSI6P1.6/MISO7P1.7/SCK8REST9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119GND20U1AT89S51C322uFR1610KCRY12MHzC133PFC233PFS7VCCR15200SPEAKQ18550VCCVCCL1L2L3L4L5L6S1S2S3S4S5R1010KS6VCCR710KR810KR910KR1110KR1210KVCCR11KR21KR31KR41KR51KR61Kc1d2g10e4dp5b6a7f98LED1c1d2g10e4dp5b6a7f98LED2c1d2g10e4dp5b6a7f98LED3c1d2g10e4dp5b6a7f98LED4A1B2QA3QB4QC5QD6GND7CLK8CLR9QE10QF11QG12QH13VCC14U274LS164A1B2QA3QB4QC5QD6GND7CLK8CLR9QE10QF11QG12QH13VCC14U374LS164A1B2QA3QB4QC5QD6GND7CLK8CLR9QE10QF11QG12QH13VCC14U474LS164A1B2QA3QB4QC5QD6GND7CLK8CLR9QE10QF11QG12QH13VCC14U574LS164VCCD7IN4007D6IN4007D5IN4007VCCc1d2g10e4dp5b6a7f98LED5A1B2QA3QB4QC5QD6GND7CLK8CLR9QE10QF11QG12QH13VCC14U674LS164c1d2g10e4dp5b6a7f98LED6A1B2QA3QB4QC5QD6GND7CLK8CLR9QE10QF11QG12QH13VCC14U774LS164c1d2g10e4dp5b6a7f98LED7A1B2QA3QB4QC5QD6GND7CLK8CLR9QE10QF11QG12QH13VCC14U874LS164Q28550VCC12534KM112JDB12JDKJDBJDBJDKJDKJDGJDGJDGL7R171KD8IN4007VCC图2总体电路图兰州交通大学课程设计-4-处理程序处理五个按键的操作,包括各个按键的响应程序以及按键指示、闪烁指示、报警输出等;显示程序显示星期、时、分、秒,主要是时钟显示。图3总体程序流程图4.2主程序流程图该部分程序主要是对程序中所用到的数据单元进行初始化,以及定时器的赋初值。图4主程序流程图定时器初始化各单元初始化响应中断计时中断打铃中断显示校时初始化主程序按键处理程序终端服务程序显示程序兰州交通大学课程设计-5-4.3校时程序流程图该部分的键盘扫描为程序扫描方式,CPU不停的对P1口进行扫描,当任何一个键按下时,与之相连的输入数据线即被清0(低电平),而平时该线为1(高电平)。这种键盘扫描方式的优点是电路简单:缺点是当键数较多时,要占用较多的I/O线。由于按键的机械特性,在闭合及断开的瞬间均伴随有一连串的抖动,键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。该程序使用10ms延时程序作为去抖动程序去除键抖动。图5校时程序流程图YNYYNNYY校时程序设置键星期调整小时调整分钟调整秒调整调整闪烁子程序调整显示子程序退出?保存设置加一?减一?确定?兰州交通大学课程设计-6-4.4时钟打铃程序流程图时钟打铃程序使用单片机T0、T1两个定时器中断,两个定时器均为方式一,初值为10ms,当定时器T0溢出时响应中断,使毫秒单元加1,当毫秒单元满100时分单元加1,依此类推。当定时器T1溢出时响应中断,依次比较存储的打铃点,条件符合就输出打铃信号。中断均需保护现场,返回时恢复现场。5总结周一老师布置了课程设计的任务,老师没有像其他小组一样好几个人做一个题目,而是让我们小组每人做一个题目,这给了我们足够的空间,我们可以按照自己的想法去做,做自己感兴趣的东西。我几经周折最终选择做一个单片机控制的电铃,电铃可以按照我在程序中设定的时间自动打铃。开始就是上网查资料,去图书馆找有关方面的书籍,东拼西凑。周三才把程序和电路图做好。在上机调试的时候遇到了很大的麻烦,程序运行没芯片实验台上都没有,我又找其他芯片代替,可没有找到合适,以至于调试不成功。有错误,就是连接电路时发现我用到的总之在这一周的课程设计中,我学到了很多课堂上学不到的东西,也深刻的体验到了实践的重要性。只学习理论而不实践,那理论就是一具空壳。只有实践才能检验自己所学的理论知识。实践的好处就在于能帮助你去更好地理解理论知识,平时课堂上不理解的东西,在实践的过程中就能很好的理解。虽然这次课程设计上机调试没有成功,但是我自己毕竟努力做了。6参考文献[1]周航慈.单片机应用程序设计基础[M].北京:电子工业出版社,1997[2]朱承高.电工及电子技术手册[M].北京:高等教育出版社,1990[3]阎石.数字电子技术基础(第三版)[M].北京:高等教育出版社,1989[4]廖常初.现场总线概述[J].电工技术,1999[5]李朝青.单片机原理及接口技术(第三版)[M].北京;北京航空航天大学出版社,20057附录1程序分为五部分:⑴初始化程序⑵键值处理程序⑶中断程序⑷显示程序⑸延时程序2程序清单:兰州交通大学课程设计-7-图6时钟打铃中断程序流程图NNNYYYNNNYYYYYNNT0中断保护现场秒单元加1秒单元清0,分单元加1分单元清0,小时单元加1小时单元清0,星期单元加1星期单元清1调用显示程序恢复现场,中断返回=60分?小时相等?=60秒?=24时?=7天?T0中断保护现场比较小时1秒到?比较分时分钟相等?打铃比较20打铃点?调用主程序恢复现场,中断返回兰州交通大学课程设计-8-ORG0000HLJMPMAINORG000BHLJMPTOINTORG001BHLJMPDLBJ;**********主程序**********ORG30HMAIN:MOVIE,#8AH;开T0,T1中断MOVTMOD,#11H;定时器方式1MOVTH0,#0D8HMOVTL0,#0F0H;初值MOVA,#0MOV59H,AMOV60H,AMOV61H,AMOV62H,AMOV63H,AMOV64H,AMOV65H,AMOV66H,A;清零m_secEQU20H;毫秒单元secEQU21H;秒单元minEQU22H;分单元hourEQU23H;时单元weekEQU24H;星期单元SETBTR0SETBTR1CLRP1.0CLRAMOVR0,AMOVR1,AMOVR2,AMOVR3,AMOVR5,A兰州交通大学课程设计-9-MOVR6,AMOVR7,AMOVms,#00;毫秒单元清零MOVsec,#00;秒单元清零MOVmin,#00;分单元清零MOVhour,#00;时单元清零MOVweek,#00;星期单元清零MOV70H,AMOV71H,AMOV72H,AMOV73H,AMOV74H,ALCALLXS;调用显示程序;************************************************;*****************数字钟按键程序*****************;************************************************;**********调时钟按键**********NET1:JBP0.0,NET2LCALLYS10MSJBP0.0,NET2CLRP2.2JNBP0.0,$SETBP2.2CLRP1.1SETBP1.0SETBTR0;开中断SETBTR1CLRP1.0;正常运行SETBP1.1SETBP1.2SETBP1.3MOV59H,#00MOVR7,#00兰州交通大学课程设计-10-****************调整时间部分切换键********************NET2:MOVA,59HCJNEA,#00,NET3JBP0.1,NET9;数字钟调整时间部分切换键LCALLYS10MsJBP0.1,NET9CLRP2.2INC59HJNBP0.1,$SETBP2.2INCR7CLRTR0CLRTR1SJMPNET4NET3:JBP0.1,NET4LCALLYS10msJBP0.1,NET4CLRP2.2INC59HJNBP0.1,$SETBP2.2INCR7NET4:CJNER7,#1,NET5LCALLSS
本文标题:单片机课程设计:电铃控制器
链接地址:https://www.777doc.com/doc-4130067 .html