河北科技大学课程设计报告学生姓名:范雅茹学号:090701134专业班级:电信091班课程名称:微机接口技术学年学期:2011—2012学年第二学期指导教师:马洪涛睢丙东2012年6月课程设计成绩评定表学生姓名范雅茹学号090701134成绩专业班级电信091起止时间2012.6.18——2012.6.21设计题目数字存储示波器设计指导教师评语指导教师:年月日目录1设计任务与要求..................................................................................................................................12总体方案设计......................................................................................................................................13硬件电路分析......................................................................................................................................24程序设计..............................................................................................................................................35调试说明..............................................................................................................................................46结论......................................................................................................................................................57参考文献..............................................................................................................................................6附录(原始程序清单及电路原理图)11设计任务与要求本设计通过简单的A/D转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的D/A转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。被测信号产生电路参见“A/D、D/A接口实验扩展卡电路原理图”。当按下S1时,电容C5完全放电,A/D转换器输入电压为零;抬起S1时,电容C5开始充电,A/D转换器输入电压按RC过渡过程开始上升,最终达到+5V。图中RC时间常数约为10ms,整个充电过程需要3~5倍的RC时间常数时间。设计要求使用A/D转换器捕捉电容C5充电的完整过程,并将采样数据存储起来。然后依次将采样数据通过D/A转换器循环输出,产生一定频率的重复波形,送到普通示波器显示。基本要求:使用一个D/A转换器通道,将信号波形施加到示波器的Y轴,X轴扫描信号由示波器产生并调节,实现RC充电过程的波形稳定显示。发挥部分:将示波器调整在X-Y方式,采样数据的D/A转换器输出接到Y轴输入端,增加一个D/A转换器通道,产生频率可变的X轴扫描信号,接到示波器X轴外部输入端,使RC充电过程的波形稳定显示。2总体方案设计电路由四部分组成:输入电路、控制电路、A/D转换、D/A转换。输入电路:即采集电路部分,本设计为RC充电过程采样实验。控制电路:本设计采用MCS-51实验教学系统板,输入编写的程序后用来控制数字存储示波器的采样、存储、ADC0809及DAC0832的及工作。A/D转换:用芯片ADC0809对采样值进行变换从而生成代表每一采样电压的二进制字,即数字化。D/A转换:用芯片DAC0832输出存储器中贮存的数据,加到Y偏转板在示波器的屏幕上重建信号波形的幅度。总体结构框图如下:(以上内容不超过1页)23硬件电路分析(该内容不超过1页)3.1设计思路首先,理解数字存储示波器的工作原理及结构框图。其次,明确电路的四个组成部分:输入电路、控制电路、A/D转换、D/A转换,并清楚各部分的电路组成及作用。再次,关键要理解电路的核心部分即A/D、D/A转换部分的工作原理、接口的有效地址等。最后,输入编写的程序后调试,检验运行结果。3.2基本工作原理1.A/D转换部分如电路原理图所示,ADC0809的数据线、地址线、读/写信号与单片机实验系统板连接,其片选信号来自实验系统板的地址译码器,有效地址范围为F000~F3FFH(PS4)。U8A将ALE信号2分频,产生500kHz的转换时钟。U7B和U7C与片选信号PS4配合,完成ADC0809的通道选择、启动转换和数据读取。U8B将EOC信号转换极性,生成INT0信号,向单片机提出中断请求,同时驱动L2发光,指示A/D转换已经完成。图中RP4为参考电压调节电位器,RP5为ADC0809的IN-7输入电压调节电位器。S1为RC过渡过程输入控制按键,当S1从按下状态抬起时,IN-6引脚将产生RC充电过程的电压变化,该变化过程可由ADC0809定时取样捕捉到,用于实现存储示波器的相关实验。输入端VIN1和VIN2引到了实验卡的连接器J1上,用于连接外部的电压输入,相关的串联电阻和嵌位二极管组成保护电路,防止外部的电压输入过高造成ADC0809的损坏。通过不同输入通道的选择和相关的电压调节,配合不同的试验程序,可以对ADC0809进行不同的实验测试。2.D/A转换部分如电路原理图所示,DAC0832的数据线、地址线、读/写信号与单片机实验系统板连接,其片选信号来自实验系统板的地址译码器,U2(输出端为VO1)的有效地址范围为F800~FBFFH(PS6),U3(输出端为VO2)的有效地址范围为F400~F7FFH(PS5)。通过拨码开关SW1的选择,可分别接入低通滤波电容C2(闭合SW1-1)和C3(闭合SW1-2),也可以改变参考电压的极性(SW1-3闭合时为-5V)和的工作模式(SW1-4闭合时为单缓冲)。SW1-4断开时两片DAC0832均工作在双缓冲模式,第二级缓冲器的选通信号来自实验系统板地址译码器的PS7输出,其有效地址范围为FC00~FFFFH。图中RP2为参考电压调节电位器,RP3为VO1输出的调零电位器,RP1为VO1输出的满度调节电位器。输出端VO1和VO2引到了实验卡的连接器J1上,可用于连接外部电路,也可以连接万用表和示波器,以便测量输出电压和输出波形。输出端VO1还通过限流电阻连接LED指示灯L1,可以观察到输出电压变化引起LED亮度的变化情况。通过外围电路的不同选择和参数调节,配合不同的试验程序,可以对DAC0832进行各种工作方式的实验测试。34程序设计(该内容不超过2页)4.1程序流程图4.2设计思路程序“开始”部分是初始化内容,包括设定采集数据的存储首地址:外部RAM的C000H,以及存储字节数256。“数据采集”部分包括启动A/D转换、执行延时程序(延时时间可设定在200μs)等待转换结束、取回转换结果,为S1是否按下提供参考数据。“S1按下吗?”部分为按键S1是否按下判断程序。本设计采用上升沿触发方式,S1按下时产生下降沿。当A/D采样数据大于判断点10H时,表明按键尚未按下,当A/D采样数据小于触发点时,表明按键已经按下,转入触发检测环节,循环存储采样数据。当A/D采样值重新上开始采集并存储有触发吗?设定存储字节数完成吗?采集并存储设定初始地址设定存储字节数输出存储的数据地址+1NYNYS1按下吗?N数据采集4升到大于或等于触发点数据时,便认为触发信号到来,转入下面的采样程序。“有触发吗?”部分为触发点判断程序。本设计采用上升沿触发方式,当A/D采样数据小于触发点20H时,表明按键按下尚未抬起,继续循环存储采样数据。当A/D采样值上升到大于或等于触发点数据时,表明按键按已抬起,便认为触发信号到来,转入下面的采样程序。“设定存储字节数”程序将触发后的采样点数设定在128个字节。接下来的“采集并存储”部分与前面叙述的完全相同。“完成吗?”判断128个字节的采样是否完成,如果完成就进入下面的D/A转换程序。这样在256个字节的存储器中,就包含了触发前、后各128字节的采样数据,可完全记录电容C5充电前后的电压变化波形。“采集并存储”部分包括启动A/D转换、执行延时程序等待转换结束、取回转换结果并存储到C000H开始的RAM中和存储器地址加1,为下次存储做准备等程序。其中延时程序决定了数据采样周期,采样周期(延时时间)可初步设定在200μs,全部程序调试完成后,再尝试改变采样周期,观察采样周期变化对重现被测信号波形的影响,并说明原因。本设计数据存储深度为256字节,存满256字节后自动从头开始刷新。可用DPTR做数据指针,利用INCDPL指令实现DPTR在C000H~C0FFH之间自动循环。“输出存储的数据”程序将数据存储器中的A/D采样值送到D/A转换器输出。“地址+1”程序修改数据指针的低8位地址,使数据存储器地址在C000H~C0FFH之间自动循环。这样便可以通过D/A转换器反复重现电容C5充电过程的完整波形,实现存储波形的稳定显示。5调试说明5.1硬件电路调试存储示波器的硬件电路调试分为A/D和D/A两个部分,参见附录电路原理图。A/D转换器部分只要调节RP4使基准电压VREF2为最大值(VCC)即可。D/A转换器部分,首先调节RP2和SW1-3,使基准电压VREF1为-5.00V。然后向D/A转换器写入00H,调节RP3,使VO1输出电压为0V;再向D/A转换器写入FFH,调节RP1,使VO1输出电压为5.00V。5.2软件程序调试存储示波器的控制程序可分为三个步骤进行调试:(1)A/D转换部分调试。无条件循环执行数据采集和存储程序,分别在S1按下和抬起状态终止程序的执行(按MON键),观察存储器中采集到的数据是否全部为00H或FFH。如果是,则说明A/D转换和数据存储程序工作正常,否则说明A/D转换和数据存储程序没有正常工作。(2)D/A转换部分调试。将存储器中输入一些有规律的数据,例如多个FFH和OOH,循环执行D/A转换程序,看示波器中是否有对应的高、低电压波形出现。如果有,则说明D/A转换程序工作正常,否则说明D/A转换程序没有正常工作。(3)触发点捕捉部分调试。连续执行全部程序,在不断的按下和抬起S1时,按下MON键,根据当前的PC值,确定程序终止在哪个部分的循环程序中,判断相关指令的使用是否正确。55.3遇到的问题及解决办法向MCS-51单片机实验系统板输入编写好的程序,转到0100H单元,执行程序后按下按键S1,使电容C5先放电后充电,观察示波器的显示。若波形未达到预期情况,转到C000H单元观察所采样到的电平值是否正确,再结合源程序进行修改,并检查机器码无误后重复执行调试过程。在编写程序时主要遇到了以下问题:(1)开始时只用一个电平值20H既判断是否按下又判断是否触发,导致程序跳转出错;(2)由于设置延时时间不当,示波器显示出的波形有些失真;(3)采样值的存储单元用DPTR作指针,存储区为C000H—C0FFH一共256个字节,循环存储时用DPTR+1,这样做很复杂,当存储到C0FFH