- 1、本文档共1页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MSP430单片机实用技术讲座14第9讲时间控制器的设计
单片机与可编程器件
MSP430单片机实用技术讲座 (14)
第9讲 时间控制器的设计
·南京航空航天大学 魏小龙 ·
本讲主要讲解综合应用实例,利用MSP430单片机设计一 P1IES=0;
个时间控制器。要求该定时器可以:(1)设计标准时间;(2)校 P1IFG=0;
准时间;(3)设置两个时间控制点;(4)到控制时间点时输出 键盘连接在P1端口,键盘程序使用中断方式。
控制信号到被控设备。为了完成这个设计,我们需要使用的资 (3)设置液晶
源包括:中断、定时器、端口、液晶等。 LCDCTL = 0XFD;
BTCTL = BTFRFQ1;
设计分析 P5SEL = 0xFC;
首先,要设计一个标准走时时钟;其次,校准时间与设置 液晶使用4MUX,160段 (6“米”,7“8”)。
控制时间点都需要键盘输入,所以需要设计键盘,考虑使用方 2.编写时钟程序
便,设计一个4×4的扫描键盘。使用0~9为数字输入键,10~15 时间程序很简单:变量time_sec01到4则清零,同时秒
为功能键;液晶显示是必需的,可以将时间值与时间控制点显 time_buffer[2]加1;如果秒time_buffer[2]到60,则清零,同时分
示在液晶上。我们可以利用前几讲讲的硬件电路把键盘、液晶 time_buffer[1]加1;如果分time_buffer[1]满60,则清零,同时小
显示等与430单片机进行连接,完成基本的硬件搭建,然后按 时time_buffer[0]加1;如果小时time_buffer[0]满24,则清零。(变
照以下步骤编程,一步一步实现我们的目标。 量全为全局变量)程序见本刊网站()。
软件编程 3.液晶显示程序
液晶显示的修改也在定时器中断中完成。但液晶显示有两
我们对程序中的变量全局定义如下:
种情况,其一:正常走时的显示,其二:键盘输入时的显示。在
# define uint unsigned int
正常走时显示时为正常显示,而在有键盘输入数据时的液晶显
# define uchar unsigned char
示将改变为修改数据闪烁,不修改的数据正常显示。解决办法:
uchar time_buffer[3]={12,0,0};//存放时分秒
uchar key_do=0; //键盘标志 在有数据输入时设置一个标志,有该标志时在定时器中断程序
uchar input_buffer[6]={0};//键盘输入缓存 中不修改液晶显示,而在输入时临时修改,同时闪烁显示修改
uchar input_con=0;//键盘输入数据序号 数据(闪烁原理:原数据显示与不显示交替)。显示程序见本刊
uchar time_sec01=0;//1/4秒计数器 网站。
uchar lcdflash_temp=0;//液晶闪烁标志
4.控制程序 (程序见本刊网站)
uchar disp_buffer[6]={0};//显示缓存
uchar alr1[3]={06,30,00};//第一报警时间点 在时钟定时到控制时间点时,输出控制信号,这里精确到
uchar alr2[3]={12,30,0
文档评论(0)