单片机课程设计报告书电子秤 - 图文 下载本文

内容发布更新时间 : 2024/9/19 22:31:11星期一 下面是文章的全部内容请认真阅读。

称重传感器主要由弹性体、电阻应变片电缆线等组成,内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:

4.3数模转换系统

首先考虑用常用的模数转换芯片adc0809,由于本设计只需采集一路数据,adc0809为并行的8路数据采集芯片,且接线较复杂,因此考虑采用串行的AD转换芯片adc0832完成设计。

ADC0832 与MCS- 51 单片机接口构成了串行的8位通道。微处理器通过软件写入3位串行控制命令决定ADC0832的工作方式。CH0单端输入,输入范围0- 5V。非调整误差为±1L SB。电路仅使用微处理器的两根控制线,两根数据线可方便进行光电隔离增强抗干扰能力。适用于智能化信号检测仪器、仪表。

4.4 键盘显示电路的设计

本设计中采用4*4矩阵是键盘,又称行列式键盘。它有4条I/O线作为行线,4矩阵键盘,行线接P1.0-P1.3用4条作为列线。用AT89S51的并行口P1接4×

口,列线接P1.4-P1.7口。在行线与列线每一个交叉点设置一个键,键盘设置了“0~15”个按键,其中的“0”键表示取消,其他键代表可供选择商品品种及价格。

4.5 液晶显示器电路的设计

LM4229通过CD WRITE READ三个引脚的电平来确定是读数据还是读状态,或者是写数据还是写命令。数据D0-D7连接到单片机的P0口,可以和单片机进行直接的数据交换,P2口为液晶显示的控制端。

5软件设计

本设计中的程序由主控制程序、LM4229液晶显示驱动程序、ADC0832采样程序和4*4键盘程序组成。

5.1主控制程序

整个设计中采用由下向上的设计思路。主程序中主要完成对LCM4229、ADC0832、及键盘扫描程序的调用。在编写程序的过程中,各变量统一采用全局

变量方式命名,同时考虑到电子秤对精度的要求,本设计中的价格及总量相关的变量全部采用浮点数。主程序流程图如图5.1所示。

开 始 MCU初始化、LM4229进入欢迎界面、ADC0832初始化 N 载物台有物体否? Y MCU存储ADC0832采样值 是否输入商品代码按键? Y MCU执行计算,并将结果送LM4229显示 N N 测量结束键是否按下? Y 结 束 图5.1 主程序流程图

5.2 LM4229液晶显示驱动程序

write_data(place&0xff); //写入地址高位 write_data(place/256); //写入地址低位 write_com(0x24); //地址设置 write_com(0xb0); //设置数据自动写 write_data(ASC_MSK[(c1-0x20)*16+k]); /*---

例如:0的ASCII码为0x30,

在ASC_MSK中的位置为0x10*16 ---16字节字码依次写入LCD---*/ write_com(0xb2); //自动复位 place=place+30;

LM4229液晶显示驱动程序流程图如图5.2所示。

开 始 写 入 控 制 字 写 入 初 始 行 Y

是 否 换 行? N N

全部数据已写完? Y 结 束 图5.2 LM4229液晶显示驱动程序流程图

5.3 ADC0832采样程序

MCU通过拉低CS、拉高CLK来启动ADC0832进行外部压力传感转换后的电压信号进行采样,每产生8个CLK脉冲,DATA获得一位完整的8bit数据,此时MCU发送中断请求,拉高CS,拉低CLK,并将数据DAT返回。ADC0832采样程序的程序流程图如图5.3所示。

结 束 Y 拉高CS、拉低CLK,返回数据DAT N

DATA右移8位? 开 始 拉低CS、拉高CLK 图5.3 ADC0832采样程序程序流程图

5.4 4*4键盘程序

本设计中采用了4*4矩阵式键盘,单片机定时进行查询。首先单片机发送行扫描代码,然后进行列扫描,当发现某一列出现了低电平时,即返回相应的键盘值。若没有发现则说明当前行没有键按下,行扫描右移一位,继续执行列扫描。 MCU根据相应的键值,即可确定被按下的键。4*4键盘程序如图5.4所示。

开 始 发送行扫描码 发送列扫描码 右移一位 列扫描完毕? N 左移一位 Y N 行扫描完毕? Y

结 束 返回键值 图5.4 4*4键盘程序

6系统仿真

在protues的ISIS 7.6sp4软件环境下画出电路原理图,接下来就是将设计的程序在Keil C51 μVision3开发集成环境上编译成机器语言,进入Proteus的ISIS,鼠标左键点击菜单“Debug”, 选中“use romote debuger monitor”,便可实现KeilC与Proteus连接调试。首先在Proteus中双击单片机AT89C51,将KeilC下编程生成的 .HEX文件导入到AT89C51中,可在Proteus中单击全速仿真运行按钮,进行现象的查看,能清楚地观察到芯片上每一个引脚的电平变化,红色代表高电平,蓝色代表低电平。

6.1实用电子秤初始化仿真

导入main.HEX文件以后,进入仿真页面,先按开始,此时数字电子秤进入