ATS单片机自动控制电铃设计方案与开发_第1页
ATS单片机自动控制电铃设计方案与开发_第2页
ATS单片机自动控制电铃设计方案与开发_第3页
ATS单片机自动控制电铃设计方案与开发_第4页
免费预览已结束,剩余20页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、封面陕西理工学院课程设计作者: Pan Hongliang仅供个人学习课程设计题目基于 AT89S51单片机的自动控制电铃设计与开发学生姓名韩润林学号08100640041/21陕西理工学院课程设计所在院( 系)物理与电信学院专业班级电信 081 班指导教师刘东完成地点2011陕西理工学院年12 月21 日基于 AT89S51单片机的自动控制电铃设计与开发作者:韩润林物电学院电子信息科学与技术081 汉中 723000指导教师:刘东 摘要 : 本设计由单片机系统、按钮开关、 LED显示和打铃电路组成。系统能完成显示星期、时、分和秒以及设定时间和打铃等功能。除上述基本的时钟显示功能外,还具有调电

2、存储、指示功能,依据实际的情况还可以添加其他扩展功能。关键词: 单片机打铃 LED 显示定时调时 74LS164一引言1.1设计目的综合利用所学单片机知识完成一个单片机应用系统实例的设计并仿真实现,从而加深对所学单片机软硬知识的理解,获得初步的应用经验, 为以后从事单片机应用的相关工作打下基础。1.2设计要求本次设计的重点是实现一个基于单片机的电铃控制电路,具备以下特点:1、 在预定的时间周期内实现到点打铃2、 能够通过LCD显示屏显示3、 实现掉电数据保护1.3设计内容概述设计思路及框图电铃控制器设计要求具有显示星期、 时、分和秒以及设定电铃电路设计要求具有显示星期、时、分和秒以及设定时间和

3、调整时间等功能,这些基本要求都可以通过软件编程实现。要实现打铃提示,就需要设置打铃提示电路,信号输入电路采用按钮开关。同时为了方便,在掉电的情况下,为了保护已存储的打铃点,可设置掉电保护电路,减少人重新设置打铃点图 1设计思路框图驱动单显2/21信片示号机电输控路陕西理工学院课程设计二系统方案设计2.1设计方案电铃控制器是以 AT89S51为核心的单片机组成。但它的辅助电路分别采用,信号输入电路采用按钮开关,可以把按钮开关设置成多功能,这样可以节省开关数目。显示电路采用串行静态显示,这种软件编程比较简单。采用单片机内部时钟,这种方法产生的时钟还可以,但是成本低,而且编写时钟程序简单。 打铃电路

4、电路可以采用蜂鸣器代替电铃 , 当时间到达打铃时间点时,使单片机发出控制信号,可以直接驱动三极管组成的基本放大电路,使蜂鸣器发出声音。2.2设计方框图和流程图N开 始Yes初 始 化N图 2 设计方框图和流程图YL E D显 示2.3按 钮显 示系统设计原理开 关驱 动利用 AT89S51单片机作为主体控制单元,按键程序按钮输入电路可以输入控制指令,复位电路, 打铃信 号电 路电路实现对指令的执行,掉电保护电路完成掉电时数据的保护,组合起来完成对电铃的控制。输入电 路AT89S51时间设定和存储程序单片机打铃电路单片机 AT89S51具有低电压供电和体积小等特点,调整程序四个端口只需要两个口就

5、能满足电路系单片机统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。显示电路复位电路时间比较程序打铃电路掉电存储电路打铃电路由三极管组成的放大电路和蜂鸣器组成。三极管选用 8550PNP型,当单片机输出低相 等 ?电平时三极管导通,采用蜂鸣器代替电铃,从而驱动蜂鸣器发出声音,可以通过编程实现使蜂鸣器发出有节奏的声音。当接通电源时 P3.4 口为高电平, 三极管截止, 打铃电路不能工作当按打 铃下复位开关时,输出为高电平,三极管截止,打铃电路不能工作。当时间走到打铃时间点时,单片机输出低电平,则打铃电路开始工作。而且响铃时间的长短可通过编程实现,在响铃的时候可以采用按钮实现暂停。

6、打铃电路的电路图如图3 所示。图 3打铃电路显示驱动电路显示驱动电路采用串行动态显示电路,只使用单片机的两个串行口,就可以完成单片机的显示功能,。它由7 个 74LS164 移位记存器和7 个 LED数码管组成。从单片机串口输出的信号先送到左边的移位寄存器(74LS164) , 由于移位脉冲的作用,使数据向右移,达到显示的目的。移位寄存器74LS164 还兼作数码管的驱动,显示驱动电路的电源采用 5V 直流电源经过三个 IN4007 的二极管降压, 三个整流管 D1 D3的作用是降低数码管的工作电压,增加其使用寿命,这种方法简单使用。同时用三个发光二极管作为指示灯,用来指示不同的功能和操作,这

7、样可以是各种操作和指示一目了然,而且哪一块功能出现错误,能够方便查找,指示电路将在信号输入电路中体现出来。3/21陕西理工学院课程设计图4 显示驱动电路掉电存储电路掉电存储单元的作用是在电源断开的时候,存储当前设定的时间和打铃时间信息。AT24C02A是 ATMEL公司的 2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到 2.5V ,额定电流为1mA,静态电流 10uA(5.5V) ,芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的 DIP封装,使用方便。图5。图5 掉电存储电路信号输入电路信号输入电路采用按钮开关控制。将单片机的P2口接开关的一端,将开

8、关的另一端接地。单片机复位以后, P2口变为高电平,当按下按钮开关时,对应的 P2口就变为低电平,给单片机送入信号,开始对应的功能。 S1为调时和定时键, S2为转换键, S3为返回键, S4为加一键, S5为减一键, S6为确定键。其他按键如果想设置其它功能可以使用。通过软件编程可以使按钮开关实现多功能。电路图如图 6所示:图 6信号输入电路三系统硬件设计3.1单片机AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-systemprogrammable) 的可反复擦写1000 次的 Flash 只读程序存储器, 器件采用 ATMEL公司的高密度、非

9、易失性存储技术制造,兼容标准MCS-51指令系统及80C51 引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元, AT89S51在众多嵌入式控制应用系统中得到广泛应用。3.1.1 89C51 单片机主要特性1、 4k Bytes Flash片内程序存储器;2、 128 bytes 的随机存取数据存储器(RAM)3、 32 个外部双向输入/ 输出( I/O )口;4、 5个中断优先级、两个中中断嵌套中断5、 6个中断源;6、 2个 16 位可编程定时器 / 计数器;7、 2 个全双工串行通信口;8、看门狗电路;9、片内震荡器和时钟电路;10、与 MCS-51 兼容;11、全静

10、态工作:0Hz-33MHz ;12、三级程序存储器保密锁定;4/21陕西理工学院课程设计13、可编程串行通道;14、低功耗的闲置和掉电模式。3.2其他模块3.2.1显示电路显示电路主要由 7个 74LS164移位记存器和 7个 LED数码管组成从单片机串口输出的信号先送到左边的移位寄存器( 74LS164) , 由于移位脉冲的作用,使数据向右移,达到显示的目的。3.2.2掉电存储电路掉电存储单元的作用是在电源断开的时候,存储当前设定的时间和打铃时间信息。AT24C02A是 ATMEL公司的 2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到 2.5V ,额定电流为1m

11、A,静态电流 10uA(5.5V) ,芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的 DIP封装,使用方便。四总结通过此次课程设计,初步掌握了单片机、LCD显示屏等知识,是我对本专业有了更深一步的了解,对以前所学的知识进行提高和巩固,并且对当今单片机、LCD显示屏的最新发展计数有所了解。在整个课程设计过程中,我学到许多原先没有接触过的新知识,增长了见识,给了我很大的启发,了解到班内许多同学对这方面有更加深入的了解,我将把这份压力变成动力,以后不断充实自己,不断学习,不断进步。在此我更要感谢我的指导老师,是老师对我们的细心指导与关怀,是我能顺利的完成毕业论文。从老师严谨的态度中深受

12、启迪,学到了知识的同时也学到了做人的道理。在此我要向我的指导老师致以衷心的感谢 。五总结语通过此次课程设计,初步掌握了单片机、LCD显示屏等知识,是我对本专业有了更深一步的了解,对以前所学的知识进行提高和巩固,并且对当今单片机、LCD显示屏的最新发展计数有所了解。在整个课程设计过程中,我学到许多原先没有接触过的新知识,增长了见识,给了我很大的启发,了解到班内许多同学对这方面有更加深入的了解,我将把这份压力变成动力,以后不断充实自己,不断学习,不断进步。在此我更要感谢我的指导老师,是老师对我们的细心指导与关怀,是我能顺利的完成毕业论文。从老师严谨的态度中深受启迪,学到了知识的同时也学到了做人的道

13、理。在此我要向我的指导老师致以衷心的感谢。六 参考文献1邹应全 .51系列单片机原理与实验教程 M. 西安:西安电子科技大学出版社,2007.12.2谭浩强 .C语言程序设计 M. 北京:清华大学出版社, 2007.11.3赵海兰, 朱剑,赵祥伟 .DS1302 实时显示时间的原理与应用J.电子技术 ,2004(1):43-45.4于复生 , 宋现春 , 艾星 , 等 . 时钟芯片 DS1302 及其在数据记录中的应用J.电子技术应用2003(3):59-61.5牛鑫 .DS1302 在微电脑职能高压综合保护装置中的应用J.济源职业技术学院学报,2005,4(1):13-18.6 余孟尝 .

14、数字电子技术基础简明教程(第三版)M. 北京:高等教育出版社, 2006.7 蔡振江 . 单片机原理及应用 M. 北京:电子工业出版社, 2007.8 童诗白 , 华成英 . 模拟电子技术基础 M. 北京 : 高等教育出版社 ,2006.5/21陕西理工学院课程设计9 李朝青 . 单片机原理及接口技术 M. 北京 : 北京航空大学出版社 ,2005.10 万光毅 . 单片机实验与实践教程 M. 北京 : 北京航空航天大学出版社 ,2006.七附录附 1总体电路图附图 1 总体电路图6/21个人收集整理勿做商业用途附2 程序-程序初始化 -SBSEQU 29HSBMEQU 2AHSBHEQU 2

15、BH ;定义 29H,2AH,2BH 为显示缓冲区MS100 EQU 2CHSEQU 2DHMEQU 2EHHEQU 2FH ;将 2C-2Fh 分别定义为 ,100毫秒,秒位 ,;分位,小时位MSBITP2.0;将 p2.0定义为主菜单键OKBITP2.1;将 p2.1定义为确定键REST BIT P2.5;将 p2.5定义为返回键ADBIT P2.3 ;将 p2.3定义为前进键SUB BIT P2.4;将 p2.4定义为后退键FMQ BIT P3.4;将 P3.4定义为蜂鸣器HONG BIT P0.1 ;将 p0.1定义为红色 LEDLVBIT P0.2 ;将 p0.2定义为绿 LEDKG

16、 BIT 08H ;08H位定义为闹铃开关; *主程序 *ORG 0000H SJMP MAINORG0BHAJMP ZHD;跳转到中断程序ORG1BHAJMP DLORG 30HMAIN: SETB EASETB ET0SETB ET1MOV TMOD,#11HMOV TH0,#3CHMOV TL0,#0B0HMOV TH1,#3CHMOV TL1,#0B0HCLR AMOV R0,#20HMOV R2,#59HBACK1: MOV R0,AINC R0DJNZ R2,BACK1MOV R2,#23MOV R0,#32H7/21个人收集整理勿做商业用途MOV 04H,#01BACK2: MO

17、V R0,04HMOV A,R0ADD A,#03MOV R0,AINC 04HDJNZ R2,BACK2CLR AMOV R0,AMOV R1,AMOV R2,AMOV R3,AMOV R4,AMOV R5,AMOV 2FH,#12mov 2eh,#00mov 2dh,#00mov 30h,#01SETB TR0CLR LV;*按键程序 *START:; ACALL XSHJB MS,NTJLACALL T12MSJB MS,NTJLCLR FMQJNB MS,$SETB FMQINC R2SETB 01 ;01H位是判断菜单键是否按下标志CLR 09H ;09H是响铃控制位CLR HONG

18、SETB LVCJNE R2,#025,NT1;判断 M键按下次数MOV R2,#00NT1:CJNE R2,#00 ,NT1ACLR 01HCLR 04HCLR 05HCLR 06HSETB 09HMOV R3,#00MOV R4,#00SETB HONG8/21个人收集整理勿做商业用途; ACALL XSH;返回NT1A: CJNE R2,#01,NT1BSETB 00HMOV R4,#00;使时间闪烁显示SETB 04HCLR 05HCLR 06HNT1B: CJNE R2,#02,NT1CCLR 00HMOV R4,#01ACALL QHUAN1;使第 1 预存时间闪烁显示NT1C:

19、CJNE R2,#03,NT1DMOV R4,#02ACALL QHUAN1;使第 2 预存时间闪烁显示NT1D: CJNE R2,#04,NT1EMOV R4,#03ACALL QHUAN1;使第 3 预存时间闪烁显示NT1E: CJNE R2,#05,NT1FMOV R4,#04ACALL QHUAN1;使第 4 预存时间闪烁显示NT1F: CJNE R2,#06,NT1GMOV R4,#05ACALL QHUAN1;使第 5 预存时间闪烁显示NT1G: CJNE R2,#07,NT1HMOV R4,#01ACALL QHUAN1;使第 6 预存时间闪烁显示NTJL:SJMP NT2NT1

20、H: CJNE R2,#08,NT1IMOV R4,#07ACALL QHUAN1;使第 7 预存时间闪烁显示NT1I: CJNE R2,#09,NT1JMOV R4,#08ACALL QHUAN1;使第 8 预存时间闪烁显示NT1J: CJNE R2,#10,NT1KMOV R4,#09ACALL QHUAN1;使第 9 预存时间闪烁显示NT1K: CJNE R2,#11,NT1LMOV R4,#10ACALL QHUAN1;使第 10 预存时间闪烁显示NT1L: CJNE R2,#12,NT1MMOV R4,#11ACALL QHUAN1 ;使第 11 预存时间闪烁显示NT1M: CJNE

21、 R2,#13,NT1N9/21个人收集整理勿做商业用途MOV R4,#12ACALL QHUAN1 ;使第 12 预存时间闪烁显示NT1N: CJNE R2,#14,NT1OMOV R4,#13ACALL QHUAN1 ;使第 13 预存时间闪烁显示NT1O: CJNE R2,#15,NT1PMOV R4,#14ACALL QHUAN1 ;使第 14 预存时间闪烁显示NT1P: CJNE R2,#16,NT1QMOV R4,#15ACALL QHUAN1 ;使第 15 预存时间闪烁显示SJMP NT2NT1Q: CJNE R2,#17,NT1RMOV R4,#16ACALL QHUAN1 ;

22、使第 16 预存时间闪烁显示NT1R: CJNE R2,#18,NT1SMOV R4,#17ACALL QHUAN1 ;使第 17 预存时间闪烁显示NT1S: CJNE R2,#19,NT1TMOV R4,#18ACALL QHUAN1 ;使第 18 预存时间闪烁显示NT1T: CJNE R2,#20,NT1VMOV R4,#19ACALL QHUAN1 ; 使第 19 预存时间闪烁显示 NT1V: CJNE R2,#21,NT1WMOV R4,#20ACALL QHUAN1 ;使第 20 预存时间闪烁显示NT1W: CJNE R2,#22,NT2MOV R4,#21ACALL QHUAN1

23、;使第 21 预存时间闪烁显示NT2:JB OK,NT3ACALL T12MSJB OK,NT3CLR FMQJNB OK,$SETB FMQJB HONG ,NT3JNB 00H,NT2B ;00H 位是判断时钟时间或定时时间 标志 INC R3CJNE R3,#03,NT2AAMOV R3,#00NT2AA:CJNE R3,#00,NT2ABSETB 04HCLR 05H10/21个人收集整理勿做商业用途CLR 06HNT2AB:CJNE R3,#01,NT2ACSETB 05HCLR 04HCLR 06HNT2AC:CJNE R3,#02,NT3SETB 06HCLR 04HCLR 05

24、HSJMP NT3NT2B: CPL 04HCPL 05H;闪烁显示位改变NT3:JB AD,NT4ACALL T12MSJB AD,NT4JB SUB,GONEXTACALL T12MSJB SUB,GONEXTCPL 09HGONEXT:JNB 01H,NT4 ;01H位是判断菜单键是否按下标志ACALL T200MSMOV R0,18HJB 04H,A1A;04H位为 1 则最后两位加1JB 05H,A1F; 05H位为 1 则中间两位加1JB 06H,A1S; 06H位为 1 则最前两位加1A1S:INC R0INC R0INC R0CJNE R0,#24,NT4MOV R0,#00S

25、JMP NT4A1F:INC R0INC R0JB 00H,SK601CJNE R0,#24,NT4MOV R0,#00SJMP NT4SK601:CJNE R0,#60,NT4MOV R0,#00SJMP NT4A1A:INC R0CJNE R0,#60,NT411/21个人收集整理勿做商业用途MOV R0,#00;使闪烁显示位加一NT4:JB SUB,NT5ACALL T12MSJB SUB,NT5; CLR FMQ; SETB FMQ JNB 01H,NT5 ACALL T200MS MOV R0,18HJB 04H,S2A;04H位为 1则最后两位减 1JB 05H,S2F; 05H位

26、为 1 则中间两位减 1JB 06H,S2S; 06H位为 1 则最前两位减 1S2S: INC R0INC R0DEC R0CJNE R0,#0FFH,NT5MOV R0,#23SJMP NT5S2F:INC R0DEC R0JB 00,SK602CJNE R0,#0FFH,NT5MOV R0,#23SJMP NT5SK602:CJNE R0,#0FFH,NT5MOV R0,#59SJMP NT5S2A:DEC R0CJNE R0,#0FFH,NT5MOV R0,#59NT5: JB REST,NT6ACALL T12MSJB REST,NT6CLR FMQJNB REST,$SETB FM

27、QMOV R4,#00MOV R2,#00SETB 09HCLR 01H12/21个人收集整理勿做商业用途CLR 04HCLR 05HCLR 06HSETB HONGCLR LVACALL XSH; 显示时间NT6: JB KG,BACK3;kg为一时响铃CLR TR1LJMP STARTBACK3: JNB 09H,NOSETB TR1LJMP STARTNO:CLR TR1LJMP START;*闪烁切换子程序*qhuan1:SETB 04HCLR 05HCLR 06HRET;*中断程序 *ZHD:PUSH ACCPUSH PSWSETB RS1SETB RS0ACALL XSHMOV T

28、H0,#3CHMOV TL0,#0B0HINC R5CJNE R5,#08,NEXT1NEXT:MOV R5,#00CPL 03HNEXT1:INC MS100MOV A,MS100CJNE A,#20,RETN3MOV MS100,#0INC SMOV A,SCJNE A,#60,RETN3MOV S,#00INC MMOV A,MCJNE A,#60,RETN313/21个人收集整理勿做商业用途MOV M,#0INC HMOV A,HCJNE A,#24,RETN3MOV H,#0inc 30hmov a,30hcjne a,#08,retn3mov 30h,#01;*打铃判断 *RETN

29、3:PUSH PSWSETB RS1CLR RS0MOV 15H,#23MOV R1,#31HBACKB:MOV A,R1CJNE A,SBH,SKIP1;小时相等时跳转到“分”比较程序SJMP SKIP2GO2:INC R1SKIP1:INC R1INC R1INC R1DJNZ 15H,BACKBSJMP NO2SKIP2: DEC R1MOV A,R1CJNE A,SBM,GO2SETB KGSJMP RETN2NO2:CLR KGRETN2:POP PSW;*RETN:POP PSWPOP ACCRETI;*闹铃中断程序 *DL:PUSH PSWSETB RS1CLR RS0MOV T

30、H1,#00HMOV TL1,#024HINC R7CJNE R7,#08,GODL1MOV R7,#0714/21个人收集整理勿做商业用途INC R6CJNE R6,#07,GODL2MOV R7,#00MOV R6,#00SJMP GOGODL2: SETB FMQSJMP GOGODL1:CPL FMQGO: POP PSWRETI;*12MS延时子程序 *T12MS:MOV R6,#18HTM1A: MOV R5,#0FFHTM1B: DJNZ R5,TM1BDJNZ R6,TM1ARET;*256MS延时子程序 *T200MS:MOV R6,#0ffHTM2A: MOV R5,#0F

31、FHTM2B: DJNZ R5,TM2BDJNZ R6,TM2ARET;*显示子程序 *XSH:MOV A,04HMOV B,#03MUL ABADD A,#2DHMOV R0,AMOV SBS,R0INC R0MOV SBM,R0INC R0MOV SBH,R0DEC R0DEC R0MOV A,SBHMOV B,#10DIV ABMOV 7FH,AMOV 7EH,BMOV A,SBMMOV B,#1015/21个人收集整理勿做商业用途DIV ABMOV 7DH,AMOV 7CH,BMOV A,SBSMOV B,#10DIV ABMOV 7BH,AMOV 7AH,BMOV R1,#7AHMO

32、V DPTR,#TAB;*JNB 04H,LOOP1JB 03H,LOOP1MOV A,#0FFHMOV SBUF,AJNB TI,$CLR TIINC R1MOV A,#0FFHMOV SBUF,AJNB TI,$CLR TISJMP LOOP21LOOP1:MOV A,R1MOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TIINC R1MOV A,R1MOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TI;*LOOP21: JNB 05H,LOOP22JB 03H,LOOP22INC R1MOV A,#0FFHMOV SBUF,AJNB TI,$C

33、LR TIINC R1MOV A,#0FFH16/21个人收集整理勿做商业用途MOV SBUF,AJNB TI,$CLR TISJMP LOOP31LOOP22: INC R1MOV A,R1MOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TIINC R1MOV A,R1MOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TI;*LOOP31:JNB 06H,LOOP32JB 03H,LOOP32INC R1MOV A,#0FFHMOV SBUF,AJNB TI,$CLR TIINC R1MOV A,#0FFHMOV SBUF,AJNB TI,$CLR

34、TISJMP LOPLOOP32:INC R1MOV A,R1MOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TIINC R1MOV A,R1MOVC A,A+DPTRMOV SBUF,AJNB TI,$CLR TIlop:mov a,30hmovc a,a+dptr17/21个人收集整理勿做商业用途mov sbuf,ajnb ti,$clr ti;Lop:RETTAB:DB 11H,0D7H,32H,92H,0D4H,98H,18H,0D3H,10H,90HEND18/21个人收集整理勿做商业用途版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个人所有This articleincludessome

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论