adc0809程序 求一个八路通道的分时转换汇编程序 !!!汇编语言编写的!!

adc0809程序 求一个八路通道的分时转换汇编程序 !!!汇编语言编写的!!,第1张

8086的,设ADC0809的8个端口地址为260H~267H,试编制采用延时等待的方式采集数据的程序段(包括数据段定义)。要求对8路通道进行循环采集,各采集100个数据分别存入8个数据区中。

解:假设延时程序可调用DELAY,时间足以保证一次A/D转换结束。

DATA SEGMENT

BUF0 DB 100(?)

BUF1 DB 100(?)

BUF2 DB 100(?)

BUF3 DB 100(?)

BUF4 DB 100(?)

BUF5 DB 100(?)

BUF6 DB 100(?)

BUF7 DB 100(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

BEGIN:MOV AX,DATA

MOV DS,AX

MOV CX,100 设置采集次数

MOV SI,0000H

AA: MOV BX,OFFSET,BUF0

MOV DX,0260H

OUT DX,AL 启动IN0通道

CALL DELAY

IN AL,DX 读取IN0通道转换结果

MOV [BX+SI],AL 存结果

INC DX

MOV BX,OFFSET BUF1

OUT DX,AL 启动IN1通道

CALL DELAY

IN AL,DX 读取IN1通道转换结果

MOV [BX+SI],AL 存结果

INC DX

MOV BX,OFFSET BUF2

OUT DX,AL 启动IN2通道

CALL DELAY

IN AL,DX 读取IN2通道转换结果

MOV [BX+SI],AL 存结果

INC DX

MOV BX,OFFSET BUF3

OUT DX,AL 启动IN3通道

CALL DELAY

IN AL,DX 读取IN3通道转换结果

MOV [BX+SI],AL 存结果

INC DX

MOV BX,OFFSET BUF4

OUT DX,AL 启动IN4通道

CALL DELAY

IN AL,DX 读取IN4通道转换结果

MOV [BX+SI],AL 存结果

INC DX

MOV BX,OFFSET BUF5

OUT DX,AL 启动IN5通道

CALL DELAY

IN AL,DX 读取IN5通道转换结果

MOV [BX+SI],AL 存结果

INC DX

MOV BX,OFFSET BUF6

OUT DX,AL 启动IN6通道

CALL DELAY

IN AL,DX 读取IN6通道转换结果

MOV [BX+SI],AL 存结果

INC DX

MOV BX,OFFSET BUF7

OUT DX,AL 启动IN7通道

CALL DELAY

IN AL,DX 读取IN7通道转换结果

MOV [BX+SI],AL 存结果

INC SI

LOOP AA 采集次数未到循环

MOV AH,4CH

INT 21H

CODE ENDS

END BEGIN

我刚好写完 完全可以显示正确的数值

复制给你:

//初始化ADC12

P6SEL |= 0x01// 使能ADC通道

ADC12CTL0 = ADC12ON+SHT0_8+MSC// 打开ADC,设置采样时间

// ADC12CTL0|= REFON+REF2_5V;

// ADC12MCTL0|=SREF_1//选择内部参考电压源

ADC12CTL1 = SHP+CONSEQ_2// 使用采样定时器

ADC12IE = 0x01 // 使能ADC中断

ADC12CTL0 |= ENC// 使能转换

ADC12CTL0 |= ADC12SC// 开始转换

#pragma vector=ADC_VECTOR

__interrupt void conversion()

{

uint buffer[32]

static uint index=0

buffer[index++]=ADC12MEM0

if(index==32)

{

index=0

uchar i

unsigned long sum=0

for(i=0i<32i++)

sum+=buffer[i]

sum=sum/32

}

}

得到的sum就是平滑滤波得到的数值,

你想用他来干什么就看你的程序了。

首先进入编辑方式,按功能键PROG,在按软键OPRT,按菜单继续键(是软键最右边的小三角形)按软键EX-EDT,确认被复制的程序被选中并按软键COPY按软键ALL,在输入新的程序号并按INPUT键,按软键EXEC就可以了。

1、首先打开“机床控制”面板的“参数化”界面,并确保将I/O路径设置为“4”. 2、设置方法:将写参数更改为1,将I/O通道参数更改为4,然后将写参数设置为0。 3、切换控制面板,返回主界面并打开DNC命令。 当面板上DNC旁边的指示灯亮起时,DNC控制就会打开。 4、单击动作面板中的“Prog”命令,选择软件磁盘面板中的左移和右移键5、调用“List”选项卡,然后选择“Operation-Device-M-F Card”以查看卡中的程序。 命令按钮在界面中.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11110284.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存