51单片机与压力传感器实现液体重量测量 下载本文

第4章 硬件设计

-31-

河北联合大学信息工程学院

第5章 软件设计

5.1 模块程序设计

本系统要完成的主要程序为:硬件初始化、键盘扫描、单片机内部数据处理、A/D转换程序等。

5.2 整机初始化程序

当仪器接通电源或总清零复位后立即进入整机初始化程序,初始化模块使仪表自动处于初始测量状态,完成设置栈底,信息储存器全部清0,最大值、最小值存储单元置初值; I/O 口接口设置等,如图5.1所示。

仪器上电 数据存储器全部清零 置堆栈地址 I/O口设置 置最大值、最小值初值,设置其存储单元 进入主程序

图5.1 整机初始化框图

-32-

第5章 软件设计

5.3 AD7705程序流图设计

开始 上电/复位AD7705和AT89C51 设置AT89C51的中断1,禁用串行口SCON 写通信寄存器,选择通道1,并设置下一次操作写时钟寄存器 写时钟寄存器,并设置数据的输出更新频率(05H),时钟设置为2.457Hz,数据更新频率为60 Hz 写通信寄存器,选择通道1,并设置下一次操作写设置寄存器(10H) 写设置寄存器,设置增益为64,启动模数转换 AD7705有转换完的新数据写通信寄存器,下一次操作为读数据寄存器(32H) 读数据寄存器内数据 数据处理

图5.2 AD7705主程序流程图 -33-

河北联合大学信息工程学院

子程序入口 清进位C,A中作对AD7705进行写操作的命令,R0作命令字的长度 累加器A左移一位 Y 进位标志C=1? N 清TXD 设RXD为高电平 设TXD为高电平 清TXD=0,RXD,设TXD为高电平 N R0内容减1 R0内容为0否 子程序返回

图5.3 对AD7705写周期时序子程序

-34-