教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

单片机课程设计 - 基于C51简易计算器(2)

来源:网络收集 时间:2026-08-16
导读: 当系统需要显示少量数据时,采用LED数码管进行显示是一种经济实用的方法。数码管显示有静态显示和动态显示两种方法。为了减少端口的使用,故选择动态显示。 电路如下图六所示: 图六 三位数码管的显示电路 四、 软

当系统需要显示少量数据时,采用LED数码管进行显示是一种经济实用的方法。数码管显示有静态显示和动态显示两种方法。为了减少端口的使用,故选择动态显示。 电路如下图六所示:

图六 三位数码管的显示电路

四、 软件设计

在十进制加法计算器的软件规划要求下,简易计算器的程序主要包

括以下功能模块:(1) 主模块,为系统的初始化。(2) 显示与读键模块,分为判键程序段、运算操作子程序、显示子程序等部分; 4.1 系统设计

(一) 系统模块图

单片机输入模块运算模块显示模块 图六 系统模块图

此系统包括输入、运算和显示模块,由单片机控制。其中通过输入键盘模块将数字0~9和运算符号“+”、“-”、“*”、“/”输入单片机进行运算;运算模块分别根据输入的运算符进行加减乘除运算;显示模块将运算后的数值通过动态扫描使之在数码管上输出。 (二) 系统总流程图

主程序主要是用来进行初始化的,调用其他子程序,清空各个标志位,清空缓存区,读取键码,判断功能,在LED上作出回应,主程序流程图如图六所示。

(1)数字送显示缓冲程序设计

简易计算器所显示的数值最大位三位。要显示数值,先判断数值大小和位数,如果是超过三位或大于255,将不显示数字。可重新输入数字,再次计算。 (2)运算程序的设计

首先初始化参数,送LED三位显示“0”,其它位不显示。然后扫描键盘看是否有键输入,若有,读取键码。判断键码是数字键、清零键还是功能键,是数值键则送LED显示并保存数值,是清零键则做清零处理,是功能键则又判断是“=”还是运算键,若是“=”则计算最后结果并送LED显示,若是运算键则保存相对运算程序的首地址。

开始 初始化参数 LED显示 功能键 否 按键输入? 是 读取键值 是功能键 保存结果和功能键 是数字键 根据上次功能键和输入的数据计算结果 分析键值 是清零键 结果送显示缓存 数字键 清零键 输入数值 状态清零 等待数值输入 数值送显示缓存

图七 主程序流程图

4.2 显示与按键设计

(一) LED显示程序设计

LED显示器由七段发光二极管组成,排列成8字形状,因此也称为七段LED显示器。为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段,因此提供的字形代码的长度正好是一个字节。简易计算器用到的数字0~9的共阴极字形代码如下表:

显示字型 g 0 0 1 1 1 1 1 0 1 1 f 1 0 0 0 1 1 1 0 1 1 e 1 0 1 0 0 0 1 0 1 0 d 1 0 1 1 0 1 1 0 1 1 c 1 1 0 1 1 1 1 1 1 1 b 1 1 1 1 1 0 0 1 1 1 a 1 0 1 1 0 1 1 1 1 1 段码 0 1 2 3 4 5 6 7 8 9 0c0h 0f9h 0a4h 0b0h 99h 92h 82h 0f8h 80h 90h 表一 共阴极数码管段码对照表 (二) 读键子程序设计

为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。为了得到被按键的键码,现使用行扫描法识别按键。其程序框图如图八:

读键程序使用的是反转法读键,不管键盘矩阵的规模大小,均进行两次读键。第一次所有列线均输出低电平,从所有读入键盘信息(行信息);第二次所有行线均输出低电平,从所有行线读入键盘信息(列信息)。将两次读键信息进行组合就可以得到按键的特征编码,然后通过查表得到按键的顺序编码。将各特征编码按希望的顺序排成一张表,然后用当前读得的特征码来查表。当表中有该特征码时,它的位置就是对应的顺序编码;当表中没有该特征码时,说明这是一个没有定义的键码,与没有按键(0FFH)同等看待。

图八 计算键值子程序流程图

五、 调试与仿真

下面用KEIL uVision3与 proteus仿真软件介绍十进制加法计算器的仿真与调试。

5.1 Keil C51单片机软件开发系统

(一) 系统的整体结构

C51工具包的整体结构中,其中uVision是C51 for Windows的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目

…… 此处隐藏:241字,全部文档内容请下载后查看。喜欢就下载吧 ……
单片机课程设计 - 基于C51简易计算器(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/454466.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)