基于DAC0832和AT89S52的信号发生器设计
2.1 定时器T0中断服务函数设计
当定时器T0定时20 ms后,进入定时器T0中断服务函数。首先重装定时器T0初值,设置按键输入口P1口的值为0xdf,调用按键扫描函数。接着调用D/A转换函数进行D/A转换,得到D/A转换值dabl,然后调用计算D/A转换值函数计算dabl相应的ASCII码,再调用LCD显示D/A转换值函数把数字量输入值D/A进行转换后的模拟量显示在液晶LCD1602上。最后T0中断函数返回主程序等待下一次D/A转换。定时器T0中断服务函数设计流程图如图4所示。本文引用地址:https://www.eepw.com.cn/article/171034.htm
低电平有效。把芯片DAC0832的片选信号置低电平,选中该芯片。把数字量D/A转换值dabl送给P0口,准备送入芯片DAC0832进行D/A转换处理。芯片DAC0832写信号置低电平后再过两个时钟周期至高电平,产生一个上升沿信号,进行数据D/A转换处理。模拟量dabl从Iout1、Iout2引脚输出送到运算放大器LF393进行处理,最后从“D/A输出”端子输出,可用万用表测量到输出电压。数据转换完毕,把芯片DAC0832片选信号置高电平,最后函数返回。D/A转换函数设计流程图如图5所示。
3 实验测试分析
根据输入单片机的数字信号,用万用表测量从“D/A输出”端子测试输出模拟电压信号,如表1所示。从表1可知,该信号发生器的电压输出误差小、精度高。
4 结束语
系统按照简单化、便捷化原则设计,介绍了系统的总体结构、硬件设计和软件设计。侧重阐述了采用AT89S52单片机与D/A转换器DAC08 32对输入数字信号进行处理,最后驱动输出显示装置LCD1602显示D/A转换的0~5 V模拟电压信号。实验调试表明该信号发生器在技术指标上达到了设计要求,具有精度高、抗干扰性强、性能稳定、升级方便等特点,有较高的应用价值。
模拟信号相关文章:什么是模拟信号
adc相关文章:adc是什么
负离子发生器相关文章:负离子发生器原理
评论