基于51单片机的教学打铃控制器的设计毕业设计论文_第1页
基于51单片机的教学打铃控制器的设计毕业设计论文_第2页
基于51单片机的教学打铃控制器的设计毕业设计论文_第3页
基于51单片机的教学打铃控制器的设计毕业设计论文_第4页
基于51单片机的教学打铃控制器的设计毕业设计论文_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计论文任务书题目: 基于51单片机的教学打铃控制器的设计系 名 信息工程系 专 业 自动化 学 号 6010202392 学生姓名 赵金奇 指导教师 扈书亮 职 称 讲 师 2021年12月10日一、原始依据包括设计或论文的工作根底、研究条件、应用环境、工作目的等。工作根底:了解基于DS1302实时时钟的根本命令格式,能熟练使用51系列单片机。研究条件:利用DS1302实现时间、日期的计量,利用数码管实现信息的显示,利用51单片机实现时间日期的获取,并可接受来自键盘的按键信息,完成时间、日期的设定,通过当期时间日期与设定时间日期的比对,实现打铃控制。设定信息将存储在存储芯片中。应用环境:

2、可编程的定时器的控制器的设定应用。工作目的:熟练掌握51单片机的C编程。 熟练掌握DS1302/AT24C02的编程方法。 熟练掌握PROTEUS仿真技术。二、参考文献1单片机的C语言应用程序设计,马忠梅,北京航空航天大学出版社,2007.2基于FM1702射频识别读写器的设计与实现,邢海霞,索明何. 嵌入式计算机,2007. 3新概念51单片机C语言教程,郭天祥,电子工业出版社,2021.4C程序设计第三版,谭浩强,清华大学出版社,2007.5The 8051 Microcontroller and Embedded Systems, Muhammad Ali Mazidi etc.三、设计

3、研究内容和要求包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。1、完成DS1302的时间获取与设定。2、完成基于AT24C02的数据存储。3、完成当前时间/日期信息的显示以及设定信息的显示。4、能够进行时间日期的比对控制。指导教师签字年 月 日审题小组组长签字年 月 日本科生毕业设计论文开题报告课题名称基于51单片机的教学打铃控制器的设计系 名 称信息工程系专业名称自动化学生姓名赵金奇指导教师扈书亮一、课题来源及意义近年来随着电子技术和微型计算机的迅速开展,单片机的档次不断提高,其应用领域也在不断的扩大。已在工业控制尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公

4、自动化设备、个人信息终端及通信产品中得到广泛应用,成为现代电子系统中最重要的智能化的核心部件。单片机比通用处理器最适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。 、 、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作。当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有

5、的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、本钱低、应用面广等优点,可以说智能控制与自动控制的核心就是单片机。现代社会开展速度越来越快,随之人们的时间观念也逐渐加强,在学校日常生活中师生也都需要一个准确的时间提醒来帮助自己更好地完成相关工作。本课题将利用DS1302获取当前时间、日期,数码管实现相应信息的显示,用51单片机实现对DS1302的控制,完成时间日期的获取,并可接受来键盘的按键信息,完成时间、日期的设定,通过当期时间日期与设定时间日期的比对,实现打铃控制,并设定信息将存储在存储芯片中。二、研究目标1、熟练掌握51单片机的C编程。2、熟练掌握DS1302AT24C02的

6、编程方法。3、完成基于51单片机的教学打铃控制器的程序设计并能够进行系统调试。三、研究内容整体系统设计框图本次设计主要包括单片机模块、DS1302模块、数码管显示器模块、继电器模块四个局部。通过内部定时产生中断,从而驱动电铃打铃。本设计采用5V供电,属于小功率稳压电源,所以可以采用三端稳压芯片。使用其设计的是线性开关、线性稳压电路,具有结构简单、调节方便、输出电压稳定性强、纹波电压小等优点。AT89C51具有体积小、功耗小。含有中断、定时计数器。且IO接口数相对较多,价钱也相比照拟廉价。四、研究方法与手段利用DS1302实现时间、日期的计量,利用数码管实现信息的显示,利用51单片机实现时间日期

7、的获取,并可接受来自键盘的按键信息,完成时间、日期的设定,通过当期时间日期与设定时间日期的比对,实现打铃控制,完成该系统的C51程序设计,并在此根底上完成基于PROTEUS 7的系统仿真,实现系统联调,完成设计中所要求的功能。五、进度安排1、2021.12.102021.03.14 查找资料,通过书籍和视频学习使用AT89C51单片机编程的根本方法,了解DS1302系统的根本概念,完成开题报告。2、2021.03.152021.03.29 掌握AT89C51单片机编程的根本方法和液晶显示控制器的控制方法。3、2021.03.302021.04.20 编写程序,完成单片机基于DS1302处理。

8、4、2021.04.212021.05.25 完成基于51单片机的教学打铃控制器的设计,并进行检验和总结。5、2021.05.262021.06.05 撰写论文,准备辩论。六、主要参考文献 .2田思源 姚玉霞等.?智能化楼宇安防自动监控报警系统的研究?J.3马士宝 张国玉等.?基于GSM模块的无线报警系统设计?J.长春理工大学学报.2021年.4刘松 赵忠等.?基于GSM的远程家庭智能监控系统设计J.产品设计与实现.2021年.5刘海成 AVR单片机原理及测控工程应用M.北京航空航天大学出版社,2021年.6周明德.?微型计算机硬件软件及应用?M.清华大学出版社.1982年

9、.7宋宏运.?单片微机计算机原理及应用?M.重庆大学出版社.1990.8何立民.?单片机应用系统设计?M.北京航空航天大学出版社.1990年. 9王福瑞等.?单片机测控系统设计大全?M.北京航空航天大学出版社.2002年. 10康华光 电子技术根底(模拟局部)M.北京:高等教育出版社,2006年.11阎石 数字电子技术根底(第五版)M.北京:高等教育出版社,2006年. 12谭浩强.C程序设计M.北京:清华大学出版社.2005年.  13谢维成,杨加国.单片机原理与应用及C51程序设计第2版M.北京清华大学出版社,2021.

10、 14ISD4004 Series Single-Chip Voice Record/Playback Device Data Book, Winbond Inc.2000.15Tan K M C, Maxion R A. Determining the operational limits of an anomaly-based intrusion detector. IEEE Journal on Selected Areas in Communications. 2003.选题是否适宜: 是 否课题

11、能否实现: 能 不能 指导教师签字 年 月 日选题是否适宜: 是 否课题能否实现: 能 不能 审题小组组长签字 年 月 日 毕业设计论文说明书题目:基于51单片机的教学打铃控制器的设计系 名 信息工程系 专 业 自动化 学 号 6010202392 姓 名 赵金奇 指导教师 扈书亮 2021年6月 6日摘要现在,生活节奏加快,人们对时间的规划也越来越重视,这就要用时钟提醒装置,即打铃装置。在校园生活中,用到最多的还是校园的自动打铃装置。每天都离不开打铃系统的使用,它不仅可以为学生和老师提供一个上下课的时间提醒,还可以提醒学生形成一个良好的作息时间表,科学合理的规划学习生活。因此,打铃系统的核心

12、局部也是时钟局部,为系统提供时间基准。本设计主要是针对适用于校园打铃系统要求的,介绍了一种基于单片机的自动打铃系统的设计方法。系统以AT89C51单片机为控制器,以DS1302时钟芯片为系统提供时间,并在显示设备上显示,通过按键可以设定定时打铃时间和打铃时间间隔。系统软件设计采用C51语言来完成,使用方便,用于完成软件设计非常方便。关键字:打铃器;AT89C51单片机;DS1302;显示器ABSTRACTNow, the accelerated pace of life, people have time to plan more and more attention , which use

13、tutors in size device that rang the bell device .Most used in everyday life or campus automatic bell device . In school life, are inseparable from daily use to fight bell system, it can not provide a time to remind the class, but also to remind the students to form a good work schedule, rational pla

14、nning of life science learning for students and teachers. Thus, the core of the bell system clock is also part of the system to provide a time reference. This paper is mainly applied to the campus for the bell system requirements, describes the automatic bell system design approach based on a single

15、 chip. System is AT89S51 microcontroller controller DS1302 clock chip to provide time for the system, and on the LCD display, by pressing a button you can set the timer rang the bell and rang the bell time interval. System software design using C language to accomplish, Easy to use, very convenient

16、for the completion of software design .Keywords: Belling;AT89S51 microcontroller;DS1302;Display目录第一章绪论1课题背景与来源1课题意义1课题设计内容1本章小结2第二章系统的硬件设计3系统设计方案3单片机电路简介3时钟电路设计6显示电路设计8键盘电路设计8打铃电路设计9存储器10温度显示电路11第三章系统软件设计12软件设计流程图12读取DS1302时间程序设计12键盘设定程序设计15AT24C0216第四章系统调试与测试结果分析17系统调试174.2仿真结果17第五章总结与展望20参考文献21附录2

17、2外文资料中文译文致谢第一章绪论1.1课题背景与来源当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、本钱低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效的方法就是理论与实践并重,本文用AT89C51单片机设计的一个自动打铃系统。单片机自1976年由Intel公司推出MCS-48开始,迄今已有20多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗

18、低、使用方便、价格低廉等一系列的优点。目前已经渗入到人们生活和工作的方方面面,单片机的应用领域已经从面向工业控制、通讯、交通、智能仪表等迅速开展到家用消费品、办公自动化、汽车电子、PC机外围以及网络通讯等广阔领域。近年来,随着电子技术和微机计算机的迅速开展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。1.2课题意义在日常生活中我们是常用到定时控制,如扩印过程的曝光定时等等。早期常用的一些时间控制单元都是用模拟电路设计制作的,其定

19、时准确性和精度都不是很理想,现在根本上都是基于数字电子技术的新一代产品,随着单片机性价比的不断提高,新一代产品的应用也越来越广泛。大那么可以构成复杂的工业过程控制系统,完成复杂的功能,小那么可以用于家电控制,甚至可以用于儿童电子玩具。它具有功能强大、体积小、质量轻、灵活好用等一系列特点。配以适当的接口芯片,可以构成各种各样、功能各异的微电子产品。随着电子技术突飞猛进的开展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。这些具有人们所需要的智能化特性产品减轻了人们的劳动,扩大了数字化的范围,为家庭数字化提供可能。根据这种实际情况,设计了一个单片机多功能定时打铃器,

20、它有根本的定时打铃功能,还有时间功能,方便使用者能随时掌握时间,方便人们的生活。1.3课题设计内容系统主要由主控模块,时钟模块,显示模块,键盘接口模块等4局部组成。通过内部定时产生中断,从而驱动电铃打铃。本设计采用5V电源,属于中小功率稳压电源,所以可以采用三端稳压芯片。用其设计的是线性开关、线性稳压电路,具有结构简单、调节方便、输出电压稳定性强、纹波电压小等优点。AT89C51具有体积小、功耗小。含有中断、定时计数器。且I/O接口数相对较多,价钱也相比照拟廉价。利用DS1302实现时间、日期的计量,利用数码管实现信息的显示,利用51单片机实现时间日期的获取,并可接受来键盘的按键信息,完成时间

21、、日期的设定,通过当期时间日期与设定时间日期的比对,实现打铃控制,完成该系统的C51程序设计,并在此根底上完成基于PROTEUS 7的系统仿真,实现系统联调,完成设计中所要求的功能。1.4本章小结本章主要介绍了课题的背景和意义,对单片机的优点及结构做了简要表达,也对本系统的应用和概况进行了说明。第二章系统的硬件设计系统设计方案(1)设计能正常工作的一个单片机最小硬件系统,外围电路包括设置键盘,数码管显示屏; (2)进行软件设计,利用单片机系统时钟先设计一个高精度的内部时钟系统,最小精确时间为期1秒; (3)在秒计数器的根底上设计一个24小时时钟,并设计假设干定时功能; (4)设计打铃执行机构,

22、完成自动打铃功能。图2-1系统设计框图2.2MCS-51单片机2.2.1AT89C51单片机性能 AT89C51是一种带4K字节FLASH可编程可擦除只读存储器的低电压,高性能的8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将8位CPU和FLASH存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 引脚说明:VCC:供电电压。 P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8个TTL门电流。当P1口的管脚第一次写1时,被定义为高阻

23、输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于

24、内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1后,它们被内部上拉为高电平,并用作输入。P3口也可作为AT89C51的一些特殊功能口,如下所示: P3口管脚备选功能 P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0 P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外部输入 P3.6 /WR外部数据存储器写选通P3.

25、7 /RD外部数据存储器读选通 P3口同时为闪烁编程和编程校验接收一些控制信号。AT89C51各局部引脚图如下:图2-2AT89C51引脚说明RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR中的8EH地址上置0。此时, AL

26、E只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。为使该模块化自动打铃系统具有更加方便和灵活性,对系统的硬件做了精心设计。硬件电路包括七段式数码管驱动模块、蜂鸣器驱动模块、按健控制模块等三大模块。2.2.2单片机最小系统电路单片机最小系统由晶振电路和复位电路组成。电路如下所示。晶振电路用于产生单片机工作时所需的时钟信号,单片机的指令必须在时钟信号下按照时序进行。晶振电路通常用两种设计方式:内部振荡方式和外部振荡方式。内部震荡方式是在单片机的XTAL1和XTAL2引脚外接一个晶振振荡器,与单片机内部的振荡器组成时钟信号;外

27、部振荡方式是在外部将已有脉冲信号引入单片机内,一般用于使单片机的时钟与外部信号保持同步。本设计选用内部振荡方式,在XTAL1和XTAL2引脚之间连一个12MHz的晶振,再分别外接30p的对地电容。单片机在启动是需要复位,使系统各器件处于初始状态。复位引脚为RST,当系统上电后晶振电路稳定后,RST引脚有一个高电平且持续两个机器周期以上,单片机系统就能实现复位功能。手动复位是在RST引脚设置按键,当案件按下时,RST引脚会有高电平,即可实现复位功能;上电复位是在RST引脚连接一个电解电容接至电源,再接一个电阻接地,系统上电时,电容充电,只要电容上的上升时间不超过1ms,就可以实现复位功能。图2-

28、3单片机最小系统2.3时钟电路设计2.3.1时钟芯片DS1302的结构及工作原理 DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM存放器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 2.3.2引脚功能及结构 DS1302的引脚排列,其

29、中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当Vcc2大于Vcc1时,Vcc2给DS1302供电。当Vcc2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位存放器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,那么会终止此次

30、数据传送,I/O引脚变为高阻态。上电运行时,在VCC之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。 下列图为DS1302的引脚功能图:图2-4DS1302引脚说明2.3.3DS1302的控制字 DS1302的控制字如表2-1所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,那么不能把数据写入DS1302中,位6如果为0,那么表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位

31、开始输出。 表2-1DS1302 的控制字1RAM CKA4A3A2A1A0RAM K2.3.4数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 2.3.5DS1302的存放器 DS1302有12个存放器,其中有7个存放器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间存放器及其控制字见表2-1。 此外,DS1302 还有年份存放器、控制存放器、充电存放器、时钟突发存放器及与RAM相关的存放器等。时

32、钟突发存放器可一次性顺序读写除充电存放器外的所有存放器内容。 DS1302与RAM相关的存放器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM存放器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。2.3.6时钟电路设计图2-5DS1302时钟电路DS1302存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。这种记录对长时间的连续测控系统结

33、果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;假设采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样消耗单片机的资源,而且,某些测控系统可能不允许。但是,如果在系统中采用时钟芯片DS1302,那么能很好地解决这个问题。2.4显示电路设计单片机采用数字屏作为显示器件,实现时间、日期、温度的选择。其中P0口用于驱动6个数码管的段码输入端,P1口通过同向驱动器用来驱动6个数码管的位选端。另外,有四个LED灯通过P3.1指示当前系统时钟电路的工作状态。图2-

34、6单片机显示电路2.5键盘电路设计键盘是单片机应用中常用的一种输入器件,键盘的按键有触点式和非触点式之分,按接口原理有编码键盘和非编码键盘之分。编码键盘主要用硬件来实现对按键的识别,非编码器件是由软件来实现键盘的定义和识别。常用的按键一般分为触点式按键,根据按键所连接的单片机引脚的电平上下来判断其是否按下。按功能分,独立按键每一路按键就占用单片机的一个控制引脚,单片机直接获取其信息:矩形按键将按键排成由行和列组成的行列式,通过确认按键的行号和列号来确定每一路按键。本设计按键电路图如下,由单片机的P1口控制按键电路。本设计中按键用于设定定时时间,打铃时间间隔。所以需8路按键即可实现所需功能,采用

35、独立式按键即可。实验中按键0代表时间设置,按键1代表取消闹铃设置,按键2代表左移设置以便进行上一位时间设置,按键3代表增加时间数字,按键4代表减小时间数字,按键5代表右移设置以便进行上一位时间设置,按键6代表取消以上所有正在进行的设置,恢复原位,按键7代表确定以上设置。图2-7单片机键盘设计2.6打铃电路设计打铃电路一般用声音或音乐作为提醒,本设计选用蜂鸣器和灯实现声光双重打铃功能,电路如图,打铃时间到时,单片机引脚置高,NPN型三极管2N2222A导通,使上面开关吸合,继电器导通,220V电压进入,电铃响。开关断开,继电器不导通,220V电压无法进入,电铃不响。图2-8单片机打铃电路2.7存

36、储器图2-9储存器电路存储器用于存储设计时间、日期、以及温度等。I2C全称为芯片间总线,是目前使用广泛的芯片间串行扩展总线。串行总线只有两条信号线,一条是数据线SDA,另一条是时钟线SCL。SDA和SCL是双向的,I2C总线上各器件的数据线都接到SDA线上,各器件的时钟线均接到SCL线上。带有I2C总线接口的单片机可直接与具有I2C总线接口的各种扩展器件如存储器、I/O芯片、A/D、D/A、键盘、显示器、日历/时钟连接。由于I2C总线采用纯软件的寻址方法,无需片选的连接,这样就大大简化了总线数量。I2C串行总线的运行由主器件控制。主器件是指启动数据的发送发出起始信号、发出时钟信号、传送结束时发

37、出终止信号的器件,通常由单片机来担当。从器件可以是存储器、LED或LCD驱动器、A/D或D/A转换器、时钟/日历器件等,从器件必须带有I2C串行总线接口。当I2C总线空闲时,SDA和SCL两条线均为高电平。由于连接到总线上器件的输出级必须是漏极或集电极开路的,只要有一个器件任意时刻输出低电平,都将时总线上的信号变低,即各器件的SDA及SCL都是“线与的关系。由于各器件输出端为漏极开路,故必须通过上拉电阻接正电源,以保证SDA和SCL在空闲时被上拉为高电平。SCL线上的时钟信号对SDA线上的时钟信号对SDA线上的歌器件间的数据传输起同步控制作用。SDA线上的数据起始、终止及数据的有效性均要根据S

38、CL线上的时钟信号来判断。在标准的I2C普通模式下,数据的传输速率为100kbit/s,高速模式下可达400bit/s。总线上扩展的器件数量不是由电流负载决定的,而是由电容负载确定的。I2C总线上的每个器件的接口都有一定的等效电容,连接的器件越多,电容值就越大,这会造成信号传输的延时。总线上允许的器件数以器件的电容量不超过400pF为宜,据此可计算出总线长度及连接器件的数量。每个连到I2C总线上的器件都有一个唯一的地址,扩展器件时也要受到器件地址数目的限制。2.8 温度显示电路 DSl820数字温度计提供9位(二进制)温度读数指示器件的温度信息经过单线接口送入DSl820或从DSl820送出因

39、此从主机CPU到DSl820仅需一条线(和地线)DSl820的电源可以由数据线本身提供而不需要外部电源因为每一个DSl820在出厂时已经给定了唯一的序号因此任意多个DSl820可以存放在同一条单线总线上这允许在许多不同的地方放置温度敏感器件DSl820的测量范围从-55到+125增量值为可在ls(典型值)内把温度变换成数字。图2-10单片机温度显示设计第三章系统软件设计3.1软件设计流程图P3口驱动驱动继电器导通开始初始化读取DS1302的时间/日期键盘扫描读取24C02信息判断时间是否一致?NY图3-1软件设计流程图定时器1初始化,1302初始化,随后读取1302的时间或日期。键盘扫描是对程

40、序的扫描与认可。读取信息之后就要判断时间是否与设定要求打铃时间一致,如果一致那么进行上述后续步骤,P3口驱动,三极管2N222A导通即驱动继电器导通。如果时间不一致直接跳步进行无限的循环,直到时间与设定打铃时间一致打铃为止。3.2读取DS1302时间程序设计3.2.1DS1302的存放器 有关日历、时间的存放器共有12个,其中有7个存放器读时81H8DH,写时80H8CH,存放的数据格式为BCD码形式。小时存放器85H、84H的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是,当为1时,表示PM。在24小时模式时,位5是第二个1

41、0小时位。 秒存放器81H、80H的位7定义为时钟暂停标志CH。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。 控制存放器8FH、8EH的位7是写保护位WP,其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一存放器的写操作。3.2.2DS1302的工作原理 DS1302工作时为了对任何数据传送进行初始化,需要将复位脚RST置为高电平且将8位地址和命令信息装入移位存放器。数据在时钟SCLK的上升沿串行输入,前8位指定访问地址,命令字装入移位存放器后,在之后的时钟周期,读操作时输出数据,写操作时输出数

42、据。时钟脉冲的个数在单字节方式下为8+88位地址+8位数据,在多字节方式下为8加最多可达248的数据。 3.2.3DS1302的存放器和控制命令 对DS1302的操作就是对其内部存放器的操作,DS1302内部共有12个存放器,其中有7个存放器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份存放器、控制存放器、充电存放器、时钟突发存放器及与RAM相关的存放器等。时钟突发存放器可一次性顺序读写除充电存放器以外的存放器。 表3-1日历、时间存放器及控制字76543210存放器名称1RAM/CKA4 A3A2A1A0RD/W秒存放器1000000分存放器1000001小时存放器

43、1000010日存放器1000011月存放器1000100星期存放器1000101年存放器1000110写保护存放器1000111慢充电存放器1001000时钟突发存放器1011111最后一位RD/W为“0时表示进行写操作,为“1时表示读操作。 DS1302内部的RAM分为两类,一类是单个RAM单元,共31个,每个单元为一个8位的字节,其命令控制字为COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH写、FFH读。 现在已经知道了控制存放器和RAM的逻辑地址,接着就需要知道如何通过外部接口来访问这些资源。单片

44、机是通过简单的同步串行通讯与DS1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向DS1302写入一个命令帧,这个帧的格式如表1所示,最高位BIT7固定为1,BIT6决定操作是针对RAM还是时钟存放器,接着的5个BIT是RAM或时钟存放器在DS1302的内部地址,最后一个BIT表示这次操作是读操作抑或是写操作。 物理上,DS1302的通讯接口由3个口线组成,即RST,SCLK,I/O。其中RST从低电平变成高电平启动一次数据传输过程,SCLK是时钟线,I/O是数据线。具体的读写时序参考图5,但是请注意,无论是哪种同步通讯类型的串行接口,都是对时钟信号敏感的,而且一

45、般数据写入有效是在上升沿,读出有效是在下降沿DS1302正是如此的,但是在芯片手册里没有明确说明,如果不是特别确定,那么把程序设计成这样:平时SCLK保持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总是在SCLK保持为低电平的时候,相邻的操作之间间隔有一个上升沿和一个下降沿。3.2.4单片机读取DS1302 子程序流程图开始 初始化DS1302读取时,分,秒写入相应数据 YNDS1302应答 结束图3-2单片机读取DS1302 子程序流程图3.4键盘设定程序设计单片机的读取按键方式有2种:查询方式和中断方式。查询方式是利用单片机引脚不断查询是否有按键按下,如果有按键按下,利用

46、延时程序去除抖动再次确认后,进入该按键对应的子程序执行命令。中断方式是利用单片机外部中断功能来检测是否有按键按下。利用中断功能可以不用再主程序中不断执行查询命令,有中断产生即有按键按下时,再进入中断子程序中进行处理。本设计选用查询方式处理按键设定程序。每个独立式按键直接接至单片机引脚,每个按键的键值与单片机端口的8个引脚的8位二进制码相对应。本设计为P1.0-P1.3引脚控制4路按键。开始初始化引脚和中断执行相应按键指令结束 N Y 图3-3单片机控制按键子程序流程图3.5AT24C02图3-424C02引脚排列24C02是电可擦除PROM,采用256*8bit的组织结构及两线串行接口。电压可

47、允许低至1.8V,待机电流和工作电流为1微安和1毫安。24C02具有页写能力,每页为8字节。共有8-pin PDIP和8-pin SOP两种封装形式。应用领域有:智能仪器仪表、工业控制、家用电器、计算机、笔记本电脑、汽车电子、通信设备等等。本设计中的打铃器也用到它。本设计中用它来读取信息,以便下一步骤判断设定时间与当前时间是否一致。 第四章系统调试与测试结果分析 4.1系统调试 根据系统设计方案,本系统的调试共分为三大局部:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块设计法,所以方便对各电路模块功能进行逐级测试:数码管模块的调试,数据存储模块的调试,时钟模块的调试,键盘模块的调试,

48、打铃模块的调试等,最后将各模块组合后进行整体测试。 4.2仿真结果 图4-1仿真启动显示图图4-2按键line0按下后按下line0时间设置后,最右侧屏幕出现闪烁,以便进行随后按键增加、减小等,设置时间。图4-3按键line2按下后最右面屏幕时间设置好后,按line2左移按键,最右面屏幕时间固定,中间屏幕闪烁以进行时间更改设定。图4-4按键line3按下后按键line3增加按下后,每按一次中间屏幕时间会增加一个数字,按键line4减小按下后效果相反。按键line6取消按下后,此前设定时间都取消,复原初始时间。按键line7确定按下后,显示设定后的时间。由于时间和各种条件的限制,本实验还存在很多

49、缺乏,有些按键功能无法正常运行,有待改良。但根本上已经将设计起初的思路表达、显示完成。第五章总结与展望经过这段时间的努力,毕业设计接近了尾声。本文从选题目的及意义开始,介绍了系统的方案设计。本设计是针对学校的作息时间而设计的一种自动打铃系统,同样可以用于工厂车间等,它能很好地起到时钟提醒的作用,方便了人们的日常生活。在硬件设计局部,显示器件选的是液晶显示器,它具有功耗和工作电压低的特点,而且它显示质量高,可视面积大,能很好地到达设计要求,还降低了软件的编程难度。本设计的自动打铃系统还存在缺乏和缺点,主要表现在:能够设定的打铃时间只有六个,者使用为想降低编程时的难度,在不影响其功能的前提下,降低

50、了要求;另外,其扩展性不强后续开展比拟困难,在商品竞争中没什么优势,需要进一步的研究和开发。通过此次毕业设计,对所学的专业知识进行了很好地实践和稳固,提高了自己的独立动手和思考的能力,这对我自身开展有很大的帮助,在此期间,还查阅了很多的书记和资料,扩充了自己的知识和视野,以及知识面。领悟到,勤奋,动手,是以后学习道路上不可或缺的精神与品质,这对未来的工作学习都至关重要。参考文献1单片机的C语言应用程序设计,马忠梅,北京航空航天大学出版社,2007.2基于FM1702射频识别读写器的设计与实现, 邢海霞 , 索明何 . 嵌入式计算机 ,

51、2007.3新概念51单片机C语言教程,郭天祥,电子工业出版社,2021.4C程序设计第三版,谭浩强,清华大学出版社,20075刘海成 AVR单片机原理及测控工程应用. 北京航空航天大学出版社,2021年.6周明德.?微型计算机硬件软件及应用?.清华大学出版社.1982年.7宋宏运.?单片微机计算机原理及应用?.重庆大学出版社.1990.8何立民.?单片机应用系统设计?.北京航空航天大学出版社.1990年. 9王福瑞等.?单片机测控系统设计大全?.北京航空航天大学出版社.2002年. 10康华光 电子技术根底(模拟局部) M.北京:高等教育出版社,2006年.11阎石 数字电子技术根底(第五版) M.北京:高等教育出版社,2006年.12谭浩强.C

温馨提示

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

评论

0/150

提交评论