基于C51单片机的简易计算器设计 - 图文
精品文档,下载后可随意编辑!
基于单片机的简易计算器设计
数控
摘要:按下键盘,通过键盘扫描程序,在LCD液晶显示屏上显示按键的操作过程,最终显示计算结果,实现计算器的基本功能。本文详细介绍LCD显示屏、矩阵键盘与C51单片机接口的应用,并介绍如何通过C51单片机实现计算器的算法。
关键字:C51单片机,键盘,LCD液晶,计算器
一、设计任务:
本次实验是要以51系列单片机为核心实现一个简易计算器,它的结构简单,外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块STC90C51单片机构成,通过软件编程可实现简单加、减、乘、除、清除结果。实现对计算器的设计,具体设计如下:
1、采用6位显示,最大显示值为“999999”,设计16个按键的矩阵键盘,按键包括‘0~9’、‘+’、‘-’、‘*’、‘/’、‘=’、‘C’。
2、加减法做四字节运算;乘法做双字节运算;除法被除数为四字节,除数为两字节。
3、当运算结果超出显示范围时,显示ERROR!。
4、上述运算输入值均为整数,当结果带有小数时,可以采用四舍五入方式处理,也可以带小数显示。
二 、方案论证
经分析,计算器电路包括三个部分:显示电路、、4*4键扫描电路、单片机微控制电路。具体如下:
⒈)LCD显示电路
LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各
种类型的程序,但是初学者往往要注意结合LCD本身的时序图来完善初始化程序。又以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,故采用LCD.
精品文档,下载后可随意编辑!
⒉)4*4键盘扫描电路(中断式,扫描式,反转式)
用户设计行列键盘接口,一般常采用3 种方法读取键值。一种是中断式,外两种是扫描法和反转法。
扫描法:
对键盘上的某一行送低电平,其他行及列全为高电平,然后读取列值,检查各列线点评的变化,如果某列线电平为低电平,就可以确定此行此列交叉点处的按键被按下,采用延时去抖动。 ⒊) 单片机微控制电路
微控制电路就是以AT89C51为核心的控制核心,主要注意晶振电路的接法和复位电路的接法。
三 硬件电路的设计
3.1 硬件设计电路框图
电路 晶振
线路原理框图
复 位电路 51系列单片机系统 4*4键盘 LCD显示
3.2、系统模块图:
精品文档,下载后可随意编辑!
单片机输入模块运算模块
显示模块 四、键盘接口电路:
计算器输入数字和其他功能按键要用到很多按键,矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。
矩阵键盘的工作原理:
计算器的键盘布局如图1所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。
图2 键盘接口电路图
五、LCD显示 LCD显示器介绍
有字符型液晶显示模块(SMC1602A)和点阵式液晶显示模块(TCM12232A、TCM12864N)下面以SMC1602A为例介绍字符型液晶显示模块的功能及应用。
精品文档,下载后可随意编辑!
(一)、字符型液晶显示模块的引脚及功能
引脚1234567~141516 符号VSSVDDVe0RSR/W EDB0BLABLK功能电源地电源正极对比调整电压0输入指令,1输入数据0写入指令或数据,1读取信息使能信号,1读取数据,下降沿执行指令数据输入口背光电源正极背光电源负极 在1602液晶内部有字模发生存储器CGROM及显示数据存储器DDRAM。其中,字模发生存储器CGROM主要用来存储192个常用字符的字模编码,包含标准的ASCII码。DDRAM是显示数据存储器共80个字节,分别对应1602液晶显示器的两行。第一行地址为0X00H~0X27H,共40个字节;第二行地址为0X40H~67H,共40个字节。 RAM 地址映像如下图:
精品文档,下载后可随意编辑!
(二):字符型液晶显示模块的控制操作 RS01R/W11E11
DB0~DB读出状态读出数据在1602读回的状态字中,D7位为状态BF,当BF=1时表示忙碌, 此时不能进行写操作。当BF=0时表示状态为空闲,可以进行写操作。 (2)写操作:
RS01(3)初始化命令字:
R/W00E下降沿下降沿DB0~DB7输入指令输入数据 a.工作方式设置指令
D70D60D51D4DLD3ND2FD10D00DL设置与MCU的接口方式。DL=1表示数据宽度为8位,DB0~DB7有效。 DL=0表示数据宽度为4位,DB4~DB7有效。N设置显示字符行数。 N=0表示显示一行字符,N=1表示显示两行字符。F设置显示字符字体, 一般为0。F=0表示显示5X8点阵字体,F=1表示显示5X11点整字体。
b.显示状态设置
D70D60D50D40D31D2DD1CD0BD为画面显示状态位。D=1表示显示功能开,D=0表示显示功能关。 C为光标显示状态位。C=1表示有光标,C=0表示无光标。
精品文档,下载后可随意编辑!
B闪烁显示状态位。B=1表示光标闪烁,B=0表示光标不闪烁。
c.输入方式设置指令
D70D60D50D40D30D21D1I/DD0S该指令的操作主要是设置显示字符的输入方式。即在操作数据写入/读出 后,AC数据地址指针的修改方式。I/D=1时,AC为自动加一计数器, I/D=0时,AC为自动减一计数器。S设置写入字符时是否允许画面滚动。 S=1时允许画面/光标滚动,S=0时禁止画面/光标滚动。
d.光标或画面滚动设置指令
D70D60D50D41D3S/CD2R/LD10D00S/C滚动对象选择位。S/C=1时画面滚动,S/C=0时光标滚动。 R/L滚动方向选择位。R/L=1时向右滚动,R/L=0时向左滚动。
e.清屏指令
D70D60D50D40D30D20D10D01执行清屏指令后,DDRAM内容为空白的ASCII码20H,光标归位在 左上方,地址计数器AC=0.
f.光标复位指令
D70D60D50D40D30D20D11D00执行光标复位指令后,AC=0,DDRAM中的值不变。
g.DDRAM地址设置指令
D7D6D5D4D3D2D1D0
…… 此处隐藏:894字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




