首页教程应用教程正文

ad转换实验单片机,单片机如何读取串行AD转换结果

发布时间:2024-02-19 02:52:26 来源:其它 作者:未知

导读:本文讲述了一种基于单片机的AD转换实验,通过使用AD转换芯片的数据手册,可以编程实现串口或并口数据传输。文章介绍了如何使用单片机模拟各种串口的通讯方式,并提供了应用实例的单片机列表。此外,还描述了如何通过锁存器从总线中扩展出IO口,以连接AD转换芯片的AD2引脚。如下为ad转换实验单片机,单片机如何读取串行AD转换结果的文章内容,供大家参考。

1,单片机如何读取串行AD转换结果

1,单片机如何读取串行AD转换结果

查看所用AD转换芯片的数据手册,根据数据手册的使用方法编程就可以了

不管串口或者并口,一般数据手册上都会有应用实例的

单片机可以模拟各种串口的通讯方式,只是编程的问题,当然要根据使用芯片而定

现在有很多单片机自己就带有AD转换功能

如果电平匹配,且单片机有并行io口或者足够的gpio,直接接到单片机的io口上就行,单片机程序直接就能独到

否则就用锁存器从总线里扩展出来一个io口用来接ad

2,求AD转换单片机实验的汇编程序

2,求AD转换单片机实验的汇编程序

接线:p3.6接srd

p3.7接swr

p3.0接pin

p3.1接clk

ad0809的clk接脉冲

cs接8000h的译码电路程序:ad0809xdata8000h

org0000h

ajmpmain

org0030h

main:movdptr,#8000h

mova,#01h

movx@dptr,a

calldelay

movxa,@dptr

movr0,a

calldisp

calldelay

calldelay

calldelay

ajmpmaindisp:mova,r0

anla,#00001111b

acalldsend

mova,r0

swapa

anla,#00001111b

acalldsend

ret

dsend:movdptr,#tab

movca,@a+dptr

movsbuf,a

jnbti,$

clrti

retdelay:movr4,#250

delay1:movr5,#250

djnzr5,$

djnzr4,delay1

ret

tab:db03h;0

db9fh;1

db25h;2

db0dh;3

db99h;4

db49h;5

db41h;6

db1fh;7

db01h;8

db09h;9

db11h;灭

db11h

db0c1h

db63h

db85h

db61h

db71h

db00h

end

stequp3.7

eocequp3.6

oeequp3.5

baiequ30h

shiequ31h

geweiequ32h

org0000h

movdptr,#0fef8h;ad转换in0通道地址

mova,#00h

movx@dptr,a;启动ad转换

start:clrst

setbst

clrst

jnbeoc,$

setboe

mov30h,p2

clroe

mova,30h

movb,#100

divab

loop:movbai,a

movshi,b

mova,shi

movb,#10

divab

movshi,a

movgewei,b

mova,bai

movp1,a

clrp3.2

lcalldelay

setbp3.2

mova,shi

movp1,a

clrp3.1

lcalldelay

setbp3.1

mova,gewei

movp1,a

clrp3.0

lcalldelay

setbp3.0

sjmpstart

delay:movr6,#5

d1:movr7,#200

djnzr7,$

djnzr6,d1

ret

end

这是我编的程序,可以用,你只用0通道的话那就把那个通道选择的三个引脚全接地就是了movdptr,#0fef8h;ad转换in0通道地址

mova,#00h

movx@dptr,a;启动ad转换

这个是启动转换的语句

以上的程序是实现,电位器调节过程中,数码管从0到255变化

adc0809要工作得在单片机的ale脚上接个四分频的器件,不然adc0809是不会工作的qq:77254708

3,单片机AD转换问题如何解决?

3,单片机AD转换问题如何解决?

AD转换就是模拟数字转换模拟量是自然界存在的量,例如流量温度等特点是连续变化,例如从室温20

℃25℃之间存在着无数的温度点,数字量非自然界存在的量,特点是非连续变化有固定的变化间隔

1,A是模拟信号的意思,D是数字信号的意思,就是模拟转换成数字信号,A模拟量比如电流电压等信号量,在自然界中纯在的是连续的无穷尽的值,一切数值的描述都是相对精度和约等于表示

2,D数字量数学意义上确定的量,8位与16位既然数学意义上的确定,就纯在一个计算精度,8位简单的理解为八个9,16位就简单的理解为16个9但是,在计算机计算过程中,尤其是硬件逻辑,是2进制计算,也就是说8位表示2的八次方的值域,而16就是2的16次方

3,对于采样,就是这个芯片,在单位时间内,能完成的转换次数精度,当然就是更容易理解了,就是能够分辨的最小模拟里单位

4,有谁知道单片机内部ad转换怎么使用,最好有例子

单片机的说明文档上有,首先要看一下ADC_CONTR这个寄存器

它决定着ADC电源开启转换速度选择哪个通道启动与停止转换是否完成

程序如下:

ADC_CONTRADC_CONTR|0X80;//10000000开启转换电源

Delay1ms(1);//延时,等待内部电源稳定

P1M0P1M0|0X07;//设置p1.0P1.1p1.3所在通道为开/漏模式也可以提前配置好

P1M1P1M1|0X07;

ADC_CONTR0xe0;//11100000开启P1.0通道开始转换

Delay25us(10);//延时一端时间,使输入电压达到稳定

ADC_DATA0x00;//清A/D转换结果寄存器

ADC_LOW20x00;

ADC_CONTR|0x08;//ADC_START1,开始转换

while(!(ADC_CONTRamp;0x10));//0001,0000等待A/D转换结束

temp1ADC_DATA;//读取转换结果

temp2ADC_LOW2;

advaluetemp1*4+temp2;//advalue是最终结果

其余两路转换略

文章TAG: 单片机 ad 转换 串行 实验 读取 ad转换实验单片机

上一篇:option快捷键,option键是哪一个

下一篇 > :

还没有评论,快来抢沙发吧!

最新发现

相关资讯

新闻热榜

热门游戏

精彩专题