logo资料库

简易计算器设计-msp430-C语言.pdf

第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
资料共27页,剩余部分请下载后查看
简易计算器设计报告 简易计算器 更多资料下载请访问:与非网德州仪器技术社区 1
简易计算器设计报告 目录 摘要…………………………………………………………………………………P3 关键字………………………………………………………………………………P3 一、设计要求………………………………………………………………………P3 二、方案论证与选择………………………………………………………………P3 2.1 单片机选择……………………………………………………………… P3 2.2 LCD 显示屏选择………………………………………………………… P3 2.3 键盘选择………………………………………………………………… P4 2.4 CPU 工作方式选择……………………………………………………… P4 三、系统实现………………………………………………………………………P4 3.1 硬件设计………………………………………………………………… P4 3.1.1 系统框图………………………………… …………………………P4 3.1.2 盘的电平设计以及与单片机的连接键……………………………P5 3.2.3 单片机与显示器的连接…………………………………………… P5 3.2 软件设计……………………………………………………………………P6 四、作品性能测试与分析…………………………………………………………P10 4.1 试性能概览………………………………………………………………P10 4.2 误差分析…………………………………………………………………P12 五、参考文献………………………………………………………………………P12 六、附录……………………………………………………………………………P13 6.1 计算器功能介绍…………………………………………………………P13 6.2 仿真电路图………………………………………………………………P13 6.3 元件清单…………………………………………………………………P13 6.4 原程序代码………………………………………………………………P14 更多资料下载请访问:与非网德州仪器技术社区 2
简易计算器设计报告 摘要:本设计以低功耗单片机 MSP430V136T、1602 字符型液晶屏和 4*4 简 易键盘为主要器件,来实现加、减、乘、除、开根号、平方、求倒数等运算。设 计中分别采用 P1 口低 4 位和 P2 口低 4 位与键盘的行列线相连,用于采集中断 信号并分析键值;键盘规格为 4*4,由于所需的功能键数大于 16,因此需要进行 按键复用;单片机的 P3 口连接显示器的 D0~D7 端,用于输出显示数据或控制命 令;选用 P4 口中的 3、4 和 5 口用于实现显示屏的控制功能:使能、控制/数据 选择端、读/写。本设计的软件部分采用中断方式获取键值,空闲时单片机处于 休眠状态,极大地减小了单片机的功耗。 关键字:计算器、MSP430F2274 单片机、LCD1602 显示屏、键盘 一、设计要求 基本功能要求:输入两个 2 位十进制数,完成 +、-、*、/、开方运算; 扩展功能要求:可在完成基本功能的基础上参照实际计算器完成,功能不限。 二、方案论证与选择 2.1 单片机选择 本设计采用的是 MSP430F2274 单片机。MSP430 是德州公司新开发的一类 具有 16 位总线的带 FLASH 的单片机,由于其性价比和集成度高,受到广大技术 开发人员的青睐.它采用 16 位的总线,外设和内存统一编址,寻址范围可达 64K,还 可以外扩展存储器.具有统一的中断管理,具有丰富的片上外围模块,片内有精密 硬件乘法器、两个 16 位定时器、一个 14 路的 12 位的模数转换器、一个看门 狗、4 路 P 口、16 个外部中断、两路 USART 通信端口、一个比较器、一个 DCO 内部振荡器和两个外部时钟,支持 8M 的时钟.由于为 FLASH 型,则可以在线对单 片机进行调试和下载,且 JTAG 口直接和 FET(FLASH EMULATION TOOL)的相 连,不须另外的仿真工具,方便实用,而且,可以在超低功耗模式下工作,对环境和人 体的辐射小,测量结果为 100mw 左右的功耗(电流为 14mA 左右),可靠性能好,加 强电干扰运行不受影响。 在软件方面,MSP430 单片机适合 C 语言开发,具有如下优点:1、可以大 大提高软件开发的工作效率;2、可以提高所设计的程序代码的可靠性、可读性 和可移植性;3、设计者可以将注意力更多地集中在充分发挥 MSP430 的功能上。 2.2 LCD 显示屏选择 本设计采用的是 1602 液晶显示屏。在单片机系统中应用晶液显示器作为输 出器件有以下几个优点: 1 显示质量高 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光, 而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器 画质高且不会闪烁。 2 数字式接口 液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。 3 体积小、重量轻 液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上 更多资料下载请访问:与非网德州仪器技术社区 3
简易计算器设计报告 比相同显示面积的传统显示器要轻得多。 4 功耗低 相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动 IC 上,因而耗电 量比其它显示器要少得多。 2.3 键盘选择 本设计只需实现+、-、*、/、开根号等基本功能,所以使用 4*4 的简易键盘 即可,对于附加功能,通过简单点的按键复用,即可实现。 2.4 CPU 工作方式选择 查询方式:在这种工作方式下,当 CPU 执行完初始化程序后,便通过不断 地查询端口值来判断是否有键按下,若有则跳转去执行相关的键值分析或数值计 算及显示程序。执行完毕,继续回到主程序继续不断查询。 中断方式:在此工作方式下,CPU 无需查询,在执行完中断程序后,通过 一条指令使得单片机进入休眠状态。当有键按下时,则跳转去执行中断程序,执 行完毕,继续回到主程序休眠。 本设计选择中断方式。由于本设计为单任务,中断方式的高效性未能体现, 但是通过中断方式,我们可以让单片机在空闲的时候进入休眠状态,这样可以极 大地减少其消耗。 三、系统实现 3.1 硬件设计 3.1.1 系统框图 系统的逻辑框图如下图所示。 3.2.2 键盘的电平设计以及与单片机的连接 键盘的每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键 的编码。矩阵的行线和列线分别通过两并行接口和 CPU 通信。键盘的一端(列 线)通过电阻接 VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的 任务是:确定有无键按下,判断哪一个键按下,键的功能是什么?还要消除按键 在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地; 更多资料下载请访问:与非网德州仪器技术社区 4
简易计算器设计报告 另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按 键,通过软件,查出该键的功能。 键盘的 8 个口分别与 430 单片机的 P1 和 P2 口的第四位相连,且 P1 口输入, P2 口输出,二者结合,采用行扫描法确定按键。其与单片机的具体连接方式如 下图所示。 3.2.3 单片机与显示器的连接 1602 液晶显示屏有 16 个接口,各口的符号及功能如下表。 在本设计中 1 号、3 号和 16 号引脚并联后接地,2 号和 15 号脚并联接+5V 电平,3 号、4 号和 5 号三个控制端口分别与单片机的 P4.4、P4.5 和 P4.3 相接, 分别实现上表中对应的功能,7 号~14 号口和单片机的 P3.0~P3.7 口,以实现数 据和命令的传输。具体连接入下图所示。 更多资料下载请访问:与非网德州仪器技术社区 5
简易计算器设计报告 3.2 软件设计 本设计的软件部分由多个模块组成:主程序、中断程序、键盘分析程序、单 片机初始化程序、LCD 初始化程序、延时程序、测试 LCD 是否忙碌、写入指令 数据到 LCD、设定显示位置、写入字符显示数据到 LCD 等。下面将对这些模块 的功能一一讲解,并将画出主要模块的流程图。 主程序:主程序首先调用一些子程序来完成单片机初始化、显示器初始化、 显示器清屏、显示器显示方式的设置、确定起始显示位置等,接着显示 ‘Welcome’,延时一段时间后清屏,然后打开中断,最后进入休眠状态,等待 按键中断。整个过程的流程图如下图所示。 更多资料下载请访问:与非网德州仪器技术社区 6
简易计算器设计报告 中断程序:中断程序的架构如流程图所示,其中运算和显示功能由于篇幅限 制,没有在图上给出。由于本设计中共有 7 种运算,我们在检测到运算符时用 FLAG 对其进行标志,在接下来的运算中,即根据标志进行相关计算;显示分为 整数显示和实数显示,其中加、减、乘、平方中只涉及整数,而除、开方和求倒 数结果为实数,我们的程序将这两类结果分开显示,其中整数显示较简单,这里 不再叙述;对于实数的显示我们又分为两类:开方、除法(包含求倒数)。开方 运算时,我们先用逼近法算出其值,然后进行显示:将结果乘以 10000,设其为 d,除以 10000 得整数部分显示,在显示小数点后,再用 d 对 10000 求余,将这 个结果在小数点后显示;除法运算时则是先将操作数乘以 10000,再进行除法运 算,最后再运用上面的显示方法。 更多资料下载请访问:与非网德州仪器技术社区 7
简易计算器设计报告 键盘分析:键盘分析程序是利用行扫描法来判断按键。首先由读 P1.0~P1.3 的值来判断被按下的列,接着使键盘上某一行线为低电平,而其余行接高电平, 然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;否 则扫描下一行,直到扫描完全部的行线为止,最后在确定所按键后返回键值。整 个过程的流程图如下。 更多资料下载请访问:与非网德州仪器技术社区 8
分享到:
收藏