DA转换芯片0832的性能及编程方法.doc_第1页
DA转换芯片0832的性能及编程方法.doc_第2页
DA转换芯片0832的性能及编程方法.doc_第3页
DA转换芯片0832的性能及编程方法.doc_第4页
DA转换芯片0832的性能及编程方法.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳理工大学课程设计专用纸前言单片机自70年代问世以来得到了蓬勃发展,目前单片机的功能正日益完善。单片机集成越来越多资源,内部存储资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时抗干扰能力加强,系统也更加稳定,使得它更加适合工业控制领域,具有更加广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为企业产品企业产品上市赢得宝贵时间。此外,单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。单片机的设计目标主要是增强控制能力,满足实时控制的需要。单片微型计算机智能接受数字量进行计算,而输出结果也是数字量,如果计算机控制对象是模拟量,字必须把数字量转换成模拟量进行控制,简称D/A转换器。D/A转换器是计算机控制系统中常用的接口器件可以直接控制被控对象,也可以产生各种输出波形,在单片机接口技术中得到广泛的应用。本次课程设计就是使用DAC0832和MCS-51输入数字量,在示波器上轮流显示出锯齿波、三角波、正弦波。目录0 前言1课程设计的目的和要求21.1课程设计的目的21.2课程设计的基本要求22.总体设计22.1基本工作原理22.1.1 DAC0832读写原理22.1.2 正弦波的波形数据32.1.3电路原理52.2硬件总体设计52.3软件总体设计52.3.1 设计思想52.3.2主程序框图63.硬件设计64.软件设计94.1程序子函数104.2仿真模拟图134.3程序清单155.结束语196.参考文献201.课程设计的目的和要求1.1课程设计的目的: 1了解D/A转换的基本原理。 2. 了解D/A转换芯片0832的性能及编程方法。 3. 了解单片机系统中扩展D/A转换的基本方法。1.2课程设计的要求利用DAC0832,编制程序产生锯齿波、三角波、正弦波。三种波形轮流显示。2.总体设计2.1基本工作原理2.1.1 DAC0832读写原理D/A转换是把数字量转换成模拟量的变换,从D/A输出的是模拟电压信号。产生锯齿波和三角波只需由A存放的数字量的增减来控制;要产生正弦波,较简单的手段是造一张正弦数字量表。取值范围为一个周期,采样点越多,精度就越高。在实验板上,输入寄存器占偶地址端口,DAC寄存器占较高的奇地址端口。两个寄存器均对数据独立进行锁存。因而要把一个数据通过0832输出,要经两次锁存。典型程序段如下: MOV DPTR,#PORT MOV A,#DATA MOVX DPTR,A INC DPTR MOVX DPTR,A其中第二次I/O写是一个虚拟写过程,其目的只是产生一个WR信号。启动D/A。2.1.2 正弦波的波形数据如下:DATA0: DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H,0DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH,0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H DB 96H,93H,90H,8DH,89H,86H,83H,80H DB 80H,7CH,79H,76H,72H,6FH,6CH,69H DB 66H,63H,60H,5DH,5AH,57H,55H,51H DB 4EH,4CH,48H,45H,43H,40H,3DH,3AH DB 38H,35H,33H,30H,2EH,2BH,29H,27H DB 25H,22H,20H,1EH,1CH,1AH,18H,16H DB 15H,13H,11H,10H,0EH,0DH,0BH,0AH DB 09H,8H,7H,6H,5H,4H,3H,2H DB 02H,1H,0H,0H,0H,0H,0H,0H DB 00H,0H,0H,0H,0H,0H,1H,2H DB 02H,3H,4H,5H,6H,7H,8H,9H DB 0AH,0BH,0DH,0EH,10H,11H,13H,15H DB 16H,18H,1AH,1CH,1EH,20H,22H,25H DB 27H,29H,2BH,2EH,30H,33H,35H,38H DB 3AH,3DH,40H,43H,45H,48H,4CH,4EH DB 51H,51H,55H,57H,5AH,5DH,60H,63H DB 69H,6CH,6FH,72H,76H,79H,7CH,80H2.1.3电路原理实验板连接:将DAC0832的片选CS0832接CS0,输出端OUT接示波器探头;将短路端子DS的1、2短路。2.2硬件总体设计根据任务书要求,本次课程设计用的是MCS-51和DAC0832接口。结果在示波器上显示出来。2.3软件总体设计2.3.1 设计思想根据任务书要求让锯齿波、三角波、正弦波三种波形轮流显示,可以考虑让锯齿波、三角波、正弦波三种波形分别作为子程序,轮流循环被主程序调用。2.3.2主程序框图3. 硬件设计DAC0832简介DAC0832当今世界在以电子信是8位分辨率的D/A转换集成芯片,与微处理器完全兼容,这个系列的芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。这类D/A转换器由8位输入锁存器,8位DAC寄存器,8位DA转换电路及转换控制电路构成。DAC芯片是一种具有两个输入数据寄存器的8位DAC,它能直接与MCS51单片机接口,其主要特性参数如下:1. 分辨率为8位;2. 电流稳定时间1us;3. 可单缓冲、双缓冲或直接数字输入;4. 只需在满量程和下调整齐线性度;5. 单一电源供电(5V15V);6. 低功耗,200mW。 DAC0832应用特性 :1. DAC0832是微处理器兼容型D/A转换器,可以充分利用微处理器的控制能力实现对D/A转换的控制。这种芯片有许多控制引脚,可以和微处理器控制线相连,接受微处理器的控制,如ILE、CS、WR1、WR2、XFER端;2.有两级锁存控制功能,能够实现多通道D/A的同步转换输出;3. DAC0832内部无参考电压源;须外接参考电压源;4. DAC0832为电流输入型D/A转换器,要获得模拟电压输出时,需要外加转换 电路。2.3.2DAC0832引脚图DAC0832的引脚图及逻辑结构如下图: DAC0832各引脚功能 DI0DI7: 数据输入线;ILE: 数据允许锁存信号,高电平有效;CS:输入寄存器选择信号,低电平有效。 WR1为输入寄存器的写选通信号;输入寄存器的锁存信号LE1由ILE、 CS、WR1的逻辑组合产生。当ILE为高电平、CS为低电平、WR1输入负脉冲时,在LE1产生正脉冲;LE1为高电平,输入锁存器的状态随数据输入线的状态变化, LE1的负跳变将数据线上的信息锁入输入寄存器; XFER:数据传送信号,低电平有效。 WR2为DAC寄存器的写选通信号。DAC寄存器的 锁存信号LE2,由XEFR、WR2的逻辑组合产生。当XFER为低电平,WR2输入负脉冲,则在LE2产生正脉冲; LE2为高电平是时,DAC寄存器的输出和输入寄存器的状态一致,LE2负跳变,输入寄存器的内容打入DAC寄存器VREF: 基准电源输入引脚Rfb: 反馈信号输入引脚,反馈电阻在芯片内部IOUT1、IOUT2: 电流输出引脚。电流IOUT1、IOUT2的和为常数,IOUT1、IOUT2随DAC寄存器的内容线性变化VCC: 电源输入引脚。AGND: 模拟信号地DGND: 数字地 DAC0832三种数据输入方式双缓冲方式:即数据经过双重缓冲后再送入DA转换电路,执行两次写操作才能完成一次DA转换。这种方式可在DA转换的同时,进行下一个数据的输入,可提高转换速率。更为重要的是,这种方式特别适用于要求同时输出多个模拟量的场合。此时,要用多片DAC0832组成模拟输出系统,每片对应一个模拟量。单缓冲方式:不需要多个模拟量同时输出时,可采用此种方式。此时两个寄存器之一处于直通状态,输入数据只经过一级缓冲送入DA转换电路。这种方式只需执行一次写操作,即可完成DA转换直通方式:此时两个寄存器均处于直通状态,因此要将CS、XFER、WR1和 WR2端都接数字地,ILE接高电平,使LE1、LE2均为高电平,致使两个锁存寄存器同时处于放行直通状态,数据直接送入DA转换电路进行DA转换。这种方式可用于一些不采用微机的控制系统中或其他不须0832缓冲数据的情况。4.软件设计4.1.程序子函数锯齿波显示子程序:sawf() 三角波显示子程序:trif()正弦波显示子程序:sinf()42.仿真模拟图锯齿波:三角波:正弦波:42.程序清单:#include/定义绝对地址访问#define uchar unsigned char#define DAC0832 XBYTE0x7FFFuchar sindata64=/正弦代码表 0x80,0x8c,0x98,0xa5,0xb0,0xbc,0xc7,0xd1, 0xda,0xe2,0xea,0xf0,0xf6,0xfa,0xfd,0xff, 0xff,0xff,0xfd,0xfa,0xf6,0xf0,0xea,0xe3, 0xda,0xd1,0xc7,0xbc,0xb1,0xa5,0x99,0x8c, 0x80,0x73,0x67,0x5b,0x4f,0x43,0x39,0x2e, 0x25,0x1d,0x15,0xf,0x9,0x5,0x2,0x0,0x0, 0x0,0x2,0x5,0x9,0xe,0x15,0x1c,0x25,0x2e, 0x38,0x43,0x4e,0x5a,0x66,0x73;void delay(uchar m)/延时函数 uchar i; for(i=0; im; i+);/变量自加计数,当到m时退出void sinf()/正弦波显示函数 uchar num=8; while(num-) /变量自减,当为0时退出 uchar k; for(k=0; k64; k+) DAC0832=sindatak;/查找正弦代码并输出 delay(1); void sawf()/锯齿波显示函数 uchar num=8; while(num-) /变量自减,当为0时退出 uchar i; for(i=0; i0xff; i+) DAC0832=i; void trif()/三角波显示函数 uchar num=8; while(num-) /变量自减,当为0时退出 uchar i; for(i=0; i0; i-) DAC0832=i; void main()/主函数 while(1)/死循环:一直输出波形 sinf();/调用正弦波显示函数 trif();/调用三角波显示函数 sawf();/调用锯齿波显示函数 5.结束语在本次课程设计中,重新巩固了单片机理论课时,感觉到的内容很多,知识点很杂、很繁琐。通过自己的努力也更进一步掌握了单片机的内容构造和工作原理,以及接外部电路的情况。当然光有理论知识那只是“纸上谈兵”,还需实际动手去实践。真正把所学的用到日常生活中,理论联系实际,做出实物模型。这次单片机课程设计,我们设计的是简易十字路口交通灯设计,通过这次课程设计我感觉到要想做成功,必须花时间多做准备,查阅大量资料,每个过程都很繁琐,都要认真地分析每一步每一个模块要实现大的功能,然后分步进行编写调试,最后整合成在一起。 在这次课程设计中,让我感到过程决定结果,细节觉得成败。过程很艰难,每个细节都要认真的分析。 通过本次课程设计,我们要对所做的事情有耐性,在编程的时候有困难,也可能变得不一定成功,所以要经过多次调试,分析,改正,反复去做;认真虚心求教老师和同学。在本次课程设计中,我们用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论