基于单片机的lcd1602科学计算器设计内容摘要:
文) 第 页 共 29 页 10 图 LCD的管脚 LCD1602 各个管脚说明如表 所示。 表 LCD各管脚说明 编号 引脚 引 脚说明 编号 引脚 引脚说明 1 VSS 接地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 显示偏压 11 D4 数据 4 RS 数据 /命令 12 D5 数据 5 R/W 读 /写 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第 1脚: VSS 接地电源。 第 2脚: VDD 接 或 5V 正电源。 第 3脚: VL 端可以用来调整液晶对比度,接正电源时对比度最弱,接地时对比度最高。 第 4脚: RS 端为寄存器选择端口,高电平时为数据寄存器、低电平时则是指令寄存器。 第 5 脚: R/W 为读写信号端口,高电平时进行读操作,低电平时进行写操作。 当RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS为低电平 R/W 为高电平 本科毕业设计说明书(论文) 第 页 共 29 页 11 时可以读忙信号,当 RS为高电平 R/W 为低电平时可以写入数据 [4]。 第 6脚: E端口为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7~ 14 脚: D0~ D7 为 8 位双向数据线。 第 15脚:背光正极。 第 16脚:背光负极。 液晶与单片机的连接电路如图。 图 LCD与单片机的链接图 按键模块设计 键盘有独立键盘和矩阵键盘。 本次设计需要的按键较多,如果使用独立键盘会占用较多的 I/O 口。 因此, 本次输入键盘设计采用矩阵键盘。 矩阵键盘的按键设置在键盘行列线交点上,行列线分别连接到按键开关两端。 行线通过上拉电阻接到 +5V 的电源上。 当没有键按下时,行线处于高电平的状态;而当有按键按下时,行线电平则由与此行线相连的列线电平决定。 运用行列扫描法可以确定按键具体位置,从而得到按键数值。 键盘部分的设计 如图。 本科毕业设计说明书(论文) 第 页 共 29 页 12 图 矩阵按键输入 如图 所示,按键输入采用 4*4 矩阵键盘,键盘接在单片机的 P2 口,可以看出 16个按键共用 8个 I/O,相对较节约 I/O口。 本人在简易计算器的基础上还增加了一键多用的功能。 键盘中除了包含“ 0~ 9”数字键,“ +”“ ”“”“247。 ”运算键以及“ .”之外,还包括了三角函数,指数函数,开根,求余数,倒数等,为了实现这一个复用功能,需要进行按键的扩展。 此时,则需要几个独立按键做扩展使用。 独立按键的设计如图 所示。 图 独立复用按键 由 图可知,四个独立按键各有功能,从左往右分别是:清除键,用于清楚所有数据;删除键,用来撤销错 误输入;保存数据键,用来存储结果数据;计算器复用功能键,用来对矩阵键盘进行复用。 本章小结 本章主祝要介绍了计算器各个主要硬件模块,包括:单片机最小系统,显示模块,键盘电路,以及一些扩展方面的设计方案。 本科毕业设计说明书(论文) 第 页 共 29 页 13 4 软件设计 软件设计部分主要介绍计算器个模块的软件设计流程。 设计统一采用 C语言编程,C 语言功能强大,同时具有高级语言和汇编语言的特点,并且可以直接对硬件进行操作。 C 语言运算符和数据类型相当丰富,用 C 语言配合单片机来进行计算器设计相当便捷。 系统总设计流程 系统总流程图如图 所示。 开 始系 统 初 始 化显 示 初 始 化按 键 扫 描键 码 处 理输 入 计 算 格 式 正 确。 运 算 处 理Y显 示返 回报 错N 图 系统运行总流程图 本科毕业设计说明书(论文) 第 页 共 29 页 14 如图 所示,系统主要主要由主程序、按键输入子程序、显示子程序、运算部分组成。 主程序主要完成初始化功能;液晶主要负责显示输入数据和输出结果的工作;按键主要负责键入数据,进行数据运算。 系统进入工作时首先进行初始化工作,之后系统将在循环以下这一过程:显示,按键扫描,键码处理,检测输入数据是否能够正确进行运算处理,如果数据正确则进行数据运算,反之,则返回到按键,重新扫描。 按键程序流 程设计 按键模块的的子程序执行流程为:首先需要进行行列按键扫描,此时需要一个按键消抖的过程,然后确定按键位置,在进入对应键码内的数据进行处理。 按键模块子程序流程图如图。 开 始初 始 化 显 示 参数输 入 列 扫 描 信号列 扫 描 信 号 移位读 入 行 信 号有 键 键 入。 列 扫 描 完。 返 回按 照 行 列 计 算键 值得 出 键 码按 键 消 抖等 待 按 键 释 放返 回YNNY 图 按键扫描流程 本科毕业设计说明书(论文) 第 页 共 29 页 15 键盘扫描子程序,首先读出 I/O 口 低四位,然后读出 I/O 口 高四位,键值并显示缓存。 然后将键如的值转换为 ASCII 码然后就可以软件来设置硬件按键各个键代表的内容。 读键程序使用行列扫描法。 流程图中的消除抖动所用就是软件消抖的方 法。 软件消抖所用到的延时函数如下: /**************延时 ******************/ void delay(uchar z) { uchar x,y。 for(x=z。 x0。 x) for(y=100。 y0。 y)。 } LCD1602 显示流程设计 当按键键入数值和结果显示时,都需要用到 LCD1602 作为显示屏, LCD1602 显示流程如图 所示。 开 始初 始 化 显 示 参数关 位 显 示取 显 示 数 据输 出 段 码 数 据输 出 选 通 信 号延 时位 选 通 信 号 移位指 向 下 一 个 显示 数 据2 位 完 成。 返 回NY 图 显示流程图 本科毕业设计说明书(论文) 第 页 共 29 页 16 由图 可以很清楚地看出 LCD1602 的显示流程。 显示模块程序首先要对显示模块进行初始化,然后控制光标的位置。 定义液晶显示的控制端口,用 sbit 指令完成;然后设置清屏、开关显示、归位、显示位置的首地址等等。 相关的代码如下: /*************lcd********************/ sbit lcdrs=P3^7。 //LCD 控制脚 sbit lcdrw=P3^6。 sbit lcden=P3^5。 /***********液晶初始化 ***************/ void init(void ) { write_(0x38)。 //模式: 8 位数据,两行, 5*7 字体 write_(0x0c)。 //开显示,无光标 write_(0x06)。 //向左增量移动 write_(0x01)。 //清屏 } /**************写命令 *****************/ void write_(uchar ) { lcdrs=0。 lcdrw=0。 lcden=0。 P1=。 delay(5)。 //延时函数 lcden=1。 delay(5)。 lcden=0。 } /*************写数据 ******************/ void write_date(uchar date) { 本科毕业设计说明书(论文) 第 页 共 29 页 17 lcdrs=1。 lcdrw=0。 lcden=0。 P1=date。 delay(5)。 lcden=1。 delay(5)。 lcden=0。 } /*************读 AC 地址 *****************/ void read_date(void) { lcdrs=0。 lcdrw=1。 delay(5)。 P1=0xff。 lcden=1。 delay(5)。 state=P1。 delay(5)。 lcden=0。 delay(5)。 state=stateamp。 127。 } 本章小结 本章主要介绍计算器各个模块详细的运行流程,包括系统流程图,按键程序流程图, LCD显示流程图等。 计算器的程序主要包括以下模块 : 读键程序、判断按键程序段、运算操作子程序等部分; LCD显示程序模块 ;主程序模块,对整个系统进行初始化。 C语言模块化的特点使得这些程序模块条理清晰。 与此同时,为了挺高整个系统的有效性,加入了复位按键,错误提示报警等。 本科毕业设计说明书(论文) 第 页 共 29 页 18 5 功能仿真及其结果 根据各个模块介绍以及软件设计流程图,进行硬件仿真,从而达到计算器的基本功能,并且在此基础上进 行功能扩展。 软件简介 KEIL 软件简介 KEIL C51 是基于 51 系列单片机为内核的,由美国 KEIL Software 公司研制的一款智能、实用的开发系统软件。 KEIL C51 为 80C51 系列的单片机不但提供了 C 语言编译环境,而且也保留了汇编环境。 uVision2 是由 KEIL Software 公司研制的 51 系列兼容单片机 C 语言软件开发工具, uVision2 的集成开发环境囊括了:汇编器、编译器、实时操作系统、调试器和项目管理器。 uVision2 可以为用户提供一个单一而又方便的开发环境。 PPOTUES ISIS 简介 PROTUES 软件是由英国 Labcenter Electronics 公司研发的 EDA 系统设计工具软件,它可以帮助设计者进行电路分析和仿真。 该软件包含其它 EDA 工具软件的仿真功能,而且还可以仿真单片机和外围电路。 PROTUES 不仅是当今最好的单片机和外围电路仿真的工具软件, 而且还提供设计、仿真数字电路和分析、模拟电路及模 /数混合电路的平台,真正的实现了从概念到产品的完整设计。 PROTUES 可以仿真 51 系列、PIC 和 AVR 等主流单片机。 该软件可以直接在原理图的虚拟原 型上进行编译,然后配合显示和输出可以看到仿真的结果。 ISIS 是一款操作智能、简便,可完成系统仿真的实用软件。 仿真结果与操作说明 系统总体仿真 本系统以 AT89C52 单片机为核心,选用 的晶振,利用液晶和键盘来做计算器设计,应用范围广泛而且方便实用。 通过 Proteus 仿真环境, keil 编程环境的支持,用主程序初始化系统,其他程序模块化选择的方式,进行软件调试,当各个模块都调试成功之后,添加入主程序,最后完成计算器的设计。 本设计应当达到一般计算器所具有的加、减、乘、 除四则运算功能,并且在此基础上拥有一定的扩展。 因此,本设计需要优化硬件电路的设计,减少串口的使用,合理的分配单片机硬件资源,在保证计算器功能正常实现的同时还需要保证计算器拥有 本科毕业设计说明书(论文) 第 页 共 29 页 19 一定的抗干扰性。 根据模块需求以及计算器的工作流程基本确定计算器总体的仿真设计图,系统的总体仿真图如图。 图 总体仿真图 仿真图中的硬件分配: ( 1) P1 口与 、 :为输出端口,连接 LCD1602 的 D0~ D7,显示数据。 ( 2) P2 口:为输入端口,与 4*4 矩阵键盘连接,实现计算器的按键输入。 ( 3) ~ :连接 4个独立按键,做计算器的扩展使用。 整个计算器包括键盘电路与显示电路。 运用 C语言 ,并通过 KEIL软件编程生成 hex文件,然后通过 PROTEUS中单片机链接 hex文件,从而使整个仿真系统工作。 根据硬件仿真和软件语言编程,系统基本完成了简易计算器的功能,并且在此基础上进行了功能扩展。 下面分别介绍所取得的研究成果。 系统的操作说明 ( 1) 开机默认 LCD1602 显示屏亮起并显示本人信息,做屏保使用,按清除键可清除信息做计算器使用,如图。 图 开机显示 ( 2)计算器:‘ 0’~‘ 9’和‘ .’为数字按键;“+”“-”“”“247。 ”为运算符号; C 是清除键,也做计算器复位使用; DEL 是删除键,用于撤销上次键入的错误数据,可以连续按 DEL 进行连续撤销; M+键用于存储上次计算的数据和结果,按一次M+输出上次结果,按 TSamp。 S 后再按此键可以输出数据。 如果以‘ M+’‘ TSamp。 S’‘ M+39。 的顺序按下键盘,那么 M+中的数据将会更新; TSamp。 S 键为复用键,先按下 TSamp。 S,再按下数 本科毕业设计说明书(论文) 第 页 共 29 页 20 字上标明的函数即可进行函数运算。 ( 3)运算格式:(符号) A 运算符(符号 ) B 格式中 A、 B 是运算数据,可以是键入的数字,也可以是函数或者 M+中的数据;符号即 +、 号,可以随意添加减;如果本次计算没有按等号键而是继续按运算符,则结果会显示,成为下次运算的 A运算符,通过这种按键方式可以进行连续运算。 函数说明: Func (符号) C, Func 为函数,符号为‘ +’、‘ ’, C 只能是数字、M+或者是π。 函数主要包括: 1) sin 正弦函数 2) Cos 余弦函数 3) tan 正切函数 4) exp 以 e 为底的指数函数 5) ln 自然对数值 6) lg 以 10 为底的对数 7) sqr。基于单片机的lcd1602科学计算器设计
相关推荐
功能将其分为几部分进行设计, 各部分电路结构简单,所以此设计具有很强的可行性。 3. 本课题需要重点研究的、关键的问题及解决的思路 关键问题: 1. IC 卡数据读取电路 IC 卡 的读写电路要求能方便地读取 IC 卡的数据并控制电磁阀和显示器的工作。 2. 单片机通信接口电路 3. 安全保护电路、记忆单元电路 解决思路: 采用 单片机作为控制芯片,用 E2ROM 存储水表的数据;
点的电压与电流波形图。 a)是变压器二次侧线圈绕组 N2 的整流电压输出波形图, b)是变压器二次侧线圈绕组 N3 的整流电压输出波形图, c)为通过变压器一次侧线圈绕组 N1 与二次侧线圈绕组 N3 的电流波形图。 在 Ton 的期间内, K 是被接通的,电压源 Ui 对 N1 绕组施加电压,使得 N1 中有电流 i1 流过,所以 N1 线圈中将产生感应电动势,此时次级线圈 N2
重而道远。 更值得注意的是, LED 的整个行业发展还处于一个耘酿期、布局期,离真正的产出还有一段距离,真正的照明市场还有待进一步普及,现在市场还处于开发期,现阶段我们要在 LED 技术上面 下更多的功夫,才能在市场来临之际从容应对。 植物生长灯发展前景 市场现状 ( 1)近年来由于市场需求的推动,各地普遍采用温室大棚生产反季节蔬菜、瓜果、花卉等。 反季节种植的主要问题是低温与光照不足。
状态,以便准备接受新的命令。 在输出数据期间,任何“启动状态”和“停止状态”均 被屏蔽掉。 4) 处理数据模式 :这种模式是对 IC 卡芯片做内部处理。 芯片在第一个时钟脉冲的下降沿将 I/O 从 H状态拉为 L状态并开始处理。 此后芯片在内部连续计时计数,直到第 N个时钟脉冲之后的附加时钟脉冲的下降沿 I/O 线被再次置高,完成芯片的处理过程。 在整个处理过程中 I/O 线被锁定成低状态。
分辨率时,最多在 750ms内把温度转换为数字,显示速度快。 8) 测量结果直接输出数字温度信号,以“一线总线”串行送给 CPU,同时可 传送 CRC校验码,具有极强的抗干扰纠错能力。 9) 负压特性。 电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 9 1) 冷冻库、粮仓、储罐、电信机房、电力机房、电缆线槽等测温和控制领域。 2) 轴瓦、缸体、纺织、空调等狭小空间工业设备测温和控制。
0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78P 3 .0 /R X D10P 3 .1 /T