ADDA实验DOCWord格式.docx
《ADDA实验DOCWord格式.docx》由会员分享,可在线阅读,更多相关《ADDA实验DOCWord格式.docx(13页珍藏版)》请在冰豆网上搜索。
1、流程图
2、源程序
DBUF0EQU30H;
置存储区首址
TEMPEQU40H;
置缓冲区首址
DINBIT0B0H;
;
置串行输出口
CLKBIT0B1H;
置时钟输出口
ORG0
MOV30H,#8;
存入显示数据
MOV31H,#9
MOV32H,#C
MOV33H,#5
MOV34H,#1
DISP:
MOVR0,#DBUF0
MOVR1,#TEMP
MOVR2,#5
DP10:
MOVDPTR,#SEGTAB;
表头地址
MOVA,@R0
MOVCA,@A+DPTR;
查表指令
MOV@R1,A
INCR0
INCR1
DJNZR2,DP10
MOVR0,#TEMP;
段码地址指针
MOVR1,#5;
段码字节数
DP12:
MOVR2,#8;
输出子程序
MOVA,@R0;
取段码
DP13:
RLCA;
段码左移
MOVDIN,C;
输出一位段码
CLRCLK;
发送移位脉冲一位
SETBCLK
DJNZR2,DP13
DJNZR1,DP12
SJMP$
SEGTAB:
DB3FH,06H,5BH,4FH,66H,6DH;
0,1,2,3,4,5
DB7DH,07H,7FH,6FH,77H,7CH;
6,7,8,9,A,B
DB58H,5EH,7BH,71H,00H,40H;
C,D,E,F,,-
DELAY:
MOVR4,#03H;
延时子程序
AA1:
MOVR5,#0FFH
AA:
DJNZR5,AA
DJNZR4,AA1
RET
END
五、电路图
实验三十ADC0809模数转换实验
1、掌握ADC0809模/数转换芯片与单片机的连接方法及ADC0809的典型应用。
2、掌握用查询方式、中断方式完成模/数转换程序的编写方法。
二、实验说明
本实验使用ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。
下图为该芯片的引脚图。
各引脚功能如下:
IN0~IN7:
八路模拟信号输入端。
ADD-A、ADD-B、ADD-C:
三位地址码输入端。
八路模拟信号转换选择由这三个端口控制。
CLOCK:
外部时钟输入端(小于1MHz)。
D0~D7:
数字量输出端。
OE:
A/D转换结果输出允许控制端。
当OE为高电平时,允许A/D转换结果从D0~D7端输出。
ALE:
地址锁存允许信号输入端。
八路模拟通道地址由A、B、C输入,在ALE信号有效时将该八路地址锁存。
START:
启动A/D转换信号输入端。
当START端输入一个正脉冲时,将进行A/D转换。
EOC:
A/D转换结束信号输出端。
当A/D转换结束后,EOC输出高电平。
Vref(+)、Vref(-):
正负基准电压输入端。
基准正电压的典型值为+5V。
VCC和GND:
芯片的电源端和地端。
三、实验步骤
1、单片机最小应用系统1的P0口接A/D转换的D0~D7口,单片机最小应用系统1的Q0~Q7口接0809的A0~A7口,单片机最小应用系统1的WR、RD、P2.0、ALE、INT1分别接A/D转换的WR、RD、P2.0、CLOCK、INT1,A/D转换的IN接入+5V,单片机最小应用系统1的RXD、TXD连接到串行静态显示实验模块的DIN、CLK。
4、打开AD0809.ASM源程序,编译无误后,全速运行程序,5LED静态显示“ADXX”,“XX”为AD转换后的值,8位逻辑电平显示“XX”的二进制值,调节模拟信号输入端的电位器旋钮,显示值随着变化,顺时针旋转值增大,AD转换值的范围是0~FFH。
1.流程图
2.源程序
DBUF0EQU30H
TEMPEQU40H
DINBIT0B0H;
P3.0地址
CLKBIT0B1H;
P3.1地址
ORG0000H
START:
MOVR0,#DBUF0;
显示缓冲器存放0AH,0DH,-,0XH,0XH
MOV@R0,#0AH;
“A”送显示缓冲区串行静态显示“ADXX”XX表示0~F
INCR0
MOV@R0,#0DH;
“D”送显示缓冲区
MOV@R0,#10H;
“10”送显示缓冲区,空格的段码偏移地址
MOVDPTR,#0FEF3H;
A/D地址
MOVA,#0;
清零
MOVX@DPTR,A;
启动A/D
JNBP3.3,$;
等待转换结束
MOVXA,@DPTR;
读入结果
MOVP1,A;
转换结果送入发光二极管显示
MOVB,A;
累加器内容存入B中
SWAPA;
A的内容高四位与低四位交换
ANLA,#0FH;
A的内容高四位清零
XCHDA,@R0;
A/D转换结果高位送入DBUF3中(低半字节交换)
MOVA,B;
取出A/D转换后的结果
XCHDA,@R0;
结果低位送入DBF4中(低半字节交换)
ACALLDISP1;
串行静态显示“ADXX”
ACALLDELAY;
延时
AJMPSTART
DISP1:
静态显示子程序
MOVR0,#DBUF0
MOVR1,#TEMP
MOVR2,#5
MOVDPTR,#SEGTAB;
表头地址
MOVA,@R0
MOVCA,@A+DPTR;
MOV@R1,A;
到TEMP中
INCR1
DJNZR2,DP10
MOVR0,#TEMP;
MOVR1,#5;
MOVR2,#8;
移位次数
MOVA,@R0;
段码左移(带进位左移一位)
MOVDIN,C;
CLRCLK;
发送一个位移脉冲
SETBCLK
DJNZR2,DP13
DJNZR1,DP12
DB3FH,6,5BH,4FH,66H,6DH;
DB7DH,7,7FH,6FH,77H,7CH;
6,7,8,9,A,b
DB58H,5EH,79H,71H,0,40H;
C,d,E,F,(空格),-
MOVR4,#08H
MOVR5,#0FFH
NOP
DJNZR5,AA
DJNZR4,AA1
五、思考题
1、A/D转换程序有三种编制方式:
中断方式、查询方式、延时方式,实验中使用了查询方式,请用另两种方式编制程序。
2、P0口是数据/地址复用的端口,请说明实验中ADC0809的模拟通道选择开关在利用P0口的数据口或地址地位口时,程序指令和硬件连线的关系。
六、电路图
74ls02是四2输入或非门.作用是二个输入的或运算,运算后反相输出.
实验三十一DAC0832数模转换实验
1、掌握DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法
2、掌握D/A转换程序的编程方法和调试方法
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接到89C51的WR上,ILE接高电平,CS接高位地址或地址译码的输出端上。
双缓冲方式把DAC0832的输入寄存器和DAC寄存器都接成受控方式,这种方式可用于多路模拟量要求同时输出的情况下。
三种工作方式区别是:
直通方式不需要选通,直接D/A转换;
单缓冲方式一次选通;
双缓冲方式二次选通。
1、单片机最小应用系统1的P0口接0832的DI0~DI7口,单片机最小应用系统1的P2.0、WR分别接D/A转换的P2.0、WR,Vref接-5V,D/A转换的OU