基于8051和ADC0809CCN的数据采集设计(7)

2019-04-22 17:38

3.3 数制转换

由于标度变换后得到两个字节的实际数值,不能直接送显示端显示,须经过适当的处理(此处将其转换为5位非压缩BCD码),才能送显示端输出显示。

开始 置取数地址指针R0的初值 置通道号存储单元 通道号左移1位 取数至R4R5 置BCD码存储单元的首地址 置BCD码个数 置除数 调用NDIV子程序 存入显示缓冲区 显示缓冲区地址+1 N BCD转换完毕? Y 返回 图3-5 双字节二进制整数转换成BCD码程序流程图 - 31 -

DISRAM:

NDIV Y (R2R3)?(R6R7)? N 16?B 1?F0 0?C R2 R3 R4 R5 C 左环移1位 C?F0 (R2R3)-(R6R7)?AR1 Y F0=1? Y C=1? N (AR1)?R2R3(执行减法) (R5)+1?R5(上商1) N N (B)-1?B=0? Y 0?F0 返回 图3-6 无符号双字节数除法程序框图 (略)

- 32 -

3.4 键盘程序

键盘部分软件主要功能是实现对通道号指示缓冲区的数值进行增或减,从而控制通道的选择。 KEYINT:

开始 PSW,ACC压栈保护 Y 按键1中断 P1.0=1? (通道加) N Y P1.1=1? 按键2中断 N (通道减) PSW,ACC出栈 返回 图3-7键盘中断程序流(略)

- 33 -

3.5 LED显示程序

将内部RAM中20H~28H单元中的8个分离BCD码,译码后从左至右依次显示出来,编制的程序如下: DISP:(略)

开始 指向A口 取位选码 指定显示位 指向B口 取显示字符 (略)查七段码 段选码B口送出 调用1ms延时子程 准备显示下一位 位选 N 8位显示完毕? Y 返回 图3-8 LED显示程序流程图 - 34 -

3.6 通信程序

3.6.1 上位机程序 1.程序初始化

主要完成串口的选择、波特率及帧结构设置、打开串口以及发送和接收触发的时间控制等。 '初始化代码

Private Sub Form_Load()

MSComm.CommPort=2

?设置串口2

?波特率2400,无校验,8位

MSComm.Settings=\

数据,一位停止位

MSComm.InputLen=0

?读取接受缓冲区的所有

字符

MSComm.InBufferSize=1024

?设置接受缓冲区为1024

字节

MSComm.OutBufferSize=512

?设置发送缓冲区为512

字节

MSComm.PortOpen=True MSComm.SThreshold=0 MSComm.RThreshold=1

?打开串口 ?不触发发送事件 ?每一个字符到接收缓冲

区都触发接收事件

MSComm.InBufferCount=0 MSComm. OutBufferCount=0 Text_SEND.Text=“” Text_RECV.Text=“”

- 35 -

?清除发送缓冲区数据 ?清除接收缓冲区数据 ?清空发送文本框 ?清空接收文本框


基于8051和ADC0809CCN的数据采集设计(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013~2014学年苏州市高二期末调研测试

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

马上注册会员

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