《微机接口技术课程设计报告.doc》由会员分享,可在线阅读,更多相关《微机接口技术课程设计报告.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流微机接口技术课程设计报告.精品文档.河北科技大学课程设计报告学生姓名: 学 号: 专业班级: 课程名称: 微机接口技术 学年学期: 20132014学年第二学期 指导教师: 2014年6月课程设计成绩评定表学生姓名学 号成绩专业班级起止时间2014.6.162012.6.20同组人 设计题目数字存储示波器设计指导教师评语指导教师: 年 月 日目 录1、 设计任务与要求-42、 总体方案设计-43、 硬件电路分析-5 3.1设计思路-5 3.2基本工作原理-54、 程序设计-6 4.1程序流程图-6 4.2设计思路-65、 调试说明-7 5.1
2、硬件电路调试-7 5.2软件程序调试-75.3 遇到的问题及解决办法-7 6、结论-8 6.1设计结果及分析-8 6.2学到的知识及个人体会-87、参考文献-96、 附录1原程序清单及注释-10 附录2电路原理图-121 设计任务与要求本设计通过简单的A/D转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的D/A转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。被测信号产生电路参见“A/D、D/A接口实验扩展卡电路原理图”。当按下S1时,电容C5完全放电,A/D转换器输入电压为零;抬起S1时,电容C5开始充电,A/D转换器输入电压按RC过渡过
3、程开始上升,最终达到+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充电过程的波形稳定显示。2 总体方案设计电路
4、由四部分组成:输入电路、控制电路、A/D转换、D/A转换。输入电路:即采集电路部分,本设计为RC充电过程采样实验。控制电路:本设计采用MCS-51实验教学系统板,输入编写的程序后用来控制数字存储示波器的采样、存储、ADC0809及DAC0832的及工作。A/D转换:用芯片ADC0809对采样值进行变换从而生成代表每一采样电压的二进制字,即数字化。D/A转换:用芯片DAC0832输出存储器中贮存的数据,加到Y偏转板在示波器的屏幕上重建信号波形的幅度。总体结构框图如下:3 硬件电路分析3.1 设计思路首先,理解数字存储示波器的工作原理及结构框图。其次,明确电路的四个组成部分:输入电路、控制电路、A
5、/D转换、D/A转换,并清楚各部分的电路组成及作用。再次,关键要理解电路的核心部分即A/D、D/A转换部分的工作原理、接口的有效地址等。最后,输入编写的程序后调试,检验运行结果。3.2 基本工作原理1).A/D转换部分如电路原理图所示,ADC0809的数据线、地址线、读/写信号与单片机实验系统板连接,其片选信号来自实验系统板的地址译码器,有效地址范围为F000F3FFH(PS4)。U8A将ALE信号2分频,产生500kHz的转换时钟。U7B和U7C与片选信号PS4配合,完成ADC0809的通道选择、启动转换和数据读取。U8B将EOC信号转换极性,生成INT0信号,向单片机提出中断请求,同时驱动
6、L2发光,指示A/D转换已经完成。图中RP4为参考电压调节电位器,RP5为ADC0809的IN-7输入电压调节电位器。S1为RC过渡过程输入控制按键,当S1从按下状态抬起时,IN-6引脚将产生RC充电过程的电压变化,该变化过程可由ADC0809定时取样捕捉到,用于实现存储示波器的相关实验。输入端VIN1和V IN2引到了实验卡的连接器J1 上,用于连接外部的电压输入,相关的串联电阻和嵌位二极管组成保护电路,防止外部的电压输入过高造成ADC0809的损坏。通过不同输入通道的选择和相关的电压调节,配合不同的试验程序,可以对ADC0809进行不同的实验测试。2).D/A转换部分如电路原理图所示,DA
7、C0832的数据线、地址线、读/写信号与单片机实验系统板连接,其片选信号来自实验系统板的地址译码器,U2(输出端为VO1)的有效地址范围为F800FBFFH(PS6),U3(输出端为VO2)的有效地址范围为F400F7FFH(PS5)。通过拨码开关SW1的选择,可分别接入低通滤波电容C2(闭合SW1-1)和C3(闭合SW1-2),也可以改变参考电压的极性(SW1-3闭合时为-5V)和的工作模式(SW1-4闭合时为单缓冲)。SW1-4断开时两片DAC0832均工作在双缓冲模式,第二级缓冲器的选通信号来自实验系统板地址译码器的PS7输出,其有效地址范围为FC00FFFFH。图中RP2为参考电压调节
8、电位器,RP3为VO1输出的调零电位器,RP1为VO1输出的满度调节电位器。输出端VO1和VO2引到了实验卡的连接器J1 上,可用于连接外部电路,也可以连接万用表和示波器,以便测量输出电压和输出波形。输出端VO1还通过限流电阻连接LED指示灯L1,可以观察到输出电压变化引起LED亮度的变化情况。通过外围电路的不同选择和参数调节,配合不同的试验程序,可以对DAC0832进行各种工作方式的实验测试。4 程序设计4.1 程序流程图开始采集并存储有触发吗?设定存储字节数完成吗?采集并存储设定初始地址设定存储字节数输出存储的数据地址+1NYNYS1按下吗?N数据采集4.2 设计思路程序“开始”部分是初始
9、化内容,包括设定采集数据的存储首地址:外部RAM的C000H,以及存储字节数256。“数据采集”部分包括启动A/D转换、执行延时程序(延时时间可设定在200s)等待转换结束、取回转换结果,为S1是否按下提供参考数据。“S1按下吗?”部分为按键S1是否按下判断程序。本设计采用上升沿触发方式,S1按下时产生下降沿。当A/D采样数据大于判断点10H时,表明按键尚未按下,当A/D采样数据小于触发点时,表明按键已经按下,转入触发检测环节,循环存储采样数据。当A/D采样值重新上升到大于或等于触发点数据时,便认为触发信号到来,转入下面的采样程序。 “有触发吗?”部分为触发点判断程序。本设计采用上升沿触发方式
10、,当A/D采样数据小于触发点20H时,表明按键按下尚未抬起,继续循环存储采样数据。当A/D采样值上升到大于或等于触发点数据时,表明按键按已抬起,便认为触发信号到来,转入下面的采样程序。“设定存储字节数”程序将触发后的采样点数设定在128个字节。接下来的“采集并存储”部分与前面叙述的完全相同。“完成吗?”判断128个字节的采样是否完成,如果完成就进入下面的D/A转换程序。这样在256个字节的存储器中,就包含了触发前、后各128字节的采样数据,可完全记录电容C5充电前后的电压变化波形。“采集并存储”部分包括启动A/D转换、执行延时程序等待转换结束、取回转换结果并存储到C000H开始的RAM中和存储
11、器地址加1,为下次存储做准备等程序。其中延时程序决定了数据采样周期,采样周期(延时时间)可初步设定在200s,全部程序调试完成后,再尝试改变采样周期,观察采样周期变化对重现被测信号波形的影响,并说明原因。本设计数据存储深度为256字节,存满256 字节后自动从头开始刷新。可用DPTR做数据指针,利用INC DPL指令实现DPTR在C000HC0FFH之间自动循环。 “输出存储的数据”程序将数据存储器中的A/D采样值送到D/A转换器输出。“地址1”程序修改数据指针的低8位地址,使数据存储器地址在C000HC0FFH之间自动循环。这样便可以通过D/A转换器反复重现电容C5充电过程的完整波形,实现存
12、储波形的稳定显示。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键),观察存储
13、器中采集到的数据是否全部为00H或FFH。如果是,则说明A/D转换和数据存储程序工作正常,否则说明A/D转换和数据存储程序没有正常工作。(2)D/A转换部分调试。将存储器中输入一些有规律的数据,例如多个FFH和OOH,循环执行D/A转换程序,看示波器中是否有对应的高、低电压波形出现。如果有,则说明D/A转换程序工作正常,否则说明D/A转换程序没有正常工作。(3)触发点捕捉部分调试。连续执行全部程序,在不断的按下和抬起S1时,按下MON键,根据当前的PC值,确定程序终止在哪个部分的循环程序中,判断相关指令的使用是否正确。5.3 遇到的问题及解决办法向MCS-51单片机实验系统板输入编写好的程序,
14、转到0100H单元,执行程序后按下按键S1,使电容C5先放电后充电,观察示波器的显示。若波形未达到预期情况,转到C000H单元观察所采样到的电平值是否正确,再结合源程序进行修改,并检查机器码无误后重复执行调试过程。在编写程序时主要遇到了以下问题:(1) 开始时只用一个电平值20H既判断是否按下又判断是否触发,导致程序跳转出错;(2) 由于设置延时时间不当,示波器显示出的波形有些失真; (3) 采样值的存储单元用DPTR作指针,存储区为C000HC0FFH一共256个字节,循环存储时用DPTR+1,这样做很复杂,当存储到C0FFH时不能加1到C100H而需返回到C000H单元。解决办法:(1)
15、先用10H来判断S1键是否按下,而后再用20H来判断是否触发;(2) RC放电常数约为10ms,因此延时时间设定为200s;(3) 再采集并存储时,由于存储区恰有256字节,因此可只用DPL加1实现循环存储。6 结论6.1 设计结果及分析发挥部分示波器显示图形(取某一次的结果)基本要求示波器显示图形(取某一次的结果) 6.2 学到的知识及个人体会 这次微机接口的课程设计报告题目为数字存储示波器设计,跟我们平时上课的做过的A/D,D/A转换实验是有非常大的联系的,由于那两次实验都好好做了,所以这次的课程设计显得还相应的顺手点,在程序调试与仿真的过程中,没有显得特别难。通过这次对数字存储示波器的设
16、计,我加深了对A/D,D/A转化原理的了解,增强了我对数字存储示波器原理的了解。使我在课堂上学到的知识能够活学活用到我们真正的实践过程中,增强了我们的动手能力与团队合作能力,因为这个实验不是我们一个人在完成,而是一个小组在完成,只有小组成员间搭配好了我们才能更好更快的做好我们的实验,及时发现问题与解决问题。同时增强了我们软硬件结合的能力,只有软件调试与硬件调试都调试好了我们才能出结果。同时在本次实验中学科渗透在体现的非常明显,跟我们单片机学到的内容也联系非常密切,又加深了对MCS-51单片机的认识。7 参考文献1 刘乐善. 微型计算机接口技术及应用. 第1版.武汉:华中科技大学出版社,2000
17、2 张永瑞. 电子测量技术基础. 第1版. 西安:西安电子技大学出版社,19943 阎石. 数字电子技术基础. 第4版. 北京:高等教育出版社,20024 童诗白. 模拟电子技术基础. 第3版.北京:高等教育出版社,20005 高锋. 单片微型计算机原理与接口技术. 北京:科学出版社,2003附录1:源程序清单及注释基础部分ORG0100H ;程序首地址MOVP2,#0C0H0100: 75A0C0 ;外部数据存储器的高八位MOVR0,#00H0103: 78 00MOVR1,#80H0105: 7980NEXT1:MOVDPTR,#0F006H0107: 90F006 ;检测有无按键按下MO
18、VXDDTR,A010A: F0 ;启动ADC(IN-6)LCALLDELAY010B: 1203 00 ;调用延时MOVXA,PPTR010E: E0 ;读数据NOP010F: 00CJNEA,#20H,CP10110: B42000 ;当有按键按下后存储CP1:JNCNEXT10113: 50F2NEXT2:MOVDPTR,#0F006H0115: 90F006MOVXDDTR,A0118: F0 ;启动ADC(IN-6)LCALLDELAY0119: 120300 ;调用延时MOVXA,PPTR011C: E0 ;读数据NOP011D: 00MOVXRO,A011E: F2 ;存储数据I
19、NCRO011F: 08 ;外部地址加1CJNEA,#30H,CP20120: B43000 ;判断按键有无抬起CP2:JCNEXT20123: 40F0NEXT3:MOVDPTR,#0F006H0125: 90F006 ;存储按键抬起数据MOVXDDTR,A0128: F0 ;启动ADC(IN-6)LCALLDELAY0129: 120300 ;调用延时MOVXA,PPTR012C: E0 ;读数据NOP012D: 00MOVXRO,A012E: F2INCRO012F: 08DJNZR1,NEXT30130: D9F3MOVRO,#00H0132: 7800MOVDPTR,#0F800H0
20、134: 90F800 ;U2芯片地址NEXT4:MOVA,RO0137: E2MOVXDPTR,A0138: F0 ;写入DAC INCR00139: 08SJMPNEXT4013A: 80FBORG0300H ;延时200us的程序DELAY:MOVR6,#63H0300:7E63NOP0302:00NEXT:DJNER6,NEXT0303:DEFERET0305:22发挥部分ORG0100H ;程序首地址MOVP2,#0C0H0100: 75A0C0 ;外部数据存储器的高八位MOVR0,#00H0103: 7800MOVR1,#80H0105: 7980NEXT1:MOVDPTR,#0F
21、006H0107: 90F006 ;检测有无按键按下MOVXDDTR,A010A: F0 ;启动ADC(IN-6)LCALLDELAY010B: 120300 ;调用延时MOVXA,PPTR010E: E0 ;读数据NOP010F: 00CJNEA,#20H,CP10110: B42000 ;当有按键按下后存储CP1:JNCNEXT10113: 50F2NEXT2:MOVDPTR,#0F006H0115: 90F006MOVXDDTR,A0118: F0 ;启动ADC(IN-6)LCALLDELAY0119: 120300 ;调用延时MOVXA,PPTR011C: E0 ;读数据NOP011D
22、: 00MOVXRO,A011E: F2 ;存储数据INCRO011F: 08 ;外部地址加1CJNEA,#30H,CP20120: B43000 ;判断按键有无抬起CP2:JCNEXT20123: 40F0NEXT3:MOVDPTR,#0F006H0125: 90F006 ;存储按键抬起数据MOVXDDTR,A0128: F0 ;启动ADC(IN-6)LCALLDELAY0129: 120300 ;调用延时MOVXA,PPTR012C: E0 ;读数据NOP012D: 00MOVXRO,A012E: F2INCRO012F: 08DJNZR1,NEXT30130: D9F3MOVRO,#00
23、H0132: 7800MOVR1,#00H0134: 7900NEXT4:MOVDPTR,#0F800H0136: 90F800 ;Y通道输出波形MOVA,RO0139: E2MOVXDPTR,A013A: F0INCR0013B: 08MOVDPTR,#0F400H013C: 90F400 ;X通道输出波形MOVA,R1013F: E9MOVDPTR,A0140: F0INCR10141: 09STMPNEXT40142: 80F2ORG0300H ;延时200us程序DELAY:MOVR6,#63H0300: 7E63NOP0302: 00NEXT:DJNER6,NEXT0303: DEFERET0305: 22附录2:电路原理图