单片机AD转换实验

合集下载

单片机AD与DA转换实验报告【VIP专享】

单片机AD与DA转换实验报告【VIP专享】

对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,通系电1,力过根保管据护线生高0不产中仅工资2艺料22高试2可中卷以资配解料置决试技吊卷术顶要是层求指配,机置对组不电在规气进范设行高备继中进电资行保料空护试载高卷与中问带资题负料2荷试2,下卷而高总且中体可资配保料置障试时2卷,32调需3各控要类试在管验最路;大习对限题设度到备内位进来。行确在调保管整机路使组敷其高设在中过正资程常料1工试中况卷,下安要与全加过,强度并看工且25作尽52下可22都能护可地1关以缩于正小管常故路工障高作高中;中资对资料于料试继试卷电卷连保破接护坏管进范口行围处整,理核或高对者中定对资值某料,些试审异卷核常弯与高扁校中度对资固图料定纸试盒,卷位编工置写况.复进保杂行护设自层备动防与处腐装理跨置,接高尤地中其线资要弯料避曲试免半卷错径调误标试高方中等案资,,料要编试求5写、卷技重电保术要气护交设设装底备备置。4高调、动管中试电作线资高气,敷料中课并设3试资件且、技卷料中拒管术试试调绝路中验卷试动敷包方技作设含案术,技线以来术槽及避、系免管统不架启必等动要多方高项案中方;资式对料,整试为套卷解启突决动然高过停中程机语中。文高因电中此气资,课料电件试力中卷高管电中壁气资薄设料、备试接进卷口行保不调护严试装等工置问作调题并试,且技合进术理行,利过要用关求管运电线行力敷高保设中护技资装术料置。试做线卷到缆技准敷术确设指灵原导活则。。:对对在于于分调差线试动盒过保处程护,中装当高置不中高同资中电料资压试料回卷试路技卷交术调叉问试时题技,,术应作是采为指用调发金试电属人机隔员一板,变进需压行要器隔在组开事在处前发理掌生;握内同图部一纸故线资障槽料时内、,设需强备要电制进回造行路厂外须家部同出电时具源切高高断中中习资资题料料电试试源卷卷,试切线验除缆报从敷告而设与采完相用毕关高,技中要术资进资料行料试检,卷查并主和且要检了保测解护处现装理场置。设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

实验六 ADC0809AD转换实验

实验六 ADC0809AD转换实验

实验六 ADC0809AD转换实验一、实验目的1、掌握ADC0809AD芯片的工作原理和使用方法。

2、掌握如何使用51单片机配合ADC0809AD芯片实现模拟量转换。

二、实验原理ADC0809AD是一种8位分辨率、并行输出、单通道,3MHz 工作速率的A/D转换器。

ADC 有两个输入电压端子,IN+和IN-,它们之间加入了一个内部参考电压源(RE),所以在输入模拟信号时常在IN+端连接信号输入,而IN-端接地。

当选用RE = +2.5 V时,IN+的输入范围约为0-VREF,在本实验中选用的是RE = +5 V,所以IN+的输入范围约为0-5V。

当外部触发信号TRIGGER开启后,ADC执行转换操作。

在转换时,电压采样保持时间通常为 100 ns,最长转换时间为 200 us,当转换结束时,ADC将数字输出置在低电平并发出一个中断请求(INTR)信号。

转换结果可以通过 8个输出线路(DB0-DB7)获得。

三、实验器材2、*1 9针座(1x9 Pin Socket)。

3、*1 51单片机学习板。

4、*1 电阻10KΩ。

5、*1 电压源。

6、*1 面包板。

7、*5 条杜邦线。

四、实验步骤1、根据下表将ADC0809AD芯片插入到面包板中。

ADC0809AD引脚码ADC0809AD引脚名称功能1 A0- A/D输入(低、多路)引脚17 AGND 模拟地18 VREF/2 参考电压输出19 VCC 数字电源2、将9脚座插入面包板的横向边缘上。

3、使用杜邦线将ADC0809AD转换器连接到学习板上,并根据原理部分对芯片引脚进行接线。

4、将一个10KΩ的电阻连接到ADC0809AD芯片的IN+引脚和GND之间。

6、使用杜邦线将ADC0809AD芯片的DB0-DB7引脚连接到学习板的P0.0-P0.7引脚上。

7、将学习板的P0.0-P0.7引脚转为输出模式。

五、实验代码#include <reg52.h>// SFR位定义sfr ADC_CONTR = 0xBC; // ADC控制寄存器sfr ADC_RES = 0xBD; // ADC结果寄存器sfr ADC_RESL = 0xBE; // ADC结果低字节寄存器sfr P0 = 0x80; // P0口// 公用函数void delay(int time) // 延时函数{int i, j;for (i = 0; i < time; i++) {for (j = 0; j < 125; j++);}}while (1) {ADC_CONTR |= 0x08; // 开始转换while (!(ADC_CONTR & 0x10)); // 等待转换结束P0 = ADC_RES; // 将结果输出到P0口delay(1000); // 延时1000ms}}根据程序分析,程序采用了循环语句控制ADC的转换、输出,程序中实现的是ADC的一次转换。

AD转换器实验分析

AD转换器实验分析
实际应用在工业控制和智能化仪表中常由单片机进行实时控制及实时ad转换器实验1实验目的了解ad转换器adc0809工作原理掌握ad在工业控制和智能化仪表中常由单片机进行实时控制及实时数据处理被控制或测量对象的有关参量往往是连续变化的模拟量如温度速度压力等单片机要处理这些信号先将模拟量转换成数字量这一过程为模数ad转换
MOVX A,@DPTR ;读入状态
JNB ACC.7, TEST ;判断EOC状态,EOC=0继续查询
MOV DPTR,#0CFA0H ;EOC=1,转换完毕
MOVX A,@DPTR ;读入数据
3.转换得到的二进制数字量通过P1口送到发光二极管显示。
A/D转换器实验
2)程序流程如图4所示。
开始 启动A/D转换 读入状态信息
单片机原理与应用课程实验
实验六、A/D转换器实验
实验重点:硬件设计、程序设计、现象分析 实验难点:实际应用
A/D转换器实验
在工业控制和智能化仪表中,常由单片机进行实时控制及实时数 据处理,被控制或测量对象的有关参量往往是连续变化的模拟量, 如温度、速度、压力等,单片机要处理这些信号,先将模拟量转换 成数字量,这一过程为模/数(A/D)转换。
1、实验目的
了解A/D转换器ADC0809工作原理,掌握 A/D转换程序设计方法及与89C51连接的接口 电路设计方法。
A/D转换器实验
2、实验要求(1必做,2为选做)
1)利用实验机上的ADC0809做一个通道A/D转换器,实 验机上的电位器提供模拟量输入,编制程序,将模拟量转 换成二进制数字量,并用发光二极管显示(采用查询、延 时或中断方式转换);若在LED数码管显示ADC0809转换 结果,程序如何编写。 3)内容1)改为8通道轮流采集,在LED数码管显示,程序 如何编写。

51单片机ad转换代码及仿真

51单片机ad转换代码及仿真

51单片机ad转换代码及仿真一、前言51单片机是一种广泛应用于嵌入式系统领域的微控制器,其具有低功耗、高性能、易学易用等特点。

其中,AD转换模块是其重要的功能之一,可以实现模拟信号到数字信号的转换。

本文将介绍51单片机AD 转换的相关知识和代码实现,并通过仿真验证其正确性。

二、51单片机AD转换原理1. AD转换概述AD转换(Analog-to-Digital Conversion)是指将模拟信号(如声音、图像等)转化为数字信号的过程。

在嵌入式系统中,AD转换通常用于采集外部传感器等模拟量信号,并将其转化为数字量进行处理。

2. 51单片机AD转换模块51单片机内置了一个8位AD转换模块,可以对0~5V范围内的模拟信号进行采样和转换。

该模块包含以下主要部分:(1)输入端:可接受外部0~5V范围内的模拟信号。

(2)采样保持电路:在采样期间对输入信号进行保持,以避免采样过程中信号波动。

(3)比较器:将输入信号与参考电压进行比较,并输出比较结果。

(4)计数器:对比较结果进行计数,得到AD转换的结果。

(5)控制逻辑:控制采样、保持、比较和计数等过程。

3. AD转换精度AD转换精度是指数字信号与模拟信号之间的误差,通常用位数来表示。

例如,8位AD转换器可以将模拟信号分成256个等级,即精度为1/256。

因此,AD转换精度越高,数字信号与模拟信号之间的误差越小。

4. AD转换速率AD转换速率是指单位时间内进行的AD转换次数。

在51单片机中,AD转换速率受到时钟频率和采样时间的限制。

因此,在实际应用中需要根据具体情况选择合适的时钟频率和采样时间以满足要求的转换速率。

三、51单片机AD转换代码实现以下为51单片机AD转换代码实现:```#include <reg52.h>sbit IN = P1^0; // 定义输入端口sbit OUT = P2^0; // 定义输出端口void main(){unsigned char result;while (1){ADC_CONTR = 0x90; // 打开ADCADC_CONTR |= 0x08; // 开始采样while (!(ADC_CONTR & 0x10)); // 等待采样完成result = ADC_RES; // 读取结果OUT = result; // 输出结果}}```代码解释:(1)定义输入输出端口:使用sbit关键字定义输入端口和输出端口。

单片机AD模数转换实验报告

单片机AD模数转换实验报告

单片机AD模数转换实验报告一、实验目的和要求1、掌握单片机与ADC0809的接口设计方法。

2、掌握Proteus软件与Keil软件的使用方法。

二、设计要求。

1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。

2、在0809的某一模拟量输入通道上接外部模拟量。

3、在单片机的外部扩展数码管显示器。

4、分别采用延时和查询的方法编写A/D 转换程序。

5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。

三、电路原理图。

图1、电路仿真图四、实验程序流程框图和程序清单。

1、查询法:ORG 0000HSTART: LJMP MAINORG 0100HMAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: M OV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ENDdisplay 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回2、延时法:ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH LOOP: MOV DPTR, #0FF78H MOVX @DPTR, A LCALL DELAY MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP LOOP DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: M OV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H开始启动AD 延时从AD中取数据数据处理结束调显示子函数END五、实验结果。

单片机并行AD转换

单片机并行AD转换

TLC0820 芯片接 法
单片机电路
2.1 AD 转换器的选择
本实验要求使用 8 位模数转换器 TLC0820,故其电路接法唯一,具 体参考芯片说明书。
V
C
U
1
2
2
2
VREF+
V
C
1
1
1
VREF-
C
1
ANLG
IN
O
V
7
F
MODE
D
6
0
WR/RDY
D
1
3
1
C
S
D
8
2
R
D
D
9
3
1
5
4
3
2
INT
D
1
9
4
1
13
#include<iom128v.h> #include<macros.h> #include"AD.h" voidwrite_com(uchar com) { qitaport&= ~BIT(4); qitaport&= ~BIT(5); shujuport = com; qitaport = BIT(6); delay(1); qitaport&= ~BIT(6); } voidwrite_data(uchar data) { qitaport = BIT(4); qitaport&=~ BIT(5); shujuport = data; qitaport |= BIT(6); delay(1); qitaport&= ~BIT(6); } voidLCD_init() { init(); write_com(0X38); delay(1); write_com(0X01); delay(1); write_com(0X0C); delay(1); write_com(0X06); delay(1); write_com(0X80+0x40); delay(1); }

单片机AD转换实验

单片机AD转换实验

一、实验目的1、掌握单片机与ADC0809的接口设计方法。

2、掌握Proteus软件与Keil软件的使用方法。

二、实验要求1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。

2、在0809的某一模拟量输入通道上接外部模拟量。

3、在单片机的外部扩展数码管显示器。

4、分别采用延时和查询的方法编写A/D转换程序。

5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。

三、实验电路图四、实验程序流程框图和程序清单1、查询ORG 0000H START:LJMP MAINORG 0100HMAIN: MOV SP, #6FHCLR EALOOP: MOV DPTR, #0fef8H MOVX @DPTR, ALOOP1:JNB P3.2, LOOP1MOVX A, @DPTRMOV B, #51DIV ABMOV 23H, AMOV A, #10MOV 22H, AMOV A, BLCALL CHULIMOV 21H, AMOV A, BLCALL CHULIMOV 20H, A LCALL DIRLJMP LOOPDIR: PUSH ACCPUSH DPHPUSH DPLPUSH PSWSETB RS1SETB RS0MOV R0, #20HMOV R3, #0FEH LOOP2:MOV P2, R3 MOV DPTR, #TAB1MOV A, @R0MOVC A, @A+DPTRMOV P1, ALCALL DELAYINC R0MOV A, R3JNB ACC.3, LOOP3RL AMOV R3, ALJMP LOOP2LOOP3:POP PSWPOP DPLPOP DPHPOP ACCRETTAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,07FH DELAY:MOV R7, #01HDL1: MOV R6, #8EHDL0: MOV R5, #02HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1RETCHULI:CJNE A, #25, LPLJMP LP2LP: JNC LP1LP2: MOV B, #10MUL ABMOV B, #51DIV ABLJMP LP3LP1: CLR CSUBB A, #25MOV B, #10MUL ABCLR CSUBB A, #5MOV B, #51DIV ABADD A, #5LP3: RETEND2、延时ORG 0000HSTART:LJMP MAINORG 0100HMAIN: MOV SP, #6FHCLR EALOOP: MOV DPTR, #0fef8HMOVX @DPTR, ALCALL DELAY100MOVX A, @DPTRMOV B, #51DIV ABMOV 23H, AMOV A, #10MOV 22H, AMOV A, BLCALL CHULIMOV 21H, AMOV A, BLCALL CHULIMOV 20H, ALCALL DIRLJMP LOOPDIR: PUSH ACCPUSH DPHPUSH DPLPUSH PSWSETB RS1SETB RS0MOV R0, #20HMOV R3, #0FEHLOOP2:MOV P2, R3MOV DPTR, #TAB1MOV A, @R0MOVC A, @A+DPTRMOV P1, ALCALL DELAYINC R0MOV A, R3JNB ACC.3, LOOP3RL AMOV R3, ALJMP LOOP2LOOP3:POP PSWPOP DPLPOP DPHPOP ACCRETTAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,07FH DELAY:MOV R7, #01HDL1: MOV R6, #8EHDL0: MOV R5, #02HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1RETCHULI:CJNE A, #25, LPLJMP LP2LP: JNC LP1LP2: MOV B, #10MUL ABMOV B, #51DIV ABLJMP LP3LP1: CLR CSUBB A, #25MOV B, #10MUL ABCLR CSUBB A, #5MOV B, #51DIV ABADD A, #5LP3: RETDELAY100: MOV R6,#01H;误差 0usDL0:MOV R5,#2FHDJNZ R5,$DJNZ R6,DL0RETEND3、中断ORG 0000HSTART:LJMP MAINORG 0003HLJMP INTT0ORG 0100HMAIN: MOV SP, #6FHSETB EASETB EX0MOV DPTR, #0000HMOVX @DPTR, AHERE: LJMP HEREINTT0:MOVX A, @DPTRMOV B, #51DIV ABMOV 23H, A //整数部分放22H中MOV A, #10MOV 22H, A //小数点放22H中MOV A, BLCALL CHULIMOV 21H, A //小数点后第一位放21H中 MOV A, BLCALL CHULIMOV 20H, A //小数点后第一位放21H中 LCALL DIRMOV DPTR, #0000HMOVX @DPTR, ARETIDIR: PUSH ACCPUSH DPHPUSH DPLPUSH PSWSETB RS1SETB RS0MOV R0, #20HMOV R3, #01HLOOP2:MOV P2, R3 //位控码初始值MOV DPTR, #TAB1MOV A, @R0MOVC A, @A+DPTRMOV P1, ALCALL DELAYINC R0MOV A, R3JB ACC.3 LOOP3RL AMOV R3, ALJMP LOOP2LOOP3:POP PSWPOP DPLPOP DPHPOP ACCRETTAB1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,07FH DELAY:MOV R7, #01HDL1: MOV R6, #8EHDL0: MOV R5, #02HDJNZ R5, $DJNZ R6, DL0DJNZ R7, DL1RETCHULI:CJNE A, #25, LPLJMP LP2LP: JNC LP1MOV B, #10MUL ABMOV B, #51DIV ABLJMP LP3LP1: CLR CSUBB A, #25MOV B, #10MUL ABCLR CSUBB A, #5MOV B, #51DIV ABADD A, #5LJMP LP3LP2: MOV A, #5MOV B, #0LP3: RETEND五、实验结果六、实验总结通过本次试验掌握了A/D转换的电路设计,掌握了AD0808的使用以及编址技术,熟悉了A/D转换的方法和A/D转换的程序设计方法。

单片机实验数据采集_AD转换

单片机实验数据采集_AD转换

单片机实验报告姓名: XX班级: XXXXX学号: XXXXXXX专业:电气工程与自动化实验1 名称:数据采集_A/D转换一、实验目的⑴掌握A/D转换与单片机接口的方法;⑵了解A/D芯片0809 转换性能及编程方法;⑶通过实验了解单片机如何进行数据采集。

二、实验设备装有proteus和keil软件的电脑一台三、实验说明及实验原理:A/D 转换器大致分有三类:一是双积分A/D 转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并联比较型A/D转换器,速度快,价格也昂贵。

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

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

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

ADC0809 是带有8 位A/D转换器、8 路多路开关以及微处理机兼容的控制逻辑的CMOS组件。

它是逐次逼近式A/D转换器,可以和单片机直接接口。

(1) ADC0809 的内部逻辑结构由图1.1 可知,ADC0809 由一个8 路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。

多路开关可选通8 个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。

三态输出锁器用于锁A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。

(2) ADC0809 引脚结构ADC0809各脚功能如下:D7 ~ D0:8 位数字量输出引脚。

IN0 ~ IN7:8位模拟量输入引脚。

VCC:+5V工作电压。

GND:地。

REF(+):参考电压正端。

REF(-):参考电压负端。

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

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

(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。

51单片机ad转换流程

51单片机ad转换流程

51单片机ad转换流程51单片机是一种广泛应用于嵌入式系统中的微控制器。

与其他单片机相比,51单片机的特点之一是其模拟到数字转换功能(AD转换),它允许将模拟信号转换为数字量,以便进行数字信号处理和控制。

在本文中,我们将以“51单片机AD转换流程”为主题,详细介绍AD转换的步骤和相关概念。

第一步:了解AD转换的基本概念模拟到数字转换(AD转换)是电子系统中一种常见的操作。

它涉及将连续的模拟信号转换为离散的数字信号,以便进行数字信号处理。

AD转换的结果通常以二进制形式表示,可以被计算机或其他数字处理设备使用。

在AD转换过程中,最重要的参数是分辨率和采样率。

分辨率是指AD转换器能够分辨的最小信号变化量,通常以比特数表示。

例如,8位AD转换器的分辨率为2^8,即256个离散的信号水平。

采样率是指AD转换器每秒钟进行的样本数量,通常以赫兹(Hz)表示。

第二步:准备硬件连接在进行AD转换之前,需要连接电源、待转换的模拟信号源和51单片机上的AD输入引脚。

具体的硬件连接方式可以根据具体的应用需求和开发板设计进行调整。

通常情况下,待转换的模拟信号将通过电阻网络与AD输入引脚相连接。

这个电阻网络起到电压分压的作用,将输入信号的幅度限制在AD转换器可接受的范围内。

开发板上的AD输入引脚通常还具有可选的电容网络,用于去除输入信号中的高频噪声。

第三步:配置AD转换器参数在开始AD转换之前,需要通过编程设置51单片机上的AD转换器参数。

这些参数包括分辨率、输入通道选择、参考电压选择和采样率等。

这些参数的设置是通过对寄存器的操作来实现的。

通过写入相应的寄存器值,我们可以选择转换的分辨率。

51单片机上的AD转换器可以支持不同的分辨率,如8位、10位或12位。

选择转换的输入通道也是一个重要的步骤。

通常情况下,AD转换器具有多个输入信道,可以同时转换多个信号。

需要根据具体的信号源,选择合适的输入通道。

参考电压的选择也要根据具体的应用需求来确定。

实验三 A_D转换实验

实验三 A_D转换实验
#include<absacc.h>
//start由P2.3控制,用高位地址作为通道选择和AD片选
#define IN0 XBYTE[0xF0FF]
sbit AD_BUSY=P3^2; //转换结束引脚--EOC
unsigned char LED_seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段码
D7~D0:数据线,三态输出,由OE(输出允许信号)控制输出与否。
OE:输出允许,该引线上的高电平,打开三态缓冲器,将转换结果放到D0~D7上。
ALE:地址允许锁存,其上升沿将ADDA,ADDB,ADDC三条引线的信号锁存,经译码选择对应的模拟通道。ADDA,ADDB,ADDC可接单片机的地址线,也可接数据线。ADDA接低位线,ADDC接高位线。
本实验用的ADC0809属第二类,是八位A/D转换器。每采集一次一般需100μS,A/D转换结束后会自动产生EOC信号。
1)ADC0809引脚含义
IN0~IN7:8路模拟通道输入,由ADDA,ADDB,ADDC三条线选择。
ADDA、ADDB、ADDC:模拟通道选择线,比如000时选择0通道,111时选择7通道。
P1=LED_bit[i];
delay(100);
}
}
void main(void) //主函数
{
unsigned int a=0; 图8-4 AD变换流程图
convert(a);
display();
n=n/10;i++;
}
}
void display(void) //显示函数

stc单片机ad温度转换计算

stc单片机ad温度转换计算

STC单片机AD温度转换计算一、概述STC单片机是一种常用的嵌入式微控制器,广泛应用于各种电子设备中。

其中,采集温度传感器的数据是STC单片机的常见应用之一。

本文将介绍如何利用STC单片机的AD转换功能,实现温度数据的采集和计算。

二、AD转换原理1. STC单片机内部的AD转换器是一种10位逐次逼近式AD转换器,可以将模拟信号转换为数字信号。

2. 要进行温度转换,需要先连接温度传感器到STC单片机的AD输入引脚,并将相应的引脚配置为输入模式。

3. 通过编程,设置AD转换器的工作模式、参考电压和时钟频率等参数,以确保AD转换的准确性和稳定性。

三、温度传感器的接入1. 常用的温度传感器有NTC热敏电阻、DS18B20数字温度传感器等。

这些传感器可以通过一定的电路连接到STC单片机的AD输入引脚。

2. 在连接时,需要考虑传感器的电气特性,如输入电压范围、输出信号类型等,以确保传感器与单片机的兼容性。

3. 另外,还需要考虑传感器的精度、响应时间和稳定性等性能指标,以选择合适的传感器用于温度测量。

四、温度转换计算1. 获取AD转换后的数字数据后,需要利用一定的算法将其转换为实际的温度数值。

2. 对于NTC热敏电阻传感器,可以利用斯特林公式和双参数B25/85值来计算温度。

3. 而对于DS18B20数字温度传感器,可以直接从AD转换的数字值中得到温度数据。

4. 在计算过程中需要考虑温度传感器的特性曲线、环境温度补偿等因素,以提高温度测量的准确性和可靠性。

五、温度数据的处理与显示1. 获取到温度数据后,可以进行一定的数据处理和滤波,以消除测量中的噪声和干扰。

2. 可以通过串口通信或LCD显示屏等外设,将温度数据实时显示出来,以方便用户对温度进行监测和控制。

3. 另外,还可以将温度数据存储到EEPROM或外部存储器中,以便后续的数据分析和应用。

六、实验验证1. 为了验证温度转换计算的准确性,可以进行一定的实验验证。

单片机adc进行连续电压转换

单片机adc进行连续电压转换

单片机adc进行连续电压转换
单片机的ADC(模数转换器)可以用于连续电压转换。

通常情况下,单片机的ADC模块可以配置为连续转换模式,这样就可以持续地将模拟输入信号转换为数字值。

下面我将从硬件配置和软件编程两个方面来详细说明。

硬件配置:
1. 确保选择的单片机具有内置ADC模块,或者外部ADC芯片与单片机连接。

2. 确保输入电压范围在ADC的输入范围内,否则需要外部电压分压电路。

3. 连接模拟输入信号到ADC引脚,并连接ADC引脚到单片机的对应引脚。

4. 确保ADC的参考电压源正确连接,以确保准确的电压转换。

软件编程:
1. 首先配置ADC的工作模式为连续转换模式,这通常需要设置ADC控制寄存器。

2. 确定转换的采样率,即多久进行一次转换,这取决于应用的要求和单片机的性能。

3. 在主程序中编写ADC中断服务程序或者轮询ADC转换完成标志位的状态,以获取转换结果。

4. 在获取转换结果后,可以对数字值进行进一步处理,比如显示在数码管上、发送到串口或者存储到内存中等。

总之,要实现单片机ADC的连续电压转换,需要合理配置硬件连接,并编写相应的软件程序来控制ADC的工作模式和获取转换结果。

这样就可以实现持续不间断地将模拟电压信号转换为数字值。

单片机及其应用开发-AD转换实验

单片机及其应用开发-AD转换实验

实验五模数转换应用实验1 实验目的通过实验,了解A VR单片机模数转换器的初始化、工作原理,以及AD按键的检测方法和工作原理。

2 实验内容1、通过AD转换采集PA7(ADC7)引脚上的模拟电压,并将转换值在数码管上显示。

参照教材315页的ADC应用实例;2、将转换结果通过串口发送到PC机,熟悉串口的使用。

3 实验预习要求仔细阅读ATmega16单片机的数据手册,了解模数转换寄存器的设置P191;参考教材第6章节。

4实验步骤1、启动ICCA VR,新建工程文件“ADkey.PRJ”,新建Adkey.c文件,并将Adkey文件添加到Adkey工程中,并设置project->option->target 下的device configuration 选择ATMega16;2、本实验的ADC初始化代码请独立完成,Application Builder直接生成的ADC初始化代码不正确, 本实验板ADC的参考电源请选择A VCC,Prescale请选择64,AD键盘所用的AD输入为ADC7通道;参考Mega16 数据手册中203页的ADC相关寄存器介绍和教材315页的范例关于ADC的启动方式一般可选:用定时器触发启动,也可以使用软件启动的方法。

(1)如果采用定时器触发AD转换,一般选择定时器比较匹配时触发AD转换的方法。

例如选用Timer0比较匹配来触发启动AD转化,即当Timer0比较匹配发生时,自动启动AD转换,不需要程序干预,如果Timer0的比较匹配时间为5ms,那么ADC将5ms 自动启动一次。

此时SFIOR寄存器的ADTS[2:0]需要设为011(2)采用软件启动AD转换的方式:又称单次转换模式,即每次AD转换的启动都需要程序触发.方法是:程序中置位ADCSRA寄存器中的第六位(ADSC位),便会立即启动一次AD转化;例如:ADCSRA |= (1 << ADSC); //开始AD转换(3)关于转换结果的读取,可以用查询方式读取也可以用AD转换完成中断方式读取;(4)查询方式读取实例:(注:AD转换结果为左对齐方式)unsigned int AD_GetData(){ADCSRA |= (1 << ADSC); //开始AD转换while(!(ADCSRA & (1 << ADIF))); //等待转换完成ADCSRA |= (1 << ADIF); //清零ADC中断标志位return ADCH; //返回ADCH值,只取高8位}然后通过以下方法将ADC转换结果换算为电压值;adc_v=(unsigned long)ADC*3300/1024;通过以下方法将电压值刷新到display buffer中adc_to_disbuffer(adc_v);数码管显示方法采用前几次实验的现实方法,Display函数会自动将display buffer中的内容显示在数码管上。

51单片机ad转换代码及仿真

51单片机ad转换代码及仿真

51单片机AD转换代码及仿真1. 任务概述本文主要探讨51单片机模拟信号的AD(模数转换)过程以及相关代码的编写和仿真。

通过本文,读者将了解到51单片机的AD转换原理、AD转换的流程、具体代码实现方法以及如何使用仿真软件进行验证和调试。

2. 51单片机的AD转换原理[为了实现模拟信号到数字信号的转换,51单片机内置了一部分模拟数字转换器(ADC)。

ADC是一种电子元器件,它可以将模拟信号转换成数字信号。

模拟信号是连续的,而数字信号是离散的。

模拟信号转换成数字信号的过程叫做AD(模数转换),其原理可以简单描述如下:]1.首先,模拟信号通过模拟输入引脚进入51单片机中的ADC模块。

2.ADC模块将模拟信号进行采样,即对信号进行离散化处理,将离散化后的采样值存储在一个寄存器中。

3.采样值随后会经过数字化处理,变成具有一定精度的数字量。

4.数字量经过处理后,嵌入系统可以根据其数值进行分析、判断和控制。

3. 51单片机的AD转换流程[51单片机的AD转换流程可以分为以下几个步骤:]3.1 设置ADC模块在使用51单片机进行AD转换之前,需要先设置ADC模块的相关参数,如引脚选择、参考电压选择、时钟频率等。

这些设置可通过写入ADC相关的寄存器来完成。

3.2 启动转换设置完成后,可以通过设置一个特定的位来启动AD转换。

一旦AD转换开始,51单片机将根据设置的参数自动进行转换操作。

3.3 等待转换完成在启动AD转换后,需要等待转换完成。

此时,可以通过查询ADC模块的状态位来判断转换是否完成。

3.4 读取转换结果转换完成后,可以通过读取ADC寄存器的值来获取AD转换结果。

这个值将会代表输入模拟信号的数字化数值。

4. 51单片机AD转换的代码实现[以下给出一个简单的51单片机AD转换的代码示例。

本示例假设选用了P1口作为ADC的输入引脚,使用AVCC作为参考电压,时钟频率为12MHz。

]#include <reg52.h>// 引入51单片机的头文件sbit ADC_IN = P1^0; // 定义P1.0为ADC输入引脚void ADC_Init() {// 设置ADC参考电压为AVCCADMUX = (1<<REFS0);// 设置ADC输入通道为ADC0(P1.0)ADMUX |= (1<<MUX0);// 启用ADC模块,设置ADC时钟频率为F_CPU/8ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0);}unsigned int ADC_Read() {unsigned int adc_value = 0;// 设置ADC转换开始位ADCSRA |= (1<<ADSC);// 等待转换完成while (ADCSRA & (1<<ADSC));// 读取ADC寄存器的值adc_value = ADCL;adc_value |= (ADCH<<8);return adc_value;}void main() {unsigned int adc_result = 0;ADC_Init(); // 初始化ADC模块while (1) {adc_result = ADC_Read(); // 读取ADC转换结果// 在此处对结果进行处理或输出}}在以上示例代码中,首先通过ADC_Init()函数对ADC进行初始化设置。

试验六AD转换实验和DA转换实验

试验六AD转换实验和DA转换实验

试验六AD转换实验和DA转换实验在电子技术的领域中,AD 转换实验和 DA 转换实验是非常重要的基础性实验。

它们在信号处理、自动控制、通信等众多领域都有着广泛的应用。

接下来,让我们一起深入了解这两个有趣且实用的实验。

AD 转换,全称为模拟数字转换(AnalogtoDigital Conversion),其作用是将连续变化的模拟信号转换为离散的数字信号。

想象一下,我们生活中的声音、光线、温度等各种物理量都是模拟信号,它们的数值是连续变化的。

但计算机和数字电路只能处理数字信号,所以就需要 AD 转换器来完成这个转换过程。

在进行 AD 转换实验时,我们通常会使用专门的 AD 转换芯片。

比如说常见的 ADC0809 芯片,它具有 8 个模拟输入通道,可以将 0 5V 的模拟电压转换为 8 位的数字量。

实验开始前,我们要先搭建好电路。

将 ADC0809 芯片与单片机或者其他控制器连接起来,同时连接好模拟信号源,比如电位器,用来产生变化的模拟电压。

然后,通过编写控制程序,向 ADC0809 发送启动转换的信号。

转换完成后,读取转换得到的数字量。

这时候,我们就可以通过观察数字量的变化,来了解模拟信号的特性。

在实验中,我们还需要关注一些重要的参数,比如转换精度和转换速度。

转换精度决定了数字量与模拟量之间的逼近程度,精度越高,数字量就越能准确地反映模拟量的真实值。

而转换速度则影响着系统对快速变化的模拟信号的处理能力。

DA 转换,全称为数字模拟转换(DigitaltoAnalog Conversion),与AD 转换相反,它是将数字信号转换为模拟信号。

DA 转换在很多场景中都发挥着重要作用,比如音频播放、电机控制等。

以常见的 DAC0832 芯片为例,它可以将 8 位的数字量转换为模拟电压输出。

在实验中,同样要先搭建好电路,将 DAC0832 与控制器连接,并接上适当的负载,比如电阻和电容,以形成平滑的模拟输出。

编写控制程序,向 DAC0832 发送数字量,然后观察输出的模拟电压的变化。

《单片机原理与应用》AD和DA转换实验

《单片机原理与应用》AD和DA转换实验

《单片机原理与应用》AD和DA转换实验一、实验目的1、学习AD转换芯片PCF8591的基本共组原理。

2、掌握PCF8591的编程方法二、实验说明PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。

PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。

PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。

在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。

1、地址寄存器I2C总线系统中的每一片PCF8591通过发送有效地址到该器件来激活,该地址包括固定部分和可编程部分。

可编程部分必须根据地址引脚A0. A1和A2来设置。

在I2C总线协议中地址必须是起始条件作为第一个字节发送。

地址字节的最后一位是用于设置以后数据传输方向的读写位。

如图8-1所示。

图8-1 地址寄存器2 控制字寄存器发送到PCF8591的第二个字节将被存储在控制寄存器,用于控制器件功能,控制寄存器的高半字节用于容许模拟输出,和将模拟输入编程为单端或差分输入。

低半字节选择一个由高半字节定义的模拟输入通道。

如果自动增量(auto-increment)标志置1,每次AD转换后通道号将自动增加。

如果自动增量(auto-increment)模式是使用内部振荡器的应用中所需要的,那么控制字节中模拟输出容许标志应置1.这要求内部振荡器持续运行,因此要防止振荡器启动延时的转换错误结果。

模拟输出容许标志可以在其他时候复位以减少静态功耗。

选择一个不存在的输入通道将导致分配最高可用的通道号。

所以,如果自动增量(auto-increment)被置1,下一个被选择的通道将总是通道0.两个半字节的最高有效位(即第7位和第3位)是留给未来的功能,必须设置为逻辑0.控制寄存器的所有位在上电复位后被复位为逻辑0.DA转换器和振荡器在节能时被禁止。

单片机AD转换实验报告

单片机AD转换实验报告

实验八A/D实验报告㈠实验目的1.掌握单片机与A/D的接口及编程方法;2.进一步了解A/D的工作原理;3.通过实验了解单片机如何进行数据采集;4.进一步了解单片机系统地址分配概念。

㈡实验器材1.G6W仿真器一台2.MCS—51实验板一台3.PC机一台4.信号发生器一台㈢实验内容及要求首先利用8051单片机的高位地址进行线译码,以分别给实验板中的各有关芯片提供CS信号,实现单片机系统地址分配。

ADC0809是输入为8通道、可与8051单片机直接接口的8位逐次逼近型CMOSA/D。

在8模拟输入通道中的每个通道上接至不同的信号源,改变通道号,并把A/D转换结果显示出来,即可检查A/D转换过程是否正确。

根据实验板的硬件线路可知,当8051向0809写入通道数时,即启动A/D转换,约经过100μs后,A/D转换完成,并向8051发出中断申请。

要求在ADC0809的输入端加上不同的模拟信号,通过键盘输入ADC0809的通道号并启动A/D转换,采集N个(如N=256)数据存入外部RAM中,打开XDATA窗口,检查实验结果。

注意:①在进行A/D采样前,应先检查ADC0809的参考电压是否正确。

(要求ADC0809的参考电压值Vref = +5V,用万用表观察ADC0809芯片的12脚电压值。

若不对,可调节实验板上的电位器W1来改变A/D的参考电压值。

)②实验板上电位器W2可调节校准信号的值。

㈣实验框图(见下页)㈤思考题1.本实验中,对采样信号的频率有没有限制?若有,其频率应在什么范围内?根据采样定理,采样频率必须大于最高频率的两倍。

2.如果要采集具有正负值的输入模拟信号,则应对实验板中的A/D线路接法作哪些修正?关于这一点,记得实验前夏兰老师好像提过,但是由于专注于硬件电路的连接,忘记了该怎么修正,希望老师给点提示。

ORG 0000HLJMP STARTORG 0003HLJMP INT_0ORG 0040HSTART:MOV SP, #60HMOV R7,#0FFH ;读取数据个数初始化MOV R1,#0B0H ;片外储存数据首地址MOV R0, #00HMOV DPTR,#7FFFH ;选中6116芯片MOV A,#02H ;根据硬件连接选择通道号MOVX @DPTR,A ;启动A_DSETB IT0 ;开中断SETB EASETB EX0CJNZ R7,#0H,T ;判断256个数据是否转换完毕,是则停止,否则原地等待中断INT_0:MOVX A,@DPTR ;读A_D 数据MOV DPH,R1MOV DPL,R0MOVX @DPTR,A ;将数据放到片外存储地址INC R0 ;指向下一个单元DEC R7 ;数据个数减一MOV DPTR,#7FFFHMOV A,#02HMOVX @DPTR,A ;再次启动A_DRETI ;返回中断T:SJMP $ ;数据转换完毕则程序停止实验过程中犯了一些很低级的错误,比如说中断地址和所用中断不匹配,中断返回的位置自己不确定,对于怎样写地址才能选中芯片不确定,这些看似不起眼的细微的东西往往决定了整个实验的成败。

单片机AD模数转换实验报告

单片机AD模数转换实验报告

单片机AD模数转换实验报告实验目的:通过单片机完成模数转换实验,了解AD模数转换的原理,掌握AD转换器的使用方法。

实验设备:1.STC89C52RC单片机开发板2.电位器3.电阻4.电容5.连接线实验原理:AD模数转换是将连续的模拟信号转换为离散的数字信号的过程。

在单片机中,通过ADC模块将模拟电压转换为数字量。

STC89C52RC单片机具有内置的10位ADC模块,可以将模拟电压转换为0-1023之间的数字量。

实验步骤:1.连接电位器、电阻和电容的引脚到单片机上。

2.在单片机的引脚配置中,将ADC0的引脚配置为模拟输入。

3.在主函数中初始化ADC模块。

4.使用AD转换函数来获取模拟电压的数字量。

5.将数字量通过串口输出。

实验结果:经过以上步骤,我们成功地将连续的模拟信号转换为了数字信号,并通过串口输出。

通过电位器、电阻和电容的调整,我们可以观察到不同的输入信号对应的数字量。

实验总结:通过本次实验,我们深入了解了AD模数转换的原理,并学会了使用单片机的ADC模块来完成模数转换。

在实验过程中,我们还发现了一些问题和注意事项。

首先,在连接电路时,需要将模拟输入连接到ADC0引脚,并在引脚配置中正确设置。

其次,在初始化ADC模块时,需要根据实际情况设置参考电压和转换速率等参数。

最后,在使用AD转换函数时,需要根据需要进行适当的调整和计算,以获取正确的数字量。

总体来说,本次实验帮助我们更好地理解了AD模数转换的原理和单片机的ADC模块的使用方法。

通过实际操作,我们掌握了实验步骤和注意事项,提高了实际操作的能力和理论知识的运用。

这对我们的电子技术学习和应用都起到了积极的促进作用。

stc15单片机ad转换汇编程序

stc15单片机ad转换汇编程序

STC15单片机AD转换汇编程序一、引言在嵌入式系统开发中,AD(模数转换)是非常重要且常用的功能之一。

STC15单片机作为一种广泛应用的单片机,其AD转换功能也备受关注。

本文将针对STC15单片机的AD转换功能,深度探讨其汇编程序实现的方法和技巧。

二、STC15单片机AD转换的基本原理STC15单片机通过内部的AD转换模块,可以将模拟信号转换为数字信号,从而方便处理和分析。

其AD转换的基本原理是通过采样保持电路对模拟信号进行采样,然后将其转换为相应的数字量。

在具体的汇编程序中,需要考虑输入端口的设置、参考电压的选取和AD转换开始命令的下发等问题。

三、STC15单片机AD转换的汇编程序实现方法1. 设置输入端口和参考电压在写汇编程序之前,首先需要设置好输入端口和参考电压。

对于STC15单片机,可以通过相应的寄存器设置来实现。

需要注意的是,输入端口的选择和参考电压的设置将直接影响到AD转换的准确性和稳定性,因此需要认真考虑并进行合理设置。

2. 编写AD转换子程序在编写AD转换子程序时,需要考虑如何进行AD采样和转换、如何获得转换结果、以及如何处理转换结果等问题。

在采样转换时,需要注意采样保持电路的作用和AD转换的时钟周期。

获取转换结果后,还需要进行相应的处理,如数据的清洗、分析和存储等。

3. 主程序中调用AD转换子程序在主程序中调用AD转换子程序时,需要注意时序合理性和程序流程的清晰性。

还需要考虑如何根据转换结果进行相应的控制和应用,从而充分发挥AD转换的作用。

四、结论STC15单片机的AD转换功能在实际应用中具有重要意义,通过合理的汇编程序实现,可以充分发挥其优势并应用于各种领域。

熟练掌握AD转换的实现方法和技巧,对于嵌入式系统开发工程师来说是非常必要的。

希望本文的探讨能够对读者有所帮助。

个人观点和理解在实际的嵌入式系统开发中,AD转换是一个常见但又比较复杂的功能模块之一。

通过学习和实践,我深切体会到了AD转换在数据采集、传感器应用等方面的重要性。

AD与DA转换实验详解

AD与DA转换实验详解
{
PwmOut(i);
j=100;
while(--j);
}
}
}
void Delay(uint16 ms)
{int i,j;
for(i=0;i<ms;i++)
for(j=0;j<100;j++);
}
仿真波形如右图所示:
2、设计程序,利用STC12C5A60S2单片机内部PCA模块产生PWM信号,经低通滤波后输出正弦波。
此外,CCAP1H(字节地址为FBH)和CCAP1L(字节地址为EBH)分别是PCA模块1捕捉/比较寄存器的高8位和低8位。在8位PWM模式下,当PCA计数器低8位(CL)的值小于CCAP1L时,PWM1引脚输出为低,大于或等于CCAP1L时,PWM1引脚输出为高;另外,当CL的值由FFH加到00H(溢出)时,CCAP1H的当前值自动加载到CCAP1L中,因此,程序只需对CCAP1H进行设定,即可在PWM1引脚稳定输出相应占空比的PWM信号。
void PwmInit()
{CMOD=0x08;
CCAPM1=0x42;
CR=1;
}
void PwmOut(uint8 Duty)
{CCAP1H=255-Duty;
}
void main()
{
int i,j;
PwmInit();
/*while(1)
{PwmOut(30);
Delay(800);
PwmOut(120);
ADC_CONTR&=~0x10;
return ADC_RES;
}
void UartInit()
{
TMOD=0x20;
TH1=TL1=0xFD;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四A/D转换实验
一、实验目的
⑴掌握A/D转换与单片机接口的方法;
⑵了解A/D芯片0809转换性能及编程方法;
⑶通过实验了解单片机如何进行数据采集。

二、实验内容
利用实验仪上的0809做A/D转换实验,实验仪上的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转换结果。

四、实验步骤
按实验电路图连接138译码输入端A.B.C,其中A连A2,B连A3,C连A4,138使能控制输入端G与位于地址线A0引出孔所在位置下方的使能控制输出端G作对应连接,该端的寻址范围为FFE0~FFFFH。

⑴把A/D区0809的0通道IN0用插针接至W1的中心抽头V01插孔(0~5V);
⑵把0809的CLK插孔与六位LED显示器左下方的ALE插孔相连,VREF端连接+5V;
⑶将EXIC1单元的02第1脚接0809的SC/ALE、02第2脚接Y0、02第3脚接IOWR、02第4脚接0809的OE、02第5脚接IORD、02第6脚接Y0;
⑷A/D区D0~D7接口用8芯排线或8芯扁平线与数据总线D0~D7任一接口相连。

连续运行程序,LED显示器右边二位显示当前采集的电压值转换后的数字量,调节W1,LED 的内容将随着电压变化而相应变化,LED以十六进制方式对应显示数字量。

五、实验流程
六、实验参考程序
ORG 05A0H
SE11: MOV SP,#53H
MOV 7EH,#00H
MOV 7DH,#08H
MOV 7CH,#00H
MOV 7BH,#09H
MOV 7AH,#10H
MOV 79H,#10H ;显示缓冲区初值
LO18: CALL DIS ;显示
MOV A,#00H
MOV DPTR,#0FFE0H
MOVX @DPTR,A ;0809的0通道采样
CALL DIS ;SSEE
MOVX A,@DPTR ;取出采样值
mov dptr,#0ffe4h ;new add --> 138 Y1
cpl a ;new add
movx @dptr,a ;new add --> 驱动发光二极管
cpl a ;new add
MOV R0,#79H
CALL PTDS ;采样值送显示缓冲区
SJMP LO18 ;循环
;---------------------------
PTDS: MOV R1,A ;拆送显示缓冲区
ACALL PTDS1
MOV A,R1
SW AP A
PTDS1: ANL A,#0FH
MOV @R0,A
INC R0
RET
;---------------------------
DIS: PUSH DPH
PUSH DPL
SETB RS1
MOV R0,#7EH
MOV R2,#20H
MOV R3,#00H
MOV DPTR,#LS0
LS2: MOV A,@R0
MOVC A,@A+DPTR
MOV R1,#0DCH
MOVX @R1,A
MOV A,R2
inc R1
MOVX @R1,A
LS1: DJNZ R3,LS1
CLR C
RRC A
MOV R2,A
DEC R0
JNZ LS2
movx @r0,a
dec r0
cpl a
movx @r0,a
CLR RS1
POP DPL
POP DPH
RET
;-------------------------------------
LS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H
DB 82H,0F8H,80H,90H,88H,83H,0C6H
DB 0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH ;--------------------------------------
END。

相关文档
最新文档