多功能电子秤设计.doc_第1页
多功能电子秤设计.doc_第2页
多功能电子秤设计.doc_第3页
多功能电子秤设计.doc_第4页
多功能电子秤设计.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业设计本科生毕业设计 多功能电子秤设计 The design of multi function electronic scale 学生姓名朱华玲 所在专业自动化 所在班级1112 申请学位工学学士 指导教师职称副教授 副指导教师职称 答辩时间 目 录 目目 录录 设计总说明设计总说明 I INTRODUCTION II 绪论 1 1主要元件的选用方案和简介 2 1 1控制芯片的选择及其介绍 2 1 1 1PWM 模块 2 1 1 2通信模块 SCI SPI 2 1 1 3A D 转换模块 3 1 2称重传感器的选择及其介绍 3 1 3HX711 转换器的介绍 6 1 4LCD 显示屏的介绍 6 1 54 4 键盘的介绍 7 2硬件电路的设计 8 2 1MC9S12XS128 芯片 8 2 2传感器模块的设计 8 2 3人机交界的设计 9 2 4电源模块 11 2 5报警电路 12 3软件部分设计 13 3 1单片机控制设计 13 3 1 1设计总程序框图 13 3 1 2主程序设计流程图 14 3 2AD 转换程序设计 14 3 3键盘程序设计 16 3 4LCD 显示程序设计 16 4 软件调试 18 4 1 软件介绍 18 4 2 调试过程 18 4 2 1 数据的线性化 18 4 2 2 键盘扫描调试 19 4 2 3 LCD 显示调式 19 目 录 4 2 4 键盘功能与显示调试 19 结束语 20 鸣谢 21 参考文献 22 附录 1 23 附录 2 24 设计总说明 I 设计总说明设计总说明 该多功能电子秤设计系统以 MC9S12XS128 单片机芯片作为控制核心 用 c 语言进行 软件设计 实现了电子秤的基本功能 本设计的总思路是通过传感器的应变效应原理 将重力信号变为电信号 再经过 AD 转换被 CPU 接收 CPU 进行数据处理 然后扫描键 盘输入 最后显示输出 电子秤硬件设计部分主要由控制模块 电源模块 人机通信 模块 数据转换模块四大部分构成 控制模块主要是 MC9S12XS128 16 位 单片机芯 片 用于复杂的数据处理 运行速度比较快 控制启动 AD 转换 键盘输入 LCD 显示 输出 报警等功能 人机通信模块包括 4 4 键盘输入 LCD12864 点阵显示屏和蜂鸣器 实现数据输入 数据显示 超重报警等功能 数据转换模块主要是称重传感器和 HX711 数字 24 位 A D 转换芯片 称重传感器是由四个电阻式应变片对称安装在钢体悬梁 臂上构成全桥差动测量电路的组合体 是单片机感知重量的桥梁 HX711 的作用是模拟 量转换成单片机可以处理的数字量 电源模块主要是为单片机 显示屏和传感器提供 稳定的工作电压 功能是将 6V 到 12V 之间的电压降到 5V 和 3 3V 两个稳定电压 软件 部分是用 c 语言进行编译代码 比较简单易懂 是实现电子秤基本的控制功能主要方 法 通过 Code Warrior 软件进行调试 调节计算出最佳的参数 使称重功能更精准 电子称的的整个系统结构简单 实现了主要的称重功能 使用方便 在实际生活中具 有比较高的使用价值 电子称在现实生活中有比较大的作用 是交易最重要的手段 但在很多市场交易中 电子秤还是不能普及 偶尔还有商人在秤上作假 因此制作多功能电子秤 在为人们 提供便利上有一定的意义 制作电子秤 选择 MC9S12XS128 单片机 是设计任务要求 是我没有接触过的芯片 这要求利用旧知识去拓展去学习新事物 对如何吸取新知识 有很好的帮助 本设计的标准基于如何正确使用 MC9S12XS128 单片机 如何设计硬件 电路和实现称重功能 使数据精度提到最高 该设计的原则是先写出总的程序流程图 在写各个模块的程序流程图 最后通过一定的关系将所有程序连接起来 编程也根据 流程图来写 整个程序简单 有条理性 易懂 方便程序员理解 本人在设计中不断学习 从实际上做出了可以实现称重功能的电子秤实物 但本次 设计还有地方可以创新 进一步完善和提高 有非常大的发展空间 电子称设计还可 以深入研究 可以把人们平常更多繁琐的事通过单片机控制变为得更加方便 秤不再 是以前的杆秤 现在的称更趋向智能化 多功能化 关键词 单片机 称重传感器 HX711 转换器 12864 显示屏 键盘 INTRODUCTION II INTRODUCTION The design system of the multifunctional electronic scale bases on MC9S12XS128 single chip as control core using c language to make software design realized the basic function of electronic scale came true The total train of thought of the design is that firstly making use of the strain effect principle of sensor transforming gravity signal to electrical signal and after AD transform the signal is received by the CPU CPU deal with received data and then scan the keyboard the last output to display screen Electronic balances hardware design part mainly consists of control module power supply module man machine communication module data conversion module The control module Is mainly MC9S12XS128 16bits microcontroller chips used for complex data processing the operation speed is faster which control to functions that include start the AD conversion keyboard input LCD display output alarm and so on Man machine communication module includes 4 4 keyboard input LCD12864 display screen without matrix and a buzzer accordingly realizing the of data input data display and overweight alarm Data conversion module mainly weighing sensor and HX711 digital 24 bits A D conversion chip weighing sensor is made up of four resistive strain gauge which are symmetrically installed on the steel bracket arm and Constitute the whole bridge differential measurement circuit that is the bridge of microcontroller s perception of the weight HX711 role is to make analog convert into digital quantity single chip can handle Power module is mainly providing stable working voltage to the single chip microcomputer display and sensors the function is converting 6 V to 12 V to 5 V and 3 3 V two stable voltages Software part is compiling code with the c language and the procedure is easy to understand is the main method of realizing base control functions of electronic scale using the software Code Warrior to debug and adjust the parameters of calculate the best make the weighing function more accurate Design realizes the function of the main weighing and electronic the whole system of scale is simple easy to use has higher use value in real life Electronic scale plays greater role in real life is the most important means of trade But in a lot of market transactions electronic balances are still not popularize and occasionally businessmen cheat on scales thus making multifunctional electronic scale has certain significance on provide convenience for people In electronic scale design choosing MC9S12XS128 single chip microcomputer is a design task requirement that is chip I have no contact with This requires using the old knowledge to expand to learn new things to absorb new knowledge which have very good help for me This design standard is based on INTRODUCTION III how to correctly use MC9S12XS128 single chip how to design the hardware circuit and the function of weighing which make data precision more high The principle of this design is to first draw the general program flow chart and paint flow chart of the various modules at last all the procedures connects through a certain relationship programming according to the flow chart and the whole program will be simple organized and easy to understand easier to understand for programmers I keep on learning in the design I made out the scale that can realize electronic weighing function Anywhere but the design still has more space to innovation and can be further perfect and improved have the very big development space Electronic scale design can make a in depth study it can make usual trval things more easier by single chip microcomputer control That is no longer a previous steelyard scale and now it tend to be more intelligent more functional KEYWORDS single chip weighing sensor HX711 transverter 12864displaye screen keyboard 广东海洋大学 2011 届本科生毕业设计 1 绪论 秤 是一种测量物体质量的衡器 自古以来 随着秤的出现 解决了交易中出现的 量的问题 使卖家和买家之间交易更加和谐 使卖家的商品得到最大利益化 使买家 的所买的量得到保证 秤在人们生活交易中已经是一种非常重要的衡量工具 进一步 促进商业的发展 秤在交易中起到了很大的促进作用 其作用地位很大 世界上最早最原始的秤使古埃及人发明的 当时的秤使悬挂式的双盘秤 就是有两 个秤盘别分挂在称梁的两端 主要用来称麦子的 中国发明称的人是范蠡 他发明了 如今还在使用的杆秤 一边挂物品 另一边移动秤砣 称杆平衡后观察秤砣所处在位 置的标号 便可知道物品的重量 随着社会的进步 科技不断发展 随着单片机的出 现 电子产品也接着开始出现 电子秤是其中的一种发明 随着技术的提高 材料元 件也逐渐越廉价 电子秤慢慢开始取代了杆秤 成为现在交易中首选工具 基本在商 业交易场所随处可见 随着电子秤的智能化 电子秤不只是单单显示重量 还更多的 参与到数据处理和过程控制 随着称重传感器的精度的提高 电子秤的精度也不断提 升 其功能也越来越多 应用方面也很广泛 因此 称重技术和称重传感器的研究受到世界各国的重视 是决定电子秤的量程精 度 称量产品技术的高低 将直接影响到各领域的经济效益 所以 研究电子秤的设 计有非常重要的意义 多功能电子秤的目的在于学习单片机系统的应用 使所学的知识得到体现 其设计 意义是在学习研究设计过程中有所创新 学习利用单片机实现更多的功能 为人民生 活创造更多的方便 广东海洋大学 2011 届本科生毕业设计 2 多功能电子秤设计秤设计 1主要元件的选用方案和简介 1 1控制芯片的选择及其介绍 单片机是整个硬件控制系统的核心 对于单片的选择也有很大的要求 单片机体 积小 运算功能强大 在科技发达的社会上 很多电子产品都有单片机作为控制核心 如今大部分电子产品都离不开单片机了 其中 c51 系列的单片机价格低廉 且在生活 中使用很普遍 以 C51 系列为主的产品都是比较小型的控制设计 1 C51 系列单片是一款美国 Intel 公司在 MCS 48 系列 8 位单片机基础上研发 的高档 8 位单片机 是我国目前使用最广的单片机系列 该单片机主要部分有算术逻 辑部件 寄存器 定时控制部件 程序存储器等等 其指令简单易懂 能实现大部分 的简单常见的功能 2 Mc9s12xs128 单片机是 Free scale 公司的 HCS12X 系列的一种主要产品 是 制作智能车的首选芯片 MC9S12XS128 是 16 位的单片机 其中央处理单元是十六位 运算速度比 C51 系列的单片快 其片内储存器包括 128KB 程序 Flash 8KB 数据 Flash 和 8KB RAM 可以装下较长的程序 该单片机内部有 EPPROM 模块 不需要外加掉电保 存电路 自带可调的时钟源 无需外加时钟电路 该单片机主要功能模块有 PWM 模块 通信模块 SCI SPI 定时模块 AD 转换模块 EEPROM 模块 FLASH 模块 对于设计电子秤 C51 单片机基本能把电子称的所有功能实现 但随着社会科技的 发展 数据也会越来越复杂庞大 8 位 C51 单片机会逐渐被淘汰 现在 16 位 32 位的 单片机开始慢慢取代它 因此 选择使用 Mc9s12xs128 芯片 目的是在 C51 单片机的 基础上学习新的知识 拓展新视野 下面是 Mc9s12xs128 芯片主要模块的介绍 1 1 1 PWM 模块 PWM 模块主要是输出特定占空比从 0 100 变化的程序脉冲波 主要应用于电机转 速的 PWM 控制 PWM 模块有 8 个输出通道 引脚号为 M7 M0 八个端口 每一个输出通道 都可以独立的进行输出 互不影响 达到可以同时控制多个目标 1 1 2 通信模块 SCI SPI SCI 是一种采用 NRZ 格式的异步串行通信接口 是 CPU 与外设之间进行的数据交换 的一种通信 它内置独立的波特率产生电路 可以设置多种波特率 它还内置 SCI 收 发器 接受发送数据程序 发送的程序数据一般是 9 个位的 其中一位是奇或偶校验 位 方可保证数据在传送的过程中没有丢失 在两个通信模块设定好波特率后 导入 广东海洋大学 2011 届本科生毕业设计 3 传输驱动程序便可实现通信 SCI 模块是全双工异步串行通信接口模块 主要用于不同类型设备之间的通信 比 如蓝牙传送 其特点是局限性广 传输准确率高 但效率低 SPI 主要用于同步串行通信 同步串行通信 通常先发 1 2 个字符作为数据传送的 开始 称为同步字符 检测到该字符后紧接着连续按顺序传送数据 中间没有空闲位 没有停止位和开始位 传输速度很快 SPI 通信主要用于单片机与单片机之间的通信 同类型设备的通信 其优点传输速率快 效率高 但局限性小 1 1 3 A D 转换模块 A D 转换模块是 C51 系列所没有的模块 Mc9s12xs128 内置 A D 转换电路 AD 转换 是不需要注意引脚之间的电路状态 只要将该模块初始化 设置好其内寄存器就能进 行 A D 转换 该模块共有两个方块 每个方块各有 8 个输入通道 引脚号是 D0 D15 A D 转换精度有 8 到 10 位 每个转换通道都有转换完成中断 用于采集数据 1 2称重传感器的选择及其介绍 称重传感器一个十分重要的元件 是整个电子秤功能是否能实现的基础 决定一 个电子称质量的高低程度 称重传感器相当于人的五官 将外界的信息传达给大脑芯 片进行处理 称重传感器主要是把重力信号转换为电信号 能实现这功能的传感器有 电容式传感器 压电传感器 电阻式应变传感器 电容式传感器是建立在电磁感应原 理基础上 具有工作可靠 寿命长 灵敏度高 精度高 性能稳定等优点 但做工复 杂 价钱高 压电传感器是由有压电效应的材料制作而成 其结构简单 体积小 精 度高 一般平常生活很少使用 电阻式传感器的基本原理是将被测量的变化转化为电 阻的变化 再经过测量电路将电阻变化转变成电信号 再经过滤波放大等处理得到测 量结果 其结构简单 价格低 在生活中的应用普遍 由于考虑到其设计的电路难易 程度和其性价比等因素 选用电阻式应变传感器是最适合的 电阻式应变传感器的核心是电阻式应变片 本设计采用的应变片的格式为电阻值 R 1002 0 1 灵敏系数 2 0 1 其精度高 稳定性好 使用方便 应变片是一 片电阻值随着受到压力或拉力的影响从而发生有规律变化的弹性元件 但由于应变片 比较小 其电阻变化容易受到外界多种因素影响使其产生误差 比如电阻温度系数的 影响 电阻材料的线膨胀系数的影响等等 因此为了减少误差 提高其灵敏度 采用 电桥测量电路进行误差补偿 电桥测量有单电桥 半桥差动电桥 全桥差动电桥 全 桥差动电桥灵敏度最好 误差最小 单电桥电路图如下 广东海洋大学 2011 届本科生毕业设计 4 图 1 1 电桥电路 E 为电源电压 R1 R2 R3 及R4 为桥臂电阻 RL 为负载电阻 当电桥平衡时 Uo 0 则有 R1R4 R2R3 当电桥电路只有一个应变电阻时 其灵敏度为 43 3 21 1 RR R RR R EUo 3 4 1 2 1 1 1 1 3 4 43211 41 43 3 211 11 11 R R R R R R R R R R E RRRRR RR RR R RRR RR EUo 广东海洋大学 2011 届本科生毕业设计 5 3 4 1 2 1 1 1 1 3 4 43211 41 43 3 211 11 11 R R R R R R R R R R E RRRRR RR RR R RRR RR EUo 当R1 R2 R3 R4 时 电桥电压灵敏度最高 此时有 半桥差动和全桥差动电路如下图 1 2 图 1 3 图 1 2 半桥差动电路 图 1 3 全桥差动电路 其灵敏度分别为 4 4 1 1 E K R RE U U o 1 1 2 R RE Uo EK R R EU U o 1 1 广东海洋大学 2011 届本科生毕业设计 6 经过电阻变化公式转换可以清楚地体现出全桥差动测量电路的优势 因此本设计中 采用全桥差动测量电路可以更好的保证电子称的精度 减少应变片内部和外界误差 1 3HX711 转换器的介绍 Mc9s12sx128 单片机内集成了 AD 转换模块 其分辨率最大只有 10 位 这对于电子 秤来说是不够的 因此外加了 HX711 转换器 HX711 是一款 A D 转换精度为 24 位的芯片 采用了海芯科技集成电路专利技术 对于数据精度要求高的是个很好的选择 也是称重传感器 AD 转换的最佳选择 该芯片 内置稳压电源和自带时钟 其输入引脚可以接差分输入 两种模拟输入通道 内置可 编程放大器 无需外接放大电路 其特点是响应速度快 抗干扰性强精度高等优点 引脚功能如图 图 1 4HX711 引脚 1 4LCD 显示屏的介绍 从显示屏起源与七段显示数码管 从 LED 发展到 LCD 显示屏给人类带来了视觉新 体验 给人们传送丰富的信息 显示屏的数据显示是单片机给人提供的最直观的通信 根据不同要求选择适合的显示屏 要求要显示中文和字符的选择点阵式 LCD 显示屏 LCD 显示屏有 LCD1602 LCD12864 等等规格 根据实际情况 选择 YAOXY12864 为最佳 YAOXY12864 液晶显示模块 显示屏是蓝屏 外观尺寸有 93 70 12 5mm 视域有 73 39mm 一共有 20 个引脚 8 个并行数据引脚 两对电源引脚 需要同时通 5V 电显 示屏才亮 一个读写信号引脚 一个片选引脚 一个使能引脚 一个串口并口选择引 广东海洋大学 2011 届本科生毕业设计 7 脚 该显示屏可以通过编译点亮不同的点显示不同的图案 字符和文字 这是最基本 最原始的显示方法 同时也是复杂工程量很多的方法 该显示屏内部包含了 16 16 和 16 8 点阵的基本的中文汉字 8192 个 8 16 点阵的字符 128 个 的字库 其优点 就是不用对要显示的字符文字进行相应的编字模数据 可以直接向 LCD 芯片直接发送 相应字符文字的字符数据就可以将其显示 一般的 LCD 都是并行数据线 该芯片还有 串口方式和并口方式传输数据 可以根据与 MCU 数据接口的实际情况进行选用 串行 方式编程比较复杂点 无需接八个数据线引脚 往显示芯片写数据要将数据进行特定 处理 才能将数据一位一位的随着串行链接时钟时序传输 并行串口不需要将数据处 理 在写好命令字给写信号方可向 LCD 写数据 程序简单易懂 1 54 4 键盘的介绍 如今键盘在以单片机设计的产品中是几乎不可缺少的 键盘在人与单片机交接的 过程中有着非常重要的作用 基本是所有单片机数据输入的首选工具 它们是计算机 应用系统必不可少的输入 输出设备 是控制系统与操作人员之间交互信息的窗口 键盘并不陌生 电脑专用的键盘 计算器的按键等等其最终目的是一样的 用于单片 机的键盘设计有很多格式 根据不同的要求 按键数也不同 比如有最简单的每个 I O 口只有一个按键的键盘 有 4 4 矩阵键盘 8 4 矩阵 32 按键键盘等等 按照电子秤功 能要求 提高 I O 端口的利用率 选择 4 4 矩阵键盘 4 4 键盘一共有 16 个按键 8 个引脚 按键的闭合与否 取决于按键开关的通断 状态 因此通过给一定的电信号检测各引脚的高低电平状态便可确定是否有按键按下 和按键的位置 键盘输入要注意重键 按键连击 按键抖动等问题 这些问题需要设 计者在编程时作特殊处理 比如按键程序采取单键按下有效多键按下无效原则 软件 程序采取程序滤波防抖动等 广东海洋大学 2011 届本科生毕业设计 8 2硬件电路的设计 2 1 MC9S12XS128 芯片 MC9S12XS128 芯片是整个系统的核心 其运算功能很强大 处理数据很强 其引脚 比较多 多用于设计输入输出比较复杂的作品 其芯片如下图 图 2 1 MC9S12XS128 芯片 2 2传感器模块的设计 称重传感器部分由电子称托盘 悬臂横梁 应变片 HX711 转换器构成 为了提高 重力测量的灵敏度 采取全桥差动测量电路 为了提高测量数据精度 采用 HX711 芯 片提高 24 位 AD 转换 使得到的数据更准确 使误差最小 在安装 4 片应变片时 要 两片在悬梁上 两片在悬梁下 上面两两位置对称 上下两片也要对称 且相邻两片 应变片要两两受力方向相反 如图 广东海洋大学 2011 届本科生毕业设计 9 图 2 2 应变片安装图 HX711 芯片与电桥的连接设计电路如下 图 2 3 HX711 接线图 2 3人机交界的设计 LCD12864 显示屏引脚功能如下 广东海洋大学 2011 届本科生毕业设计 10 引脚 1 GND 显示屏的电源地 引脚 2 VCC 接工作电源 5V 引脚 3 V0 LCD 驱动电压输入 引脚 4 RS CS 并行指令 数据选择信号 串行的片选信号 引脚 5 R W SID 并行的读写信号 串口的数据串行传输口 引脚 6 E CLK 并行使能信号 串行的同步时钟 引脚 7 14 DB0 DB7 并行的数据口 引脚 15 PSB 并行 串行选择 H 并行 L 串行 引脚 16 NC 空引脚 引脚 17 RST 复位 低电平有效 引脚 18 VOUT 倍压输出口 可悬空 引脚 19 LED A 背光源正极 5V 点亮屏幕 引脚 20 LED K 背光源负极 根据引脚的功能 和结合单片机的引脚用法 采用并行传输数据方式 程序简洁易懂 且 CPU 运算速度也比较快 用单片机的引脚 M0 M7 作为数据口 K0 K3 作为 LCD 的信号 口 设计 LCD12864 芯片引脚端口接线如下 1 2 3 4 5 6 7 8 9 101120 K0 K1 K2 M0 M1 M2 M3 M4 M5 M6 M7 数数据据接接口口 16 12864液液晶晶接接口口 图 2 4 LCD 接线图 4 4 键盘设计 使用单片机的 A0 A7 引脚作为键盘输入的 I O 口 让每一个按键有规律连接在两个 I O 引脚上 方便软件编程 为了使电路简单 没有加硬件防抖动电路 在程序加滤波去 抖动 如图 广东海洋大学 2011 届本科生毕业设计 11 图 2 5 键盘原理图 2 4电源模块 根据设计中元件的要求 单片机的工作电压是 5V 传感器所需电压 5V LCD 显 示需要提供两个 5V 电压 一共需要四个电源端口 一种电压 设计电源电路 5V 稳压电压是主要核心 使用稳压芯片设计 DC DC 减压电路 如图 图 2 6 电源电路 广东海洋大学 2011 届本科生毕业设计 12 K5 LS1 SPEAKER Q1 2N3703 2 5报警电路 超重报警相对来说是最简单的 只需要一个蜂鸣器就能实现 在硬件设计中 为了 能让蜂鸣器响但又不能影响芯片工作电压 其电路设计如下 图 2 7 报警电路 广东海洋大学 2011 届本科生毕业设计 13 3软件部分设计 3 1单片机控制设计 3 1 1 设计总程序框图 称重传感 器 HX711 MC9S12XS128 4 4 键盘输入 LCD 显示 报警 图 3 1 程序总设计 广东海洋大学 2011 届本科生毕业设计 14 3 1 2 主程序设计流程图 开始 初始化 按键 开 去皮调零 接受 AD 转换数 据 键盘输入键盘程序 数据处理 超重报警报警程序 显示 按键 关 结束 凋零程序 Y Y Y N N N Y N N Y 图 3 2 主程序流程图 3 2AD 转换程序设计 HX711 转换芯片有固定的工作方式 转换数据需要按照特定的时序进行 因此转换 广东海洋大学 2011 届本科生毕业设计 15 程序必须严格按照时序图来写 才能得到正确的数据 其时序图如下 图 3 3 HX711AD 转换时序图 根据时序图 其软件流程图设计如下 储存数 据 DOUT 引脚输 入使能 DOUT 是否为 低电平 写时钟脉冲时序 DOUT 是否为 1数据左移 1 是否到第 24 个时序第 25 个时 序 数据处理 数据左移 0 Y NY N Y N 图 3 4 AD 转换流程图 广东海洋大学 2011 届本科生毕业设计 16 3 3键盘程序设计 判断键盘是否有按键按下和识别按键的方法有程控扫描法 定时扫描法 中断扫描法 由于该设计的程序量不是很大 CPU 的运算时间短 因此采用程序扫描法 图 3 5 键盘设计流程图 3 4LCD 显示程序设计 该设计的 LCD 显示屏自带中文字库 不需要对要显示的文字和字符进行计算字模点阵 广东海洋大学 2011 届本科生毕业设计 17 直接向显示屏发送相应字符即可 显示程序采用串行行传输 写入数据需要严格根据 时序来写 其串行时序图如下 图3 6 LCD 串行时序 LCD 流程图如下 C 开始 显示初始化 选择地址 返回 写指令程序 显示字符写数据程序 图 3 7 LCD 设计流程图 鸣谢 18 4 软件调试 4 1 软件介绍 CodeWarrior 是 MC9S12XS128 单片的专用程序编程软件 Codewarrior development studio 是比较完整的编程开发环境 包括构建平台和应用所必需的所有主要工具 IDE 编译器 调试器 编辑器 链接器 汇编程序等 另外 CodeWarrior IDE 支持 开发人员插入他们所喜爱的工具 使他们可以自由地以希望的方式工作 CodeWarrior 开发工作室将尖端的调试技术与健全开发环境的简易性结合在一起 将 C C 源级别调试和嵌入式应用开发带入新的水平 开发工作室提供高度可视且自动化 的框架 可以加速甚至是最复杂应用的开发 因此对于各种水平的开发人员来说 创 建应用都是简单而便捷的 它是一个单一的开发环境 在所有所支持的工作站和个人电脑之间保持一致 在每个 所支持的平台上 性能及使用均是相同的 无需担心主机至主机的不兼容 CodeWarrior 开发工作室包括完成大多数嵌入式开发项目所需的所有工具 4 2 调试过程 调试过程主要的方面有 调节传感器使 AD 转换的数据趋向线性化 计算出线性参 数 键盘输入是否能实现各个按键所要求的功能 显示屏是否能正常显示 4 2 1 数据的线性化 遇到问题 AD 数据线性度低 解决方案 使随着重量的不同得到一组线性变化的 AD 转换数据 首先要检查数据转换程序是 否能够正常的接收数据 确定 AD 转换正常后 稍微改动应变片的安装位置使四个应变 片受力更加平衡 使得到的数据在量程范围内呈线性分布 得到一组数据后 为了算 出更加符合实际更精准的线性比例从而提高电子称的测量精度 使用最小二乘法来求 出其拟合直线 最小二乘法是一种数学优化算法 是通过最小误差的平方和寻找到与 数据匹配的最佳函数 其公式为 鸣谢 19 结果 经过调节 得到了一条比较直的重量 数据的线性曲线 4 2 2 键盘扫描调试 遇到问题 按键无效 解决方案 触按下 4 4 矩阵键盘按键 用万用表检查按键是否好连通 确定键盘是否完好 在 code warrior 软件调试中检查键盘输入程序部分 检查是否有正确的数据状态变化 确定是否有键盘信号输入 同时观察显示屏的数据是否显示正确 是否能实现键值功 能 通过不断修改扫描程序减少程序误操作 修改按键查询调用程序完善各个键值的 功能 结果 全部按键输入有效 4 2 3 LCD 显示调式 遇到问题 1 不能显示字符 2 不能正确显示字符 解决方案 1 硬件部分 检查 LCD12864 显示屏的功能引脚是否连接正确 检查数据线有没有与 单片机相应的 IO 口正确连接 软件部分 检查 LCD 的写命令字和写数据代码是否 正确 检查写数据时是否按照串行行的时序来传送数据 2 检查字符字模是否正确和向 LCD 传送数据的程序是否有差错 结果 正确显示汉字 数字 符号 4 2 4 键盘功能与显示调试 遇到问题 1 键盘输入数据显示不对 2 动态数据显示乱码 解决方案 1 检查键值子程序 动态输入显示地址 注意多次按键的显示数据之间的正确处理 2 AD 转换的数据经过正确的处理 将每一位数 带小数点 转变为一组字符串进行输 出显示 鸣谢 20 结束语 经过长时间的努力 最终制作出了实物 经过这次设计 我学到了很多新知识 得 到了不少实践的经验 这对我来说是一笔非常重要的财富 在设计中 遇到了不少困 难和挫折 首先没有接触过 MC9S12XS128 系列 16 位的芯片 这需要花一段时间是学习 和探索 其次是制作和编程调式过程是最重要的 特别是在写程序时涉及到时序问题 的程序 这让我知道了解时序的重要性 在调试过程必须要保持多方面思考和要有耐 心 最后才能成功 本设计让我受益匪浅 让我学会了如何独立自主去学习 让我知道在遇到困难时要保持冷静 这对我以后面向社会有很大的帮我 学习了 16 位的单片机 让我知道了所有的单片机其实是建立 在 C51 系列基础上的 加上编程软件的出现 让人们更加容易去应用单片机 学会使用 MC9S12XS128 单片机 这在电子时代的社会对我在电子业发展有重大帮助 鸣谢 21 鸣谢 本次课题设计在选题中得到徐今强老师的建议 在制作过程中遇到问题也能得到 老师的指导 在设计期间 徐今强老师多次询问我们的设计的进度 监督我们的进程 并向我们指导正确的方向 为我们的设计和论文着想 老师教我们的东西使我终身受 益 在此表达我对徐今强老师的感激之情 老师的解惑之道 是我们一生的财富 老 师的辛勤付出 只为莘莘学子的学成归来 在此致敬我们所有伟大可爱的老师 同时 在制作过程中免不了请教同学 我也感谢同学的帮助 才能使设计更加完美 最后 感谢大学四年来的所有老师们 和同窗四年的同学们 还有在身边默默付 出的家人 有了你们的指导和帮助 才有今天的我 正因为有你们的陪伴 我的生活 才如此多姿多彩 谢谢 参考文献 22 参考文献 1 陈万忠 MCS12 单片机原理及嵌入式应用开发技术 M 机械工业出版社 2012 9 2 周美娟 肖来胜 单片机技术及系统设计 M 清华大学出版社 2007 8 3 胡向东 刘京诚 余成波等 传感器与检测技术 M 机械工业出版社 2009 1 4 阎石 数字电子技术基本教程 M 清华大学出版社 2007 8 5 罗先觉 电路 M 高等教育出版社 M 2006 5 6 潘新民 王燕芳 微型计算机控制技术 M 电子工业出版社 2014 2 7 徐捷 模拟电路基础 M 机械工业出版社 1998 2 8 余安萍 C 程序设计教程 M 电子工业出版社 2002 1 9 张利国 高静 Protel 电路板设计入门与应用实例 M 中国电力出版社 2013 04 10 郑学坚 朱定华 微型计算机原理及应用 M 清华大学出版社 1999 1 11 Microchip Microchip ECHB VPDATEI M 1995 1996 12 Multi scale investigation of electronic transport and electromechanical behavior in carbon nanotube materials Volume 42 issue8 december2011 附 录 23 附录 1 主要元件列表 元件数量元件数量 MC9S12XS128 单片机 1 YAOXY12864 显示屏 1 键盘按钮 16 HX711 转换器 1 应变片 4 蜂鸣器 1 钢铁块 1 电池 1 电子称托盘 2 5V 稳压芯片 4 电容 0 1uF 8 电容 100uF 8 附 录 24 附录 2 include include derivative h include include math h include getad h include keyboard h include Diplay h include LCD include uchar unsigned char include uint unsigned int unchar price 单价 uchar sum 总价 uchar weight 重量 uchar yuan 元 uchar number 0 1 2 3 4 5 6 7 8 9 主程序 void SetBusCLK 48M void void IO Int void void delay 100us uint t void sendbyte uchar data void write com uchar cmd void write data uchar displaydata void lcd init void void LCD displaytring uchar x uchar y uchar s void display void unsigned long Read AD void float Get AD data void float deal data void float qupi void float data convert string uchar data void keyscan void void Keyboard data int ab void SetBusCLK 48M void CLKSEL 0 x00 PLLCTL PLLON 1 SYNR 0XC0 0X05 REFDV 0X80 0X01 POSTDIV 0X00 asm nop 附 录 25 asm nop while 0 CRGFLG LOCK 锁相环锁定 CLKSEL PLLSEL 1 选定外部时钟 void DDRA void DDRA 0X1F DDRK 0X12 void main void SetBusCLK 48M IO Int for keyscan display if kg 10 00 PORTK PK4 1 超重报警 else PORTK PK4 0 LCD 显示 define DATA 0 xfa define CMD 0 xf8 define CS PORTA PA0 define SID PORTA PA1 define SCLK PORTA PA2 define RST PORTA PA3 define PSB PORTA PA4 void delay 100us uint t uint i j for i 0 i t i for j 0 j 10 j void sendbyte uchar data 按照串口传输时序 数据按八位来传输 uint i for i 0 i 8 i if data i 附 录 26 else SID 0 SCLK 0 SCLK 1 void write com uchar cmd 写指令 CS 1 sendbyte CMD sendbyte cmd sendbyte cmd 4 delay 100us 2 void write data uchar displaydata 写数据 CS 1 sendbyte DATA sendbyte displaydata sendbyte displaydata 4 delay 100us 2 void lcdinit void RST 0 delay 100us 100 RST 1 Delay 100us 20000 write com 0 x30 选择 8bit 数据流 delay 50 write com 0 x0c 开显示 无游标 不反白 delay 100us 50 write com 0 x01 清屏 delay 50 void LCD displaytring uchar x uchar y uchar s uchar ListLength X2 ListLength 0 X2 x if y4 y 4 x 限制 x 不能大于 16 y 在 1 4 之内 switch y case 1 X2 0X80 break 根据行数来选择相应地址 case 2 X2 0X90 break case 3 X2 0X88 break case 4 X2 0X98 break Write com X2 发送地址码 while s ListLength 0 x20 若到达字串尾则退出 if x 0 x0F X 坐标应小于 0 xF write data s ListLength ListLength x delay 100us 50 void display void if open 1 lcdinit LCD displaytring 3 1 电子称设计 LCD displaytring 0 2 重量 Get AD data data convert string weigh LCD displaytring 4 2 s LCD displaytring 14 2 kg LCD displaytring 0 3 单价 LCD displaytring 14 3 元 LCD displaytring 0 4 总价 LCD displaytring 14 4 元 If correct 1 Sum kg price data convert string sum LCD displaytring 4 4 s else 附 录 28 LCD displaytring 4 4 else write com 0 x01 清屏 delay 50 AD 转换和处理 define ADSK PORTB PK1 define ADDO PORTB PK0 unsigned long Read AD vo

温馨提示

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

评论

0/150

提交评论