基于单片机的数字时钟的设计毕业设计.doc

上传人:仙人指路1688 文档编号:4148541 上传时间:2023-04-07 格式:DOC 页数:35 大小:518KB
返回 下载 相关 举报
基于单片机的数字时钟的设计毕业设计.doc_第1页
第1页 / 共35页
基于单片机的数字时钟的设计毕业设计.doc_第2页
第2页 / 共35页
基于单片机的数字时钟的设计毕业设计.doc_第3页
第3页 / 共35页
基于单片机的数字时钟的设计毕业设计.doc_第4页
第4页 / 共35页
基于单片机的数字时钟的设计毕业设计.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《基于单片机的数字时钟的设计毕业设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的数字时钟的设计毕业设计.doc(35页珍藏版)》请在三一办公上搜索。

1、信息职业技术学院毕业设计说明书(论文)设计(论文)题目: 基于单片机的 _ 数字时钟的设计 专 业: 通信技术 班 级: 学 号: 姓 名: 指导教师: 信息职业技术学院毕业设计(论文)任务书学 生姓 名学号班级通技06-2专业通信技术设计(或论文)题目基于单片机的数字时钟的设计指导教师姓名职 称工作单位及所从事专业联系方式备 注助教高级工程师设计(论文)内容:本设计要求以单片机(AT89C51)为核心,设计一款简易的数字时钟,功能如下:(1)时间(年、月、日、星期、时、分、秒)LCD显示功能;(2)时间设置功能;(3)闹钟功能;(4)环境温度显示功能(可选项)。学生需完成系统方案制定与工作原

2、理分析、硬件设计、软件设计、系统仿真或实物制作、设计报告撰写等工作。设计可按如下步骤进行:1. 收集有关资料并消化吸收;2. 制定设计方案;3. 完成硬件设计、软件设计,仿真测试成功后可完成实物制作;4. 撰写设计报告(不少于4000字)。进度安排:1收集有关资料并消化吸收-第67周;2制定设计方案-第7周;3硬件设计-第78周;4软件设计-第911周;5系统仿真测试与硬件制作-第12周; 6撰写设计报告-第1314周;7准备毕业答辩-第15周。主要参考文献、资料(写清楚参考文献名称、作者、出版单位):1DS1307 datasheet http:/www.maxim-2李建忠.单片机原理及应

3、用.西安:西安电子科技大学出版社,20023朱宇光.单片机应用新技术教程.北京:电子工业出版社,20004刘守义.单片机应用技术.西安:西安电子科技大学出版社,20025房小翠.单片机实用系统设计技术.北京:国防工业出版社,20036李华.MCS-51系列单片机实用接口技术.北京:电子工业出版社,2000审批意见教研室负责人:年 月 日备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份。目录摘要1第1章设计方案21.1方案论证与比较21.2方案确定3第2章硬件设计42.1单片机主控模块42.2时钟模块52.2.1DS1307的引脚功能52.2.2DS1307的内部结构52.2.3

4、DS1307的读写操作72.2.4DS1307硬件电路设计82.3闹铃模块92.4键盘模块92.5LCD显示模块102.5.1LCD1602的引脚功能102.5.2LCD1602的显示操作102.6电源模块14第3章软件设计153.1系统流程图153.2液晶显示模块流程图153.3键盘处理模块流程图16第4章系统测试21总结23致谢24参考文献25附录1系统仿真电路图26附录2PCB板底图27附录3主要源程序28摘要本设计以AT89C51单片机为核心,以实时时钟芯片DS1307和液晶显示LCD1602为主体设计了一款简易数字时钟。该时钟系统主要由单片机最小系统、时钟模块、闹钟模块、液晶显示模块

5、、键盘控制模块组成。系统具有简单清晰的操作界面,能够准确显示时间(显示格式为时时:分分:秒秒,24小时制),可随时进行时间调整,具有闹钟时间设置、闹钟开/关。设计以硬件软件化为指导思想,充分发挥单片机功能,大部分功能通过软件编程来实现,电路简单明了,系统稳定性高。同时,该时钟系统还具有功耗小、成本低的特点,具有很强的实用性。由于系统所用元器件较少,单片机所被占用的I/O口不多,因此系统具有一定的可扩展性。软件程序采用均采用C语言编写,便于移植与升级。报告详细介绍了整个系统的硬件组成结构、工作原理和系统的软件程序设计。关键词数字时钟;单片机;DS1307;LCD1602第1章设计方案1.1方案论

6、证与比较方案一:基于FPGA的系统总体设计方法。为了实现:(1)显示年、月、日、时、分、秒、星期,并且可以进行调整时间;(2)可以设定闹钟和整点报时的功能,数字时钟在总体上主要分为三大部分:输入人机界面部分、FPGA核心功能部分和输出界面部分,其系统设计框图如图1-1所示。图1-1基于FPGA的系统设计方框图方案二:采用单片机技术来实现数字钟的功能。系统以AT89C51单片机为核心控制器件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为

7、“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。外围主要有串行通信器件实时时钟芯片DS1307等,使得系统线路简单可靠性高。系统结构框图如图1-2所示。图1-2基于单片机实现的数字时钟系统结构框图单片机最小系统:其作用是和外围的时钟芯片通信,并控制数据传输的过程,采集时间信息并予以处理。键盘模块:键盘模块可以设置时间信息,通过单片机写入时钟芯片,以更新时间;也可以设置闹钟,由单片机存入其内部RAM中。时钟模块:此模块由专用的实时时钟芯片构成,由它提供实时的日历时钟信息。液晶显示模块:单片机读取时钟芯片DS1307中的信息,通过液晶显示器实时显示。采用

8、LCD作为显示器,具有界面友好、功耗低的优点。闹钟模块:单片机主控模块读取日历芯片中的时间信息,与所设置的闹钟时间相比较,若相同时,闹钟模块工作闹钟模块。电源模块:用220V市电经整流、滤波、稳压后,输出稳定的+5V的直流电为其供电。1.2方案确定综合考虑以上两种方案的优缺点以及题目的基本要求和发挥要求,在本设计中,我采用了第二种方案,即采用单片机来实现数字时钟的功能为我此次设计的方案。第2章硬件设计2.1单片机最小系统单片机最小系统以AT89C51单片机为核心,由单片机、时钟电路、复位电路等组成如图2-1所示。主要负责各个模块的初始化工作;读取并处理时间;处理按键响应;控制液晶实时显示等。图

9、2-1单片机最小系统主控制器AT89C51单片机与MCS51系列单片机产品兼容,内部自带有4KB的Flash存储器及256KBRAM单元,不需另外扩展EEPROM及静态RAM,可以在线下载程序,易于日后的升级。图中,P2.0、P2.1、P2.2及P1口为单片机与液晶显示器连接的控制和通信的数据端口;P2.6和P2.7为单片机与时钟芯片DS1307通信的端口;P2.3为闹钟的控制端口;P0.0、P0.1、P0.2、P0.3为按键模块的接口。时钟电路是由XTAL1和XTAL2之间跨接的晶体振荡器和微调电容构成。时钟电路中晶体振荡器的频率高则系统的时钟频率就高,所以该系统采用12M晶振;复位电路有两

10、种形式:手动按键复位和上电复位,在本系统中采用的是手动按键复位。如图2-1所示,R1、R2、C3和SW组成系统手动按键复位电路。2.2时钟模块系统采用DS1307时钟芯片。DS1307是美国DALLAS公司推出的一种高性能、低功耗的时钟芯片,它是一款I2C总线接口的时钟芯片,采用两线与CPU进行通信,片内含有8个特殊功能寄存器和56bit的SRAM。DS1307的主要技术指标:具有秒、分、时、日、星期、月、年的计数功能;12小时制和24小时制两种计数模式;可自动调整每月的天数,具有闰年自动修正、掉电保护和上电复位功能。2.2.1DS1307的引脚功能DS1307采用8引脚双列直插DIP封装形式

11、,引脚分布如图2-2所示。相应功能如下:Vcc:主电源;Vbat:备用电源。当VbatVcc+0.2V时,由Vcc向DS1307供电,当VbatVcc时,由Vcc向DS1307供电;GND:逻辑地;SCL:I2C总线时钟线;SDA:I2C总线数据线;SQW/OUT:方波/输出驱动器。图2-2DS1307引脚分布图2.2.2DS1307的内部结构1.内部结构DS1307芯片由晶体振荡器、电源控制器、I2C总线控制、分频处理、逻辑控制、RAM存储、多路选择器、时钟/日历寄存器、缓冲器组成,内部结构如图2-3所示。VccSQW/OUTSDASCLGNDVbatX2X1电源控制器逻辑控制时钟/日历寄存

12、器多路选择器RAM存储分频处理晶体振荡器RAM存储I2C控制总线1Hz图2-3DS1307的内部结构2.寄存器DS1307有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81H8DH,写时80H8CH),存放的数据格式为BCD码形式,如表2-1所示。表2-1DS1307的日历、时间寄存器地址D7D6D5D4D3D2D1D0功能取值范围81HCH十位个位秒00-5983H0十位个位分00-5985H012十位十位个位时AM:1-12PM:00-23248B00000星期星期01-0787H00十位个位日01-3189H000十位个位月01-128DH十位Year年00-998FHOUT0

13、0SOWE00RS1RS0控制字-91HRAM56800H-FFH(1)小时寄存器(85H、84H)的位7用于定义DS1307是运行于12小时模式还是24小时模式。当为高电平时,选择12小时模式。在12小时模式时,位D5是,当为1时,表示PM。在24小时模式时,位5是第二个10小时位。(2)秒寄存器(81H、80H)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1307处于低功耗状态;当该位置为0时,时钟开始运行。(3)控制寄存器(8FH、8EH)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止

14、对任一寄存器的写操作。2.2.3DS1307的读写操作DS1307是基于I2C总线接口的时钟芯片,软件上与I2C总线完全兼容。1.I2C总线的驱动I2C总线在传送数据时,必须确认传送数据的开始和结束。而且每传送一个字节,要发送一个应答位(0);在一个周期发送结束后,要发送一个应答位(1)。具体如图2-4所示,三种信号的格式如下:(1)启动信号:当时钟总线SCL为高电平时,数据线SDA由高电平跳变为低电平定义为“启动”信号。(2)停止信号:当时钟总线SCL为高电平时,数据线SDA由低电平跳变为高电平定义为“结束”信号。(3)应答位:当主器件发送完一字节的数据后,后面必须跟一个应答位(ACK)。在

15、时钟高电平期间,如果数据线SDA为低电平代表一个字节的传送结束,并准备下一个要传送的字节;在时钟高电平期间,如果数据线SDA为低电平代表一个传送周期结束,准备下一个传送周期。图2-4I2C总线的数据传送格式2.DS1307的写控制图2-5是DS1307的写控制格式,首先发送启动信号,然后发送的第一个字节是用来控制芯片的地址以及读写控制位(D0:0写),之后是应答位,然后发送其它字节数据,在最后发送一个结束标志的应答位,紧跟着是停止信号。S11010000AXXXXXXXXAXXXXXXXXAXXXXXXXXAXXXXXXXXAP图2-5CPU写数据模式3.DS1307的读控制图2-6是DS13

16、07的读控制格式,首先发送启动信号,然后发送的第一个字节是用来控制芯片的地址以及读写控制为(D0:1读),之后是应答位,然后发送其它字节数据,在最后发送一个结束标志的应答位,紧跟着是停止信号。S11010001AXXXXXXXXAXXXXXXXXAXXXXXXXXAXXXXXXXXAP图2-6CPU读数据模式2.2.4DS1307硬件电路设计DS1307采用与CPU进行通信,电路连接简单。DS1307的内部振荡电路结构如图2-7所示,在芯片内部连接有两个电容,目的是为了使晶振起振,所以在电路设计中就不需要另外再加电容了。图2-7DS1307的内部振荡电路时钟模块电路如图2-8所示,其中晶振采用

17、的是32.768kHz,经内部电路分频后可获得一个标准的秒脉冲信号;电阻R3、R4是I2C总线的上拉电阻。图2-8DS1307的电路连接2.3闹铃模块系统采用蜂鸣器作为闹铃输出,电路连接如图2-9所示。电路中采用PNP管Q1来控制蜂鸣器的开关,由图可以看出:当P2.3引脚为高电平时,PNP管截止,蜂鸣器不工作;当P2.3引脚为低电平时,PNP管导通,蜂鸣器工作。其中R9为限流电阻。图2-9闹铃电路2.4键盘模块键盘模块设置了四个按键:KEY1、KEY2、KEY3、KEY4。其中KEY1为模式切换键,KEY2为设定值上升键,用KEY3为设定值减小键,KEY4是返回键。电路连接如图2-10所示。4

18、个上拉电阻可以保证在没有按键输入时,进入单片机四个I/O口的按键状态均为高电平,防止干扰产生;当有按键按下时,相应的端口线状态转为低电平。图2-10键盘电路2.5LCD显示模块LCD显示器分为字段显示和字符显示两种。其中字段显示与LED显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用LCD1602作为显示器件输出信息,可以显示2行16个汉字。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富、不需要外加驱动电路等优点,是单片机应用设计中最常用的显示器件。2.5.1LCD1602的引脚功能LCD160

19、2模块的引脚如图2-11所示。图2-11LCD1602模块其引脚功能如下:RS:数据和指令选择控制端,RS=0命令状态;RS=1数据;R/W:读写控制线,R/W=0写操作;R/W=1读操作;A:背光控制正电源;K:背光控制地;E:数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机间将进行一次数据交换;DB0DB7:数据线,可用8位连接,也可只用高4位连接,节约单片机资源;VDD:电源端;VEE:亮度控制端(1-5V);VSS:接地端。2.5.2LCD1602的显示操作1.四种基本操作LCD有四种基本操作,具体如表2-2所示。表2-2LCD与单片机之间有四种基本操作RSR/W操

20、作00写命令操作(初始化,光标定位等)01读状态操作(读忙标志位)10写数据操作(要显示内容)11读数据操作(可以把显示存储区中的数据反读出来)(1)读状态操作执行读状态字操作,如表2-2所示须满足RS=0、R/W=1。根据管脚功能,当为有效电平时,状态命令字可从LCD模块传输到数据总线。同时可以保持一段时间,从而实现读状态字的功能。如图2-12所示为读入状态字流程图。RS清0,等待RW置1,等待E置1,等待读入状态字,等待E清0,等待RW清0,等待结束图2-12读入状态字流程图(2)写命令操作由表2-2可知当RS=0,R/W=0时,才可以通过单片机或用户指令把数据即命令,写到LCD模块,此时

21、就对LCD进行调制。可采用查询方式:先读入状态字,再判断忙标志,最后写命令字。1)命令字表2-3所示为命令字,其主要介绍了指令名称、控制信号及控制代码。其指令名称是指要实现的功能,控制代号是采用的十六进制的数值表示的。a.清零操作是指输入某命令字后即能将整个屏幕显示的内容全部清除;b.归home位:将光标送到初始位;其中的*号为任意,高低电平均可;c.输入方式:设光标移动方向并指定整体显示,是否移动。I/D=0:减量方式,S=1:移位,S=0:不移位;d.显示状态:D指设置整体显示开关;C指设置光标显示开关;B指设置光标的字符闪耀;e.光标画面滚动:R/L指右移或左移;S/C指移动总体或光标;

22、f.功能设置:DL接口数位,L指显示行数,F显示字型;g.CGRAM地址设制:相当于一个数据库,可以在其中选择所需要的符号;h.DDRAM地址设制:显示定位;i.读BF和AC:B为最高位忙的标志,F为标志位;j.写数据:将数据按要求写入到对应的单元;k.读数据:读相应单元内的数据。表2-3命令字指令名称控制信号控制代码RSRWD7D6D5D4D3D2D1D0清屏0000000001归HOME位000000001*输入方式设制00000001I/DS显示状态设制0000001DCB无标画面滚动000001S/CRL*功能设置00001DLNF*CGRAM地址设制0001A5A4A3A2A1A0D

23、DRAM地址设制001A6A5A4A3A2A1A0读BF和AC01BFAC6AC5AC4AC3AC2AC1AC0写数据10数 据读数据11数 据2)如图2-13为写命令字的流程图。写命令字读入状态字AAC.7=0?不忙吗?延时R/W=0RS=0E=1命令字A,AP1E=0RS=0返回图2-13写命令字流程图3)定义光标位置把显示数据要某个位置,就是把显示数据写在相应的DDRAM地址中,DDRAM地址占7位。SetDDRAMaddress命令如表2-3所示。光标定位,写入一个显示字符后,DDRAM地址会自动加1或减1,加或减由输入方式设置。表2-4SetDDRAMaddress命令RSR/WDB

24、7DB6DB5DB4DB3DB2DB1DB0001AC6AC5AC4AC3AC2AC1AC0第1行DDRAM地址与第2行DDRAM地址并不连续。如表2-4所示。表2-5DDRAM地址row12345141516line180H81H82H83H84H8dH8eH8fHline20c0H0c1H0c2H0c3H0c4H0cdH0ceH0cfH4)LCD初始化从通电开始通过延时,先经过判忙后再进行功能设置,过一段时间后可以设制显示状态(如设置行、位或阵列)再经过延时后清屏后再可以设置输入方式,具体如图2-14所示。上电延时20ms功能设置延时37us显示状态设置清屏延时1.52ms输入方式设置返回

25、图2-14LCD初始化流程图2.LCD显示程序设计LCD显示程序的设计一般先要确定LCD的初始化、光标定位、确定显示字符后,LCD就可以按如图2-15显示。开始LCD初始化光标定位显示字符返回图2-15LCD显示程序流程图2.6电源模块用220V市电经整流、滤波、稳压后,输出稳定的+5V的直流电为其供电。+5V稳压器采用CW7805,其应用电路如图2-16所示。图中,滤波电容C6和C8的值为1000uF,C7和C9为0.33uF。发光二极管D6的作用是显示读写器的电源是否接通,若接通则D6灯亮,无接通则D6灯灭。图2-16电源电路图第3章软件设计系统的软件设计可以分为几个部分,首先编写各个模块

26、的底层驱动程序,而后是系统联机调试,编写上层系统程序。本系统软件程序主要包括:液晶LCD1602的底层驱动模块、时钟芯片DS1307的底层驱动模块、键盘扫描及键值处理模块、闹钟模块等。3.1系统流程图系统的软件主流程图如图3-1所示。开始初始化读取时间信息液晶实时显示是否有按键键值处理启动闹铃闹铃工作NNY图3-1主程序流程图3.2液晶显示模块流程图液晶显示模块包括了LCD初始化、光标的设定、确定显示字符、具体流程图如图2-15所示。3.3键盘处理模块流程图系统设制了四个按键,分别是功能设置、定值上升、定值下降和返回键。整个系统的软件设计均采用C语言开发,采用查询的方式对按键状态进行扫描,确保

27、系统的实时性。因此这些器件的底层程序均可以移植到其它系统中,这就是采用C语言开发的最大的优点。键盘处理流程图分别如图3-2、3-3、3-4、3-5所示。设置日状态:+、不变实时显示键扫描KEY4-ON计数值减1计数完毕计数完毕KEY2-ONKEY1-ONKEY1-ONKEY3-ON重装初值实时显示键扫描KEY2-ONKEY3-ONKEY4-ON计数值减1重装初值调用设置小时函数YYYNNNNNNNNNYYYYYYY返回YNYY键扫描KEY1-ONKEY4-ONKEY1-ONKEY2-ONKEY3-ON计数完毕计数值减1返回实时显示键扫描KEY1-ONKEY4-ONKEY2-ONKEY3-ON计

28、数值减1计数完毕重装初值返回键扫描显示设置日期返回YYYNNNNNNNN显示设置时间键盘扫描/处理开始YYYYYN设置时状态:+、不变设置分状态:+、不变图3-2时间设置模块设置日态:+、不变实时显示键扫描KEY4-ON计数值减1计数完毕计数完毕KEY2-ONKEY1-ONKEY1-ONKEY3-ON重装初值实时显示键扫描KEY2-ONKEY3-ONKEY4-ON计数值减1重装初值调用设置年函数YYYNNNNNNNNNYYYYYYY返回YNYY键扫描KEY1-ONKEY4-ONKEY1-ONKEY2-ONKEY3-ON计数完毕计数值减1返回实时显示键扫描KEY1-ONKEY4-ONKEY2-O

29、NKEY3-ON计数值减1计数完毕重装初值返回键扫描显示设置星期返回YYYNNNNNNNN显示设置时间上接显示日期YYYYYN设置年态:+、不变设置月态:+、不变图3-3日期设置流程图键扫描KEY4-ONKEY1-ONKEY2-ONKEY3-ON计数完毕计数值减1返回实时显示键扫描KEY1-ONKEY4-ONKEY2-ONKEY3-ON计数值减1计数完毕重装初值设置星期YYYYNNNNNNNNNY上接显示星期YYY重装初值NNY返回Y设置星期状态:+、不变图3-4星期设置流程图Y A Y Y Y Y Y N N N N N N N N N N N N N N N N N N N Y Y Y Y

30、 A Y Y Y Y Y N N N N N N N N N N N N N N N N N N N Y Y Y Y A Y Y Y Y Y N N N N N N N N N N N N N N N N N N N Y Y Y N A Y Y Y Y Y N N N N N N N N N N N N N N N N N N N Y Y Y N A Y Y Y Y Y N N N N N N N N N N N N N N N N N N N Y Y Y N A Y Y Y Y Y N N N N N N N N N N N N N N N N N N N Y Y Y N A Y Y Y Y Y N N N N N N N N N N N N N N N N N N N Y Y Y Y A Y Y Y Y Y N N

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号