实时数据采集课程设计 - 图文(3)

2019-02-16 13:13

图7 程序框图

2.2.2 程序代码 DATA SEGMENT

DATA1 DW 10 DUP(?) MAX DW ? MIN DW ? TAB

DB

0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

;定义DATA1为字型

;0~9的段码(字形码)

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA

ADDR_0809 EQU 8000H ;AD0809端口地址 PROC_A EQU 0FF28H PROC_B EQU 0FF29H PROC_C EQU 0FF2AH PROC_CTL EQU 0FF2BH ORG 1100H

……………………………….…数据采集…………………………………………… START0:

MOV CX,10

;采集10次数

9

MOV BX,0

MOV DI,OFFSET DATA1

;把DATA1的首地址赋给DI ;采集数据,进行A/D转换

LP1: CALL AD0809

XOR AH,AH ;高位清零 ADD BX,AX

MOV [DI],AX INC DI INC DI LOOP LP1

……………………………去掉最大最小求平均……………………………………….. MOV SI, OFFSET DATA1 MOV AL,[SI] MOV CX,9 P1:

INC SI INC SI CMP AL,[SI] JAE NEXT MOV AL,[SI] NEXT:

LOOP P1 MOV AH,00H

MOV MAX,AX ;求出最大值

MOV SI, OFFSET DATA1 MOV AL,[SI] MOV CX,9 P2:

10

;BX=BX+AX,求采集数据之和

;DI存储10个数据

;DATA1为字型

;比较9次

INC SI INC SI CMP AL,[SI] JBE CONT MOV AL,[SI] CONT:

LOOP P2 MOV AH,00H

MOV MIN,AX ;求出最小值

XOR AH,AH

MOV AX,BX MOV DX,MAX SUB AX,DX MOV DX,MIN SUB AX,DX MOV BL,8 DIV BL

;求剩余8位数的平均值

;减去最小值

;减去最大值

;采集10个数据

………………………………整数和小数部分…………………………………………… XOR AH,AH

MOV BL,50 DIV BL MOV BH,AL

;BH为整数部分

;A/D的输出结果经过运算法则 (Y=50*X)

CMP AH,5 ;AH为小数部分 JAE LP3

;大于等于5时跳转

MOV AH,0 JMP LP4

;小于5时置零 ;无条件转移

LP3:

MOV BL,5 MOV AL,AH

11

XOR AH,AH DIV BL MOV AH,AL

;十进制小数

LP4:

MOV AL,BH

;十进制整数

……………………………整数部分换码…………………………………………………. MOV CH,AH

LEA BX,TAB MOV AH,0

ADD BX,AX ;得到整数的段码字节 MOV AL,[BX] ;整数段码显示 MOV CL,AL

;完成整数部分换码

;装入有效地址

………………………………小数部分换码………………………………………………

MOV SI,05FH

;实现循环显示

MOV AL,80H

;8255控制字 ,方式0工作

MOV AL,CH LEA BX,TAB MOV AH,0 ADD BX,AX MOV AL,[BX] MOV CH,AL MOV BH,CH MOV BL,CL AND BL,7FH

;完成小数部分换码 ;换码后小数 ;换码后整数

;得到整数和小数点的段码

MOV DX,PROC_CTL OUT DX,AL

………………………………小数显示………………………………………………. LP:

12

MOV AL,BH ;显示小数部分

MOV DX,PROC_A OUT DX,AL MOV AL,0FEH MOV DX,PROC_B OUT DX,AL MOV CX,0FFH

;延时

DELAY1:

LOOP DELAY1

………………………………整数显示……………………………………………….

MOV AL,BL

;显示整数部分

MOV DX,PROC_A OUT DX,AL MOV AL,0FDH MOV DX,PROC_B OUT DX,AL MOV CX,0FFH

;延时

DELAY2:

LOOP DELAY2 DEC SI JNZ LP JMP START0

;实现连续采集不同的模拟量

;减1

………………………………采集数据完成AD转换………………………………………. AD0809 PROC NEAR PUSH CX MOV AL,00H

MOV DX,ADDR_0809 OUT DX,AL MOV CX,0500H DELAY: LOOP DELAY

;A/D转换

;延时,等待A/D转换完成

13


实时数据采集课程设计 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016_2017学年高一地理下学期期末教学质量检查试题

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

马上注册会员

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