实验八 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 0000H
LJMP START
ORG 0003H
LJMP INT_0
ORG 0040H
START:
MOV SP, #60H
MOV R7,#0FFH ;读取数据个数初始化
MOV R1,#0B0H ;片外储存数据首地址
MOV R0, #00H
MOV DPTR,#7FFFH ;选中6116芯片
MOV A,#02H ;根据硬件连接选择通道号
MOVX @DPTR,A ;启动 A_D
SETB IT0 ;开中断
SETB EA
SETB EX0
CJNZ R7,#0H,T ;判断256个数据是否转换完毕,是则停止,否则原地等待中断
INT_0:
MOVX A,@DPTR ;读 A_D 数据
MOV DPH,R1
MOV DPL,R0
MOVX @DPTR,A ;将数据放到片外存储地址
INC R0 ;指向下一个单元
DEC R7 ;数据个数减一
MOV DPTR,#7FFFH
MOV A,#02H
MOVX @DPTR,A ;再次启动A_D
RETI ;返回中断
T:SJMP $ ;数据转换完毕则程序停止
实验过程中犯了一些很低级的错误,比如说中断地址和所用中断不匹配,中断返回的位置自己不确定,对于怎样写地址才能选中芯片不确定,这些看似不起眼的细微的东西往往决定了整个实验的成败。实验证明,只有牢固的掌握基础知识,才能顺利完成程序的执行。
做了本次实验之后,个人感觉对于之前对于中断的理解还不是很透彻。本次实验让我进一步学习了中断的相关用法。由于实验比较简单,对于A_D的启动和转换数据方面没有什么太大的疑惑,希望可以结合下一次的D/A转换进一步理解这两个重要芯片的用法。
单片机实验报告(五)
南京理工大学紫金学院电光系
一、 实验目的
1、理解A/D转换的工作原理;
2、理解掌握ADC0809的A/D转换原理和并行A/D转换器接口的编程方法;
3、学习使用并行模/数转换芯片ADC0809进行电压信号的采集和数据处理。
二、 实验原理
在设计A/D转换器与单片机接口之前,往往要根据A/D转换器的技术指标选择A/D转换器。A/D转换器的主要技术指标-----量化间隔和量化误差是A/D转换器的主要技术指标之一。量化间隔可用下式表示,其中n为A/D转换器的位数:
A/D转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、量化反馈式和并行式A/D转换器;按其分辨率可分为8~16位的A/D转换器芯片。目前最常用的是逐次逼近式和双重积分式。
A/D转换器与单片机接口具有硬、软件相依性。一般来说,A/D转换器与单片机的接口主要考虑的是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。
一个ADC开始转换时,必须加一个启动转换信号,这一启动信号要由单片机提供。不同型号的ADC,对于启动转换信号的要求也不同,一般分为脉冲启动和电平启动两种:
对于脉冲启动型ADC,只要给其启动控制端上加一个符合要求的脉冲信号即可,如ADC0809、ADC574等。通常用WR和地址译码器的输出经一定的逻辑电路进行控制;
对于电平启动型ADC,当把符合要求的电平加到启动控制端上时,立即开始转换。在转换过程中,必须保持这一电平,否则会终止转换的进行。因此,在这种启动方式下,单片机的控制信号必须经过锁存器保持一段时间,一般采用D触发器、锁存器或并行I/O接口等来实现。AD570、AD571等都属于电平启动型ADC。
当ADC转换结束时,ADC输出一个转换结束标志信号,通知单片机读取转换结果。单片机检查判断A/D转换结束的方法一般有中断和查询两种:
对于中断方式,可将转换结束标志信号接到单片机的中断请求输入线上或允许中断的I/O接口的相应引脚,作为中断请求信号;
对于查询方式,可把转换结束标志信号经三态门送到单片机的某一位I/O口线上,作为查询状态信号。
A/D转换器的另一个重要连接信号是时钟,其频率是决定芯片转换速度的基准。整个A/D转换过程都是在时钟的作用下完成的。A/D转换时钟的提供方法有两种:一种是由芯片内部提供(如AD574),一般不许外加电路;另一种是由外部提供,有的用单独的振荡电路产生,更多的则把单片机输出时钟经分频后,送到A/D转换器的相应时钟端。
ADC0809与单片机接口
三、 实验内容
#include<reg51.h>
#include<intrins.h>
#include<absacc.h>
#define PIN0 XBYTE[0X7FF8]
bit flag;;
typedef unsigned char byte;
typedef unsigned int word;
byte k2,kl,i;
float result=0;
float result_reg;
unsigned char code
tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x73,0x3e,0x31,0x6e,0xff};
int a,b,c,d,e,r;
void delay(word i)
{
word j=0;
while (j<i)
j++;
}
void panduan()
{
PIN0=0xFF;
while(!INT0);
result_reg=PIN0;
result=result_reg*5/255;
}
void display(int a,b,c)
{
P1=0x00;
P2=0xf4;
P1=tab[c];
delay(100);
P1=0x00;
P2=0xf2;
P1=tab[b];
delay(100);
P1=0x00;
P2=0xf1;
P1=tab[a]+0x80;
delay(100);
P1=0x00;
}
void main(void)
{
while(1)
{
panduan();
r=result*100;
a=r/100;
b=(r-a*100)/10;
c=(r-a*100)%10;
display(a,b,c);
}
}
电路连线图
四、 小结与体会
在这次的实验中,我成功的理解掌握了ADC0809的A/D转换原理和并行A/D转换器接口的编程方法,也学习了并行模/数转换芯片ADC0809进行电压信号的采集和数据处理的使用方法。
单片机实验报告学生姓名学号专业指导教师学院信息与电气工程学院20xx年11月单片机实验报告实验一MCS51指令系统实验数据排序1实…
通信与信息工程学院20xx20xx学年第二学期实验报告课程名称单片机原理及应用专业班级学号学生姓名指导教师日期20xx年4月15日…
题目单片机组成原理实验报告学院计算机科学与工程学院专业信息安全姓名学号20xx年12月8日实验一输入输出接口编程一实验目的1掌握K…
51单片机课程设计报告学院:专业班级:姓名:指导教师:设计时间:51单片机课程设计一、设计任务与要求1.任务:制作并调试51单片机…
海南大学届单片机实验报告4份论文题目学生姓名学号所在院系专业班级授课教师完成时间蜂鸣器实验实验目的1熟悉实验板中蜂鸣器工作原理掌握…
基于单片机的AD转换电路专业:班级:学号:组员:指导老师:年月日目录键入章标题(第1级)1键入章标题(第2级)2键入章标题(第3级…
单片机实验报告五实验名称姓名学号班级时间AD转换张昊110404247通信2班20xx12南京理工大学紫金学院电光系一实验目的1理…
AD采样控制PWM占空比输出一实验内容1IO端口控制2简单的PWM输出3AD采样控制PWM占空比输出二实验目的1掌握IO口的操作方…
AD转换实验报告摘要本设计是利用AT89C51ADC0809CD4027芯片为核心加以其他辅助电路实现对信号的AD转换其中以单片机…
微机原理与汇编语言综合性实验微机原理与汇编语言综合性实验AD转换器ADC0809数字温度计设计学号姓名班级1AD转换器ADC080…
实验报告题目:班级:时间:姓名:实验目的熟悉数模转换的基本原理,掌握D/A的使用方法。一、实验设备CPU挂箱、8086CPU模块、…