目录1.系统总体设计.....................................................11.1功能说明....................................................11.2任务分配情况................................................21.3系统工作流程................................................22.硬件设计..........................................................22.1MSP430F5438A芯片简介........................................22.2矩阵键盘模块.................................................32.2.1矩阵键盘介绍...........................................32.2.2矩阵键盘实物图........................................42.2.3矩阵键盘与MSP430F5438A接口电路.......................42.3液晶12864模块..............................................42.3.1液晶介绍..............................................42.3.2液晶与MSP430F5438A接口电路............................52.4DS1302实时时钟芯片模块......................................62.4.1DS1302实时时钟芯片简介................................62.4.2DS1302实时时钟芯片实物图..............................72.4.3DS1302实时时钟芯片与MSP430F5438A接口电路.............72.4.4SPI协议简介...........................................82.5DS18B20温度芯片模块.........................................82.5.1DS18B20温度芯片简介...................................82.5.2DS18B20温度芯片实物图.................................92.5.3DS18B20温度芯片与MSP430F5438A接口电路................92.5.4单总线协议简介.......................................103.软件设计........................................................113.1系统总体设计...............................................113.1.1系统流程图...........................................113.2矩阵键盘模块...............................................123.2.1按键进入修改界面.....................................123.2.2按键选择修改内容.....................................123.2.3按键修改时间.........................................143.3液晶模块...................................................143.4DS1302实时时钟芯片模块.....................................163.4.1DS1302的初始化.......................................163.4.2DS1302的读写.........................................163.5DS18B20温度芯片模块........................................173.5.1DS18B20初始化........................................173.5.2DS18B20写操作........................................183.5.3DS18B20读操作........................................183.6芯片值转化为显示值模块.....................................204.实验结果.........................................................214.1整体图.....................................................214.2运行过程....................................................215.缺陷与调试......................................................255.1调试过程....................................................255.2程序的缺陷..................................................256.实验心得........................................................267.附录............................................................2611.系统总体设计1.1功能说明本次课程设计的要求是制作一个电子万年历,要求在显示屏上显示年、月、日、时、分、秒、周、温度等信息,并且能够自行修改相关信息,且在修改信息时时钟停振。根据要求所设计的系统的总体框架如图1所示:矩阵键盘MSP430F5338ADS130212864DS18B20时钟芯片显示屏温度芯片图1系统总体框架图1、单片机最小系统要求系统设计使用TexasInstrument公司的MSP430F5438A单片机作为系统的核心控制器。2、时钟芯片DS1302DS1302是dallas公司推出的一种高性能、定功耗的实时时钟芯片,内含一个实时时钟和31字节的静态RAM,采用SPI三线接口与CPU通信。3、温度芯片DS18B20DS18B20的数字温度计提供9位到12位的摄氏温度测量,并具有报警功能,DS18B20通过定义仅需要一个数据线(和地面)与中央微处理器通信。它的工作范围为-55°C至+125°C,在-10°C至+85°C的范围内精确到±0.5℃。4、矩阵键盘使用4*3的矩阵键盘,可以通过矩阵键盘得到0~9的数字也可以生成“*”2和“#”,用户可通过显示屏与矩阵键盘对DS1302的时间进行自定义修改。5、液晶屏12864液晶屏为128*64点阵屏幕,在液晶上显示时间和温度信息,用户可以通过显示屏查看时间和温度,并根据提示对DS1302内时间进行修改。1.2任务分配情况1.3系统工作流程单片机开机后(第一次开机会对DS1302初始化赋初值),会在显示屏上显示从DS1302中读取的时间信息和从DS18B20中读出的温度信息,在不对矩阵键盘进行操作的情况下,系统正常读取时间和温度显示。当需要修改时间信息时,按对应键进入修改界面,进入修改后,DS1302停止工作,通过矩阵键盘选择所要修改的内容,修改完成后将修改值存入DS1302,修改完成,使DS1302继续工作,退回显示时间和温度的界面。2.硬件设计此次课设课题中硬件部分的选取与设计主要包含以下模块:MSP430F5438A单片机,液晶屏12864,4*3矩阵键盘,DS1302时钟芯片,DS18B20温度芯片,若干连接线。2.1MSP430F5438A芯片简介3MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(MixedSignalProcessor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。在超低功耗方面,其处理器功耗(1.8-3.6V,0.1-400uA)和口线输入漏电流(最大50nA)在业界都是最低的,在运算性能上,指令速度可以达到16MIPS,在开发工具上,支持最先进的JTAG调制,在系统整合方面,根据其不同产品,集成了许多功能模块,性能稳定,可靠性高。MSP430F5438A主要性能参数:(1)高达25MHz的CPU速度。(2)1.8-3.6V工作电压。(3)高达256KB的闪存。(4)高达18KB的RAM。(5)独特的USB开发套件。(6)超低功耗5us之内快速从待机模式唤醒。图2MSP430F5438A单片机实物图2.2矩阵键盘模块2.2.1矩阵键盘介绍矩阵键盘将键盘以矩阵形式排列,本次课设使用的是4*3矩阵键盘,4行3列,用来修改时间,如图3所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接,将按键当作一个开关,以行扫描为例,在矩阵键盘函数中会对四行不断进行扫描,直到有按键按下后(扫描到对应4行时),该键即可导通,从而使单片机收到按键信息。2.2.2矩阵键盘实物图图3矩阵键盘实物图2.2.3矩阵键盘与MSP430F5438A接口电路图4矩阵键盘电路接口矩阵键盘每一列分别于单片机的P2.4~P2.6相连,每行分别于单片机的P2.0~P2.3相连。2.3液晶12864模块2.3.1液晶介绍12864汉字图形点阵液晶显示模块,可显示汉字及图形。其主要特征有如下几点:(1)显示分辨率:128*64(2)内置汉字字库,提供8192个16*16点阵汉字(3)内置128个8*16点阵字符(4)通信方式:串口、并口5(5)低电源电压(3~5.5V)(6)工作温度:0~55度图512864液晶的引脚图本次的课程设计使用的液晶屏是12864。具有8位并行和3线串行连接方式,内部含有简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点阵的中文汉字,和128个8*16点阵的字符,可以显示4行8列16*16点阵的汉字,也可完成图形显示,具有光标显示、画面移位、自定义字符、睡眠模式等功能,操作简单。2.3.2液晶与MSP430F5438A接口电路6图612864与单片机的接口电路液晶的DB0-DB7与P4.0~P4.7是数据线,RS与P3.2相连,RW与P3.3相连,EN与P3.6相连,RST与P3.7相连,PSB与P3.0相连,置高,表示并行。2.4DS1302实时时钟芯片模块2.4.1DS1302实时时钟芯片简介DS1302是DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,内含一个实时时钟/日历和31字节静态RAM,采用SPI三线接口与CPU通信。(1)DS1302实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力。(2)内部含有31个字节