基于MSP430单片机的电子时钟设计.docx
《基于MSP430单片机的电子时钟设计.docx》由会员分享,可在线阅读,更多相关《基于MSP430单片机的电子时钟设计.docx(12页珍藏版)》请在冰豆网上搜索。
基于MSP430单片机的电子时钟设计
基于MSP430单片机的电子时钟设计
基于MSP430单片机的电子时钟设计
设
计
报
告
第四组:
郭晓林、张慧、王爽
图2MSP430F149原理图
2、液晶显示模块
方案一:
数码管是利用发光二极管的特性组合而成的数字显示器件,通过控制相应的二极管的状态显示相应的数字。
要使数码管正常显示就要驱动电路驱动相应的段码,数码管的显示方式可分为静态显示和动态显示,静态显示的方式只适合显示单个的数字,因此本设计动态显示方式。
由于动态显示方式利用的是人眼视觉暂留的特性,扫描的时间应不大于20毫秒,占用的系统资源大,而且显示的个数和字形有限,在本设计中不易使用。
方案二:
1602液晶显示屏是一种专门显示字符、数字、符号等的点阵型液晶模块,它有若干个5×7和5×11等点阵字符位组成,每个点阵字符都可以显示一个字符,每位之间都有一个点距的间隔,起到了字符间距和行间距的作用。
1602的驱动电路带有11个指令,可以很方便的控制液晶的显示效果如:
清屏、左移右移、光标显示。
方案三:
12864液晶显示是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
可与CPU直接接口,提供两种界面来连接微处理机:
8-位并行及串行两种连接方式。
具有多种功能:
光标显示、画面移位、睡眠模式等。
方案四:
OLED显示屏又称有机电激发光二极管,由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。
由于OLED具有很好的人性化设计,所以受到人们的青睐
综上所述,由于该实验中要显示时间、日期、星期,而且要显示当前温度,所以本实验选用OLED显示屏。
图二OLED显示屏电路图
3、温度采集模块
方案一:
热敏电阻是开发早、种类多、发展比较成熟的热敏感元器件,热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻的变化。
通过一定的电路可以将周围环境温度的变化转化为电压的变化,通过AD转化器将信号传输给单片机进行分析,从而检测出当前温度,但是误差大,不稳定,对环境温度要求比较高。
方案二:
DS18B20数字温度传感器,采用单总线的接口方式与微处理器链接时仅需一条口线即可实现微处理器与DS18B20的双向通讯。
单总线具有经济型好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松的组建传感器网络,为测量系统的构建引入全新概念。
温度测量范围广,测量精度高,在使用中不需要任何外围元件,支持多点组网功能,供电方式灵活。
因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而使系统结构更趋简单,可靠性高。
图三DS18B20原理图
综上所述,温度采集模块采用结构较为简单,可靠性较高的DA18B20数字温度传感器来测量当前环境的温度。
DS18B20单线数字温度传感器,具有以下的特点:
具有单总线的接口方式与微处理器连接时,仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
单总线具有经济性好、抗干扰能力强、适合于恶劣环境的现场温度检测,使用方便等优点;测量温度范围广、测量精度高;支持多点组网功能,多个DS18B20可以并联在惟一的单线上,实现多点测量。
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警TH和TL、配置寄存器。
一般时序流程:
初始化—ROM操作指令—存储器操作指令—数据传输
4、独立按键模块
单片机检测按键的原理:
单片机的I/O既可作为输出也可作为输入使用,当检测按键时用的是它的输入功能,我们把按键的一端接地,另一端与单片机的某一个I/O口相接,开始时先给I/O口一个高电平,然后让单片机不断检测该I/O口是否变成低电平,当按键闭合时,即相当于该I/O口通过按键与地相接,变成低电平,程序一旦检测到I/O口变为低电平说明该案件被按下,然后执行相应的指令。
按键要进行去抖操作才可以正常的工作。
该实验中用到了两个按键,当第一个按键第一次按下时,进入到校时和闹钟的选择主菜单程序中,当第一个按键第二次按下时进入到了校时,第一个键第三次按下时进入到闹钟。
如果在第一个键按下的前提下,第二个键按下,则说明要对当前的按键或者校时选择进行保存,使程序能更的运行。
图四独立按键模块电路图
5、蜂鸣器模块
在该实验中,定时部分靠蜂鸣器来实现的,一般先在软件部分先设置闹钟,然后到了时钟所设定的时间后,蜂鸣器发出声响。
一以此来实现闹钟。
图六无源蜂鸣器原理图
6、DS1302定时模块
方案一:
MSP430单片机内部带有定时和计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能。
只要使用11.0592的晶振就能实现零误差的计时,因此可以利用此功能实现计时,但因为只有单一的计使功能要实现“万年历”的功能需要较为复杂的程序,而且如果单片机掉电无法继续进行计时,所以使用不便。
方案二:
DS1302是通过三根口线实现与单片机的通信,因DS1302功耗很小,即使电源掉电后通过3V的纽扣电池仍能维持DS1302精确走时。
DS1302是一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5-5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。
综上两种方案所述,应该选用DS1302实现计时功能。
DS1302芯片的引脚图如下图所示:
图七DS1302引脚图
各引脚功能为:
8、VCC1:
备用电池端;
1、VCC2:
5V电源,当VCC2>VCC1+0.2V时,由VCC2向DS1302供电,当VCC27、SCLK:
串行时钟,输入;
6、I/O:
数据输入输出端口;
5、CE/RET:
复位脚;
2、3、X1、X2是外接晶振脚(32.768KHZ的晶振);
4、接地端(GND);
DS1302的数据读写是通过I/O串行进行的,当进行一次读写操作时最少得读操作时最少得读两个字节,就是一个命令,告诉DS1302是读还是写操作,是对RAM还是对CLOK寄存器操作,以及操作的址,第二个字节就是要读或者写的数据了。
我们先看单字节:
在进行操作之前先得将CE(也可以说是RST)置高电平,然后单片机将控制字符的位0放在I/O上,当I/O的数据稳定后,将SCLK置高电平,DS1302检测到SCLK上升沿后就将I/O上的数据读取,然后单片机将SCLK置为低电平,再将控制字的位1放在I/O上。
读与写操作的不同就在于写操作是在SCLK低电平时单片机将数据放到I/O上,当SCLK上升沿时,DS1302读取。
而读操作是在SCLK高电平时DS1302放数据到IO上,将SCLK置为低电平后,单片机就可以从IO上读取数据。
图八DS1302时钟原理图
三、系统软件设计
软件设计是本设计的关键,软件程序编写的好坏直接影响着系统进行情况的好坏。
因为本程序设计的模块比较多,所以程序编写也采用模块化设计,C语言具有编写灵活、移植方便、便于模块化设计的特点,所以本系统的软件采用MSP430进行编写。
IARSystems是全球领先的嵌入式系统开发工具和服务的供应商,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:
带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。
系统的程序框图如下所示:
图九系统软件程序图
四、实物图
五、小结
本次设计的重点是应用MSP430单片机,来实现基本的时分秒及调时调分
调秒的功能,首先从单片机的的发展历程入手,了解单片机的基本功能,结合本文实现功能的要求,基于MSP430单片机实现,通过对430系类单片机的认识,我们选用了MSP430F149单片机。
我们进行了程序设计,通过调试,我们得到了基本的功能,可以正确的显示时间,包括时、分、秒;为了满足我们的日常要求,我们设置了调时、调分、调秒的功能。
六、器件清单
12864液晶屏
1个
OLED液晶屏
1个
DS18B20
1个
DS1302
1个
74HC164
1个
430超小系统板
1个
Msp430仿真器
1个
电位器
1个
电阻
若干
电容
若干
七、参考文献
1、张靖武、周灵彬《单片机原理、应用与PROTEUS仿真》。
2、沈建华、杨艳琴《MSP430系列16位超低功耗单片机原理及应用》。
3、童诗白、华成英《模拟电子技术基础》。