实验二 ADC0804模数转换和DAC0832数模拟换接口实验.docx
- 文档编号:12844807
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:12
- 大小:43.81KB
实验二 ADC0804模数转换和DAC0832数模拟换接口实验.docx
《实验二 ADC0804模数转换和DAC0832数模拟换接口实验.docx》由会员分享,可在线阅读,更多相关《实验二 ADC0804模数转换和DAC0832数模拟换接口实验.docx(12页珍藏版)》请在冰豆网上搜索。
实验二ADC0804模数转换和DAC0832数模拟换接口实验
实验二ADC0804模数转换和DAC0832数模拟换接口实验
实验二ADC0804模/数转换和DAC0832
数/模拟换接口实验
一、实验目的
1.了解模,数转换基本原理,掌握ADC0804的使用方法。
2.了解D/A转换的基本原理。
3.了解D/A转换芯片DAC0832的性能及编程方法。
4.了解单片机系统中扩展D/A转换的基本方法。
二、二、实验仪器和设备
1.单片机实验板一台
2.计算机一台
三、三、实验简介
1.实验内容
利用实验板上的ADC0804做A/D转换器,利用实验板上的电位器W1
提供模拟量输入。
编制程序,将模拟量转换成二进制数字量,用发光二极管
显示。
利用DAC0832,编制程序产生锯齿波、三角波、正弦波。
三种波轮流显示,用示
波器观看。
2.实验线路及连接
图2-1ADC0804接线电路
图2-2DAC0832接线电路
图1-1实验线路图
3.实验程序参考框图
开始中断入口
初始化定延时时器
返回开中断
Y
启动ADNo
AD转化完
Yes
输出数
据
图2-3AD基本流程图
开始
产生锯齿波数据
N256个数据否
Y
产生三角波上升部数据
N128个数据否
Y
产生三角波下降部数据
入口N128个数据否
置计数器初值Y
产生正弦波数据查表读波形数据N128个数据否启动D,A
Y
改变计数器及表指针显示锯齿波256次
N显示完毕显示三角波256次
Y
显示正弦波256次返回
图2-4DA基本流程图
4.实验说明
A/D转换器大致有三类:
一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。
实验用的ADC0804属第二类,是八位A/D转换器。
每采集一次一般需100us。
中断方式下,A/D转换结束后会自动产生EOC信号,将其与8051的INT0相接。
图2-1中,DB1到DB8这8个口连接到P1口。
CS-AD这个是片选端口,低电平表示选中,RD写入信号,WR读出信号。
使用是需要将AD-IN口的1和2短接。
CSAD接口连着P0^7.RD接口P3^6,WR连着P3^7.
D/A转换是把数字量转换成模拟量的变换,从本书D/A电路输出的是模拟电压信号。
要想实现实验要求,比较简单的方法是产生三个波形的表格,然后通过查表来实现波形显示。
产生锯齿波和三角波的表格只需由数字量的增减来控制,同时要注意三角波要分两段来产生。
要产生正弦波,较简单的手段是造一张正弦数字量表。
即查函数表得到的值转换成十六进制数填表。
这样做虽然简单,但是费时费力,没有充分发挥单片机的能力。
利用嵌入式定点、浮点运算子程序库可方便的完成正弦波的波形表生成工作。
D/A转换取值范围为一个周期,采样点越多,精度越高些。
本例采用的采样点为256点/周期。
图2-2中CS-DA接口连着P3^2,低电平有效。
四、实验步骤
(1)、AD实验步骤
1.观察实验板的电路连接情况,检查JP1和P1口跳线帽是否已经插上并确认连线是否
正确
2.用USB线连接实验板与PC机,利用PC的USB接口给实验板供电
3.输入程序并检查无误,运行实验程序
4.调节电位器W1,观察数码管上显示数据的变化,新的转换结果应实时的在数码管
上显示
模拟量和数字量对应关系的典型值为:
0V—00H;+2.5V—80H;+5V—FFH
(2)、DA实验步骤
观察实验板的电路连接情况,检查P1口跳线帽是否已经插上并确认连线是否正确。
1.用USB线连接实验板与PC机,利用PC的USB接口给实验板供电
2.输入程序并检查无误,运行实验程序
3.用示波器测量DAC0832左侧AOUT插孔,改变程序相应代码,观察输出波形的变化五、实验报告
AD实验类型为验证型实验,要求学生在实验过程中重点是学会使用单片机实验系
统.掌握A/D转换与单片机的接口方法,了解ADC0805转换性能及编程,掌
握利用单片机进行数据采集的基本方法。
DA实验类型为综合型实验,要求学生在实验过程中学会使用单片机实验系统。
重
点掌握单片机与DAC0832的接口原理,熟悉DAC0832的性能及编程方法。
本次实验报告的内容主要是:
1.实验目的:
本次实验主要达到的要求及目的
2.实验设备:
本次实验的主要设备
3.实验内容:
本次实验的硬件原理图(要求用Protel画出原理图)及原理图的说明、
程序流程图及详细说明、实验程序等
4.实验具体步骤:
连接线路、输入程序、调试程序、观察结果、修改程序
5.实验程序上机验证:
写出运行后得到的结果,并分析与预习中的结果是否相同
6.心得体会:
本次实验中遇到的问题、解决方法及收获六、预习要求
1.复习A/D转换与单片机的接口方法。
2.复习DAC0832与单片机的接口方法。
3.预习本次实验内容,编写程序,在理论上分析运行结果。
附实验程序:
AD实验程序:
#include
#defineucharunsignedchar
#defineuintunsignedint
voiddelay(uchar);
voidstart();
voidtimer0init();
volatileucharcount,temp,i,tempbai,tempshi,tempge;
sbitcsad=P0^7;//ADC0804的片选信号
sbitwr=P3^6;//写信号
sbitrd=P3^7;
sbitduanx=P2^6;
sbitweix=P2^7;
ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};
voidmain()
{
timer0init();
csad=0;
while
(1)
{
if(count==5)
{
count=0;
start();
delay
(1);
rd=0;
delay
(1);
temp=P1;
tempbai=(temp/100);
temp=temp%100;
tempshi=temp/10;
tempge=temp%10;
rd=1;
}
for(i=5;i>=3;i--)
{
if(i==5)
{
weix=1;
P0=0x20;
weix=0;
duanx=1;
P0=table[tempge];
duanx=0;
delay(10);
}
if(i==4)
{
weix=1;
P0=0x10;
weix=0;
duanx=1;
P0=table[tempshi];
duanx=0;
delay(10);
}
if(i==3)
{
weix=1;
P0=0x08;
weix=0;
duanx=1;
P0=table[tempbai];
duanx=0;
delay(10);
}
}
}
}
voidtimer0init()//中断
{
csad=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
voiddelay(ucharz)
{
ucharx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidstart()
{
weix=1;//锁存器打开
csad=0;//选中ADC0804
weix=0;
rd=1;
wr=1;
delay
(1);
wr=0;
delay
(1);
wr=1;
}
voidtimer0()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
}
DA实验程序:
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitwr=P3^6;
sbitcsda=P3^2;//位选
ucharb,c,d,e;
ucharcode
tosin[256]={0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5
0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5
0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0x
e7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5
0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0x
ff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd
0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,
0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda
0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0x
b4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99
0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0
x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0
x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0
x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,
0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0
x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,
0x7c,0x80};//正弦波查表代码
voidzhengxuan()//正弦波{
P0=tosin[b];
b++;
if(b>256)
{
b=0;
}
}
voidfangbo()//方波{
d++;
if(d<=128)
P0=0x00;
else
P0=0xff;
}
voidjuchi()//锯齿波{
e++;
if(e<128)
P0=e;
else
P0=255-e;
}
voidmain(void)
{
csda=0;
wr=0;
while
(1)
{
P2=0;
juchi();
//zhengxuan();
//fangbo();//把注释符号去掉就可以观看相应波形
P0=0xff;
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二 ADC0804模数转换和DAC0832数模拟换接口实验 实验 ADC0804 转换 DAC0832 模拟 接口