DA转换项目设计报告讲述.pptVIP

  • 9
  • 0
  • 约3.79千字
  • 约 19页
  • 2016-12-14 发布于湖北
  • 举报
单片机课程项目设计报告 简易波形发生器 1 课题概述 知识点: 1. D/A转换的基本知识; 2. D/A转换器与AT89C51之间的连接方法; 3. 单片机控制D/A的实例。 技能点: 1. 能正确应用单片机控制D/A输出需要的信号 2. 会利用单片机输出模拟量 1.1课题目标 利用单片机和D/A转换器件组成系统,通过程序的控制,实现简易波形发生器,能输出锯齿波和方波。 通过本实训任务的完成,加深对D/A转换的认识,学会用单片机的编程控制,输出指定的波形或指定的模拟电平。 1.2 课题分析 要实现方波和锯齿波输出,就是要随着时间变化不断输出模拟信号的指定电压值。 要单片机输出和输入都是数字信号,如果需要输出方波信号,通过对I/O引脚置1和清0的方式直接从单片机的引脚上输出对应的脉冲即可; 在本课题中,由于没有较多的任务和外围设备,D/AC0832与单片机连接采用直通方式,并且将运放D/AC0832输出的模拟电流变换为对应的模拟电压。在直通方式中。要求将D/AC0832对应的控制端ILE接高电平,~CS,~WR1,~XFER,~WR2都接地,同时将D/AC0832的数据端口接在单片机的P口上,就能用单片机通过程序控制D/AC0832输出模拟信号。在本任务中,选择P2端口作为数据输出端口与D/AC0832相连,因此在程序中的输出数据只需要写在P2口就行了。 2硬件原理 波形的产生是通过AT89S52单片机执行某一波形发生程序,向D/A转换器的输入端按一定的规律发生数据,从而在D/A转换电路的输出端得到相应的电压波形。 AT89S52单片机的最小系统有三种联接方式。一种是两级缓冲器型,即输入数据经过两级缓冲器型,即输入数据经过两级缓冲器后,送D/A转换电路。第二种是单级缓冲器型,输入数据经输入寄存器直接送入DAC寄存器,然后送D/A转换电路。第三种是两个缓冲器直通,输入数据直接送D/A转换电路进行转换。 2.1 DAC0832的引脚及功能 1 、DAC0832芯片: DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。 2 、DAC0832的主要特性参数如下: 分辨率为8位; 电流稳定时间1us; 可单缓冲、双缓冲或直接数字输入; 只需在满量程下调整其线性度; 单一电源供电(+5V~+15V); 低功耗,200mW。 3 软件原理 系统软件由主程序和产生波形的子程序组成,软件设计主要是产生各种波形的子程序的编程,通过编程可得到各种波形。周期的改变可采用插入延时子程序的方法来实现。主程序和几种常用波形子程序的流程图如图所示。 3.1锯齿波仿真图 锯齿波产生是通过P0口将00H送入寄存器A中,DAC0832输出A中的内容,读取P2口的状态,取反后作为延时常数,当A中的内容不为0FFH时,A中的内容加1,当A中的内容等于FFH返回开始,从而输出波形。 锯齿波程序 void juchi() { uint i; i=0; while(1) { P0=i; delay(t); i=i+1; P0=i; delay(t); xianshiqi(t); if(i==256) { i=0; } if(s5==0) { t=t+1; } if(s6==0) { t=t-1; } } } 方波产生是通过P0口将00H输出给DAC0808,输出对应模拟量,然后读取P2口的状态,取反后作为延时常量,延时时间到,将FFH输出时,同样输出对应模拟量,再延时,从而得到方波。 方波程序如下: void fangbo() { while(1) { P0=256; delay(t); P0=0; delay(t); xianshiqi(t); if(s5==0) { t=t+1; } if(s6==0) { t=t-1; } } 总结 经过一周的单片机课程设计,终于完成了我的简易函数设计,基本达到设计要求,从心底里来说,还是很高兴的,毕竟这次设计把实物都做了出来。但高兴之余不得不深思呀! 在本次设计的过程中,我

文档评论(0)

1亿VIP精品文档

相关文档