您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 低频信号的存储与回放
低频信号的存储与回放低频信号的存储与回放摘要:本实验通过使用ADUC842单片机开发板实现低频信号的存储与回放,可以将幅度为0~1V、频率小于1KHz的低频信号,通过ADuC842的ADC模块转换成数字信号存储在单片机的存储器中,存储深度为10K;并由ADuC842的DAC模块输出到示波器上显示,同时用STC11F02芯片作主机与ADUC842作从机进行I2C通信,把ADUC842存储的数据在LCD屏上稳定显示出来;分为实时存储、实时显示和单次存储、连续稳定显示两种模式。关键词:低频信号,AD-DA转换,实时显示一、设计思想方案设计与论证方案1:ADUC842通过设置PLLCON寄存器,可以把单片机内核工作频率设置为16.78MHZ。通过设置ADCCON1寄存器,可以把完成一次A/D转换的时间设置成2.38us。实验要求有两种存储方式。方式一:单次存储,连续显示。ADUC842设置成16.78MHZ时,执行一条指令的时间约为0.25us,所以可以通过软件延时,利用循环语句可以实现单次存储10K个点。然后通过D/A转换,把波形显示在示波器上,同时利用I2C通信把存储在ADUC842中的点显示在LCD上。方式二:实时存储,实时显示。通过循环语句理论上可以实现,即在循环语句中前一个时刻存储数据,在下一个时刻读取数据同时把数据通过I2C通信显示在LCD上。优点:存储速度快,即存储10K个点最快只需要23.8ms。编程方式简单,可读性强。缺点:A/D与D/A转换速度太快,虽然能够在示波器上显示出来,但I2C通信速度跟不上A/D与D/A转换速度,从ADUC842传送一个数据到STC11F02E,再由STC11F02E传送到LCD上显示出来,需要的时间约500us,不易实现打点功能。方案2:ADUC842通过设置PLLCON寄存器,可以把单片机内核工作频率设置为16.78MHZ。通过设置ADCCON1寄存器,可以把完成一次A/D转换的时间设置成2.38us。实验要求有两种存储方式。方式一:单次存储,连续显示。利用T0定时器设置定时值,当计数到达定时值时,引起T0中断。通过对中断进行处理,在前10000次中断,只进行A/D转换,即存储10K个点。在以后的中断时,进行D/A转换,并把波形显示在示波器上。当进行完10K个点的存储后,可以通过循环语句和软件延时,把存储的点显示在LCD上。方式二:实时存储,实时显示。利用T1定时器设置定时值,当计数到达定时值时,引起T1中断。通过对中断进行处理,在前一次中断进行A/D转换,在下一次中断进行D/A转换,并把波形稳定的显示在示波器上。当进行完10K个点的存储后,可以通过循环语句和软件延时,把存储的点显示在LCD上。优点:A/D转换与D/A转换速率完全一致,能够在LCD上按采样速率进行打点。缺点:程序代码较多,不易理解,思考方面多。综上所述选择方案2更为简单,比较容易实现。ADuC842单片机通过与STC主机进行I2C通信,获得按键液晶显示模块的键值,进行工作模式的选择,并将结果送到LCD屏上显示。两种工作模式为:1、实时存储、实时显示通过对定时器的设置,对从AD通道输入的低频信号进行模数转换,进行转换的同时存储数字结果并在示波器和LCD上显示。2、单次存储、连续稳定显示将AD转换的数据存储之后,通过定时器的设置,将原先存储的数据取出,按照原始参数进行多次显示。整体设计框图如图1所示图1整体设计框图二、程序设计1、单片机主功能设计ADuC842单片机通过与STC单片机I2C通信,获得用户的按键键值,按键功能为:(1)实时转换方案2:ADUC842通过设置PLLCON寄存器,可以把单片机内核工作频率设置为16.78MHZ。通过设置ADCCON1寄存器,可以把完成一次A/D转换的时间设置成2.38us。实验要求有两种存储方式。方式一:单次存储,连续显示。利用T0定时器设置定时值,当计数到达定时值时,引起T0中断。通过对中断进行处理,在前10000次中断,只进行A/D转换,即存储10K个点。在以后的中断时,进行D/A转换,并把波形显示在示波器上。当进行完10K个点的存储后,可以通过循环语句和软件延时,把存储的点显示在LCD上。方式二:实时存储,实时显示。利用T1定时器设置定时值,当计数到达定时值时,引起T1中断。通过对中断进行处理,在前一次中断进行A/D转换,在下一次中断进行D/A转换,并把波形稳定的显示在示波器上。当进行完10K个点的存储后,可以通过循环语句和软件延时,把存储的点显示在LCD上。优点:A/D转换与D/A转换速率完全一致,能够在LCD上按采样速率进行打点。缺点:程序代码较多,不易理解,思考方面多。方案2:ADUC842通过设置PLLCON寄存器,可以把单片机内核工作频率设置为16.78MHZ。通过设置ADCCON1寄存器,可以把完成一次A/D转换的时间设置成2.38us。数字信号I2C低频信号信号发生器ADuC842MCUADDASTC11F02MCU按键液晶显示模块示波器实验要求有两种存储方式。方式一:单次存储,连续显示。利用T0定时器设置定时值,当计数到达定时值时,引起T0中断。通过对中断进行处理,在前10000次中断,只进行A/D转换,即存储10K个点。在以后的中断时,进行D/A转换,并把波形显示在示波器上。当进行完10K个点的存储后,可以通过循环语句和软件延时,把存储的点显示在LCD上。方式二:实时存储,实时显示。利用T1定时器设置定时值,当计数到达定时值时,引起T1中断。通过对中断进行处理,在前一次中断进行A/D转换,在下一次中断进行D/A转换,并把波形稳定的显示在示波器上。当进行完10K个点的存储后,可以通过循环语句和软件延时,把存储的点显示在LCD上。优点:A/D转换与D/A转换速率完全一致,能够在LCD上按采样速率进行打点。缺点:程序代码较多,不易理解,思考方面多。.按键1通过SendStr(实时转换,8,1,1)在LCD的第一行显示“实时转换”,表示正在对从AD通道输入的低频信号进行模数转换,同时进行存储并显示。此时启动定时器0控制采样速度,周期性的对输入的低频信号进行AD采样。(2)输出RAM结果按键2通过SendStr(输出RAM结果,12,1,1)在LCD的第一行显示“输出RAM结果”,表示此时正在从单片机RAM中读取原先存储的数据进行显示,此时关闭定时器0停止采样,启动定时器1开始等间隔地取数据通过DAC输出。(3)停止转换及输出按键3通过SendStr(停止转换及输出,14,1,1)在LCD的第一行显示“停止转换及输出”,此时单片机停止采样、存储及输出等工作,进入等待状态。(4)在LCD上显示波形按键4启动在LCD上的打点,由于LCD的行坐标只有128个,所以仅在RAM中选取128个数据输出,并将数据大小进行变换计算,使得适于在LCD上输出。波形显示通过SendPoint(dk+1,Data[dk*size_x]/128+32)描点实现。按键5停止在LCD上打点。按键9调整x轴,压缩在LCD上的波形,这样适于低端频率的信号在LCD屏上的显示,可以显示出完整的波形。相应的按键10扩展在LCD屏上显示的波形,可以显示出高端频率的完整波形。2、定时器设计考虑到本设计是针对低频信号的采样,若采样时间过短,则在定时中断服务程序中不方便对再次输入的键值进行处理;采样时间过长时,会使得高端信号(1kHz)的回放出现阶梯现象,波形有稍微的失真。故选定时器0和1采用模式2(8位自动装载)满时刻定时,即装载初值为0x01,采样时间间隔约为15.3us。程序整体的流程图如下三、实验现象测试仪器:F05A型数字合成函数信号发生器,LDS20205示波器,单片机最小系统测试方法:由函数信号发生器产生一个信号,接入单片机最小系统的ADC模块进行转换,接收用户的按键之后进行功能选择,用示波器接DAC的输出,观察;调节输入信号的频率和幅值,观察结果。测试结果:按键1,LCD上显示“实时显示”,示波器上显示实时跟踪波形。按键2,LCD上显示“输出RAM结果”,示波器上显示原先存储的数据经过DA变换的波形,此时停止信号输入,输出波形不会受影响。按键3,LCD上显示“停止转换及输出”,单片机停止采样、存储及输出等工作,进入等待状态。按键4,LCD上显示信号波形,并可以通过按键9压缩波形和按键10扩展波形。按键5,停止在LCD上显示波形。按键9,扩展显示按键10,压缩显示调节输入信号的频率和幅值,可以得到同样的结果。四、实验总结1:通过本实验对ADUC842芯片有了初步了解。2:通过本实验熟悉了ADUC842的A/D及D/A转换模块。3:通过本实验熟悉了定时/计数器的设置与用法。4:通过本实验对IIC通信有了初步了解。5:通过本实验对LCD及按键有了初步了解。本设计通过对软件的设置,可以实现实时存储、实时显示和单次存储、连续稳定显示两种模式的低频信号处理和回放。但是LCD屏上打点时由于描点函数设计的不完善,使得横向一个字节中只有最后一次写入的点可以显示,波形不完整,我们会在以后的实验中,再次改进此函数的。
本文标题:低频信号的存储与回放
链接地址:https://www.777doc.com/doc-7209450 .html