第4章多通道温度检测系统的设计Word文档格式.docx

上传人:b****5 文档编号:18655725 上传时间:2022-12-31 格式:DOCX 页数:13 大小:173.91KB
下载 相关 举报
第4章多通道温度检测系统的设计Word文档格式.docx_第1页
第1页 / 共13页
第4章多通道温度检测系统的设计Word文档格式.docx_第2页
第2页 / 共13页
第4章多通道温度检测系统的设计Word文档格式.docx_第3页
第3页 / 共13页
第4章多通道温度检测系统的设计Word文档格式.docx_第4页
第4页 / 共13页
第4章多通道温度检测系统的设计Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

第4章多通道温度检测系统的设计Word文档格式.docx

《第4章多通道温度检测系统的设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《第4章多通道温度检测系统的设计Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

第4章多通道温度检测系统的设计Word文档格式.docx

(3)A/D转换器ADC0809

ADC0809为八个输入端,八位A/D转换器。

用于8个通道的温度测量。

使用一个型号为WH5-1A10K-B的电位器作为输入电路。

八个电位器分别放置在需要进行温度测试的八个测试点上,作为温度传感器。

(4)LED动态显示电路

本系统采用四个七段码LED动态显示器,其结构和工作方式在第三章已经详细说明。

单通道测试时,最左边的显示器不显示任何信息;

八通道巡回测试时,最左边的显示器用来显示通道号,其它三个显示器用来显示实时温度值。

 

图4-1八通道温度检测系统逻辑图

第4.3节软件说明及程序设计

软件设计是本文重点,下面详细介绍本系统的程序设计。

4.3.1软件说明

(1)温度值的确定

温度传感器将温度变为电信号后输入到A/D转换器,由A/D转换器将模拟量换成数字量,再通过查表程序即可由温度标准测量值表中确定被测点的温度值。

由于测量环境和测量元器件的影响,在测定温度时,只采集一个数据往往会带来较大的误差。

因此,我们的数据采集子程序设计为一次同时采集16个数据。

如何得到16个数据的测量值,有各种不同的实现办法,通常是采用求平均值的办法来实现。

由于温度是一个缓慢变化的物理量,故同时采集的16个数据虽不尽相同,但离散性不大,只是在一个中间值附近出现较小的波动。

所以,我们可以设计一个排序子程序,将所采集的16个数据按照从小到大的顺序排列好,然后选取位于中间的一个数据作为实际测量值即可,实践证明,这是一种比较简单有效的算法。

(2)ROM分配表

0000H——02FFH:

主程序

0300H——04FFH:

子程序

0500H——058CH:

温度标准测量值表

058DH——0594H:

通道号显示表

(3)RAM分配表

30H——52H:

A/D转换数据采集缓冲区

5AH——5CH:

显示字符存放单元

55H:

被检测的通道号寄存器

56H:

巡回检测方式循环变量寄存器

60H——6FH:

堆栈

(4)I/O口分配表

P0口:

低八位地址/数据总线

P2口:

高八位地址总线

P3口:

P3.3与EOC连接构成查询A/D转换器转换结束信号输入位

(5)扩展I/O地址分配表

78FFH:

A/D模入通道通道0转换启动地址

79FFH:

A/D模入通道通道1转换启动地址

7AFFH:

A/D模入通道通道2转换启动地址

7BFFH:

A/D模入通道通道3转换启动地址

7CFFH:

A/D模入通道通道4转换启动地址

7DFFH:

A/D模入通道通道5转换启动地址

7EFFH:

A/D模入通道通道6转换启动地址

7FFFH:

A/D模入通道通道7转换启动地址

7F00H:

8155的控制/状态命令口地址

7F01H:

8155的A口地址

7F02H:

8155的B口地址

7F03H:

8155的C口地址

4.3.2程序设计思路

(1)键输入程序硬件结构如图4-1所示,键输入程序设计流程图如图4-2所示:

图4-2键输入程序流程图

当PA口工作与方式0输入、PC口工作与AL1方式输入时,方式命令控制字可设为03H。

下面介绍程序控制扫描工作方式的工作过程和键盘扫描子程序:

KEYSCAN:

ACALL

CCSCAN

检查有键闭合否

JNZ

INK1

有键按下转至INK1

LCALL

DL2MS

延时2ms

AJMP

KEYSCAN

无键按下跳回KEYSCAN

INK1:

有键按下两次延时

再次确认有无键按下

INK2

有键闭合转至INK2

抖动引起,转KEYSCAN

INK2:

MOV

R2,

#0FEH

扫描第一列

R4,

#00H

R4中放首列的首行键值

COLUM:

DPTR,

#7F01H

8155PA口地址

A,

R2

MOVX

@DPTR,

A

PA口低位即为要查相应列,

INC

DPTR

送出扫描码到PA口

指向8155PC口

@DPTR

回读8155PC口

JB

E0H,

LONE

首行PC0无键按下至LONE

有键按下A中放相应首行号

KCODE

跳转KCODE去计算键值

LONE:

E1H,

NEXT

第二行无键按下转下一列

#04H

有键按下次,号行04H送A

KCODE:

ADD

R4

行号+列号=键值

PUSH

E0H

保护键值

UP:

判断按键是否释放

UP

未释放,等待释放

POP

若起键,则键码送A

RET

NEXT:

准备扫描下一列

R2从FEH~F7H可变

JNB

E3H,

KERR

若扫描过一遍则转至KERR

RL

扫描位左移,并存储至R2

COLUM

进行下一列扫描

KERR:

转KEYSCAN,重复

CCSCAN:

全面查有无键按下

全列置零

指向PC口

回读PC口

CPL

A中是回读取反后情况有1

ANL

#03H

就是有键按下

DL2MS:

R7,

延时2ms子程序

DM0:

R6,

DM1:

DJNZ

DM1

DM0

本例中用延时4ms子程序进行软件消抖;

用计算方法得到键号,即键号=首行键号+列号。

键盘扫描子程序可完成如下几个功能:

判别有无键按下。

其方法为PA口输入全为0,读PC口状态。

若PC0~PC3为全0,则说明无键按下;

若不全为0,则说明有键按下。

消除按键抖动的影响。

其方法为判断有键按下后,用软件延时的方法4ms,再判断键盘状态。

如果任为有键按下状态,则认为有一个确定的键按下,否则当作按键抖动处理。

求按键位置。

根据前面介绍的扫描方法进行逐列置0扫描,最后确定按键的行列值,并通过计算得到按键的键号。

键闭合一次仅进行一次按键的处理。

方法是等待按键释放之后,再进行按键功能的处理。

(2)数据采集

数据采集程序设计在第三章已作了详述,在此参照系统流程图只简要叙述数据采集通道的启动地址地址。

如图4-1所示,P2口的低三位与A/D转换器的八个通道的地址控制线相连,因此,8路模拟输入通道地址为:

78FFH~7FFFH,采集程序设计如前所述。

(3)数据排序程序设计

下面介绍16个数据按照从小到大的图4-3数据排序流程图

顺序排列程序,其中数据缓冲区首址为30H,16个数据分别存放在对应的内存单元30H~3FH中,排序结束后结果任存放在对应的内存单元中,其存放顺序为从小到大排列,流程图如4-3所示。

#0FH

设置外围比较次数

START:

设置内围比较次数

R0,

#30H

送缓冲区首址至R0

L1:

@R0

送缓冲区初值至A

R0

指向下一个数

暂存前数

取下一个数

CLR

C

清零进位标志

SUBB

前后数相减

恢复前数

JNC

L2

无借位,则顺序排列

XCH

交换两数

DEC

指向前数地址

交换数据

指针恢复任指向后数单元

L2:

L1

一轮中重复进行比较

START

进行小一轮比较

(4)数字量与温度值的对应关系

在程序设计中是这样来使阻值和温度对应的:

首先将转换的数字量与0FH比较,如小于则显示负溢出,否则将数字量除以3,根据公式N=(VIN-VREF(-))×

256/(VREF-VFER(-)),其转换值大于计算值,为了提高系统的精确度,当数字量不是3的倍数时,将数字量减1,将结果再除以3,以此不断减1,直到所得的数字量是3的倍数为止。

将所得的商与05H比较,如小于则显示负溢出;

所得的商与4BH比较,如大于,则显示正溢出。

05H与4BH之间共71个数,为了与温度值相对应和便于查表,将所得的商减05H,此时的余数与1EH比较,如小于则显示负温度,否则显示正温度。

如果实际转换的数字量为4FH,因其不是3的倍数,将其减1,差为4EH且是3的倍数,商为1AH,大于05H小于4BH,不溢出,将1AH减05H,差为15H,通过查表程序即将15H减去1EH差为-9H(十进制为-9),最后显示的温度为-9℃,若查表程序前所得的数字量为30H,则通过查表后所得的差为1AH(十进制为18),最后显示的温度值为18℃。

(5)显示程序

数据采集程序设计在第三章已作了详述,此处不做详细介绍。

第4.4节系统程序流程图

设计的系统能对八个检测点的温度进行自动检测。

温度测定范围为-30C~+40C,测量精度为士1℃。

工作方式有两种:

单通道测试;

八通道巡回捡测。

图4-4八通道温度检测系统流程图

多通道温度检测系统的系统程序流程图如图4-4所示,从流程图上可以看出单通道检测和多通道巡回检测两种工作流程是分开的,因此在程序设计时也应该分开考虑。

图4-4(续)

附录

系统应用程序清单

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1