ADC0809--EDA实验

合集下载

实验7 AD转换0809应用实验

实验7 AD转换0809应用实验

一、实验内容利用实验仪上的0809做A/ D转换实验,〖ZH(〗实验仪上的W1电位器提供模拟量输入。

编制程序,将模拟量转换成数字量,通过发光二极管L1-L8显示。

二、实验说明A/ D转换器大致分有三类:一是双积分A/ D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/ D转换器,精度、速度、价格适中;三是并行A/ D转换器,速度快,价格也昂贵。

实验用ADC0809属第二类,是8位A/ D转换器。

每采集一次一般需100μs。

由于ADC0809 A/ D转换器转换结束后会自动产生EOC信号(高电平有效),取反后将其与8031的INT0相连,可以用中断方式读取A/ D转换结果。

三、实验步骤①把A/D区0809的0通道IN0用插针接至W1的中心抽头V01插孔(0-5V)。

②0809的CLK插孔与分频输出端T4相连。

③将W2的输入VIN接+12V插孔,+12V插孔再连到外置电源的+12上(电源内置时,该线已连好)。

调节W2,使V REF 端为+5V。

④将A/D区的VREF 连到W2的输出VREF 端。

⑤EXIC1上插上74LS02芯片,将有关线路按图连好。

⑥将A/D区D0-D7用排线与BUS1区XD0-XD7相连。

⑦将BUS3区P3.0用连到数码管显示区DA TA插孔。

⑧将BUS3区P3.1用连到数码管显示区CLK插孔。

⑨单脉冲发生/SP插孔连到数码管显示区CLR插孔。

⑩仿真实验系统在"P....."状态下。

⑾以连续方式从起始地址06D0运行程序,在数码管上显示当前采集的电压值转换后的数字量,调节W1数码管显示将随着电压变化而相应变化,典型值为0-00H,2.5V-80H,5V-FFH。

#include<reg51.h>#include<absacc.h>#define ad0809 XBYTE[0x9000]//sbit eoc=P3^3;sbit clk=P3^1;sbit sdata=P3^0;void HC164_Send(unsigned char displaysag); void display(unsigned char d);extern void delay(unsigned int n);void delay(unsigned int n);void main(void){unsigned char *add;unsigned char d,adcdata;float adc;add=& ad0809;while(1){*add=0x00;//while(eoc==0);delay(1);d=*add;adc=(float)d*5/255+0.05;adcdata=adc*10;display(adcdata);delay(30000);}}void delay(unsigned int n){while(n--);}。

实验六 ADC0809转换实验

实验六   ADC0809转换实验

8位A/D转换实验1.实验目的了解A/D转换器ADC0809的基本性能;掌握A D C0809转换芯片的使用及与C P U接口方法。

学习A/D转换程序设计方法。

通过实训了解单片机的数据采集过程。

2.实验原理及内容用一片ADC0809和必要的外围器件与A T89C51进行接口连接,设计一个简易数字电压表,要求能对IN0所输入的模拟电压进行识别,将其转换成相应的二进制数并以发光二极管的形式显示;用万用表测量IN0输入的模拟电压值,并与转换结果进行对比,计算测量误差。

八路8位A/D实验电路由一片A D C0809,一片74L S02,一片74L S373组成。

A D C0809转换器引脚排布如图1所示。

图1A D C0809转换器引脚A D C0809转换芯片内部结构如图2所示。

图2A D C0809转换芯片内部结构A D C0809是一种能将8路模拟信号转换成8位数字量的A/D转换器,它采用逐次逼近法进行转换。

8路模拟开关由3位地址码经译码进行选通。

3位地址码在0809内部可锁存。

其输出的8位数字也可锁存。

控制信号及引脚功能:I N0~I N7:8个模拟输入量0~5V。

S T R A T:启动A/D转换信号,高电平有效,启动0809开始转换。

E O C:转换结束信号,A/D转换结束,发一正脉冲,此信号可用作A/D转换结束的检测信号或中断请求信号。

O E: 输出允许信号,此信号被选中时(当O E为高电平时),允许从A/D锁存器中读取数字量,高电平有效,一般由C P U发来的(C S)和读信号(R D)联合产生O E信号。

当O E为低电平时,D0~D7对外呈高阻抗。

C L K: 转换时钟,A/D转换需要时钟信号。

A L E:地址锁存允许信号,这个信号是外部加到0809上的信号,高电平有效,它的作用是把外部加来的选择模拟开关的地址码锁存到0809的地址锁存器内,A L E与外加地址码决定选哪个模拟输入通道。

ADC0809实验

ADC0809实验

思考和练习
1.ADC0809的转换结果是否有误差? 若有,则当输入为
2.567V时,转换相对误差是多少?
2.当0通道的输入电压超过参考电压4.096V,如何才能利
用ADC0809测量该电压。
汇编 源程序 CH EQU 30H DPCNT EQU 31H DPBUF EQU 33H GDATA EQU 32H ST BIT P3.0 OE BIT P3.1 EOC BIT P3.2 ORG 00H LJMP START ORG 0BH LJMP T0X ORG 30H START: MOV CH,#0BCH MOV DPCNT,#00H MOV R1,#DPCNT
编程与调试
(一)0通道测量电压 1.程序说明 本实验由实验箱的右上角 的电压调节器调节输入电压 的Vx大小,并送入0809的0通 道。实验测得的电压值显示 在实验主板的LED上。
2.编程思路
开始 EPP接口、8255初始化 启动ADC0809
读取EOC状态值 EOC=1?
N
Y
读取ADC0809输出值 送CRT、LED显示 结束
256R 电阻分压器
11 13 12 16
ENABLE
Vcc GND VREF(+)
VREF(-)
转换原理
K7 K6 K5 K4 K3 K K1 K0 2.048 1.024 0.512 0.256 0.128 0.064 0.032 0.016
Ki = 1 ( i = 0,1,2,3,4,5,6,7 ) 例如: Vx = 2.567V, 则 K7=1, Vc = 2.048(V) < Vx , 故 K7 = 1 K6 = 1, Vc = 2.048 + 1.024 = 3.072(V),故 K6 = 0 K5 = 1, Vc = 2.048+ 0.512 = 2.560 (V) < 2.567(V) , 故 K5 = 1 同理, K4 = 0, K3 = 0, K2 =0, K1 = 0, K0=0 则转换结果为: 2.560 (V)

大连理工大学计算机原理实验五ADC0809报告

大连理工大学计算机原理实验五ADC0809报告

大连理工大学实验报告实验室(房间号):420 实验台号码:4班级:电子1303姓名:指导教师签字:成绩:实验五ADC0809实验一、实验目的和要求了解ADC0809模数转换器的基本原理,外围电路结构及编程方法。

二、实验算法整个程序由主程序,中断服务程序和8255A的B口输出组成。

主程序:对ADC0809的初始化及启动和对8255A的初始化。

改变电位器:读取ADC数据,送LED显示模块。

三、实验电路图四、实验流程图五、程序清单.model small.386AD_IO EQU 200hIO_8255 EQU 220hDATA SEGMENTBUF DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,IO_8255ADD DX,03HMOV AL,10000000BOUT DX,ALRPT: MOV DX,AD_IO ;ADC启动转换地址OUT DX,AL ;启动ADCADD DX,02HL1: IN AL,DXTEST AL,01H ;测试EOC=1?JZ L1MOV DX,AD_IO ;读数据地址INC D XIN AL,DXMOV BUF,ALCALL DISP ;显示JMP RPTDISP PROCMOV AL,BUFMOV DX,IO_8255ADD DX,01HOUT DX,ALRETDISP ENDPCODE ENDSEND START六、实验结果与分析运行程序,可以观察到LED亮,旋转电位器旋钮,改变模拟量,可以观察到LED亮暗变化,说明变成了新的数字量,实现了数模转换。

七、实验体会和建议通过本实验,掌握了0809的使用方法。

实验涉及到硬件电路的连接,因此在调试之前一定要注意连接正确。

本次实验刚开始我在DISP子程序中出现了一个错误,导致运行程序后LED并没有亮,经过设置断点进行调试才找到错误并改正。

EDA实验报告4_ADC采样控制电路

EDA实验报告4_ADC采样控制电路
实验内容
1.利用QuartusⅡ,在书本例7-2(P244)的基础上参考《KHF-4型实验指导书》实验十一进行修改,为其建立工程文件,进行文本编辑输入和仿真测试,给出仿真波形,并进行硬件测试
实验步骤
1.用VHDL文本输入方法完成ADCINT.vhdl的有限状态机的设计,创建project,编译、仿真,给出时序波形图。
2.ADC0809各引脚及其功能示意图如下所示
转换流程:
<1>CLK为转换时钟输入端口(500KHz)
<2>8路通道地址选择ADD-C/B/A控制模拟通道IN[7..0]地址,ALE锁存
<3>START上升沿启动转换
<4>EOC为低电平则转换继续,高电平时转换结束
<5>此时OE置为高电平,转换好的数据由LOCK锁存并通过D[7..0]输出
2.引脚锁定,编程下载,进行硬件测试
实验结果及分析
1.Vhdl文本输入所得仿真波形
2.原理图输入法设计及其仿真波形
1.由仿真波形可以看出,有限状态机的设计符合预期
2.调节电位器,通过改变模拟输入量,可在数码管SEG1和SEG2上看到转换的结果,输出范围从00~FF,同时OUTA(13~7)、OUTA (6~0)所对应的各LED灯按二进制取值不同亮灭情况不同。
实验过程中所遇到的问题及相应的解决方法
1.时序仿真的时候由于EOC的周期取值过小,导致得不到预期的结果,有限状态机的状态总是停留在cs:s2,或者在OE的高电平期间,ALE、START、LOCK1会有多个短暂的脉冲,时序已不正确。经调整EOC的周期,问题得以解决。
2.在进行FPGA硬件测试时,刚开始编程下载后数码管只显示FF,调节电位器,显示的值并没有改变。重新编程下载,数码管显示的是另一个值,经仔细检查仍不得其因。最后只得将课本例7-2的ADC0809状态机的设计代码整合进ADCINT.vhdl,也就是改变状态机的设计。再次编程下载,调节电位器,数码管和LED灯可以正常工作,随输入的改变而改变输出值。

实验三 ADC0809模数转换实验

实验三  ADC0809模数转换实验

实验三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。

2、基于KEIL建立A/D转换程序。

要求将采集到的电压等间隔分为0~9共10级,并用一位共阴级数码管显示出来。

四、流程图及源程序1.流程图如图2所示。

AD0809转换实验

A/D转换实验1、实验目的:掌握A/D转换与单片机接口的方法;了解A/D芯片0809转换性能及编程方法;2、实验内容:利用综合实验仪上的0809做A/D转换器,综合实验仪上的电位器提供模拟量输入,编制程序,将模拟量转换成数字量,通过8155键显区数码管显示出来。

3、实验电路图4、实验器材:(1)超想-3000TB综合实验仪 1 台(2)超想3000仿真器 1 台(3)连线若干根(4)计算机 1 台5、实验连线:ADC0809的09IN0通道与模拟信号发生器的Vin0孔相连,ADC080片选信号CS09 孔与译码器的YC2孔相连,脉冲源的0.5M与ADC0809的CLOCK相连。

6、实验原理:A/D转换器的功能主要是将输入的模拟信号转换成数字信号,如电压、电流、温度测量等都属于这种转换。

本实验中采用的转换器为ADC0809,它是一个8位逐次逼近型A/D转换器,可以对8个模拟量进行转换,转换时间为100μS。

其工作过程如下:首先由地址锁存信号ALE的上升沿将引脚ADDA、ADDB和ADDC上的信号锁存到地址寄存器内,用以选择模拟量输入通道;START信号的下降沿启动A/D转换器开始工作;当转换结束时,AD0809使EOC引脚由低电平变成高电平,程序可以通过查询的方式读取转换结果,也可以通过中断方式读取结果。

CLOCK为转换时钟输入端,频率为100KHz-1.2MHz,推荐值为640KHz。

7、程序框图8、实验步骤:(1)设定仿真模式为程序空间在仿真器上,数据空间在用户板上(2)硬件诊断:调整综合实验仪上模拟信号发生器的电位器,使输入到此AD0809的IN0上电压为一定值。

(3)编写程序,并编译通过。

本程序使用查询的方式读取转换结果。

在读取转换结果的指令后设置断点,运行程序,在断点处检查并读出A/D转换结果,数据是否与Vin0相对应。

修改程序中错误,使显示值随Vin0变化而变化。

9、实验程序OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段控制口(接164时钟位)DAT164 equ 0e102h ; 段控制口(接164数据位)IN equ 0e103h ; 键盘读入口LEDBuf equ 40h ; 显示缓冲org 0000hmov sp,#60hmov dptr,#0e100h ;8155初始化mov a,#03hmovx @dptr,amov 40h,#00h ;显示缓冲器初始化mov 41h,#08hmov 42h,#00hmov 43h,#09hmov 44h,#00h ;存放转换后数字的高位mov 45h,#00h ;存放转换后数字的低位LOOP1: MOV R7,#40VI: LCALL DISPLAYDJNZ R7,VImov a,#00hmov dptr,#0a000hmovx @dptr,a ;0809AD的通道开始转换mov r7,#0fhloop2: djnz r7,loop2movx a,@dptr ;读取转换结果mov r0,#45h ;拆字lcall ptdssjmp loop1ptds: mov r1,alcall ptds1mov a,r1swap aptds1: anl a,#0fhmov @r0,adec r0retDelay:mov r7, #0 ; 延时子程序DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretDISPLAY:setb 0d3hmov r0, #LEDBufmov r1, #6 ; 共6个八段管mov r2, #00100000b ; 从左边开始显示Loop:mov dptr, #OUTBITmov a, #00hmovx @dptr, a ; 关所有八段管mov a, @r0mov dptr,#LEDmapmovc a,@a+dptrmov B, #8 ; 送164DLP:rlc amov r3, amov acc.0, canl a,#0fdhmov dptr, #DAT164movx @dptr, amov dptr, #CLK164orl a,#02hmovx @dptr, aanl a,#0fDhmovx @dptr, amov a, r3djnz B, DLPmov dptr, #OUTBITmov a, r2movx @dptr, a ; 显示一位八段管mov r6, #1call Delaymov a, r2 ; 显示下一位rr amov r2, ainc r0djnz r1, Loopmov dptr, #OUTBITmov a, #0movx @dptr, aclr 0d3h ; 关所有八段管retLEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07hdb 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hEND10、实验思考:1、试编写循环采集8路模拟量输入A/D转换程序。

ADC0809A-D转换器基本应用技术

ADC0809A-D转换器基本应用技术D(6).当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

3.实验任务如下图所示,从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。

ADC0809的VREF接+5V 电压。

4.电路原理图图1.27.15.系统板上硬件连线(1).把“单片机系统板”区域中的P1端口的P1.0-P1.7用8芯排线连接到“动态数码显示”区域中的A B C D E F G H端口上,作为数码管的笔段驱动。

(2).把“单片机系统板”区域中的P2端口的P2.0-P2.7用8芯排线连接到“动态数码显示”区域中的S1 S2 S3 S4 S5 S6 S7 S8端口上,作为数码管的位段选择。

(3).把“单片机系统板”区域中的P0端口的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端口上,A/D转换完毕的数据输入到单片机的P0端口(4).把“模数转换模块”区域中的VREF端子用导线连接到“电源模块”区域中的VCC端子上;(5).把“模数转换模块”区域中的A2A1A0端子用导线连接到“单片机系统”区域中的P3.4 P3.5 P3.6端子上;(6).把“模数转换模块”区域中的ST端子用导线连接到“单片机系统”区域中的P3.0端子上;(7).把“模数转换模块”区域中的OE端子用导线连接到“单片机系统”区域中的P3.1端子上;(8).把“模数转换模块”区域中的EOC端子用导线连接到“单片机系统”区域中的P3.2端子上;(9).把“模数转换模块”区域中的CLK端子用导线连接到“分频模块”区域中的/4 端子上;(10).把“分频模块”区域中的CK IN端子用导线连接到“单片机系统”区域中的ALE 端子上;(11).把“模数转换模块”区域中的IN3端子用导线连接到“三路可调压模块”区域中的VR1 端子上;6.程序设计内容(1).进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。

实验十一 A_D转换实验实验

EDA实验报告之实验十一A/D转换实验1、实验目的(1)掌握A/D转换器与单片机接口的方法;(2)了解A/D芯片0809的转换性能及编程方法;(3)通过实验了解数据采集、处理的基本方法。

2、实验要求利用实验板上的ADC0809做A/D转换器,实验板上的电位器提供模拟量输入,编制程序,将模拟量转换成二进制数字量,在数码管的最高两位显示出数字量来。

另外要把模拟量值在数码管的最低三位显示出来。

例如显示“80 2.50”(其中80是采样数值,而2.50是电压值。

要求程序可连续运行以便测量不同的模拟电压(类似于电压表)(注意:多次采集求平均值可提高转换精度)3、实验说明1)原理图参看LAB6000使用手册、图示帮助等;2)连线方式与LAB6000给出的有所不同,这里的实验用数码管显示结果(原实验则用LED显示结果);3)EOC可接中断、其它引脚或不接,对应的获取数据方法为中断、查询、延迟,建议采用中断方法;4)注意ADC0809各连线接在了什么位置。

4、写出实验报告(包括6位LED显示的部分电路图)。

5、实验内容5.1 使用仪器、仪表,开发平台型号本实验用到了WAVE 6000软件平台,电脑一台,LAB6000实验箱,若干连线,串行数据线。

5.2 性能指标、技术要求、思路方案、流程图5.2.1性能指标、技术要求见实验目的和实验要求。

5.2.2 思路方案:先将所有中断使能位置位,然后启动A/D转换。

在主程序中显示缓冲区的内容,判断4次中断已满的标志位是否置位,是的话调用计算子程序计算数字平均值和模拟值,这个过程反复循环的进行。

5.2.3流程图:主程序:计算数字量和模拟量的子程序:中断子程序:5.3源程序;采样的数字值放在20H 开始的单元中,修改R6的值(4);可以控制采样的个数(为了方便我们选择2,4,8……等2的倍数),上限为256个ORG 0000HLJMP BEGIN ;ORG 0003H ;外部中断0LJMP INT0ORG 0030H;=================BEGIN:FLAG EQU 50H ;对应到16进制的是2A单元,四次中断是否满的标志位TRANS EQU 51H ;是否一次转换完毕的标志位MOV R0,#20H ;采样数据存储单元MOV R6,#4 ;采样4次求均值CLR FLAGCLR TRANSSETB EA ; 开所有中断SETB IT0 ; INT0边沿触发SETB EX0 ; 允许INT0中断MOV DPTR,#8000H ; 指向0809 IN0通道地址MOVX @DPTR,A;=================LOOP:LCALL DISPLAYJNB TRANS,LOOP ;判断是否发生EOC,为0时转移CLR TRANSJNB FLAG,CONTINUE ;为0时转移CLR FLAGLCALL COMPUTEECONTINUE:MOV DPTR,#8000HMOVX @DPTR,A ; 启动A/D转换,因为与A值无关,故不管ALJMP LOOP;================= ;中断服务程序INT0:MOVX A,@DPTR ; 读A/D转换结果MOV @R0,AINC R0DJNZ R6,RETURNSETBFLAGMOV R6,#4MOV R0,#20HRETURN:SETB TRANSRETI;=================DISPLAY:MOV R4,#02H;==============BEGIN0:MOV A,#01H ;位选择字节MOV R2,#5 ;5次MOV R1,#60H ;数据地址LOOOP:MOV DPTR,#9002H ;位选输出地址MOVX @DPTR,ARL A ;修改位信号PUSH AMOV DPTR,#9004H ;数据输出地址MOV A,@R1LCALL CHECK ;查表CJNE R1,#62H,PEIORL A,#80HPEI:MOVX @DPTR,ALCALL DELAYINC R1POP ADJNZ R2,LOOOPLCALL DELAY ;为了两轮显示间时间间隔久一些DJNZ R4,BEGIN0RET;================DELAY:MOV R5,#02HMOV R3,#09FHLOOPP:DJNZ R3,$DJNZ R5,LOOPPRET;================= ;计算数字平均值和模拟值COMPUTEE: ;计算采样值总和,放在BA单元,前者为高位MOV R1,#20H ;指向20H单元MOV R5,#4CLR CCLR AMOV B,ALLOOPP:ADD A,@R1JNC GOONINC B ;C为1是加一CLR CGOON:INC R1DJNZ R5,LLOOPP;====================MOV R5,#2 ;2的2倍是4次DIVISION: ;数字平均值最后在A中,B移位完后为0PUSH AMOV A,BCLR CRRC AMOV B,A ;暂存POP ARRC ADJNZ R5,DIVISION;===================== ;这部分程序是为了获得模拟值和将数字量分别存为两个字节里面PUSH APUSH AANL A,#0FHMOV 63H,APOP AANL A,#0F0HSWAP AMOV 64H,APOP AMOV B,#5MUL ABMOV 62H,BMOV B,#10MUL ABMOV 61H,BMOV B,#10MUL ABMOV 60H,BRET;==================CHECK:INC AMOVC A,@A+PCRETTABLE:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79HDB 71H5.4实验步骤,完成情况5.4.1在WAVE 6000中新建文件,并将代码写入文件中,保存为EXPERIMENT11.ASM;5.4.2在WAVE 6000中新建项目,并在模块文件中包含上述EXPERIMENT11.ASM文件,最后保存为EXPERIMENT11.PRG。

实验十三 AD转换器ADC0809实验

实验十三A/D转换器ADC0809实验五、实验步骤1、单通道采集接线⑴使用2×10的排线连接D7区的J28接到A7区的J84;⑵将D2区10K电位器的左端金属孔通过导线连接到该区的GND金属孔,而右端金属孔通过导线连接到该区的VCC金属孔;⑶D2区10K电位器的中间金属孔连接到A7区的P2_IO2金属孔(IN0);⑷将A7区的P2_IO3~P2_IO5分别连接到A2区的A2~A0;⑸将A7区的P2_CS连接到A2区的A15;⑹用排线将A2区的J61与D1区的J52相连。

2、实验步骤⑴运行编写好的软件程序,每次跑到断点就会停止,此时观察转换的结果和用数字万用表测量的结果相比较是否正确(所需观察的存储单元或者变量在程序中依照注释执行);⑵改变10K电位器的旋钮位置,用数字万用表测量中间金属孔的电压,再次运行程序至断点处,观察转换的结果是否正确。

⑶扭动电位器,改变IN0模拟输入电压,再次运行程序到断点处,观察30H单元的数值是否随之改变,同时观察8个发光二极管显示的转换结果的二进制数(1亮,0灭),改变的是否正确?⑷数据换算成实际电压值是否与万用表的测量结果相等?3、实验参考程序清单ORG 8000HLJMP MAINORG 8100HMAIN: MOV SP,#70HMAIN1: MOV R1,#30H ;置数据区首地址,用于存放A/D转换结果MOV DPTR,#7FF8H ;P2.0=0,且指向通道0LOOP:MOVX @DPTR,A;启动A/D转换CALL DELAYMOVX A,@DPTR ;读取转换结果MOV @R1,A;转存LCALL P1ZHCPL AMOV P1,ALJMP MAIN1P1ZH: MOV C,ACC.0MOV 07H,CMOV C,ACC.1MOV 06H,CMOV C,ACC.2MOV 05H,CMOV C,ACC.3MOV 04H,CMOV C,ACC.4MOV 03H,CMOV C,ACC.5MOV 02H,CMOV C,ACC.6MOV 01H,CMOV C,ACC.7MOV 00H,CMOV A,20HRETDELAY:MOV R6,#0H ;软件延时,等待转换结束DELAY1:MOV R5,#0FFHDJNZ R5,$DJNZ R5,$DJNZ R6,DELAY1RETEND调试程序的说明:在标有 的指令处设置一个断点,采用连续运行程序,在断点处观察30H 单元的内容,30H单元的内容;继续执行程序,观察8个发光二极管显示的采集结果二进制数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档