1、天津工业大学毕业设计(论文)电子万年历的设计姓名:院(系)别:电子与信息工程学院专业:班级:指导教师:职称:2012 年 6 月日天津工业大学毕业设计(论文)任务书题目电子万年历的设计学生姓名学院名称电子与信息工程学院专业班级课题类型实际应用二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器课题意义的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技
2、术的应用(电子万年历),使计时产品的走时日差从分级缩小到 1/600 万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!12.2.18-3.15 熟悉课题,收集课题相关资料。12.3.16-4.10 确定设计方案任务与进12.4.11-5.10 硬件设计。度要求12.5.11-5.20 软件设计。12.5.21-6.01 系统整机联调。12.6.02-6.10 撰写毕业论文。1 王宜怀、张书奎、王林、吴瑾著.嵌入式技术基础与实践.北京:清华大学出版社.2010主要参考文献2
3、Freescale.MC9S08AW60 Data Sheet,Rev.2,20063 Morola(Freescale).HCS08 Family ReferenceManual,Rev.1,20034 王庆利、袁建敏著.单片机设计案例实践教程.北京:北京邮电大学出版社.2010起止日期2012 年 2 月 18 日-2012 年 6 月 10 日备注院长教研室主任指导教师毕业设计(论文)开题报告表2012 年 3 月 1 日姓名学院电信专业班级题目电子万年历的设计指导教师一、与本课题有关的国内外研究情况、课题研究的主要内容、目的和意义:如今电子万年历样式多样、功能新颖,挂式、台式以及带装饰
4、画面等丰富的电子万年历数不胜数,不但满足了精准的计时需求,还将计时带上了科技时尚的味道。单片机技术所应用的功能控制芯片可进行多种功能的设置,如闹钟、报时、日历查询、语音等;并改善了很多原有石英钟不能解决的问题,例如:数字夜光显示、数据存储以及全自动温度检测等功能;这给传统计时消费带来了新的动力,越来越多的消费者选择了电子万年。二、进度及预期结果:起止日期主要内容预期结果12.2.18-3.15熟悉课题,收集关于万年历设计的相关了解课题国内外研资料。究及设计情况。12.3.16-4.10确定设计方案,选择飞思卡尔公司 8 位确定设计方案,选择单片机 AW60作为主控芯片,PCF8563作为时钟主
5、控芯片和时钟芯片。芯片。12.4.11-5.10硬件设计及调试。完成硬件设计。12.5.11-5.20软件设计及调试。完成软件设计。12.5.21-6.01整机联调。实现预期功能。12.6.02-6.10撰写毕业论文准备答辩。完成课题的现有条件AW60 开发系统、万用表、示波器。审查意见指导教师:年月日学院意见主管领导:年月日天津工业大学毕业设计(论文)进度检查记录题目电子万年历的设计学生姓名学院名称电子与信息工程学院专业班级指导教师姓名指导教师职称日 期指导记录3 月 10 日对如何编写开题报告进行指导3 月 15 日对我写的开题报告提出修改意见3 月 23 日给我推荐了一些资料和书籍4 月
6、 1 日对我的总体方案提出修改意见4 月 10 日对硬件电路模块进行分析及提出建议4 月 20 日对我绘制的 PCB 提出修改意见5 月 5 日对我在硬件电路调试过程中出现的问题提出解决方案5 月 10 日指导我编写电子万年历的程序5 月 20 日指导我撰写毕业设计5 月 30 日对我的论文进行格式等进行初步检查6 月 1 日对我的论文内容进行检查及提出修改意见6 月 5 日指导我如何进行毕业答辩天津工业大学本科毕业设计(论文)评阅表(设计类)毕业设计题目电子万年历的设计学生姓名学生班级指导教师姓名评审项目指标满分评分选题能体现本专业培养目标,题目大小、难度适中;学生工作量饱满,能得到较全面训
7、练。10题目与生产、科研等实际问题结合紧密。10课题调研能独立查阅文献以及从事其它形式的调研,能较好地理解课题任务并提出实施方案;有分析整理各类信息从中15文献检索获取新知识的能力。外文应用能正确引用外文文献,翻译准确,文字流畅。5设计图纸(插图)简洁、规范、无差错,设计栏目齐全合理,能正确使用国家标准单位。15设计说明设计说明书(论文)结构严谨,表达清楚,文字通顺,用语正确,基本无错别字和病句,书写格式符合规范。15书(论文)能根据毕业设计目标进行实验设计,对数据的运算及处20理正确无差错,对实验结果的分析准确。设计具有创新性或实用价值。10合计100意见及建议评阅人签名:年月日天津工业大学
8、毕业设计(论文)成绩考核表学生姓名学院名称电子与信息工程学院专业班级题目电子万年历的设计1毕业设计(论文)指导教师评语及成绩:成绩:指导教师签字:年月日2毕业设计(论文)答辩委员会评语及成绩:成绩:答辩主席(或组长)签字:年月日3毕业设计(论文)总成绩:a.指导教师给定成绩b.评阅教师给定成绩c.毕业答辩成绩总成绩(a0.5+b0.2+c0.3)摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周、时、分、秒进行计时。本设计是基于飞思卡尔 MC9S08AW60单片机进行的电子万年历设计,可以显示年月日时分秒,具有可调整日期和时间功能。该电路采用 MC9S08A
9、W60 单片机作为核心,功耗小万年历的设计过程包括硬件与软件方面。硬件部分主要由 AW60 单片机,单片机控制电路,显示电路以及校正电路等组成。时钟芯片采用 PCF8563 ,其是PHILIPS 公司推出的一款工业级内含 IIC 总线接口功能的具有极低功耗的多功能时钟/日历芯片。软件方面主要包括日历程序、时间调整程序,显示程序等。关键词: MC9S08AW60 单片机、 PCF8563 时钟芯片、电子万年历。ABSTRACTThe electronic calendar is a very wide range of daily timing tool,more and morepopular
10、 in modern society. It can be on-year, month, day, week, hours, minutes,seconds for timing. This design is basedon the Freescale MC9S08AW60microcontrollers. You can adjust the date and time. The circuit with MC9S08AW60MCU as the core, has the characteristic of low power consumption.The design proces
11、s of the calendar includes hardware and software design. Thehardware part is mainly composed by AW60 MCU, the MCU control circuit, displaycircuit, and correction circuit. The clock chip is PCF8563, which is an industrial grademulti-functional clock / calendar chip with very low power consumption lau
12、nched byPHILIPS company, and has the function of IIC bus interface.The Software partincludescalendar program,time-adjusting program and the displaying program.Key words:MC9S08AW60MCU, PCF8563,electronic calendar目录第一章绪论.11.1 课题研究的背景.11.2 课题研究的目的和意义.11.3 国内外研究现状.11.4 电子万年历的分类.2本章小结.2第二章 电子万年历的总体方案设计.3
13、2.1 功能介绍.32.2 设计法案选择.32.3 课题解决的主要内容.32.4 总体设计思路.4本章小结.4第三章 系统的硬件设计.53.1 主控芯片最小系统的设计.53.1.1MC9S08AW60 特点.53.1.2 芯片引脚分配.63.1.3 MCU 内部结构 .73.1.4 系统时钟分配.93.1.5 MCU 最小系统设计 .93.2 时钟模块.103.2.1PCF8563 概述 .103.2.2PCF8563 模块原理图 .123.3 键盘模块.133.4LCD 显示模块.143.5串行通信接口模块.153.5.1串行通信简介.153.5.2RS-232 九芯接口.153.5.3TT
14、L 电平到 RS-232 电平转换电路.163.6电源模块.17本章小结.18第四章系统的软件设计.194.1系统软件设计概述.194.2系统软件流程图.194.3AW60 和 PCF8563 之间数据传输.204.4LCD 显示程序设计.274.5键盘调用程序设计.28本章小结.29第五章调试.305.1硬件调试.305.1.1简介.305.1.2SD-ExtBoard-D 型扩展板.315.1.2SD-PRG-III 型写入器.325.1.3MC9S08AW60 核心板.345.2软件调试.355.2.1CodeWarrior 简介.355.2.2程序调试.36本章小结.38第六章总结与展
15、望.396.1总结.396.2展望.39参考文献.40附录.41谢辞.60天津工业大学本科毕业论文第一章绪论第一章绪论1.1 课题研究的背景电子万年历是采用独立芯片控制内部数据运行,以 LED 或 LCD 数码显示日期、时间、星期、节气倒计,以及温度等日常信息,糅合了多项先进电子技术及现代经典工艺打造的现代数码计时产品。随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。对于电子万年历,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能,采用直观的数字显示,可以同时显示年、月、日
16、、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用 MC9S08AW60 单片机1作为核心,功耗小,能在 5V 的低压工作。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。1.2 课题研究的目的和意义二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说电子万年历的开发是国家之所需,社会之所需,人民之所需。由于
17、社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。1.3 国内外研究现状电子万年历经过几十年的发展,其功能越来越全面,性能越来越稳定,时间精度也越来越高。当今的电子万年历不仅可以显示年、月、日、时、分、秒、星期,有些万年历还可以显示当时当地的温度,附带功能还包括整点闹铃、定时闹铃等。安全性也越来越能得到保障,部分电子万年历具有防爆、防震、防火、防水的特性。显示屏的选择也更丰富,可以选择 LCD 或 LED。1天津工业大学本科毕业论文第一章绪论1.4 电子万年历的分类一、以 LED 显示方式:1、静态显示:静态的每一位数码管是一直处于通电状态,只需输入
18、一个新的信号就会更新旧的数据并显示2、动态显示:动态的每一位数码管在新数据输入之前是处于断电状态,当输入一个新的信号后再给所需点亮的数码管通电方能点亮显示,其他的数码管以同样的方式在短时间内依次扫描点亮。二、以时间显示方式:数字式:日期、时间、星期、节气倒计、温度等显示全部为 LED 数码管;2、数字、指针混合式:日期、星期、节气倒计、温度等信息以 LED 数码管显示,时间部分以指针显示三、以外观方式:全数码显示万年历:以 LED 夜光数码显示日期、时间、星期、节气倒计,以及温度等日常信息,无附加信息;2、带画面电子万年历:除以 LED 夜光数码显示日期、时间、星期、节气倒计,以及温度等日常信
19、息,糅合了多项先进电子技术及现代经典工艺,带有艺术画面的产品。本章小结本章的任务主要是介绍电子万年历的相关知识和有关信息,了解目前电子万年历发展状况和未来的发展方向和前景,对当今市场中存在的电子万年历产品做相关介绍和分类。2天津工业大学本科毕业论文第二章电子万年历总体方案设计第二章 电子万年历的总体方案设计2.1 功能介绍本次设计主要用单片机控制程序让它在液晶上显示年、月、日、时、分、秒及星期。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。时计数器计满 24 小时后自动向日计数器进一,日计数器由平年、闰年的大、小月和二月的判断应与当月相应的日期
20、相一致,当日计数器计满时,向月计数器进位,月计数器计满 12 月向年计数器进位,当年计数器计满 100 时所有计数器清零。设计采用的是年、月、日和时、分、秒、星期同时显示。2.2 设计法案选择方案一 用 EDA 技术及 VHDL 语言控制来实现显示,且显示也可以用数码管,但是数码管屏幕有限不是很方便的显示很多的数据以及文字等。对于 VHDL语言也不够了解,故不采用此方案。方案二 用 C语言编程来控制单片机让它在液晶上显示数据及文字。由于单片机结构简单、控制功能强、可靠性高、体积小、价格低等优点,以及液晶屏幕可以完整的同时显示数据及文字等内容,综合上述方案的选择与比较,选择方案二。主要是由于电器
21、元件的熟悉程度以及市场的供求关系。在方案二中,大部分的电器元件我们较熟悉并且更容易获得2.3 课题解决的主要内容本课题所研究的电子万年历是单片机控制技术的一个具体应用,主要研究内容包括以下几个方面:(1)选用电子万年历芯片时,应重点考虑功能实在、使用方便、单片存储、低功耗、抗断电的器件。(2)根据选用的电子万年历芯片设计外围电路和单片机的接口电路。(3)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简单。(4)根据硬件电路图,在开发板上完成器件的焊接。(5)根据设计的硬件电路,编写控制 MC9S08AW60 芯片的单片机程序。(6)通过编程、编译、调试,把程序下载到单片机上运行,并
22、实现本设计的功能。3天津工业大学本科毕业论文第二章电子万年历总体方案设计(7)在硬件电路和软件程序设计时,要考虑提高人机界面的友好性,方便用户操作等因素。(8)软件设计时必须要有完善的思路,要做到程序简单,调试方便。2.4 总体设计思路此设计在液晶上显示年、月、日、时、分、秒及星期,其原理框图如下图所示,电路一般包括以下几个部分:单片机模块、时钟模块、键盘模块及显示模块。主控芯片采用飞思卡尔的 MC9S08AW60 单片机,时钟芯片采用 PCF8563。LCD 液晶显示模块MC9S08AW60主控制芯片键盘模块模块PCF8563 时钟模块图 2-1 电子万年历原理框对于各部分:(1) 为使时钟
23、走时与标准时间一致,校时电路是必不可少的,键盘用来校正液晶上显示的时间。(2) 时钟模块为单片机提供时钟信号。(3) 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。(4) 单片机发送的信号经过显示电路通过译码最终在液晶上显示出来。本章小结本章确定了本课题的设计目标,在设计目标确定后分析实现方案,并最终确定要选择的方案。具体方案就是基于 MC9S08AW60 单片机和 PCF8563 时钟/日历芯片来实现电子万年历的设计。4天津工业大学本科毕业论文第三章系统的硬件设计第三章 系统的硬件设计硬件设计主要包括 AW60 主控芯片最小系统的设计、显示电路的设计、键盘矫正电路的设计、时钟模块的设
24、计、串行通信接口电路的设计和电源模块。3.1 主控芯片最小系统的设计本设计的主控芯片采用飞思卡尔的 MC9S08AW60 单片机,其是低成本、高性能 8 位微处理器 S08 家族中的成员。Freescale 的 S08 系列 8 位 MCU 由于其稳定性高、开发周期短、成本低、型号多样、兼容性好而被广泛应用1。3.1.1MC9S08AW60 特点8 位 HCS08 中央处理单元(CPU) 。40 MHz 的 HCS08 的 CPU(中央处理单元)。20 MHz 的内部总线频率。HC08 指令子集,增加了 BGND 指令。单线后台调试模式接口。断点的能力,允许单一的断点设置在线调试(在片内调试模
25、块加了多于两个的断点)。片内实时,在线仿真(ICE)带有两个比较器(在 BDM 中要加一) ,9 个触发模式,以及片内总线捕获缓冲区。通常显示,在触发点之前或之后大约有 50 条指令。支持多达 32 个中断/复位源。 存储器选项:高达 60 KB 的片内在线可编程 FLASH 存储器,带有块保护和安全选项。高达 2 KB 的片内RAM。 时钟源选项:时钟源选项包括晶体,谐振器,外部时钟,或内部产生的时钟。可选的计算机正常操作(COP)复位。低电压检测与复位或中断。非法操作码检测与复位。非法地址检测与复位(一些设备不具有非法地址)。省电模式:Wait 另加两个STOPS。 外部设备:ADC-多达
26、 16 个通道,10 位 AD 转换器与自动比较功能。SCI-两个串行通信接口模块与可选的 13 位中断。SPI 的-串行外设接口模块。5天津工业大学本科毕业论文第三章系统的硬件设计IIC -集成电路互连总线模块运作高达 100 kbps 的最高总线负载;拥有更高的 传输速率与减少了负荷 。Timers-1 个 2 通道和 1 个 6 通道 16 位定时器/脉冲宽度调制器(TPM)模块:可选输入捕捉,输出比较,和边沿分布的 PWM 能力,在每个通道。每个定时器模块,可配置为缓冲,对所有通道以 PWM(CPWM)为中心。KBI -高达 8 引脚键盘中断模块。输入/输出:高达 54 通用输入/输出
27、(I / O)管脚。输入时,每个端口都有软件选择的上拉电阻。输出时,每个端口都有软件选择的回转速率控制。输出时,每个端口都有软件选择的驱动强度。主复位引脚和上电复位(POR)。内部上拉复位, IRQ, 和 BKGD /MS 管脚,以减少客户的系统成本 RESET3.1.2 芯片引脚分配64 脚的引脚分配如下图所示。每个引脚 有可能有多个复用功能,有的引脚有两个复用功能,有的引脚有四个复用功能。进行硬件最小系统设计时,一般以引脚的第一功能作为引脚名进行原理图设计。6天津工业大学本科毕业论文第三章系统的硬件设计图 3-1MC9S08AW60 64 脚 QFP/LQFP 封装图3.1.3 MCU 内
28、部结构图 3-2 给出了 MC9S08AW60 的内部结构2。7天津工业大学本科毕业论文第三章系统的硬件设计图 3-2MC9S08AW60 MCU 结构框图注:1. 如果是输入端口,端口引脚被软件配置为上拉装置。2. 如果 IRQ启用(IRQPE = 1),引脚包含软件配置上拉/下拉式设备。如果上升沿检测被选定(IRQEDG = 1),下拉式启用。3. IRQ没有一个钳二极管电源 VDD。IRQ不应该在 VDD上被驱动。4. 引脚包含集成上拉装置。5. 引脚 PTD7 ,PTD3 ,PTD2 和 PTG4 包含上拉和下拉式装置。下拉式启用,当 KBI 启用( KBIPEN = 1)和上升沿被选
29、定(KBEDGN = 1)。8天津工业大学本科毕业论文第三章系统的硬件设计3.1.4 系统时钟分配AW60 系统时钟分配如下图所示:图 3-3 系统时钟分配图一些模块内的 MCU有时钟源的选择。图 1-2 显示了一个简化的时钟接线图。ICG提供了时钟来源:ICGOUT是 ICG模块的一个输出。它可以是下列之一: 外部晶体振荡器 外部时钟源 频率锁相环子模块中的输出数位控制振荡器(DCO) ICG内的控制位确定连接哪个时钟源。FFE是一个控制信号,在ICG内部产生。如果ICGOUT的频率 4 ICGERCLK的频率,这个信号是一个逻辑 1,固定频率的时钟将为 ICGERCLK / 2 。否则,固
30、定频率的时钟将为 BUSCLK 。ICGLCLK 开发工具可以选择内部自时钟频率源( 8MHz),以加快BDC通信系统,在那里总线时钟很慢。ICGERCLK 外部参考时钟可以选择作为实时中断时钟源。也可以用来作为 ALTCLK,输入给 ADC 模块。3.1.5 MCU 最小系统设计MCU 的最小系统是指可以使内部程序运行所必需的外围电路。一般情况下,MCU 的硬件最小系统由 BDM 下载器接口、晶振及复位等电路组成。9天津工业大学本科毕业论文第三章系统的硬件设计图 3-4MCU 硬件最小系统电路图3.2 时钟模块3.2.1 PCF8563 概述PCF8563 是 PHILIPS 公司推出的一款
31、工业级内含 I2C 总线接口功能的具有极低功耗的多功能时钟/日历芯片 PCF8563 的多种报警功能 定时器功能 时钟输出功能以及中断输出功能能完成各种复杂的定时服务 甚至可为单片机提供看门狗功能 内部时钟电路 内部振荡电路 内部低电压检测电路 1.0V 以及两线制 I2C 总线通讯方式 不但使外围电路及其简洁 而且也增加了芯片的可靠性同时每次读写数据后 内嵌的字地址寄存器会自动产生增量 当然作为时钟芯片PCF8563 亦解决了 2000 年问题 因而 PCF8563 是一款性价比极高的时钟芯片它已被广泛用于电表 水表 气表 电话 传真机 便携式仪器以及电池供电的仪器仪表等产品领域。(1) P
32、CF8563 特性:宽电压范围 1.05.5V,复位电压标准值 Vlow=0.9V;超低功耗:典型值为 0.25A (VDD=3.0V,Tamb=25) ;可编程时钟输出频率为 32.768KHz 、1024Hz 、32Hz 、1Hz;四种报警功能和定时器功能;内含复位电路、振荡器电容和掉电检测电路;10天津工业大学本科毕业论文第三章系统的硬件设计(2) PCF8563 内部结构框图如下图所示:图 3-5PCF8563 内部结构方框图(3) 引脚配置及引脚说明分别如图 3-6 和表 3-1 所示。图 3-6PCF8563 引脚配置表 3-1PCF8563 引脚描述符号引脚号描述OSCI1振荡器
33、输入OSCO2振荡器输出/INT3中断输出(开漏;低电平有效)VSS4地11天津工业大学本科毕业论文第三章系统的硬件设计SDA5串行数据 I/OSCL6串行时钟输入CLKOUT7时钟输出(开漏)VDD8正电源(4) PCF8563 基本原理PCF8563 有 16 个 8 位寄存器:一个可自动增量的地址寄存器,一个内置32.768KHz 的振荡器(带有一个内部集成的电容),一个分频器(用于给实时时钟 RTC 提供源时钟),一个可编程时钟输出,一个定时器,一个报警器,一个掉电检测器和一个 400KHz I2C 总线接口。所有 16 个寄存器设计成可寻址的 8 位并行寄存器,但不是所有位都有用。前
34、两个寄存器(内存地址00H 01H)用于控制寄存器和状态寄存器,内存地址 02H08H 用于时钟计数器(秒年计数器)地址 09H0CH 用于报警寄存器(定义报警条件) ,地址 0DH 控制 CLKOUT 管脚的输出频率,地址 0EH和 0FH 分别用于定时器控制寄存器和定时器寄存器。秒、分钟、小时、日、月、年、分钟报警、小时报警、日报警寄存器,编码格式为 BCD,星期和星期报警寄存器不以 BCD 格式编码。当一个 RTC 寄存器被读时,所有计数器的内容被锁存,因此,在传送条件下,可以禁止对时钟/日历芯片的错读。3.2.2PCF8563 模块原理图PCF8563 和 AW60 芯片的连接采用 I
35、IC 总线接口。IIC 是多主设备两线双向串行总线接口,是不同芯片间传输数据的简单、有效且常有的通信方式之一。IIC 总线接口的特点:在硬件上,二线制的 I2C 串行总线使得各 IC 只需最简单的连接,而且总线接口都集成在 IC 中,不需另加总线接口电路。I2C 总线还支持多主控(multi-mastering) 。串行的 8 位双向数据传输位速率在标准模式下可达 100kbps,快速模式下可达 400kbps,高速模式下可达 3.4Mbps。连接到相同总线的 IC 数量只受到总线最大电容(400pf)的限制。但如果在总线中加上 82B715 总线远程驱动器可以把总线电容限制扩展十倍,传输距离
36、可增加到 15m。12天津工业大学本科毕业论文第三章系统的硬件设计图 3-7IIC 总线的典型连接PCF8563 时钟芯片的外围电路如图 3-8 所示,将其中的 SCL 和 SDA 分别接AW60 的 PTC0、PTC1 引脚即可。图 3-8AW60 与 PCF8563 的硬件接口3.3 键盘模块键盘是由若干按键组成的开关矩阵,它是最简单的 MCU 数字量输入设备,在本设计中起到调整日期、时间的作用。键盘的种类分多种。按键盘的分布方式可分为独立式和矩阵式;按读入键值的方式可分为直读方式和扫描方式;按是否进行硬件编码可分为硬件编码方式和非编码方式;按微处理器响应方式可分为中断方式和查询方式。本设
37、计采用 44 矩阵式键盘,4 条 I/O 线组成行输入口,4 条 I/O 线组成列输出口,在行列线的每一个交点上设置一个按键。读键值的方法一般采用扫描方式,即 MCU 输出口按位轮换输出低电平,再从输入口读入键信息最后获得编码。这种方式占用 I/O 线较少。13天津工业大学本科毕业论文第三章系统的硬件设计VCC加1秒减1秒加1分减1分PTG0加1时减1时加1日减1日PTG1加1月减1月加1年减1年PTG2星 期 值 加1星 期 值 减1PTG3PTG4PTG5PTG6PTG7图 3-944 键盘与 MCU 接法3.4LCD 显示模块LCD(Liquid Crystal Display)作为电子
38、信息产品的主要显示器件,相对于其他类型的显示部件有其自身的特点,主要包括:低电压微功耗、平板型结构、使用寿命长、被动显示、显示信息量大、易于彩色化、无电磁辐射等。LCD 与 AW60 的连接方式如图 3-9 所示14天津工业大学本科毕业论文第三章系统的硬件设计VCCRES5LCDPTC4PTC6PTF6PTA0PTA1PTA2PTA3PTA4PTA5PTA6PTA712345678910111213141516RSRWED0D1D2D3D4D5D6D7LCD(YM1602C)图 3-10LCD 与 AW60 的硬件连接3.5串行通信接口模块3.5.1串行通信简介目前几乎所有的台式机电脑都带有
39、9 针的异步串行通信口,简称串口或COM 口,串行通信是 MCU 与外界通信的简便方式之一。MCU 引脚输入输出一般使用 TTL 电平,即晶体管-晶体管逻辑电平。而 TTL 电平的“1”和“0”的特征电压分别为 2.4V 和 0.4V,即大于 2.4V 则识别为“1” , 低 于 0.4V 则识别为“0” 。它适用于板内数据传输,不能传输的很远,为使信号传输的更远,美国电子工业协会 EIA 制定了串行物理接口标准 RS-232。RS232 采用负逻辑,-15V-3V 为逻辑“1” ,+3V+15V 为逻辑“0” 。RS-232 最大的传输距离是 30m 通信速率一般低于 20kbps。3.5.
40、2RS-232 九芯接口在 RS-232 通信中,常常使用精简的 RS-232 通信,通信中仅使用 3 根线:RxD(接收线)、TxD(发送线)和 GND(地线)。15天津工业大学本科毕业论文第三章系统的硬件设计图 3-119 芯串行接口排列表3-19芯串行接口引脚含义表引脚号功能引脚号功能1接收线信号检测(载波检测 DCD)6数据通信设备准备就绪(DSR)2接收数据线(RXD)7请求发送(RTS)3发送数据线(TXD)8允许发送(CTS)4数据终端准备就绪(DTR)9振铃指示5信号地(SG)3.5.3TTL 电平到 RS-232 电平转换电路在 MCU 中,若用 RS-232 总线进行串行通
41、信,则需外接电路实现电平转换,在发送端,需要用驱动电路将 TTL 电平转换成 RS-232 电平;在接收端,需要用接受电路将 RS-232D 电平转换成 TTL 电平。在此使用 MAX232 芯片进行转换,该芯片使用单一+5V 电源供电实现电平转换。图 3-12MAX232 引脚分配16天津工业大学本科毕业论文第三章系统的硬件设计表 3-2MAX232 芯片输入输出引脚分类与基本接法TTL 电方向典型接口RS232 电方向典型接口平引脚平引脚11输入接 MCU 的 TXD13输入接到 9 芯接口的 2 脚 RXD12输出接 MCU 的 RXD14输出接到 9 芯接口的 3 脚 TXD10输入接
42、 MCU 的 TXD8输入接到 9 芯接口的 2 脚 RXD9输出接 MCU 的 RXD7输出接到 9 芯接口的 3 脚 TXDMAX232 芯片进行电平转换的基本原理:1)发送过程:发送过程:MCU 的 TXD(TTL 电平)经过 MAX232 的 11 脚(T1IN)送到MAX232内部,在内部TTL 电平被“提升”为232电平,通过14脚(T1OUT)发送出去。2)接收过程:外部 232 电平经过 MAX232 的 13 脚(R1IN)进入到 MAX232 的内部,在内部 232 电平被“降低”为 TTL 电平,经过 12 脚(R1OUT)送到 MCU的 RXD,进入 MCU 内。图 3
43、-13串行通信接口电平转换电路3.6电源模块扩展板使用 12 伏直流电源供电,通过开关型可调降压稳压器 LM2576T-ADJ可输出 5 伏电源,电路原理图分别如图 3-14 所示。17天津工业大学本科毕业论文第三章系统的硬件设计图 3-1412V 转换为 5V 的 电源模块原理图本章小结本 章 在 方 案 选 择 完 成 后 进 行 具 体 的 方 案 论 证 和 硬 件 实 现 , 并 对MC9S08AW60 和 PCF8563 芯片作了一定的介绍。本章的主要任务是对本次设计的各个模块进行逐个设计和分析,具体的模块包括 AW60 最小系统模块、时钟/日历模块、键盘控制模块、LCD 显示模块
44、、串行通信模块以及电源模块。18天津工业大学本科毕业论文第四章系统的软件设计第四章系统的软件设计在硬件电路确定之后,则系统所有的智能功能要由软件来完成。软件是整个控制系统设计的核心,它具有充分的灵活性,可以根据系统的要求而变化,对于同样的硬件系统,配以不同的软件系统,所实现的功能也就不一样,而且有此硬件电路的功能都可以用软件来实现。所以对于一个系统设计来说,软件系统常常比硬件系统需要更多的工作量。整个系统的硬件组成相对简单,较小的硬件开销需要相对复杂的软件进行补偿,下面较为详细地分析软件的设计。4.1系统软件设计概述本系的软件采用结构化模块程序设计,所谓“模块”,实质上就是具有一定功能、相对独
45、立的程序段。其基本思路是将整个控制系统的功能分解为几个相对独立的标准模块,使其中的每一个程序模块完成某一特定的控制功能,并且分别只有一个入口和出口中,这样就可以对每一个程序分别定义无歧义性的输入变量和输出变量,使它们的运行相对地不受其它程序的影响,从而增强了系统的可靠性。模块设计的主要特点是:单模块比一个完整的程序容易编写、查错和测试;模块可以实现共享,一个模块可被多个任务在不同的条件下调用;把输入/输出封装起来,可以使程序其余部分免受经常变动;输入/输出放入模块使得程序很容易适应输入/输出设备的变动。这样的设计有利于程序化码的优化,而且便于设计、调试和维护。软件结构采用模块化设计方法,将所要
46、完成的功能分别编写和调试,所有模块调试成功以后,将各个模块连接成软件系统。在本电子万年历的设计中,软件系统包括主程序、LCD 显示程序、键盘调整程序等模块。4.2系统软件流程图系统软件设计流程图如图 4-1 所示。19天津工业大学本科毕业论文第四章系统的软件设计开始初始化设备AW60 从 PCF8563中读入数据LCD 显示数据否扫描键盘输入是否按键是进入设置界面日期/时间设置完成设置写入 PCF8563 芯片中结束图 4-1软件设计流程图4.3AW60 和 PCF8563 之间数据传输(1) AW60 和 PCF8563 之间数据传输采用 IIC 总线接口,AW60 向 PCF8563 写一
47、个字节数据的数据帧格式图 4-3 所示。20天津工业大学本科毕业论文第四章系统的软件设计图 4-2AW60 向 PCF8563 中写一字节的数据帧格式主机要向从机写 1 个字节数据时,主机首先产生 START 信号,然后紧跟着发送一个从机地址,这个地址共有 7 位,紧接着的第 8 位是数据方向位(R/W),0 表示主机发送数据(写),1 表示主机接收数据(读),这时候主机等待从机的应答信号(ACK),当主机收到应答信号时,发送要访问的地址,继续等待从机的响应信号,当主机收到响应信号时,发送 1 个字节的数据,继续等待从机的响应信号,当主机收到响应信号时,产生停止信号,结束传送过程。AW60 向
48、 PCF8563 写一个字节数据的流程图如图 4-3 所示。21天津工业大学本科毕业论文第四章系统的软件设计开始发送开始信号发送 PCF8563 芯片地址发送成功并得到 PCF8563的响应否是发送访问地址发送成功并得到 PCF8563的响应否是发送数据发送成功并得到 PCF8563的响应否是写数据成功写数据失败发送停止信号结束图4-3AW60向PCF8563写一个数据22天津工业大学本科毕业论文第四章系统的软件设计AW60 向 PCF8563 中写一个字节数据的具体 C 语言程序如下所示:uint8 IICwrite1(uint8 DeviceAddr, uint8 AccessAddr,
49、uint8 Data)I2C_IIC1C |= 1 TXBit;/TX = 1,MCU 设置为发送模式SendSignal(S);/发送开始信号I2C_IIC1D = DeviceAddr & 0 xFE;/发送设备地址,并通知从机接收数据if (Wait(T)/等待一个字节数据传送完成return 1;/没有传送成功,写一个字节失败if (Wait(A)/等待从机应答信号return 1;/没有等到应答信号,写一个字节失败I2C_IIC1D = AccessAddr;/发送访问地址if (Wait(T)/等待一个字节数据传送完成return 1;/没有传送成功,写一个字节失败if (Wait
50、(A)/等待从机应答信号return 1;/没有等到应答信号,写一个字节失败I2C_IIC1D = Data;/写数据if (Wait(T)/等待一个字节数据传送完成return 1;/没有传送成功,写一个字节失败if (Wait(A)/等待从机应答信号return 1;/没有等到应答信号,写一个字节失败SendSignal(O);/发送停止信号return 0;写多个字节数据的 C 语言程序如下所示:uint8 IICwriteN(uint8 DeviceAddr, uint8 AccessAddr, uint8 Data, uint8N)uint8 i, j;for (i = 0;i N;