单片机实验四概要.docx

上传人:b****3 文档编号:26546825 上传时间:2023-06-20 格式:DOCX 页数:13 大小:201.15KB
下载 相关 举报
单片机实验四概要.docx_第1页
第1页 / 共13页
单片机实验四概要.docx_第2页
第2页 / 共13页
单片机实验四概要.docx_第3页
第3页 / 共13页
单片机实验四概要.docx_第4页
第4页 / 共13页
单片机实验四概要.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

单片机实验四概要.docx

《单片机实验四概要.docx》由会员分享,可在线阅读,更多相关《单片机实验四概要.docx(13页珍藏版)》请在冰豆网上搜索。

单片机实验四概要.docx

单片机实验四概要

实验五并行A/D转换实验

一、实验目的

1、掌握ADC0809模/数转换芯片与单片机的连接方法及ADC0809的典型应用。

2、掌握用查询方式、中断方式完成模/数转换程序的编写方法。

二、实验内容

利用系统提供的ADC0809接口电路,实现单片机模数转换。

模拟信号为0~5V电位器分压输出,单片机控制ADC0809读取模拟信号,并在数码管上用十六进制形式显示出来。

三、实验说明和电路原理图

1、本实验使用ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。

芯片的引脚如图21-1,各引脚功能如下:

IN0~IN7:

八路模拟信号输入端。

ADD-A、ADD-B、ADD-C:

三位地址码输入端。

CLOCK:

外部时钟输入端。

CLOCK输入频率范围在10~

1280KHz,典型值为640KHz,此时A/D转换时间为100us。

51单片机ALE直接或分频后可与CLOCK相连。

D0~D7:

数字量输出端。

OE:

A/D转换结果输出允许控制端。

当OE为高电平时,允许A/D转换结果从D0~D7端输出。

图21-10809引脚

ALE:

地址锁存允许信号输入端。

八路模拟通道地址由A、B、C输入,在ALE信号有效时将该八路地址锁存。

START:

启动A/D转换信号输入端。

当START端输入一个正脉冲时,将进行A/D转换。

EOC:

A/D转换结束信号输出端。

当A/D转换结束后,EOC输出高电平。

Vref(+)、Vref(-):

正负基准电压输入端。

基准正电压的典型值为+5V。

2、本实验需要用到CPU模块(F3区)、电位器模块(E2区)、并行模数转换模块(D7区)、串行静态数码显示模块(B4区)。

ADC0809并行模数转换电路原理参见图21-2。

4、实验程序

文件名:

AD0809FOR51MCU

功能:

并行A/D转换实验

接线:

用导线对应连接并行模数转换模块的CS_0809、EOC到CPU模块的8000、P32;

电位器模块的输出端接并行模数转换模块的IN-0;

并行模数转换模块的Vref接+5V电源;

CPU模块的P10、P11接串行静态数码显示模块DIN、CLK。

程序:

DBUFEQU30H;显示AD转换

TEMPEQU40H;显示模拟信号转换为数字信号的值

D0809EQU8000H;通道0地址

DINBITP1.0

CLKBITP1.1

ORG0000H

JMPSTART

ORG0080H

START:

MOVDBUF+3,#0AH

MOVDBUF+2,#0DH;显示AD

MOVDPTR,#D0809;端口地址送DPTR,指向通道INO

MOVA,#0

MOVX@DPTR,A;启动A/D转换

JNBP3.2,$

MOVXA,@DPTR;读入转换结果

MOVB,A

SWAPA;A中高低半字节交换

ANLA,#0FH;把高半字节清零

MOVDBUF+1,A;把A中原内容的高半字节放入高位显示

INCR0;寄存器增1

MOVA,B

ANLA,#0FH

MOVDBUF,A;把A中原内容的地半字节放入低位显示ACALLDISP1;调用子程序DISP1

acalldelay;调用子程序DELAY

AJMPSTART;转去执行START

DISP1:

;串行数码显示

MOVR0,#DBUF;AD放入寄存器R0

MOVR1,#TEMP;数字值放入R1

MOVR2,#4;高位有4个字节

DP10:

MOVDPTR,#SEGTAB

MOVA,@R0

MOVCA,@A+DPTR

MOV@R1,A

INCR0

INCR1

DJNZR2,DP10;R2-1=0,不转移,执行下一步

MOVR0,#TEMP

MOVR1,#4;低位有4个字节

DP12:

MOVR2,#8;循环左移8次,共8个字节

MOVA,@R0

DP13:

RLCA

MOVDIN,C;通过循环左移,把A中内容逐个移入C,再把;进位标志位状态送入P10口,使数码显示AD

CLRCLK

SETBCLK

DJNZR2,DP13

INCR0

DJNZR1,DP12

RET

SEGTAB:

DB3FH,6,5BH,4FH,66H,6DH;0,1,2,3,4,5

DB7DH,7,7FH,6FH,77H,7CH;6,7,8,9,A,B

DB58H,5EH,79H,71H,0,00H;C,D,E,F,-

DELAY:

MOVR4,#80H

AA1:

MOVR5,#0FFH

AA:

NOP

NOP

DJNZR5,AA

DJNZR4,AA1

RET

五、实验步骤

1)系统各跳线器处在初始设置状态。

用导线对应连接并行模数转换模块的CS_0809、EOC到CPU模块的8000、P32;电位器模块的输出端接并行模数转换模块的IN-0;并行模数转换模块的Vref接+5V电源;CPU模块的P10、P11接串行静态数码显示模块DIN、CLK。

2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

3)数码管以十六进制形式显示模拟量,手动调节输入电位器,改变输入模拟量电压的大小,数码管显示将随之变化。

六、实验结果与分析

7、实验心得

本次实验较为简单,按照实验步骤很快就完成实验,实验程序也不难读懂。

通过这次试验,我掌握了ADC0809模/数转换芯片与单片机的连接方法及ADC0809的典型应用,也了解了用查询方式、中断方式完成模/数转换程序的编写方法,获益匪浅。

 

实验四

(二)并行D/A转换实验

一、实验目的

1、了解DAC0832直通方式、单缓冲器方式、双缓冲器方式的编程方法。

2、掌握DAC0832单缓冲器方式数模转换程序的编程方法和调试方法。

二、实验内容

利用系统提供的DAC0832接口电路,实现单片机数模转换,使DAC0832输出正弦波。

三、实验说明和电路原理图

1、DAC0832是8位D/A转换器,它采用CMOS工艺制作,具有双缓冲器输入结构,其引脚排列如图所示,DAC0832各引脚功能说明:

DI0~DI7:

转换数据输入端。

CS:

片选信号输入端,低电平有效。

ILE:

数据锁存允许信号输入端,高电平有效。

WR1:

第一写信号输入端,低电平有效,

Xfer:

数据传送控制信号输入端,低电平有效。

WR2:

第二写信号输入端,低电平有效。

Iout1:

电流输出1端,当数据全为1时,输出电流最

大;数据全为0时,输出电流最小。

Iout2:

电流输出2端。

DAC0832具有:

Iout1+Iout2=常数的特性。

Rfb:

反馈电阻端。

Vref:

基准电压端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电压范

围为:

-10V~+10V。

DAC0832内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存器由ILE、CS、WR1控制,DAC寄存器由WR2、Xref控制,用软件指令控制这五个控制端可实现三种工作方式:

直通方式、单缓冲方式、双缓冲方式。

直通方式是将两个寄存器的五个控制端预先置为有效,两个寄存器都开通只要有数字信号输入就立即进入D/A转换。

单缓冲方式使DAC0832的两个输入寄存器中有一个处于直通方式,另一个处于受控方式,可以将WR2和Xfer相连在接到地上,并把WR1接到51的WR上,ILE接高电平,CS接高位地址或地址译码的输出端上。

双缓冲方式把DAC0832的输入寄存器和DAC寄存器都接成受控方式,这种方式可用于多路

模拟量要求同时输出的情况下。

三种工作方式区别是:

直通方式不需要选通,直接D/A转换;单缓冲方式一次选通;双缓冲方式二次选通。

本实验需要用到CPU模块(F3区)、并行数模转换模块(D8区)。

DAC0832并行数模转换电路原理参见图22-1。

4、实验程序

文件名:

并行A/D转换器AD0832转换程序(正弦波)FOR51MCU

功能:

通过查表方式把数字信号转化成模拟信号,本程序是通过查表把数字量转化成正弦信号。

接线:

用导线连接并行数模转换模块的CS_0832到CPU模块的8000H;

并行数模转换模块的VOUT端口接入示波器,示波器接地端接电源开关处的地端;

调节电位器RW3D,把-Vref电压调到-5V.

程序:

DAC0832EQU8000H

ORG0000H

LJMPSTART

ORG0100H

START:

MOVSP,#60H

MOVR0,#0;定义指向正弦DAC数据的指针,;因为有361个数据

MOVR1,#0;所以用了R0和R1两个寄寸器

LOOP:

MOVA,R0

MOVDPTR,#SINE_DATA

CJNER1,#1,LOW_TAB

INCDPH;判断指针的高位字节R1是否为1。

;如果是,则DPH

LOW_TAB:

;加1

MOVCA,@A+DPTR;取出正弦波DAC的数据

MOVDPTR,#DAC0832

MOVX@DPTR,A;启动D/A转换

INCR0;指针底八位加1处理

CJNER1,#1,INC_LOW

CJNER0,#105,INC_OK

MOVR0,#0;如果已经取完数据并输出,则重新;设置指针

MOVR1,#0

SJMPINC_OK

INC_LOW:

CJNER0,#0,INC_OK;判断是否要进位

MOVR1,#1

INC_OK:

ACALLDELAY

AJMPLOOP;通过设置延时时间的长短来改变;锯齿波的周期

DELAY:

MOVR7,#5;改变数值可以改变正弦波的频率

DJNZR7,$

RET

;正弦波数据表,8位DAC的数据

SINE_DATA:

DB128,130,132,135,137,139,141,144,146,148

DB150,152,155,157,159,161,163,165,168,170

DB172,174,176,178,180,182,184,186,188,190

DB192,194,196,198,200,201,203,205,207,209

DB210,212,214,215,217,219,220,222,223,225

DB226,227,229,230,232,233,234,235,237,238

DB239,240,241,242,243,244,245,246,247,247

DB248,249,250,250,251,252,252,253,253,254

DB254,254,255,255,255,255,255,255,255,255

DB255,255,255,255,255,255,255,255,255,254

DB254,254,253,253,252,252,251,250,250,249

DB248,247,247,246,245,244,243,242,241,240

DB239,238,237,235,234,233,232,230,229,227

DB226,225,223,222,220,219,217,215,214,212

DB210,209,207,205,203,201,200,198,196,194

DB192,190,188,186,184,182,180,178,176,174

DB172,170,168,165,163,161,159,157,155,152

DB150,148,146,144,141,139,137,135,132,130

DB128,126,124,121,119,117,115,112,110,108

DB106,104,101,99,97,95,93,91,88,86

DB84,82,80,78,76,74,72,70,68,66

DB64,62,60,58,56,55,53,51,49,47

DB46,44,42,41,39,37,36,34,33,31

DB30,29,27,26,24,23,22,21,19,18

DB17,16,15,14,13,12,11,10,9,9

DB8,7,6,6,5,4,4,3,3,2

DB2,2,1,1,1,0,0,0,0,0

DB0,0,0,0,0,0,1,1,1,2

DB2,2,3,3,4,4,5,6,6,7

DB8,9,9,10,11,12,13,14,15,16

DB17,18,19,21,22,23,24,26,27,29

DB30,31,33,34,36,37,39,41,42,44

DB46,47,49,51,53,55,56,58,60,62

DB64,66,68,70,72,74,76,78,80,82

DB84,86,88,91,93,95,97,99,101,104

DB106,108,110,112,115,117,119,121,124,126

DB128

END

五、实验步骤

1)系统各跳线器处在初始设置状态。

用导线连接并行数模转换模块的CS_0832到CPU模块的8000H;并行数模转换模块的VOUT端口接入示波器,示波器接地端接电源开关处的地端。

2)用万用表测量“-Vref”端的电压,手动调节电位器RW3D,把-Vref电压调到-5V。

3)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。

编译无误后,下载程序运行。

4)观察示波器,测量输出正弦波的周期和幅度。

六、实验结果与分析

七、实验心得

通过此次实验,我了解了DAC0832直通方式、单缓冲器方式、双缓冲器方式的编程方法,还掌握了DAC0832单缓冲器方式数模转换程序的编程方法和调试方法。

 

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

当前位置:首页 > 考试认证 > 财会金融考试

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

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