毕业设计简易加减乘除计算器.doc_第1页
毕业设计简易加减乘除计算器.doc_第2页
毕业设计简易加减乘除计算器.doc_第3页
毕业设计简易加减乘除计算器.doc_第4页
毕业设计简易加减乘除计算器.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕毕 业业 设设 计计 题目 简易加减乘除计算器 系别 专业 班级 姓名 学号 指导教师 日期 I 设计任务书 设计题目 设计题目 简易加减乘除计算器 设计要求 设计要求 1 根据所学内容运用编程做一个简易加减乘除计算器 实现加 减 乘 除 等以及清零的功能 2 设置一组数码管 使其能够显示程序运行 按键动作的内容 3 设置一组按键 使其键依次对应 0 9 和清除 键 4 可以进行小于 255 的数的加减乘除运算 并可连续运算 当键入值大于 255 时 将自动清零 可重新输入 设计进度要求 设计进度要求 第一周 确定题目 寻找单片机和计算器设计的相关资料 第二周 读懂资料 有初步的设计思路 第三周 绘制硬件电路图 第三周 设计软件框图 第四周 相应软件设计 程序设计 第五周 进行程序调试并且修改 第六周 写毕业设计论文 第七周 修改并提交毕业设计 第八周 准备论文答辩 指导教师 签名 指导教师 签名 II 摘 要 在很多领域的数据处理中要用到数学运算 作为计算机自动处理系统更显得重 要 此项目设计以单片机为核心部件的计算器 采用 4 4 矩阵式键盘 16 个键依次 对应 0 9 和清除键 使用单片机最小应用系统 1 模 块 简单方便 采用静态显示 显示器由 5 个共阴极数码管组成 输入只有两个信 号 它们是串行数据线 DIN 和移位信号 CLK 5 个串 并行移位寄存器芯片 74LS164 首尾相连 每片的并行输出作为 LED 数码管的段码 本计算器系统简单 实用性强 成本低 使用维护方便 软件功能强 运行稳 定可靠等优点 关键词 单片机 计算器 键盘 静态显示 1 前 言 随着半导体集成工艺的不断发展 单片机的集成度将更高 体积将更小 功能 将更强 在单片机家族中 80C51 系列是其中的佼佼者 加之 Intel 公司将其 MCS 51 系列中的 80C51 内核使用权以专利互换或出售形式转让给全世界许多著名 IC 制造厂商 如 Philips NEC Atmel AMD 华邦等 这些公司都在保持与 80C51 单片机兼容的基础上改善了 80C51 的许多特性 这样 80C51 就变成有众多制造厂 商支持的 发展出上百品种的大家族 现统称为 80C51 系列 80C51 单片机已成为 单片机发展的主流 专家认为 虽然世界上的 MCU 品种繁多 功能各异 开发装置 也互不兼容 但是客观发展表明 80C51 可能最终形成事实上的标准 MCU 芯片 本设计采用的是 ATMEL 公司的 AT89C51 芯片 此芯片根据了充分的静止 CMOS 控制器与三级节目记忆锁 共有 32 条 I O 线 2 定时计数器 6 个中断来源 4 K 闪存 128 个字节在芯片 RAM 由于本设计所做的是一个会加减乘除的计算器 所以要用到单片机的最小应用 系统模块 1 还需要用到矩阵式键盘和静态显示模块 而我的硬件设计详见第二章 主要介绍了需要哪几部分硬件电路和硬件系统的 概叙 在 2 1 节介绍了主要的框架 2 2 节简单的介绍了单片机最小应用系统的性 能和附属电路 2 3 节详细介绍了键盘控制电路 2 4 节介绍了静态显示电路 在第 三章中我们详细的解说了软件系统的设计 3 1 节介绍了我们做这个设计的程序设 计思路 3 2 节画出了总的程序设计框图 3 3 节分别罗列出各个子程序的框图 第 四章是我对此设计的调试过程和结果显示 第五章就是我对此设计的总体概括 体 会和心得 我所设计的这个计算器可适用于比较简单的加减乘除运算 比如小学生可以借 助它进行较大数目的四则运算 并运用它来探索有关规律 有利于帮助学生形成初 步的探索和解决问题的能力 2 目目 录录 摘 要 II 前 言 1 目 录 2 1 单片机的发展及应用 3 1 1 单片机的发展 3 1 2 单片机的应用 4 2 总体方案设计 5 2 1 系统框图 5 2 2 显示控制方案 5 2 3 键盘控制方案 5 3 硬件设计 6 3 1 89S51 单片机的简介 6 3 2 89S51 单片机的引脚 10 3 3 89S51I O 接口组成及功能 11 3 4 74LS164 的功能 11 3 5 键盘接口工作原理 13 3 6 七段 LED 显示工作原理 15 3 7 电路原理 16 4 设计思路 18 4 1 主程序模块 18 4 2 静态显示模块 19 4 3 按键程序模块 19 5 系统调试 21 5 1 在伟福中的调试 21 5 2 在 KEIL 中的调试并连接实验箱 22 6 结 论 26 致 谢 27 参考文献 28 附 录 A 29 3 1 单片机的发展及应用 1 11 1 单片机的发展单片机的发展 单片微型计算机是微型计算机的一个重要分支 也是一种非常活跃和颇具有生 命力的机种 单片微型计算机简称单片机 特别适用于工业控制领域 因此又称为 微控器 1971 年微处理器研制成功不久 就出现了单片微型计算机即单片机 但最 早的单片机是 1 位的 处理能力有限 果将 8 位单片机的推出作为起点 那么单片机的发展历史大致可以分为以下几 个阶段 第一阶段 1976 1978 单片机的探索阶段 以 Intel 公司的 MCS 48 为代表 MCS 48 的推出是在工控领域的探索 参与这一探索的公司还有 Motorola Zilog 等 都取得了满意的效果 这就是 SCM 的诞生年代 单片机 一词即由此而来 第二阶段 1978 1982 单片机的完善阶段 Intel 公司在 MCS 48 基础上推 出了完善的 典型的单片机系列 MCS 51 它在以下几个方面奠定了典型的通用总线 型单片机体系结构 1 完善的外部总线 MCS 51 设置了经典的 8 位单片机的总线结构 包括 8 位数据总线 16 位地址总线 控制总线及具有多机通信功能的串行通信接口 2 CPU 外围功能单元的集中管理模式 3 体现工控特性的地址空间及位操作方式 4 指令系统趋于丰富和完善 并且增加了许多突出控制功能的指令 第三阶段 1982 1990 8 位单片机的巩固发展及 16 位单片机的推出阶段 也是单片机向微控制器发展的阶段 Intel 公司推出的 MCS 96 系列单片机 将一些 用于测控系统的模数转换器 程序运行监视器 脉宽调制器等纳入片中 体现了单 片机的微控制器特征 第四阶段 1990 微控制器的全面发展阶段 随着单片机在各个领域全面 深入地发展和应用 出现了高速 大寻址范围 强运算能力的 8 位 16 位 32 位通用 型单片机 以及小型廉价的专用型单片机 4 1 21 2 单片机的应用单片机的应用 单片机的应用很广 分别在以下领域中得到了广泛的应用 工业自动化 在自动化技术中 无论是过程控制技术 数据采集技术还是测控 技术 都离不开单片机 在工业自动化的领域中 机电一体化技术将发挥愈来愈重 要的作用 在这种机械 微电子和计算机技术为一体的综合技术 例如机器人技术 数控技术 中 单片机将发挥非常重要的作用特别是近些年来 随着计算机技术的 发展 工业自动化也发展到了一个新的高度 出现了无人工厂 机器人作业 网络 化工厂等 不仅将人从繁重 重复和危险的工业现场解放出来 还大大提高了生产 效率 降低了生产成本 仪器仪表 目前对仪器仪表的自动化和智能化要求越来越高 在自动化测量仪 器中 单片机应用十分普及 单片机的使用有助于提高仪器仪表的精度和准确度 简化结构 减小体积 易于携带和使用 加速仪器仪表向数字化 智能化和多功能 化方向发展 消费类电子产品 该应用主要反映在家电领域 目前家电产品的一个重要发展 趋势是不断提高其智能化程度 例如 电子游戏 照相机 洗衣机 电冰箱 空调 电视机 微波炉 手机 IC 卡 汽车电子设备等 在这些设备中使用了单片机后 其功能和性能大大提高 并实现了智能化 最优化控制 信方面 较高档的单片机都具有通信接口 因而为单片机在通信设备中的应用 创造了很好的条件 例如 在微波通信 短波通信 载波通信 光纤通信 程控交 换等通信设备和仪器中都能找到单片机的应用 武器装备 在现代化的武器装备中 如飞机 军舰 坦克 导单 鱼雷制导 智能武器设备 航天飞机导航系统 都有单片机在其中发挥重要作用 终端及外部设备控制 计算机网络终端设备 如银行终端 以及计算机外部设 备如打印机 硬盘驱动器 绘图机 传真机 复印机等 在这些设备中都使用了单 片机 近年来随着科技的飞速发展 同时带动自动控制系统日新月异更新 单片机的 应用正在不断地走向深入 5 2 总体方案设计 2 12 1 系统框图系统框图 计算器的总体设计框图如图 2 1 所示 AT89C51 最 小 应 用 系 统 按键电路 晶振电路 复位电路 LED 静 态 显 示 图 2 1 系统框图 2 22 2 显示控制方案显示控制方案 在单片机应用系统中 显示分为静态示和动态显示 本次设计采用静态显示 静态显示数码管中的各位相互独立 而且各位的显示字符一经确定相应的输出将维 持不变 直到显示另一个字符为止 正因为如此 静态显示的亮度都比较高 各位 分别由一个 8 位 I O 接口控制段选码 故在同一时间里 每一位显示的字符可以各 不相同 这种显示方式接口 较小的电流即可获得较高的亮度 且占用 CPU 时间少 编程简单 便于监测和控制 本设计所需显示位数不多 故采用静态显示模块 在 实验箱上连接简单 方便 2 32 3 键盘控制方案键盘控制方案 键盘分为独立式键盘和行列式键盘 独立式键盘接口电路配置灵活 硬件结构 6 简单 工作可靠但每个按键必须占用一跟 I O 接口线 I O 接口线浪费较大 在单 片机应用系统中 有时只需要几个简单的按键向系统输入信息 可将按键直接在一 根 I O 接口线上 故只在按键数量不多时采用 而行列式键盘每条行线与列线在交 叉处不直接相通 而是通过一个按键加以连接 当按键较多时可采用行列式键盘以 节省 I O 接口 本次设计计算器所用按键较多 为节省 I O 接口 方便设计 故采 用矩阵式键盘 7 3 硬件设计 3 13 1 89S5189S51 单片机的简介单片机的简介 AT89C51 是美国 ATMEL 公司生产的低电压 高性能的 CMOS8 位单片机片内 4Kbytes 的可反复擦写的只读程序存储器 PEROM 和 128bytes 的随机存储器 RAM 器件采用 ATMEL 公司的高密度 非易失存储技术生产 兼容标准 MCS 51 指 令系统 片内置通用 8 位中央处理器 CPU 和 Flash 存储单元 功能强大 AT89C51 单片机可为你提供许多高性价的应用场合 可灵活的应用于各种控制领域 主要性能参数 与 MCS 51 产品指令系统的全兼容 4k 字节可重擦写 Flash 闪速存储器 1000 次可擦写周期 全静态操作 0Hz 24MHz 三级加密程序存储器 128 8 字节内部 RAM 32 个可编程 I O 口线 2 个 16 位定时 计数器 6 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 3 1 1 AT89C51 功能特性描述 AT89C51 提供以下标准功能 4k 字节 Flash 闪速存储器 128 字节内部 RAM 32 个 I O 口线 两个 16 位定时 计数器 一个 5 向量中断结构 一个全双工串行通信 口 片内震荡器及时钟电路 同时 AT89C51 可降至 0Hz 的静态逻辑操作 并支持 两种软件的可选的节电工作模式 空闲方式停止 CPU 的工作 但允许 RAM 定时 计 数器 窜行通信口及中断系统继续工作 掉电方式保存 RAM 中的内容 但震荡器停 止工作并禁止所有部件工作直到下一个硬件复位 8 AT89C51 图 3 1 1 单片机 AT89C51 3 1 2 AT89C51 引脚功能说明 3 23 2 89S5189S51 单片机的引脚单片机的引脚 89S51 单片机内部总线是单总线结构 即数据总线和地址总线是公用的 89S51 有 40 条引脚 与其他 51 系列单片机引脚是兼容的 这 40 条引脚可分为 I O 接口线 电源线 控制线 外接晶体线 4 部分 89S51 单片机为双列直插式封装结构 如图 3 2 所示 图 3 2 89S51 引脚分配图 9 89S51 单机的电源线有以下两种 1 VCC 5V 电源线 电源线 2 GND 接地线 89S51 单片机的外接晶体引脚有以下两种 1 XTAL1 片内振荡器反相放大器的输入端和内部时钟工作的输入端 采用内 部振荡器时 它接外部石英晶体和微调电容的一个引脚 2 XTAL2 片内振荡器反相放大器的输出端 接外部石英晶体和微调电容的另 一端 采用外部振荡器时 该引脚悬空 外接晶体引脚 控制线 89S51 单片机的控制线有以下几种 1 RST 复位输入端 高电平有效 2 ALE PROG 地址锁存允许 编程线 3 PSEN 外部程序存储器的读选通线 4 EA Vpp 片外 ROM 允许访问端 编程电源端 3 33 3 89S5189S51I OI O 接口组成及功能接口组成及功能 8051 共有 4 I O 端口 为 P0 P1 P2 P3 4 个 I O 口都是双向的 且每个口都 具有锁存器 每个端口有 8 条线 共计 32 条 I O 线 P0 0 P0 7 P1 0 P1 7 P2 0 P2 7 P3 0 P3 7 1 P0 有三个功能 1 外部扩充存储器时 作数据总线 D0 D7 2 外部扩充存储器时 作地址总线 A0 A7 3 不扩充时 作一般 I O 使用 内部无上拉电阻 作为输出 输入使用时应 加上拉电阻 2 P1 只做 I O 口使用 有内部上拉电阻 3 P2 有两个功能 1 扩充外部存储器时 作地址总线 A8 A15 使用 2 作一般 I O 口使用 有内部上拉电阻 3 P3 有两个功能 除作为 I O 口 有内部上拉电阻 外 还有一些特殊功能 10 3 43 4 74LS16474LS164 的功能的功能 74LS164 是一个串入并出的 8 位移位寄存器 他常用于单片机系统中 用来驱 动数码管 它内部有一个的 8 位移位寄存器 先一位一位地移入 等到 8 个移满了 再给出个信号将 8 位数据一起输出 就是所谓的串转并 其管脚图如下所示 图 3 3 74Ls164 管脚图 其中 A B 第 1 2 脚 为串行数据输入端 2 个引脚按逻辑与运算规律输入信 号 共一个输入信号时可并接 T 第 8 脚 为时钟输入端 可连接到串行口的 TXD 端 每一个时钟信号的上升沿加到 T 端时 移位寄存器移一位 8 个时钟脉冲过后 8 位二进制数全部移入 74LS164 中 R 第 9 脚 为复位端 当 R 0 时 移位寄存器 各位复 0 只有当 R 1 时 时钟脉冲才起作用 Q0 Q7 第 3 6 和 10 13 引脚 并 行输出端分别接 LED 显示器的 HG A 各段对应的引脚上 在给出了 8 个脉冲后 最先进入 74LS164 的第一个数据到达了最高位 然后再来一个脉冲 第一个脉冲就 会从最高位移出 这就是它的工作原理 其功能表如图 3 4 所示 11 图 3 474LS164 功能图 3 53 5 键盘接口工作原理键盘接口工作原理 在单片机应用系统中 常用键盘作为输入设备 通过它将数据 内存地址 命 令及指令等输入到系统中 来实现简单的人机通信 3 6 13 6 1 按键开关的去除抖动功能按键开关的去除抖动功能 目前 MCS 51 单片机应用系统上的按键常采用机械触点式按键 它在断开 闭 合时输入电压波形如图 3 6 所示 可以看出机械触点在闭合及断开瞬间均有抖动过程 时 间长短与开关的机械特性有关 一般为 5 10ms 由于抖动 会造成被查询的开关状 态无法准确读出 例如 一次按键产生的正确开关状态 由于键的抖动 CPU 多次 采集到底电平信号 会被误认为按键被多次按下 就会多次进行键输入操作 这是 不允许的 为了保证 CPU 对键的一次闭合仅在按键稳定时作一次键输入处理 必须 消除产生的前沿 后沿 抖动影响 后沿前沿识别区 安键过程 图 3 6 按键过程 3 6 23 6 2 阵列式键盘的接口电路阵列式键盘的接口电路 阵列式键盘每条行线与列线在交叉处不直接相通 而是通过一个按键加以连 12 接 在按键数较多的时候 为减少 I O 接口线数 通常采用这种方式 设计计算器 主要用到按键 选用阵列式键盘方便易行 1 键盘工作原理 行列式键盘电路原理如图 3 7 所示 按键设置在行列式交点上 行列线分别 连接到按键开关的两端 当行线通过上拉电阻接 5 伏时 被钳位在高电平状态 键盘中有无按键按下是由列线送入全扫描字 行线读入行线状态来判断的 键盘中哪一个键按下可由列线逐列置低电平后 检查行输入状态来判断 图 3 7 阵列式键盘原理电路 2 键盘工作方式 键盘的工作方式 编程扫描方式 定时扫描方式 中断扫描方式三种 在键盘扫描子程序中完成下述几个功能 1 判断键盘上有无键按下 2 去键的机械抖动影响 3 求按下键的键号 4 键闭合一次仅进行一次键功能操作 3 键盘扫描方式 13 扫描法 在判定有键按下后逐列 或逐行 置低电平 同时读入行 或列 的状态 如果行 或列 的状态出现非全 1 状态 这时 0 状态的行 列交点的键 就是所按下的键 特点是逐列 或逐行 扫描查询 这时相应行 或列 应有上 拉电阻接高电平 反转法 只要经过两个步骤就可获得键值 3 63 6 七段七段 LEDLED 显示工作原理显示工作原理 LED 显示器是由发光二极管显示字段的 MCS 51 单片机输出设备 单片机应用系 统常采用七段 LED 数码管作为显示器 这重显示器具有耗电低 配置灵活 线路简 单 安装方便 耐转动 价格低廉且寿命长等优点 因此应用比较广泛 LED 数码管显示器可以分为共阴极和共阳极两种结构 1 共阴极结构 如果所有的发光二极管的阴极接在一起 称为共阴极结构 则 数码显示段输入高电平有效 当某段输入高电平该段便发光 如图 3 8A 所示 2 共阳极结构 如果所有的发光二极管的阳极接在一起 称为共阳极结构 则 数码显示段输入低平有效 当某段输入低电平该段便发光 如图 3 8b 所示 14 A 共阴极 b 共阳极 图 3 8 七段 LED 显示器 3 LED 静态显示方式 LED 静态显示是指当数码管显示某一字符时 相应段的 发光二极管处于恒定的导通或截止状态 直到需要显示另一个字符为止 数码管工作在静态显示方式下 共阴极或共阳极连接在一起 若为共阴极则接 地 为共阳极则接 5V 电源 每位的段选线与一个 8 位的并行接口相连 只要在该 位的段选线上保持段选码电平 该位就能保持相应的显示字符 数码管中的各位相 互独立 而且各位的显示字符一经确定 相应的输出将维持不变 直到显示另一个 字符为止 也正因为如此 静态显示的亮度都比较高 静态显示方式各位可独立显示 由于各位分别由一个 8 未 I O 接口控制段选码 故在同一时间里 每一位显示的字符可以各不相同 这种显示方式接口 较小的电 流即可获得较高的亮度 且占用 CPU 的时间少 编程简单 便于监测和控制 但其 占用的接口线多 硬件电路复杂 成本高 只适合于显示位数较少的场合 用 MCS 51 单片机构建七段数码管静态显示系统时 5 位数码管均采用共阴极 LED 利用 74LS1S164 串入并出的特性 构成静态显示电路 单片机的 P3 6 作数据 串行输出 P3 7 作移位脉冲输出 用导线连接 P3 6 P3 7 到串行静态显示模块的 DIN CLK 端 这样就构成了计算器的显示部分 3 73 7 电路原理电路原理 电路的核心是 89S51 单片机 其内部带有 4KB 的 FLAsHROM 无须扩展程序存储 器 电脑没有大量的运算和暂存数据 现有的 128B 片内 RAM 已能满足要求 也不必 扩展片外 RAM 系统配备 5 位 LED 显示和 4 4 键盘 采用 P1 口接阵列式键盘 5 个 串 并移位寄存器芯片 74LS164 首尾相连 每片的并行输出作为 LED 数码管的段码控 制驱动信号 把 P3 6 P3 7 连接到串行静态显示模块的 DIN CLK 端 整个系统采用 查表的方法 将数码管的段码定义和按键的键码定义分别以代码的形式送到 LED 数 15 码管和键盘中 这样就构成了计算器的电路连接部分 如图 3 9 所示 C1 33P C2 33P C3 10uF S1 SW PB R11 1K R1 10k R2 10k R3 10k R4 10K R10 100 Y1 12MHz VCC 5V K6 K10 K14 K3 K7 K11 K15 K1 K5 K9 K13 K4 K8 K12 K16 K2 VCC 5V R5 20 R6 20 R7 20 R8 20 R9 20 EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 U1 AT89C51 a 0 b 1 c 2 d 3 e 4 f 5 g 6 dp 7 com 9 U2 LED a 0 b 1 c 2 d 3 e 4 f 5 g 6 dp 7 com 9 U3 LED a 0 b 1 c 2 d 3 e 4 f 5 g 6 dp 7 com 9 U4 LED a 0 b 1 c 2 d 3 e 4 f 5 g 6 dp 7 com 9 U5 LED a 0 b 1 c 2 d 3 e 4 f 5 g 6 dp 7 com 9 U6 LED A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U8 74LS164 A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U9 74LS164 A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U10 74LS164 A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U11 74LS164 A 1 B 2 Q0 3 Q1 4 Q2 5 Q3 6 Q4 10 Q5 11 Q6 12 Q7 13 CLK 8 MR 9 U7 74LS164 图 3 9 电路原理图 16 4 设计思路 关于这个设计 需要我们理解计算器的工作原理 熟练掌握编程指令的运用掌 握算术运算指令及运算功能程序的编写方法 计算器简而言之 就是要实现加 减 乘 除的功能 其中键盘和显示很重要 4 14 1 主程序模块主程序模块 首先 初始化参数 调显示子程序 判断是否有键按下 判断键码 看是否是 数字键 功能键还是清零键然后对每一种情况进行分别处理 如图 4 1 所示 图 4 1 主程序流程图 17 4 24 2 静态显示模块静态显示模块 如图 4 2 所示 一一 一一一一一一 一一一 一一一一一一 一一一一一一 一一一一一一一一 一一一一一一 一一一一一一 Y Y N N 一一一一一 图 4 2 中断程序流程图 4 34 3 按键程序模块按键程序模块 如图 4 3 所示 18 一一一一 一一一一 一一一 一一一一 一一一 一一一一 一一一 一一一一一一一 一一一一一一一一一 一一一一一一一一 一一一一 一一一一 一一一一一一一 一一一一一一 一一一一 Y N 一一 图 4 3 按键程序流程图 19 5 系统调试 完成了硬件的设计 制作和软件编程之后 要使系统能够按设计意图正常运行 必须进行系统调试 系统调试包括硬件调试和软件调试两个部分 不过 作为一个 单片机系统 其运行是软硬件相结合的 因此 软硬件的调试也是绝对不可能分开 的 5 1 在伟福中的调试在伟福中的调试 首先打开伟福仿真软件的界面对仿真器的参数值进行设置 其设置如图 5 1 所 示 图 5 1 仿真器的选择 我所选的是 8751 的仿真器 在目标生成文件中选择生成 BIN 和 HEX 文件 即二 进制和十六进制文件 其设置如图 5 2 所示 设置完成后点 好 就可以了 20 图 5 2 5 5 2 2 在在 KeilKeil 中的调试并连接实验箱中的调试并连接实验箱 1 打开项目 在伟福内调试通过以后 再在 Keil 中下载到实验箱上进行验证 显现出所要求 的效果 而在 Keil 中也要进行一些参数的设置 首先打开 Keil 仿真软件 首先要 新建一个项目 点菜单 Project New Project 在弹出的对话框中选择保存的路径 并输入项目名称 BYSJ 后保存 然后在弹出新的项目窗口中选择参数 其参数的 设置如下 由于我们使用的是 Atmel 公司的芯片 所以要选 Atmel 后确定 如图 5 3 所示 21 图4 4 在弹出的对话框中选择AT89C51这个芯片 确定 如图4 5所示 图4 5 然后开始设置它的参数值 如图4 6所示 22 图4 6 在Xtal中输入频率为11 0592MHZ 然后再选Debug这个标签 选中第二个Use复 选框后点击Setting在弹出的对话框中选择Baudrate这一项 设置它的参数为 38400 后OK 如图4 7所示 图4 7 把以上的参数设置完成以后把程序添加进来编译 编译通过后接上实验箱进行 验显 23 在Keil中的编译结果如图4 8所示 图4 8 我们接上实验箱后的效果如下图4 9所示 24 图4 9 25 6 结 论 当今科技发展迅速 单片机嵌入式开发有着光明的前景 由于单片机经济实用 开发简便等特点依然在工业控制 家电等领域占据了广泛的市场 我选择这样的毕 业设计课题 经过近 2 个月的设计 通过此次设计提高了自己软件编制和硬件电路 设计的能力 在我完成这次毕业设计的过程中 当看到自己将专业知识用于解决实 际的问题时 那份成就感和喜悦感是难以形容的 但是 在实际的编程以及调试程 序过程中 我发现自己所应该学的太多太多 光靠自己在书本上所学过的这点知识 是远远不够的 真正地认识到了工作就是学习的道理 毕业设计的目的是了解基本 电路设计的流程 丰富自己的知识和理论 巩固所学的知识 提高自己的动手能力 和实验能力 从而具备一定的设计能力 我做得的毕业设计注重于对单片机实际应 用的理解 明白其基本的工作原理 以便以后单片机领域的开发和工作打下基础 提高自己的设计能力 培养创新能力 丰富自己的知识理论 做到理论和实际结合 本课题的重要意义还在于能在进一步层次了解单片机的工作原理 内部结构和工作 状态 理解单片机的接口技术 中断技术 存储方式 时钟方式和控制方式 这样 才能更好的利用单片机来做有效的设计 26 致 谢 这次的毕业设计之所以能很好的完成 除了自己的努力外 非常感谢张咏梅 老师的帮助 她非常体谅我们 知道我工作学习忙 为我们在毕业设计方面花了很 多心血 尽心尽力的帮助 指导我完成毕业设计 在日常教学工作非常繁忙的情况 下 还为我们的毕业设计操心 在此表示万分的敬意 其次 这几年来多谢学校对我们的关心与培养 也多谢各位老师对我们关心与 帮助 通过这次毕业设计 使我得到了一次用专业知识 专业技能分析和解决问题全 面系统的锻炼 使我在单片机的基本原理 单片机应用系统开发过程 以及在常用 编程设计思路技巧的掌握方面都能向前迈了一大步 为日后成为合格的应用型人才 打下良好的基础 我在指导老师张老师的精心指导和严格要求下 获得了丰富的理 论知识 极大地提高了实践能力 并对当前电子领域的研究状况和发展方向有了一 定的了解 这对我今后进一步学习单片机方面的知识有极大的帮助 在此 我忠心 感谢张咏梅指导和支持 在未来的工作和学习中 我将以更好的成绩来回报老师 在此 我还要感谢在一起愉快的度过大学生生活的机电系全体老师和同学 正 是由于你们的帮助和支持 我才能克服一个一个的困难和疑惑 直至本文的顺利完 成 最后 祝各位老师各位同学 身体健康 工作顺利 万事如意 心想事成 天 天开心 27 参考文献 1 孙建设 模拟电子技术 化学工业出版社 2001 2 陈明荧 8051 单片机课程设计实训教材 清华大学出版社 2003 3 薛晓书 单片微机原理及接口技术 M 西安石油大学 2002 3 4 黄智伟 朱卫华 单片机与嵌入式系统应用 M 南华大学 2005 3 5 付浩 AT89C51 单片机高速串行输出口设计 A 淮阴师范学院 2004 10 6 张迎新 单片机初级教程 北京航天航空大学出版社 2000 6 7 马忠梅 单片机的 C 语言应用程序设计 北京航天航空大学出版社 2003 11 8 陆延丰 三菱 M16C 62 单片机原理和应用 北京航天航空大学出版社 2001 12 28 附 录 A DBUF EQU 30H TEMP EQU 40H YJ EQU 50H 结果存放 YJ1 EQU 51H 中间结果存放 GONG EQU 51H 功能键存放 DIN BIT P3 6 CLk BIT P3 7 ORG 0000H LJMP START ORG 0030H START MOV R3 0 初始化显示为空 MOV GONG 0 MOV 30H 10H MOV 31H 10H MOV 32H 10H MOV 33H 10H MOV 34H 10H MLOOP LCALL DISP 判调显示子程序 WAIT LCALL TESTkEY 判断有无按键 JZ WAIT CALL GETkEY 读键 INC R3 按键个数 CJNE A 0 NEXT1 判断是否数字键 LJMP E1 转数字键处理 NEXT1 CJNE A 1 NEXT2 LJMP E1 NEXT2 CJNE A 2 NEXT3 29 LJMP E1 NEXT3 CJNE A 3 NEXT4 LJMP E1 NEXT4 CJNE A 4 NEXT5 LJMP E1 NEXT5 CJNE A 5 NEXT6 LJMP E1 NEXT6 CJNE A 6 NEXT7 LJMP E1 NEXT7 CJNE A 7 NEXT8 LJMP E1 NEXT8 CJNE A 8 NEXT9 LJMP E1 NEXT9 CJNE A 9 NEXT10 LJMP E1 NEXT10 CJNE A 10 NEXT11 判断是否功能键 LJMP E2 转功能键处理 NEXT11 CJNE A 11 NEXT12 LJMP E2 NEXT12 CJNE A 12 NEXT13 LJMP E2 NEXT13 CJNE A 13 NEXT14 LJMP E2 NEXT14 CJNE A 14 NEXT15 LJMP E2 NEST15 LJMP E3 判断是否清除键 E1 CJNE R3 1 N1 判断第几次按键 LJMP E11 为第一个数字 N1 CJNE R3 2 N2 30 LJMP E12 为第二个数字 N2 CJNE R3 3 N3 LJMP E13 为第三个数字 N3 LJMP E3 第四个数字转溢出 E11 MOV R4 A 输入值暂存 R4 MOV 34H A 输入值送显示缓存 MOV 33H 10H MOV 32H 10H LJMP MLOOP 等待再次输入 E12 MOV R7 A 个位数暂存 R7 MOV B 10 MOV A R4 MUL AB 十位数 ADD A R7 MOV R4 A 输入值存 R4 MOV 32H 10H 输入值送显示缓存 MOV 33H 34H MOV 34H R7 LJMP MLOOP E13 MOV R7 A MOV B 10 MOV A R4 MUL AB JB OV E3 输入溢出 ADD A R7 MOV CY E3 输入溢出 MOV R4 A MOV 32H 33H 输入值送显示缓存 MOV 33H 34H 31 MOV 34H R7 LJMP MLOOP E3 MOV R3 0 按键次数清零 MOV R4 0 输入值清零 MOV YJ 0 计算结果清零 MOV GONG 0 功能键设为零 MOV 30H 10H 显示清空 MOV 31H 10H MOV 32H 10H MOV 33H 10H MOV 34H 10H LJMP MLOOP E2 MOV 34H 10 MOV 33H 10 MOV 32H 10 MOV R0 GONG 与上次功能键交换 MOV GONG A MOV A R0 CJNE A 10 N21 判断功能键 LJMP JIA N21 CJNE A 11 N22 LJMP JIAN N22 CJNE A 12 N23 LJMP CHENG N23 CJNE A 13 N24 LJMP CHU N24 CJNE A 0 N25 LJMP FIRST 首次按功能键 N25 LJMP DEN 32 N4 LJMP E3 FIRST MOV YJ R4 输入值送结果 MOV R3 0 按键次数清零 LJMP DISP1 结果处理 JIA MOV A YJ 上次结果送累加器 ADD A R4 上次结果加输入值 JB CY N4 溢出 MOV YJ A 存本次结果 MOV R3 0 按键次数清零 LJ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论