1、目 录一、课程设计任务及要求 1二、总体设计方案1三、硬件电路设计 2四、数字存储示波器程序设计 5五、 硬件调试说明 8六、 结 论9七、 参考文献10附录:A/D、D/A接口实验卡电路原理图 11一、设计任务与要求本设计通过简单的A/D转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的D/A转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。被测信号产生电路参见“A/D、D/A接口实验扩展卡电路原理图”。当按下S1时,电容C5完全放电,A/D转换器输入电压为零;抬起S1时,电容C5开始充电,A/D转换器输入电压按RC过渡过程开始上升,最终达
2、到+5V。图中RC时间常数约为10ms,整个充电过程需要35倍的RC时间常数时间。设计要求使用A/D转换器捕捉电容C5充电的完整过程,并将采样数据存储起来。然后依次将采样数据通过D/A转换器循环输出,产生一定频率的重复波形,送到普通示波器显示。基本要求:使用一个D/A转换器通道,将信号波形施加到示波器的Y轴,X轴扫描信号由示波器产生并调节,实现RC充电过程的波形稳定显示。发挥部分:将示波器调整在X-Y方式,采样数据的D/A转换器输出接到Y轴输入端,增加一个D/A转换器通道,产生频率可变的X轴扫描信号,接到示波器X轴外部输入端,使RC充电过程的波形稳定显示。二、总体方案设计1、工作原理 根据单片
3、机实验系统提供的相关信号线,使用ADC0809、DAC0832和相关外围电路元件,组成最基本的A/D转换和D/A转换电路。要求具有单通道05V的电压输入范围,双通道05V的电压输出功能。由A/D采集电容C5充电时的信号,将模拟波形变换成数字信息存储于单片机外部RAM中,需要显示时再从存储器中读出,通过D/A将数字信息变换成模拟电压值,将其设置为死循环输出,产生重复波形并显示在示波管上。2、电路组成及功能作用由ADC0809和相关外围电路元件组成最基本的A/D转换器,实现模拟量触发点的捕捉、被测信号的采集及模拟量到数字量的转换。由DAC0832和相关外围电路元件组成最基本的D/A变换器,实现数字
4、量到模拟量的转换。单片机MCS-51的RAM(本实验起始地址为C000H)区用于存储模拟波形转换得到的数字信息。通过读出显示,将D/A变换器转换得到的模拟量通过示波器输出显示,显示RC的充电过程波形。 电路中各部分通过数据总线、地址总线和若干控制线互相联系和交换信息。采集到的信 号A/D模数转 换DA数 模转 换单片机MCS-51示波器复位电路三、硬件电路设计1、设计思路数字存储示波器主要通过A/D转换器接口电路、数据的存储和D/A转换器接口电路实现。A/D接口电路主要应用的芯片是ADC0809。ADC0809的数据线、地址线、读/写信号与单片机试验系统板连接,其片选信号来自实验系统板的地址译
5、码器,有效地址范围为F000F3FFH(PS4)。把A/D采集到的数据存储到单片机外部数据存储区。D/A接口电路主要应用的芯片是DAC0832。DAC0832的数据线、地址线、读/写信号与单片机试验系统板连接,其片选信号来自实验系统板的地址译码器,U2输出端为VO1的有效地址范围为F800FBFFH(PS6)。 U3(输出端为VO2)的有效地址范围为F400F7FFH(PS5)。2、 芯片应用及工作原理 A/D、D/A 接口实验的电路原理如图1所示。 芯片ADC0809 A/D接口电路主要应用的芯片是ADC0809。ADC0809是一个典型的逐次逼近型8位A/D转换器。它由8路模拟开关、8位A
6、/D转换器、三态输出锁存器及地址锁存译码器等组成。它允许8路模拟量分时输入,转化后的数字量输出是三态的(总线型输出),可以直接与单片机数据总线相连接。ADC0809采用+5V电源供电,外接工作时钟。U8A将ALE信号2分频,产生500kHz的转换时钟,转换时间约为128s。U7B和U7C与片选信号PS4配合,完成ADC0809的通道选择、启动转换和数据读取。U8B将EOC信号转换极性,生成INT0信号,向单片机提出中断请求,同时驱动L2发光,指示A/D转换已经完成。 ADC0809引脚图 ADC0809内部结构图 当S1从按下状态抬起时,IN-6引脚将产生RC充电过程的电压变化,该变化过程可由
7、ADC0809定时取样捕捉到,用于实现存储示波器的相关实验。输入端VIN1和V IN2引到了实验卡的连接器J1 上,用于连接外部的电压输入,相关的串联电阻和嵌位二极管组成保护电路,防止外部的电压输入过高造成ADC0809的损坏。通过不同输入通道的选择和相关的电压调节,配合不同的试验程序,可以对ADC0809进行不同的实验测试。Iout1 模拟电流输出端1 当输入数字为全”1”时, 输出电流最大,约为:Iout1=255VREF/256RFB 当输入数字为全”0”时, 输出电流为0Iout2 模拟电流输出端2 ADC0809与单片机链接芯片DAC0832D/A接口电路主要应用的芯片是DAC083
8、2。数字量的值是由每一位的数字权叠加而得的。一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。 如果一个二进制数据为1111,运算放大器的输入电流 I=-VREF/(2R)-VREF/(4R)-VREF/(8R)-VREF/(16R) =-VREF/(2R)(20+2-1+2-2+2-3) =-VREF/(24R)(23+22+21+20) 相应的输出电压 V0=IR0=-VREFR0(24R)(23+22+21+20) 将资料推广
9、到n位,输出模拟量与输入数字量之间关系的一般表达式为: V0=-VREFR0/(2nR)(Dn-12n-1+Dn-2 2n-2+D121+D020) (Di=1或0)上式表明,输出电压V0除了和待转换的二进制数成比例外,还和网络电阻R、运算放大器反馈电阻R0、标准参考电压VREF有关。 D/A转换:VO1的电压与DAC对应数据值的关系 VO1=date(DAC)/(FF+1)*VREF 通过拨码开关SW1的选择,可分别接入低通滤波电容C2(闭合SW1-1)和C3(闭合SW1-2),也可以改变参考电压的极性(SW1-3闭合时为-5V)和的工作模式(SW1-4闭合时为单缓冲)。SW1-4断开时两片
10、DAC0832均工作在双缓冲模式,第二级缓冲器的选通信号来自实验系统板地址译码器的PS7输出,其有效地址范围为FC00FFFFH。 DAC0832引脚图 DAC0832内部结构DAC直流输出型8位数摸转换器输出端VO1和VO2引到了实验卡的连接器J1 上,可用于连接外部电路,也可以连接万用表和示波器,以便测量输出电压和输出波形。输出端VO1还通过限流电阻连接LED指示灯L1,可以观察到输出电压变化引起LED亮度的变化情况。四、数字存储示波器程序设计根据数字存储示波器的基本工作原理编写实验程序,实现触发点的捕捉、被测信号的采集和数据的存储以及信号波形的再现功能。开始采集并存储有触发吗?设定存储字
11、节数完成吗?采集并存储设定初始地址设定存储字节数输出存储的数据地址+1 1、程序流程图如下:数据采集S1按下吗?NNYNY程序“开始”部分是初始化内容,包括指定堆栈指针SP;设定采集数据的存储首地址,本设计为单片机外部RAM的C000H。“数据采集”部分包括启动A/D转换、执行延时程序等待转换结束、取回转换结果,为S1是否按下提供参考数据。“S1按下吗?”部分为按键S1是否按下判断程序。本设计采用上升沿触发方式,S1按下时产生下降沿。当A/D采样数据大于判断点(20H)时,表明按键尚未按下,当A/D采样数据小于触发点时,表明按键已经按下,转入触发检测环节,循环存储采样数据。当A/D采样值重新上
12、升到大于或等于触发点数据时,便认为触发信号到来,转入下面的采样程序。“采集并存储”部分包括启动A/D转换、执行延时程序等待转换结束、取回转换结果并存储到C000H开始的RAM中和存储器地址加1,为下次存储做准备等程序。其中延时程序决定了数据采样周期,采样周期(延时时间)可初步设定在200s,全部程序调试完成后,本设计数据存储深度为256字节,存满256 字节后自动从头开始刷新。“有触发吗?”部分为触发点(触发点数据要大于等于S1按下判断点数据)判断程序。本设计采用上升沿触发方式,当A/D采样数据小于触发点时,表明按键按下尚未抬起,继续循环存储采样数据。当A/D采样值上升到大于或等于触发点数据时
13、,表明按键按已抬起,便认为触发信号到来,转入下面的采样程序。“设定存储字节数”程序将触发后的采样点数设定在128个字节。接下来的“采集并存储”部分与前面叙述的完全相同。“完成吗?”判断128个字节的采样是否完成,如果完成就进入下面的D/A转换程序。这样在256个字节的存储器中,就包含了触发前、后各128字节的采样数据,可完全记录电容C5充电前后的电压变化波形。“设定初始地址”部分将数据指针重新设定在C000H。“输出存储的数据”程序将数据存储器中的A/D采样值送到D/A转换器输出。“地址1”程序修改数据指针的低8位地址,使数据存储器地址在C000HC0FFH之间自动循环。这样便可以通过D/A转
14、换器反复重现电容C5充电过程的完整波形,实现存储波形的稳定显示。 2、程序清单 ORG:0100H 地址 机器码 MOV DPTR #0F006H 0100H 90 F0 06 ;初始化 MOV P2 #0C0H 0103H 75 A0 C0 MOV R0 #00H 0106H 78 00NEXT: LCALL AD 0108H 12 03 00 CLR C 010BH C3 CJNE A,#20H,CP 010CH B4 20 00 ;判断有键是否按下CP: JNC NEXT 010FH 50 F7 ;没键按下继续判断P1: LCALL AD 0111H 12 03 00 ;有键按下存储数据
15、 MOVX R0,A 0114H F2 INC R0 0115H 08 CLR C 0116H C3 CJNE A,#30H,P2 0117H B4 30 00 ;判断按键是否抬起P2: JC P1 011AH 40 F5 ;按键不抬起继续判断按键抬起 MOV P2,#0C0H 011CH 75 A0 C0 ;有键抬起存储128个充电数据 MOV R3,#80H 011FH 7B 80P3: LCALL AD 0121H 12 03 00 MOVX R0,A 0124H F2 INC R0 0125H 08 DJNZ R3,P3 0126H DB F9DA: MOV P2,#0C0H 0128
16、H 75 A0 C0 ;DA转换部分 MOV R0,#00H 012BH 78 00P4: MOV DPTR,#0F800H 012DH 90 F8 00 MOVX A,R0 0130H E2 MOVX DPTR,A 0131H F0 INC R0 0132H 08 SJMP P4 0133H 80 F8 ;无限循环AD子程序 ORG:0300H AD: MOV DPTR,#0F006H 0300H 90 F0 06 ;AD转换子程序 MOVX DPTR,A 0303H F0 LCALL DELAY 0304H 12 04 00 MOVX A,DPTR 0307H E0 RET 0308H 2
17、2延时子程序 ORG:0400H DELAY:MOV R6,#32H 0400H 7E 32 ;延时子程序 DJNZ R6,$ 0402H DE FE RET 0403H 22发挥部分将DA部分改为DA: MOV P2,#0C0H 0128H 75 A0 C0 MOV R0,#00H 012BH 78 00 MOV R5,#00H 012DH 7D 00P4: MOV DPTR,#0F800H 012FH E2 MOVX A,R0 0130H 90 F8 00 MOVX DPTR,A 0133H F0 MOV DPTR,#0F400H 0134H 90 F4 00 MOV A,R5 0137H
18、 ED MOVX DPTR,A 0138H F0 INC R0 0139H 08 INC R5 013AH 0D SJMP P4 013BH 80 F2五、 调试说明1、 硬件电路调试及方法图1中RP2为参考电压调节电位器,RP3为VO1输出的调零电位器,RP1为VO1输出的满度调节电位器。RP4为参考电压调节电位器,RP5为ADC0809的IN-7输入电压调节电位器。可以通过SW1-3改变参考电压的极性(SW1-3闭合时为-5V)。2、程序调试方法及过程存储示波器的硬件电路调试分为A/D和D/A两个部分,参见附录电路原理图。A/D转换器部分只要调节RP4使基准电压VREF2为最大值(VCC)
19、即可。D/A转换器部分,首先调节RP2和SW1-3,使基准电压VREF1为-5.00V。然后向D/A转换器写入00H,调节RP3,使VO1输出电压为0V;再向D/A转换器写入FFH,调节RP1,使VO1输出电压为5.00V。存储示波器的控制程序可分为三个步骤进行调试:(1)A/D转换部分调试。无条件循环执行数据采集和存储程序,分别在S1按下和抬起状态终止程序的执行(按MON键),观察存储器中采集到的数据是否全部为00H或FFH。如果是,则说明A/D转换和数据存储程序工作正常,否则说明A/D转换和数据存储程序没有正常工作。(2)D/A转换部分调试。将存储器中输入一些有规律的数据,例如多个FFH和
20、OOH,循环执行D/A转换程序,看示波器中是否有对应的高、低电压波形出现。如果有,则说明D/A转换程序工作正常,否则说明D/A转换程序没有正常工作。(3)触发点捕捉部分调试。连续执行全部程序,在不断的按下和抬起S1时,按下MON键,根据当前的PC值,确定程序终止在哪个部分的循环程序中,判断相关指令的使用是否正确。 在程序调试期间出现了很多问题:在S1按下和抬起状态终止程序的执行(按MON键),观察存储器中采集到的数据不全部为00H或FFH,既没有采集到数据,导致不能循环输出存储器中采集到的数据,经过仔细分析采集数据和存储的过程,发现跳转的偏移量计算错误。纠正错误后C000H里储存的数据变化正确
21、,但示波器中波形出现是干扰波,不是理想充电波形。通过单步执行程序发现在D/A输出的时候,程序机器码查错了,经过调试终于出现了预期的波形。六、结论1、课程设计结果 RC充电过程波形 发挥部分波形2、 收获及体会 每学期末都会有课程设计,这是锻炼我们实践操作的机会,每次结束后都会学到很多东西,更深刻的理解理论知识。接口课设我掌握了多种接口的软硬件设计基本思路和调试方法,对数字存储示波器的工作原理有了更深刻的认识,同时在设计过程中应用到了实验中的A/D、D/A转换实验,前面的实验基础对这次课设有很大帮助,完成后我更加了解了A/D、D/A接口实验扩展卡电路原理图及其工作原理;在查阅资料的过程中也对DA
22、C0832芯片和ADC0809芯片的外部引脚和内部结构有了总体的认识;由于在设计过程中要用到数据的存储因此对单片机中RAM区数据的读写也得到了巩固;D/A、A/D转换中涉及到的数据指针初始化是对单片机片选信号的分析;在用示波器调试RC充电波形的同时也是对示波器的使用及调节的一种检验。 在做课程设计的同时也是对课本知识的巩固和加强,由于课本上的知识太多,而且不能很好的理解和运用,所以在这次课程设计过程中,我进一步了解了很多芯片的功能,并且对于其在电路中的使用有了更多的认识。平时看课本时,有时问题很抽象,课程设计结束后,好多就会形成具体思维,认识来源于实践,实践是认识的动力和最终目的,实践是检验真
23、理的唯一标准。所以这次的课程设计对我们的作用是非常大的。 只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,提高自己的实际动手能力和独立思考的能力。课下将程序编写好,开始我将触发后的采集数据固定的存放在某个地址后,但通过对数字存储示波器的进一步理解,我纠正了自己的错误,改写程序并进行调试,程序跳转、偏移量的计算还有机器码的正误,都特别重要,每个环节都不能出错,开始时在C000H开始后的存储数据随机,即没有存入采样数据,修改了跳转语句的偏移量后,RAM的存储数据呈现规律变化,可是示波器却显示不出波形,多次调试都无法实现,后来无奈发现机器码差错了。最后波形正确,课设结束。 此次课程设
24、计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,这些都让我受益匪浅。在此期间我们也失落过,也曾一度热情高涨。有听到有同学波形已经出来的时候,不免有些着急,但有时着急可能会影响自己的思路,在此次课程设计中学到的不只是知识,也锻炼了我们在困难面前不退缩的勇气和坚持不懈的决心,凡事都要淡定,慢慢找原因。我相信无论是在以后的课程设计还是学习工作中,都是一种激励和鼓舞。 通过课程设计加深了对微机接口技术、电子测量技术和单片机原理及应用等课程知识的掌握与综合运用能力,提高了以图纸和说明书表达设计思想和结果的能力,培养了在实际工程设计中严谨认真的工作态度、创新意识及动手能力,为后续课程的学习以及毕业后从事微机硬件及软件开发打下基础,积累初步的经验。参考文献1 刘乐善. 微型计算机接口技术及应用. 第1版.武汉:华中科技大学出版社,20002 张永瑞. 电子测量技术基础. 第1版. 西安:西安电子技大学出版社,19943 阎石. 数字电子技术基础. 第4版. 北京:高等教育出版社,20024 童诗白. 模拟电子技术基础. 第3版.北京:高等教育出版社,20005 高锋. 单片微型计算机原理与接口技术. 北京:科学出版社,2003 附录.忽略此处.12
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922