- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
万历的设计要点.doc
目 录
1. 系统的总体设计 1
1.1功能说明 1
2. 工作流程图 1
3. 项目分工 3
4. 模块介绍及分析 3
4.1 矩阵键盘模块 3
4.1.1 4*4矩阵式键盘识别显示系统概述 3
4.1.2 矩阵键盘扫描基本原理 4
4.1.3程序设计 4
4.2 LCD12864液晶 7
4.2.1 基本原理 7
4.2.2程序设计 9
4.3 DS18b20温度传感器 12
4.3.1 基本原理 12
4.3.2程序设计 14
4.4 DS1302 16
4.4.1 基本原理 16
4.4.2 程序设计 18
5. 结果及界面 20
6. 问题及体会 22
7. 附录 23
1.系统的总体设计
1.1功能说明
此次设计的作品是基于MSP430单片机的万年历。DS1302负责实时提供年月日时分秒信息。DS18b20负责温度的采集。矩阵键盘负责修改年月日时分秒时间信息,同时控制界面的切换。LCD12864负责显示时间与温度信息。这四个模块都通过MSP430单片机来提供接口建立链接。系统的功能模块图如图1所示:
图1 功能模块图
2.工作流程图
3.项目分工
4.模块介绍及分析
4.1矩阵键盘模块
4.1.1 4*4矩阵式键盘识别显示系统概述
矩阵式键盘模块以N个端口连接控制N*N个按键,实时在LED数码管上显示按键信息。显示按键信息,既降低了成本,又提高了精确度,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用。并且在实际应用中经常要用到输入数字、字母、符号等操作功能,如电子密码锁、电话机键盘、计算器按键等,至少都需要12到16个按键,在这种情况下如果用独立式按键的话,显然太浪费I/O端口资源,为了解决这一问题,我们使用矩阵式键盘。
矩阵式键盘简介:矩阵式键盘又称行列键盘,它是用N条I/O线作为行线,N条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为N*N个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。
最常见的键盘布局如图2所示。一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,本设计就采用这个键盘模式。
图键盘布局2.当键盘按下11时进入void time2()函数用来定义时间的设置,其中的第一步。
图5 12864液晶显示电路
在程序中我们分别设定了P6和P2端口来对数据和指令进行输入和输出。MSP430单片机通过p6端口和p2端口进行对LCD12864的显示操作:先写指令,再写数据。
指令方面:12864的片选名称是RS,其中RS=0是表示指令。写指令:RS=0,RW=0,读指令:RS=0,RW=1。在程序中由P2输出。数据方面:12864的数据输入/输出名称是RS,其中RS=1,RW=0是表示写数据。RS=1,RW=1是表示读数据。在程序中由P6输出。RW是读写选择。RW=0是写,RW=1读。
图6 写数据模块
这个图6是写数据进模块。RS电平拉高表示写的是数据。同时RW电平拉低,E是使能,将E拉高。然后就能将DB0-DB7并行输出。
图7 写数据模块
这个图7是读数据。RS电平拉高表示写的是数据,同时RW电平拉高,E是使能,将E拉高。然后就能将DB0-DB7并行输出。
4.2.2程序设计
重要的代码是对12864的初始化。这是初始化流程图8如下所示:
图8 初始化流程图
void Lcd_Init()
{
SET_LCD_PSB;
// LCD_PSB = 1;
delayms(50);
Lcd_WriteCmd(0x30); //选择基本指令集
delayms(1);
Lcd_WriteCmd(0x30); //选择8bit数据流
delayms(1);
Lcd_WriteCmd(0x0c); //开显示(无游标、不反白)
delayms(1);
Lcd_WriteCmd(0x01); //清除显示,并且设定地址指针00H
delayms(20);
Lcd_WriteCmd(0x06);
您可能关注的文档
最近下载
- 新时代人文经济学的基本理论框架.docx VIP
- 人工智能引论知到智慧树期末考试答案题库2024年秋浙江大学.docx VIP
- 2025年电工作业低压电工通用考试题库.docx VIP
- 研究智慧供热系统建设方案.pptx VIP
- 2024年低压电工作业模拟考试题库试卷及答案.doc VIP
- 智慧供热系统建设方案.pptx VIP
- 马工程教材《组织行为学》课件 第三章 群体心理与行为.pptx VIP
- 2025年低压电工作业模拟考试题库试卷及答案.docx VIP
- 5.2 放射性元素的衰变(教学设计)高中物理(人教版2019选择性必修第三册).docx VIP
- 国家开放大学《证券投资分析》形考任务(1-5)试题及答案解析.docx VIP
文档评论(0)