版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告基于DAC0832的数模转换一、实验目的1.学习单片机控制技术-用单片机控制外部数模转换设备,实现D/A转换;2.熟悉DAC0832芯片的内部结构、引脚功能、各种工作方式下的工作时序;3.熟悉并掌握51单片机系统硬件电路的基本工作原理,并学习硬件电路设计;4.学习C51单片机编程、调试方法。二、实验任务利用51单片机控制DAC0832生成正弦波电压输出。三、实验器材 C51单片机 一块DAC0832 一块 LM324 一块单孔板 一块导线 若干直流稳压电源 一台示波器 一台四、实验原理1. 系统方案确立1)硬件电路工作原理DisplayDAC0832MCUKeyboard图4-1 信号
2、发生器的硬件框图 MCU作为单片机微处理系统,通过Keyboard输入可以产生正弦波数字信号的程序,使MCU输出正弦波数字信号,通过DAC0832数模转换,变成正弦波的模拟信号,用示波器显示出来。如图4-1所示。2)程序工作流程相位复0开 始 time 0=0?D/A芯片初始化Y 相位>=2?Ni+相幅转换YN幅度D/A转换输出定时器初始化 time 0=0 T0中断服务 置定时到标志T0重赋值返回图4-2 信号发生器的程序流程图2. 硬件电路设计1)单片机最小系统的组成单片机最小系统是指用最小元件组成的单片机工作系统。对MCS-51系列单片机来说,其内部已经包含了一定数量的程序存储器和
3、数据存储器,在外部只要增加时钟电路和复位电路即可构成单片机最小系统。下图所示便是MCS-51系列单片机最小系统电路,由单片机芯片和典型的时钟电路和复位电路构成。 图4-3 典型的时钟电路大多采用内部时钟方式,晶振一般在1.212MHz之间,甚至可达到24MHz或更高,频率越高,单片机处理速度越快,但功耗也就越大,一般采用11.0592MHz的石英晶振。与晶振并联的两个电容、通常为30pF左右,对频率有微调作用。需要注意的是,在设计单片机系统的印刷电路板(PCB)时,晶振和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作。典型的复位电路大多采用上电自动复位和按键手动复位组合
4、电路,电容的大小直接影响单片机的复位时间,电容值越大,复位时间越短,一般为1030uF。2)数模转换工作电路的设计我们选中DAC0832进行DA变换。但DAC0832输出的是电流,我们要输出电压信号。因此我们选用如图4-4 工作电路。图4-4 两级运用放大解决输出双极性电压的问题。输出电流经放大,输出电压:Vref:DAC0832的参考电压(通常为+5V)R2与R3的比值确定输出电压的偏移范围;R1与R3的比值确定输出电压的大小。DAC0832与MCS-51单片机的电路连接如图4-5 所示。我们选择单片机的P2口为数字量的输出口,同时DAC0832采取直通转换模式,即输入寄存器和DAC寄存器为
5、直通模式,数字量从单片机P2口直接接到DA转换器进行转换。图4-5 3. 软件设计1)定时器的设定本系统输出正弦波周期为20mS。用查表法实现正弦波的相幅转换,再将幅度值经DA转换、低通滤波,生成连续变化的正弦波电压。正弦波相位等分为1/250,因此步进时间为80S。我们选T0定时产生该步进时钟,设计如下。我们用的MCS-51单片机是的频率是11.0592MHz的,并且是用16位的计数器,用定时器T0进行计数。所以根据实验原理里写的初值计算公式可得我们需要的初值X为: 转换为16进制为 FFB6H。所以对定时器进行赋值TH0=0xff,TL0=0xb6。因为选用时T0的计时器,并且是16位,所
6、以TMOD控制寄存器中的低4位:GATE=0,=0,M1 M0=01,所以TMOD=0000 0001,转换为16进制为0x01。与此同时,TCON控制寄存器中的TR0=1。定时步进由T0中断控制。所以中断允许寄存器IE中的总中断控制EA=1,同时也要开启T0中断,即ET0=1。以上设置在系统初始化中完成。2)相幅转换由于在程序中,我们是用查表法来输出正弦波数字信号,250个数字量为一个正弦波周期2,这就说明表中的每个数字量有其与之对应的正弦波周期中的某个相位。所以,每两个数字量之间的相位为2/250,只要每经过一个80S定时中断,其相位值便增加2/250;与此同时,其中相位对应的数字量电压值
7、也在发生变化,这就实现了正弦波中相位和幅度的转换。然后经过250个中断后,相位便从0开始,按每次2/250继续累加到2,进行重复循环。最后通过DA转换输出模拟量的电压值,变可在示波器上显示出完整的正弦波模拟信号。五、试验步骤 1、按照实验内容中的电路原理图进行单片机最小系统的建立和DAC0832和运放电路在单孔版上的焊接。对于电路图中的参数,我们选择:单片机晶振电路:, Y1=12MHz单片机复位电路:LM324运放电路: 2、对于DAC0832各引脚的电平高低情况应定为: ALE、 接高电平 +5V 接低电平 3、对于LM324,我们需要在运放器的两端接高低电平,所以我们选择的直流电源。 4
8、、把上面写的软件程序导入Keil中,生成 .hex文件,传输到MCS-51的单片机中。 5、然后LM324的输出端连接到示波器上,准备显示。 6、按照电路图中的线路,用导线连接C51单片机、DAC0832之间的数据线。准备上电实验。 7、对各芯片供电,打开示波器,观察输出波形。六、实验数据与分析按照实验步骤进行实验,我们可以看到在示波器上显示出正弦波信号,如图4-6所示。可以看见示波器上显示的周期为,而理论上的周期为。只所以产生这种原因,是因为单片机的频率为11.0592MHz。所以这个实验大致上是正确的,有理有据的。图4-6七、实验感受通过这次实验,我们对于MCS-51系列单片机有了初步的认
9、识和理解,并且通过和DAC0832在一起,使我们对于I/O接口方面的知识也有了很好的应用。同时对DAC0832芯片的结构、性能、工作原理我们是完全的掌握了,这样我们可以通过DAC0832进行其他的一系列实验。再者,运放的基本原理及公式也可以让我们能更加灵活的对复杂电路进行转化。与此同时,我们的动手能力也有了很大的提高,对于电路的排版、搭配也有了很清晰的认识。总之,这次实验使我们的收获很大,理论和实际相结合,对知识也有了更深刻的理解和知新。附录 1.程序#include<reg52.h>#include<absacc.h>#define uint unsigned int
10、#define uchar unsigned char bit time; unsigned char sin(unsigned char x)unsigned char code sin_tab=128,131,134,138,141,144,147,150,153,156,159,162,165,168,171,174,177,180,182,185,188,191,193,196,198,201,203,206,208,211,213,215,217,219,221,223,225,227,229,231,232,234,235,237,238,239,241,242,243,244,2
11、45,246,247,248,249,250,251,252,253,254,254,255,255,254,254,253,252,251,250,249,248,247,246,245,244,243,242,241,239,238,237,235,234,232,231,229,227,225,223,221,219,217,215,213,211,208,206,203,201,198,196,193,191,188,185,182,180,177,174,171,168,165,162,159,156,153,150,147,144,141,138,134,131,128,125,1
12、22,119,116,112,109,106,103,100, 97, 94, 91, 88, 85, 82, 79, 76, 73, 70, 68, 65, 62, 59, 57, 54, 52, 49, 47, 44, 42, 39, 37,35, 33, 31, 29, 27, 25, 27, 29, 27, 25, 23, 21, 19, 18, 16, 15, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1, 0, 0, 0, 1, 1 , 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 1
13、6, 18, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 42, 44, 47, 49, 52, 54, 57, 59, 62, 65, 68, 70, 73, 76, 79, 82, 85, 88, 91, 97,100,103,106,109,112,116,119,122,125,128,131; return sin_tabx; void DAC0832(unsigned char x) P2=x;void main()unsigned char i;TMOD = 0x01;/设置T0为工作方式1 TH0 =0xff;/ (65536-100
14、0)/256; /设定初值 TL0 = 0xb6;/(65536-1000)%256; /设定初值 TR0 = 1;/启动定时器0 EA=1;ET0=1;i=0;time=0;while(1) if(time=1) time=0; if(i>248) i=0; else i+; DAC0832(sin(i); void T0_time() interrupt 1 TH0 = 0xff;/(65536-1000)/256; /设定初值 TL0 = 0xb6;/(65536-1000)%256; /设定初值 time=1;2. 主要器件简介DAC0832工作原理1)DAC0832的内部结构D
15、AC0832的内部结构如下图所示。由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及控制逻辑电路组成,采用二次缓冲方式,这样可以在输出的同时,输入下一个数据,以提高转换速度。两个8位寄存器输出控制逻辑电路由三个与门组成,该逻辑电路的功能是进行数据锁存控制,当=0时,输入数据被锁存;当=1时,锁存器的输出跟随输入的数据。数据进入8位DAC寄存器,经8位D/A转换电路,就可以输出和数字量成正比的模拟输出电压。 图4-72)DAC0832的引脚功能 DI7DI0:8位数字量输入线,TTL电平,其作用为送需转换的数字量至DAC0832。 ILE:输入锁存允许信号,高电平有效。 :片选信号,低电平
16、有效,与ILE信号结合,可对是否起作用进行控制。 :输入寄存器的写选通输入信号,低电平有效。当、ILE有效,且=0时,为输入寄存器直通方式;当、ILE有效,且=1时, DI7DI0的数据被锁存至输入寄存器,为输入寄存器锁存方式。 :数据传送控制信号,低电平有效,可作为地址线使用。 :DAC寄存器写选通输入信号,低电平有效。当=0,=0时,输入寄存器的内容传送至DAC寄存器中;当=0,=1时,为DAC寄存器直通方式;当=1,=0时,为DAC寄存器锁存方式。 :输出电流1、输出电流2。当输入数据为全“1”时,端电流最大,端电流最小;当输入数据全“0”时,端电流最小;端电流和端电流之和为一常数。 :
17、反馈电阻输入引脚,反馈电阻在芯片内部。 :基准电压输入端,用作D/A转换的基准电压,可在-10V+10V范围内选取。 :电源电压,可在+5V+15V范围内选取,通常取+5V。 AGND:模拟地。 DNGD:数字地。3)DAC0832的工作方式 DAC8032利用、ILE控制信号可以构成三种工作方式。 (1)直通方式:当=0时,两个寄存器处于常通状态,数据可以直接经两个寄存器进入D/A转换器进行转换。这种方式下,不能直接与系统的数据总线相连,需另外添加锁存器,所以很少使用。 (2)单缓冲方式:当=0或=0时,两个寄存器之一处于直通,而另一个寄存器处于受控状态。实际使用时,如果只有一路模拟量输出,
18、或虽然有多路模拟量输出但不要求同步输出时,就可以采用单缓冲方式。 (3)双缓冲方式:两个寄存器都处于受控状态。这种方式使用于多路模拟量同步输出。 对于单缓冲方式,即两个寄存器中任意一个直通,另一个受控,有以下两种解法:ILE接+5V,接地,接地址线(作为片选),8位输入寄存器直通,8位DAC寄存器受控。ILE接+5V,接地,接地址线(作为片选),8位DAC寄存器直通,8位输入寄存器受控。表4-1 输入寄存器逻辑关系 有效 表4-2 DAC寄存器逻辑关系输入寄存器的内容送至DAC寄存器 图4-8 0832引脚图 图4-9 51单片机引脚图51单片机基本工作原理 1)C51单片机的引脚功能80C5
19、1的40个引脚可分为:电源引脚2个,时钟引脚2个,控制引脚4个和I/O引脚32个。这些引脚的功能分别介绍如下。 :电源接入引线,接+5V电源 :接地引脚 XTAL1:接外部晶振和微调电容的一端。对CHMOS型单片机,在使用外部时钟时,次引脚应接外部时钟的输入端。 XTAL2:接外部晶振和微调电容另一端。对CHMOS型单片机,在使用外部时钟时,此引脚悬空。 RST/:复位信号/备用电源输入引脚.当RST引脚保持两个机器周期的高电平后,就可以使单片机复位。该引脚的第二功能使,即备用电源的输入端,具有掉电保护功能。若在该引脚接+5V备用电源,在使用中主电源掉电,则可保护片内RAM中的信息部丢失。AL
20、E/:地址锁存允许信号输出/编程电压输入引脚。当单片机上电正常工作后,ALE端不断输出正脉冲信号,此信号频率为振荡器频率的1/6。当CPU访问片外存储器时,ALE输出控制信号锁存P0口输出的低8位地址,从而实现P0口数据与低位地址的分时复用。该引脚的第二功能是,当对87C51内部4KB EPROM编程写入时,该引脚为编程脉冲输入端。:内外ROM选择/编程电压输入引脚。当接高电平时,CPU执行片内ROM指令,但当PC值超过0FFFH时,将自动转去执行片外ROM指令;当接低电平时,CPU只执行片外ROM指令。对于80C31,由于其无片内ROM,故其必须接低电平。该引脚的第二功能是,当对87C51片
21、内EPROM、89C51片内Flash ROM编程写入时,该引脚为编程电压的输入引脚。:片外ROM读选通信号输出引脚。在读片外ROM时,有效,为低电平,以实现对片外ROM的读操作。P0.0P0.7:P0口的8位双向I/O口引脚。P0口及可作为地址/数据总线使用,又可作为通用的I/O口使用。当CPU访问片外存储器时,P0口分时先作为低8位地址总线,后作为双向数据总线,此时P0口就不能再作I/O口使用。P1.0P1.7:P1口的8位准双向I/O口引脚。P1口作为通用的I/O口使用。P2.0P2.7:P2口的8位准双向I/O口引脚。P2口即可作为通用的I/O口使用,也可作为片外存储器的高8位地址总线
22、,与P0口配合,组成16位片外存储器单元地址。P3.0P3.7:P3口的8位准双向I/O口引脚。P3口除了作为通用的I/O口使用之外,每个引脚都具有第二功能,在实际工作中,大多数情况下都使用P3口的第二功能。2) C51单片机的定时器/计数器 MCS-51系列单片机内部有两个定时器/计数器,即T0(P3.4)和T1(P3.5)。他们都是16位的加法计数器,可用于定时控制和对外部事件的计数。 (1)定时器工作方式 定时功能是通过计数器的计数实现的,每当输入引脚的脉冲发生负跳变时,计数器加1。但是计数脉冲来自单片机内部,即每个机器周期产生1个计数脉冲,也就是每经过1个机器周期的时间,计数值加1。
23、(2)定时器的结构 每个定时器有两个8位的寄存器。定时器/计数器T0由特殊功能寄存器TH0、TL0构成,定时器/计数器T1由特殊功能寄存器TH1、TL1构成,其中TH0、TL0、TH1和TL1都是8位寄存器。图4-10 51单片机定时/计数器结构原理 (3)定时器/计数器的工作原理 MCS-51系列单片机内部的两个16位可编程的定时器/计数器T0、T1均有计数和定时功能。他们的工作方式、定时时间和启动方式等均对相应的寄存器TMOD、TCON进行编程来实现,计数数值也是由指令对计数寄存器(TH0、TL0或TH1、TL1)来设置。T0、T1在选择计数器模式时,P3.4和P3.5这两个引脚分别作为两
24、个计数器的计数输入端。每当输入引脚的脉冲发生“1“ “0”跳变时,计数器加“1”。T0、T1选择定时器模式时,计数器对内部机器周期进行计数。不管工作在哪种模式,计数产生了溢出之后,就会将相应的溢出标志置位;在中断允许的情况下,溢出后会产生中断。(4)TMOD控制寄存器和TCON控制寄存器 MCS-51系列单片机的定时器/计数器有四种工作方式:方式0、方式1、方式2和方式3。定时器/计数器具体的工作模式和方式主要由TMOD、TCON控制寄存器来设置的,下面重点介绍8位寄存器TMOD和TCON。 TMOD控制寄存器 TMOD寄存器用于选择定时器/计数器的工作模式和工作方式,它的字节地址为89H,不
25、能进行位寻址,其具体定义如下表示:整个8位分为2组,高4位控制T1,低4位控制T0。 表4-3 TMOD寄存器各位定义 D7 D6 D5 D4 D3 D2 D1 D0 表4-4 TMOD寄存器各位功能说明 名称 功能说明 门控制GATE=0,用运行控制位TRi(i=0,1)启动定时器GATE=1,用外中断请求信号输入端INTi(i=0,1)和TRi(i=0,1)共同启动定时器 定时方式或计数模式选择位=0,定时工作模式=1,计数工作模式 M1 M0工作方式选择位 M1M0=00方式,13位定时器/计数器 M1M0=01方式,16位定时器/计数器 M1M0=10方式,自动再装入的8位定时器/计数
26、器 M1M0=11方式,仅适用于T0分成2个8位计数器,T1停止计数 TCON控制寄存器TCON寄存器的字节地址为88H,可进行位寻址,位地址为88H8FH,其具体定义如下图所示。 表4-5 TCON寄存器各位定义 D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCOM寄存器低4位与外部中断有关,高4位与定时中断有关。 表4-6 TCON寄存器高4位功能说明名称 功能说明 TF1 T1计数溢出标志位。计数/计时溢出时,该位置“1”。在中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清“0”。在查询方式时,也可以由程序查
27、询和清“0” TR1 定时器/计数器T1运行控制位 TR1=0,停止定时器/计数器1工作 TR1=1,启动定时器/计数器1工作 该位由软件置位和复位 TF0 T0计数溢出标志位。计数溢出时,该位置“1”。在中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清“0”。在查询方式时,也可以由程序查询和清“0” TR0 定时器/计数器T0运行控制位 TR0=0,停止定时器/计数器0工作 TR0=1,启动定时器/计数器0工作 该位由软件置位和复位 (5)定时器的初值计算 选择定时功能时,单片机内部提供计数脉冲,并对机器周期进行计数。假设T表示定时时间,初值用X表示,所用计数器的位数为N,设系
28、统时钟频率为,则他们满足 3)C51单片机中断的基本内容 图4-11 MCS-51中断系统结构 MCS-51系列单片机的中断系统有5个中断请求源,具有2个中断优先级,可实现两级中断服务程序嵌套。每一个中断源可以用软件独立地控制为允许中断或关中断状态;每一个中断源的中断级别均可用软件来设置。(1) MCS-51系列单片机中断系统共有5个中断请求源,见下表序号 中断引脚 中断请求中断请求标志 1 2 3 定时器/计数器T0溢出中断请求 TF0 4 定时器/计数器T1溢出中断请求 TF1 5 TX/RX 串行口中断请求 TI/RI 这些中断请求源的中断请求标志位分别由特殊功能寄存器TCON和SCON
29、的相应位锁存。 特殊功能寄存器TCON中的标志位 TCON为定时器/计数器的控制寄存器,字节地址为88H,可位寻址。该寄存器中既有定时器/计数器T0和T1的溢出中断请求标志位TF1和TF0,也有外部中断请求标志位IE1与IE0。其格式如下, D7D6 D5 D4 D3 D2 D1 D0TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0位地址 8FH - 8DH - 8BH 8AH 89H 88H TCON寄存器中与中断系统有关的各标志位的功能如下。 IT0 选择外部中断请求0为边沿触发方式还是电平触发方式。 IT0=0,为电平触发方式,加到引脚上的外部中断请求输入信号为低
30、电平有效。 IT0=1,为边沿触发触发方式,加到引脚上的外部中断请求输入信号电平从高到低的副跳变有效。 IT0位可由软件置“1”或清“0”。 IE0 外部中断请求0的中断请求标志位。 当IT0=0,为电平触发方式,CPU在每个机器周期的S5P2采样引脚,若引脚为低电平,则将IE0置“1”,说明有中断请求,否则将IE0清“0”。 当IT0=1,即外部中断请求0设置为边沿触发方式,当第一个机器周期采样到为低电平时,则将IE0置“1”,IE0=1,表示外部中断0正在向CPU请求中断。当CPU响应该中断,转向中断服务程序时,由硬件将IE0清“0”。 IT1 选择外部中断请求1为边沿触发还是电平触发,其意义与IT0类似。 IE1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新余学院《插画设计》2023-2024学年第一学期期末试卷
- 西南医科大学《医学统计学》2022-2023学年第一学期期末试卷
- 西南医科大学《管理心理学》2023-2024学年第一学期期末试卷
- 西南交通大学《设计色彩》2021-2022学年第一学期期末试卷
- 西华师范大学《比较文学》2022-2023学年第一学期期末试卷
- 西昌学院《展示设计》2022-2023学年第一学期期末试卷
- 2025年中国无极灯行业发展现状、进出口贸易及市场规模预测报告
- 合同能源管理项目融资及解决方案
- 《施工安全基础》课件
- 【化学】第十单元 常见的酸、碱、盐重难点梳理课件-2024-2025学年九年级化学人教版(2024)下册
- 工程力学知到智慧树章节测试课后答案2024年秋湖南工学院
- 第七届重庆市青少年科学素养大赛考试题库(含答案)
- 地理2024-2025学年人教版七年级上册地理知识点
- 河南省郑州市外国语中学2024-2025学年上学期期中考试九年级数学试卷
- 电商红枣规划
- 商业街区装修施工突发应急预案
- 水利信息化数据中心及软件系统单元工程质量验收评定表、检查记录
- 医院培训课件:《新进护士职业规划》
- 骨科疼痛的护理与评估
- 胖东来商贸集团员工考核管理制度
- 公司股份代持协议书范本4篇
评论
0/150
提交评论