智能电子称设计-毕业论文 - 图文(6)

2019-06-05 13:30

智能电子秤设计

也由模块提供,从而简化了系统电源设计。模块同时还提供LED背光显示功能。除此之外,模块还提供了画面清除、游标显示/隐藏、游标归位、显示打开/关闭、显示字符闪烁、游标移位、显示移位、垂直画面旋转、反白显示、液晶睡眠/唤醒、关闭显示等操作指令。

如表3-3引脚功能说明

引 脚 号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 名 称 VSS VDD V0 RS(CS) R/W(SID) E(SCLK) DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 PSB NC RST NC LEDA LEDK 说 明 GND(0V) 逻辑电源(+5V) LCD电源(悬空) H:数据,L:指令 H:读,L:写 使能 数据0 数据1 数据2 数据3 数据4 数据5 数据6 数据7 H:并行,L:串行 空脚 复位(低电平有效) 空脚 背光源正极(LED+5V) 背光源负极(LED-0V) 电路图中PSB接低电平,进入串行接口模式;串行数据线SID接P3.1口;串行时钟线SCLK接P1.6;RS固定接高电平。此为典型二线串行模式。

字符显示RAM地址与字符显示位置关系: 如表3-4 RAM地址与字符显示位置关系 80H 90H 88H 98H 81H 91H 89H 99H 82H 92H 83H 93H 84H 94H 85H 95H 86H 96H 87H 97H 8AH 8BH 8CH 9AH 9BH 9CH 8DH 8EH 8FH 9DH 9EH 9FH 2/3线串行接口方式:

当模块的PSB脚接低电平时,模块即进入串行接口模式。串行模式使用串行数据线SID与串行时钟线SCLK来传送数据,即构成2线串行模式。

OCM4x8C还允许同时接入多个液晶显示模块以完成多路信息显示功能。此时,要利用片选端“CS”构成3线串行接口方式,当“CS”接高电位时,模块可正常接收并显示数据,否则模块显示将被禁止。通常情况下,当系统仅使用一个液晶显示模块时,“CS”可连接固定的高电平。

20

智能电子称的设计 模块2线串行工作操作时序如下图所示:

如图3-10 2线串行时序图

由图3.12可以看出,单片机与液晶模块之间传送1字节的数据共需24个时钟脉冲。首先,单片机要给出数据传输起始位,这里是以5个连续的“1”作数据起始位,如模块接收到连续的5个“1”,则内部传输被重置并且串行传输将被同步。紧接着,“RW”位用于选择数据的传输方向(读或写),“RS”位用于选择内部数据寄存器或指令寄存器,最后的第8位固定为“0”。在接收到起始位及“RW”和“RW”的第1个字节后,下一个字节的数据或指令将被分为2个字节来串行传送或接收。数据或指令的高4位,被放在第2个字节串行数据的高4位,其低4位则置为“0”;数据或指令的低4位被放在第3个字节的高4位,其低4位也置为“0”,如此完成一个字节指令或数据的传送。需要注意的是,当有多个数据或指令要传送时,必须要等到一个指令完成执行完毕后再传送下一个指令或数据,否则,会造成指令或数据的丢失。这是因为液晶模块内部没有发送/接收缓冲区。

3.4 报警电路的设计

下图为系统报警电路原理图,用于超载和欠量程提示。系统设计了两个发光二极管作为超载和欠量程指示灯,使系统更加完善。当系统判断为超载或欠量程时,ICL7135给输出一个高电平信号OR(超载)或UR(欠量程),经非门后形成低电平从而驱动发光二极管发光提示。

如图3-11 报警电路原理图

21

智能电子秤设计

第四章 电子秤的软件设计

4.1 软件流程图及程序设计

为了方便程序调试和提高可靠性,程序设计采用自上而下、模块化、结构化的程序设计方法,把总的编程过程逐步细分,分解成一个个功能模块,每个功能模块相互独立,每个模块都能完成一个明确的任务,实现某个具体的功能。本设计按任务模块划分的程序主要有初始化程序、主程序, A/D转换子程序、显示子程序、键盘处理子程序。

4.1.1 初始化程序设计流程图

单片机系统上电后,进入初始化程序,完成单片机片内各模块的设置和A/D转换器的功能设置初始化,然后进入主程序。

如图 4-1 初始化程序设计流程图

22

智能电子称的设计

4.1.2 主程序设计流程图

单片机完成初始化程序后进入主程序,主程序主要完成对存储参数的读取,对检测到的数据进行数据处理,键处理,显示处理等。

如图4-2 主程序设计流程图

23

智能电子秤设计

4.2 主程序设计及其相关程序设计

4.2.1 主程序设计

uint max_weight;//最大称量 uchar dsel;//分度值 uchar dp;//小数点

float beilv;//倍率

ulong zero_save;//传感器零位值 }bdf;

uint code num_ten[4]={1,10,100,1000};

uchar code adcount2[4]={2,4,5};//数据处理进平均次数

uchar code tab_dsel[4]={1,2,5,10};//分度值表

//0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9

uchar code tab[]={0xB7,0x03,0xD6,0xC7,0x63,0xE5,0xF5,0x83,0xF7,0xE7,

//A , b , C , d , E , F , 暗, - , t , P 0xF3,0x75,0xB4,0x57,0xF4,0xF0,0x00,0x40,0x74,0xF2,

//H , L , o , J , r , n , U, =, - i

0x73,0x34,0x55,0x07,0x50,0x51,0x37,0x44,0x04,0x01}; //显示位码表

//0, 1, 2, 3, 4, 5, 6

uchar code digit[]={0xfe,0xdf,0xef,0xfd,0xfb,0xbf,0xF7};//显示位码表

sbit P_OE =P2^1;//显示控制 sbit P_LE =P2^0;

sbit buz0 =P3^6;//蜂鸣器 sbit buz1 =P3^7;

/******************************************************/ bit b_follow;//启动零位跟踪标记 bit b_serial;//串口发送完标记

bit b_followdelay;//第一次不进行零位跟踪 bit b_steady;//稳定标记

/******************************************************/

void (* data task)(void);//函数指针变量,接受下一步要做的任务

24


智能电子称设计-毕业论文 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:山东教育出版社六年级数学下册

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: