收藏 分销(赏)

DA转换芯片0832的性能及编程方法.doc

上传人:xrp****65 文档编号:6155778 上传时间:2024-11-28 格式:DOC 页数:22 大小:364.50KB 下载积分:10 金币
下载 相关 举报
DA转换芯片0832的性能及编程方法.doc_第1页
第1页 / 共22页
DA转换芯片0832的性能及编程方法.doc_第2页
第2页 / 共22页


点击查看更多>>
资源描述
№ 沈阳理工大学课程设计专用纸 前言 单片机自70年代问世以来得到了蓬勃发展,目前单片机的功能正日益完善。单片机集成越来越多资源,内部存储资源日益丰富,用户不需要扩充资源就可以完成项目开发,不仅是开发简单,产品小巧美观,同时抗干扰能力加强,系统也更加稳定,使得它更加适合工业控制领域,具有更加广阔的市场前景;提供在线编程能力,加速了产品的开发进程,为企业产品企业产品上市赢得宝贵时间。此外,单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。单片机的设计目标主要是增强控制能力,满足实时控制的需要。 单片微型计算机智能接受数字量进行计算,而输出结果也是数字量,如果计算机控制对象是模拟量,字必须把数字量转换成模拟量进行控制,简称D/A转换器。D/A转换器是计算机控制系统中常用的接口器件可以直接控制被控对象,也可以产生各种输出波形,在单片机接口技术中得到广泛的应用。 本次课程设计就是使用DAC0832和MCS-51输入数字量,在示波器上轮流显示出锯齿波、三角波、正弦波。 目录 0 前言 1课程设计的目的和要求····································2 1.1课程设计的目的····································2 1.2课程设计的基本要求································2 2.总体设计················································2 2.1基本工作原理······································2 2.1.1 DAC0832读写原理··························2 2.1.2 正弦波的波形数据···························3 2.1.3电路原理···································5 2.2硬件总体设计······································5 2.3软件总体设计······································5 2.3.1 设计思想···································5 2.3.2主程序框图·································6 3.硬件设计················································6 4.软件设计················································9 4.1程序子函数·········································10 4.2仿真模拟图·········································13 4.3程序清单···········································15 5.结束语··················································19 6.参考文献················································20 1.课程设计的目的和要求 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,80H 2.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. 单一电源供电(+5V~+15V);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各引脚功能 DI0~DI7: 数据输入线; 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三种数据输入方式 双缓冲方式:即数据经过双重缓冲后再送入D/A转换电路,执行两次写操作才能完成一次D/A转换。这种方式可在D/A转换的同时,进行下一个数据的输入,可提高转换速率。更为重要的是,这种方式特别适用于要求同时输出多个模拟量的场合。此时,要用多片DAC0832组成模拟输出系统,每片对应一个模拟量。 单缓冲方式:不需要多个模拟量同时输出时,可采用此种方式。此时两个寄存器之一处于直通状态,输入数据只经过一级缓冲送入D/A转换电路。这种方式只需执行一次写操作,即可完成D/A转换 直通方式:此时两个寄存器均处于直通状态,因此要将CS、XFER、WR1和 WR2端都接数字地,ILE接高电平,使LE1、LE2均为高电平,致使两个锁存寄存器同时处于放行直通状态,数据直接送入D/A转换电路进行D/A转换。这种方式可用于一些不采用微机的控制系统中或其他不须0832缓冲数据的情况。 4.软件设计 4.1.程序子函数 锯齿波显示子程序:sawf() 三角波显示子程序:trif() 正弦波显示子程序:sinf() 4.2.仿真模拟图 锯齿波: 三角波: 正弦波: 4.2.程序清单: #include<absacc.h> //定义绝对地址访问 #define uchar unsigned char #define DAC0832 XBYTE[0x7FFF] uchar sindata[64]= //正弦代码表 { 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; i<m; i++); //变量自加计数,当到m时退出 } void sinf() //正弦波显示函数 { uchar num=8; while(num--) //变量自减,当为0时退出 { uchar k; for(k=0; k<64; k++) { DAC0832=sindata[k]; //查找正弦代码并输出 delay(1); } } } void sawf() //锯齿波显示函数 { uchar num=8; while(num--) //变量自减,当为0时退出 { uchar i; for(i=0; i<0xff; i++) DAC0832=i; } } void trif() //三角波显示函数 { uchar num=8; while(num--) //变量自减,当为0时退出 { uchar i; for(i=0; i<0xff; i++) DAC0832=i; for(i=0xff; i>0; i--) DAC0832=i; } } void main() //主函数 { while(1) //死循环:一直输出波形 { sinf(); //调用正弦波显示函数 trif(); //调用三角波显示函数 sawf(); //调用锯齿波显示函数 } } 5.结束语 在本次课程设计中,重新巩固了单片机理论课时,感觉到的内容很多,知识点很杂、很繁琐。通过自己的努力也更进一步掌握了单片机的内容构造和工作原理,以及接外部电路的情况。当然光有理论知识那只是“纸上谈兵”,还需实际动手去实践。真正把所学的用到日常生活中,理论联系实际,做出实物模型。这次单片机课程设计,我们设计的是简易十字路口交通灯设计,通过这次课程设计我感觉到要想做成功,必须花时间多做准备,查阅大量资料,每个过程都很繁琐,都要认真地分析每一步每一个模块要实现大的功能,然后分步进行编写调试,最后整合成在一起。 在这次课程设计中,让我感到过程决定结果,细节觉得成败。过程很艰难,每个细节都要认真的分析。 通过本次课程设计,我们要对所做的事情有耐性,在编程的时候有困难,也可能变得不一定成功,所以要经过多次调试,分析,改正,反复去做;认真虚心求教老师和同学。 在本次课程设计中,我们用汇编语言编写,觉得汇编语言很复杂很麻烦,能用的寄存器少,每个参数都要放在寄存器里,很繁琐,而且格式是固定的,编写出来的程序很长。 在这次课程设计中,经历了多次失败的洗礼,我明白在以后学习和实践中,我要努力掌握知识,多动手,多思考,以免在以后的学习工作中犯同样的错误。 6.参考文献 [1] 胡汉才.单片机原理机器接口技术.3版.北京:清华大学出版社,2010 [2] 耿仁义.新编微机原理及接口技术.天津:天津大学出版社,2006 [3] 陈建铎.单片机原理与应用.北京:科学出版社,2005 [4] 王喜斌,胡辉.MCS-51单片机应用教程.北京:清华大学出版社,2004 沈阳理工大学
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服