文档详情

基于C51单片机的简易计算器设计论文.doc

发布:2018-08-20约1.21万字共15页下载文档
文本预览下载声明
--- -- 基于单片机的简易计算器设计 数控(卓越) 摘要:按下键盘,通过键盘扫描程序,在LCD液晶显示屏上显示按键的操作过程,最终显示计算结果,实现计算器的基本功能。本文详细介绍LCD显示屏、矩阵键盘与C51单片机接口的应用,并介绍如何通过C51单片机实现计算器的算法。 关键字:C51单片机,键盘,LCD液晶,计算器 一、设计任务: 本次实验是要以51系列单片机为核心实现一个简易计算器,它的结构简单,外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块STC90C51单片机构成,通过软件编程可实现简单加、减、乘、除、清除结果。实现对计算器的设计,具体设计如下: 1、采用6位显示,最大显示值为“”,设计16个按键的矩阵键盘,按键包括‘0~9’、‘+’、‘-’、‘*’、‘/’、‘=’、‘C’。 2、加减法做四字节运算;乘法做双字节运算;除法被除数为四字节,除数为两字节。 3、当运算结果超出显示范围时,显示ERROR!。 4、上述运算输入值均为整数,当结果带有小数时,可以采用四舍五入方式处理,也可以带小数显示。 二 、方案论证 经分析,计算器电路包括三个部分:显示电路、、4*4键扫描电路、单片机微控制电路。具体如下: LCD显示电路 LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD. 4*4键盘扫描电路(中断式,扫描式,反转式) 用户设计行列键盘接口,一般常采用3 种方法读取键值。一种是中断式,外两种是扫描法和反转法。 扫描法: 对键盘上的某一行送低电平,其他行及列全为高电平,然后读取列值,检查各列线点评的变化,如果某列线电平为低电平,就可以确定此行此列交叉点处的按键被按下,采用延时去抖动。 ⒊) 单片机微控制电路 微控制电路就是以AT89C51为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。 三 硬件电路的设计 3.1 硬件设计电路框图 LCD显示 LCD显示 晶振电路 4*4键盘51系列单片 晶振电路 4*4键盘 51系列单片机系统 复位电路 复位电路 线路原理框图 3.2、系统模块图: 四、键盘接口电路: 计算器输入数字和其他功能按键要用到很多按键,矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图1所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图2 键盘接口电路图 五、LCD显示 LCD显示器介绍 有字符型液晶显示模块(SMC1602A)和点阵式液晶显示模块(TCM12232A、TCM12864N)下面以SMC1602A为例介绍字符型液晶显示模块的功能及应用。 (一)、字符型液晶显示模块的引脚及功能 引脚 符号 功能 1 VSS 电源地 2 VDD 电源正极 3 Ve0 对比调整电压 4 RS 0输入指令,1输入数据 5 R/W 0写入指令或数据,1读取信息 6 E 使能信号,1读取数据,下降沿执行指令 7~14 DB0~DB7 数据输入口 15 BLA 背光电源正极 16 BLK 背光电源负极 在1602液晶内部有字模发生存储器CGROM及显示数据存储器DDRAM。其中,字模发生存储器CGROM主要用来存储192个常用字符的字模编码,包含标准的ASCII码。DDRAM是显示数据存储器共80个字节,分别对应1602液晶显示器的两行。第一行地址为0X00H~0X27H,共40个字节;第二行地址为0X40H~67H,共40个字节。 RAM 地址映像如下图: (二):字符型液晶显示模块的控制操作 RS R/W E DB0~DB7 0 1 1 读出状态字 1 1 1 读出数据 在1602读回的状态字中,D7位为状态BF,当BF=1时表示忙碌, 此时不能进行写操作。当BF=0时表示状态为空闲,可以进行写操作。 (2)写操作: RS R/W E DB0~DB7 0 0 下降沿 输入指令 1 0 下降沿 输入数据 初始化命令字: a.工作方式设置指令 D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 DL N F 0 0 DL设置与MCU的接口方式。DL=1表示数据宽度为8位,DB0~DB7有效。 DL=0表示数据宽度为4位,DB4~DB7有效。N设置显示字符行数
显示全部
相似文档