微机接口技术课程设计 -.doc_第1页
微机接口技术课程设计 -.doc_第2页
微机接口技术课程设计 -.doc_第3页
微机接口技术课程设计 -.doc_第4页
微机接口技术课程设计 -.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河北科技大学课程设计报告学生姓名: 学号: 专业班级: 电子信息工程L111班 课程名称: 微机接口技术课程设计 学年学期: 20132014学年第二学期 指导教师: 王震洲 2 01 4 年 6 月16 课程设计成绩评定表学生姓名 成绩专业班级电信起止时间2014年6月16日6月20日设计题目数字存储示波器设计指导教师评语指导教师: 年 月 日目录一、课程设计目的及意义 2二、课程设计任务及要求 23、 总体方案设计 24、 硬件电路设计3五、程序设计8六、数字频率示波器调试 13七、课程设计总结及体会14八、参考文献15附录:A/D、D/A接口实验卡电路原理图 16一、课程设计目的及意义通过课程设计,学生可掌握多种接口的软硬件设计基本思路和调试方法,培养学生分析解决实际问题的能力。加深学生对微机接口技术、电子测量技术和单片机原理及应用等课程知识的掌握与综合运用能力。掌握工程设计手段和软件工具,锻炼以图纸和说明书表达设计思想和结果的能力,培养学生在实际工程设计中严谨认真的工作态度。提高学生的创新意识及动手能力,为后续课程的学习以及毕业后从事微机硬件及软件开发打下基础,积累初步的经验。二、课程设计题目及设计要求本设计通过简单的A/D转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的D/A转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。被测信号产生电路参见“A/D、D/A接口实验扩展卡电路原理图”。当按下S1时,电容C5完全放电,A/D转换器输入电压为零;抬起S1时,电容C5开始充电,A/D转换器输入电压按RC过渡过程开始上升,最终达到+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充电过程的波形稳定显示。3、 总体方案设计1、数字存储示波器工作原理由于单片机实验系统已经提供了相关信号线,使用ADC0809、DAC0832和相关外围电路元件,组成了最基本的A/D转换和D/A转换电路。可由ADC0809负责采集电容C5充电时的信号,并将其转换为数字信号,并存储。DAC0832将存储的数字信号,转换为模拟的电压值,再将其设置为循环输出,产生一定频率的重复波形,送到普通示波器显示。2、 数字存储示波器总体结构框图 图1 总体方案设计四、硬件电路设计1、ADC0809工作原理 ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构 ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。图2 ADC0809引脚图(2) ADC0809原理及使用图1 ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。 数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。数字输出为TTL电平,三态输出,时钟频率一般为640KHz(典型),转换时间为100s,输入电压范围:0VVREF ,转换方式为逐次逼近式,输出:2、DAC0832工作原理 DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。(1)DAC0832内部结构图3 DAC0832内部结构及引脚图DAC0832的内部结构如图3所示。DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为ILE;第二级锁存器称为DAC寄存器,它的锁存信号为传输控制信号。因为有两级锁存器,DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同时采集下一个数字量,这样能有效地提高转换速度。此外,两级锁存器还可以在多个D/A转换器同时工作时,利用第二级锁存信号来实现多个转换器同步输出。图3中LE为高电平、和为低电平时,为高电平,输入寄存器的输出跟随输入而变化;此后,当由低变高时,为低电平,资料被锁存到输入寄存器中,这时的输入寄存器的输出端不再跟随输入资料的变化而变化。对第二级锁存器来说,和同时为低电平时,为高电平,DAC寄存器的输出跟随其输入而变化;此后,当由低变高时,变为低电平,将输入寄存器的资料锁存到DAC寄存器中。(2)DAC0832原理及使用数字量的值是由每一位的数字权叠加而得的,由电阻网络和运算放大器构成的D/A转换器.在D/A转换中采用独立的权电阻网络,对于一个8位二进制数的D/A转换器,就需要R,2R,4R,128R共8个不等的电阻,最大电阻阻值是最小电阻阻值的128倍,而且对这些电阻的精度要求比较高。如果这样的话,从工艺上实现起来是很困难的。所以,n个如此独立输入支路的方案是不实用的。在DAC电路结构中,最简单而实用的是采用T型电阻网络来代替单一的权电阻网络,整个电阻网络只需要R和2R两种电阻。在集成电路中,由于所有的组件都做在同一芯片上,电阻的特性可以做得很相近,而且精度与误差问题也可以得到解决。图4是采用T型电阻网络的4位D/A转换器。4位元待转换资料分别控制4条支路中开关的倒向。在每一条支路中,如果(资料为0)开头倒向左边,支路中的电阻就接到地;如果(资料为1)开关倒向右边,电阻就接到虚地。所以,不管开关倒向哪一边,都可以认为是接“地”。不过,只有开关倒向右边时,才能给运算放大器输入端提供电流。图4 T型电阻网络的4位D/A转换器T型电阻网络中,节点A的左边为两个2R的电阻并联,它们的等效电阻为R,节点B的左边也是两个2R的电阻并联,它们的等效电阻也是R,依次类推,最后在D点等效于一个数值为R的电阻接在参考电压VREF上。这样,就很容易算出,C点、B点、A点的电位分别为-VREF/2,-VREF/4,-VREF/8。在清楚了电阻网络的特点和各节点的电压之后,再来分析一下各支路的电流值。开关S3,S2,S1,S0分别代表对应的1位二进制数。任一资料位Di=1,表示开关Si倒向右边;Di=0,表示开关Si倒向左边,接虚地,无电流。当右边第一条支路的开关S3倒向右边时,运算放大器得到的输入电流为-VREF/(2R),同理,开关S2,S1,S0倒向右边时,输入电流分别为-VREF/(4R),-VREF/(8R),-VREF/(16R)。如果一个二进制数据为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)将资料推广到n位,输出模拟量与输入数字量之间关系的一般表达式为:V0=-VREFR0/(2nR)(Dn-12n-1+Dn-2 2n-2+D121+D020) (Di=1或0)上式表明,输出电压V0除了和待转换的二进制数成比例外,还和网络电阻R、运算放大器反馈电阻R0、标准参考电压VREF有关。DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。如图5所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。运算放大器输出的模拟量V0为:由上式可见,输出的模拟量 与输入的数字量( ) 成正比,这就实现了从数字量到模拟量的转换。 图5 DAC0832直流输出型8位数/模转换器 一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。2、硬件设计思路由于本次课设利用现有的单片机实验系统板,系统板已经提供了相关信号线及ADC0809、DAC0832和相关外围电路元件,组成了最基本的A/D转换和D/A转换电路。所以此次设计就变得相对简单。可由ADC0809采集电容C5充电时的信号,并将其转换为数字信号,并存储。DAC0832将存储的数字信号,转换为模拟的电压值,再将其设置为循环输出,产生一定频率的重复波形,送到普通示波器显示。五、程序设计1、 数字存储示波器程序设计根据数字存储示波器的基本工作原理编写实验程序,实现触发点的捕捉、被测信号的采集和数据的存储以及信号波形的再现功能。参考程序流程如下:开始采集并存储有触发吗?设定存储字节数完成吗?采集并存储设定初始地址设定存储字节数输出存储的数据地址+1数据采集NS1按下吗?NYNY程序“开始”部分是初始化内容,包括指定堆栈指针SP(例如:50H);设定采集数据的存储首地址,本设计为单片机外部RAM的C000H。“数据采集”部分包括启动A/D转换、执行延时程序(延时时间可设定在200s)等待转换结束、取回转换结果,为S1是否按下提供参考数据。“S1按下吗?”部分为按键S1是否按下判断程序。本设计采用上升沿触发方式,S1按下时产生下降沿。当A/D采样数据大于判断点(例如:20H)时,表明按键尚未按下,当A/D采样数据小于触发点时,表明按键已经按下,转入触发检测环节,循环存储采样数据。当A/D采样值重新上升到大于或等于触发点数据时,便认为触发信号到来,转入下面的采样程序。“采集并存储”部分包括启动A/D转换、执行延时程序等待转换结束、取回转换结果并存储到C000H开始的RAM中和存储器地址加1,为下次存储做准备等程序。其中延时程序决定了数据采样周期,采样周期(延时时间)可初步设定在200s,全部程序调试完成后,再尝试改变采样周期,观察采样周期变化对重现被测信号波形的影响,并说明原因。本设计数据存储深度为256字节,存满256 字节后自动从头开始刷新。可用DPTR做数据指针,利用INC DPL指令实现DPTR在C000HC0FFH之间自动循环。“有触发吗?”部分为触发点(触发点数据要大于等于S1按下判断点数据)判断程序。本设计采用上升沿触发方式,当A/D采样数据小于触发点时,表明按键按下尚未抬起,继续循环存储采样数据。当A/D采样值上升到大于或等于触发点数据时,表明按键按已抬起,便认为触发信号到来,转入下面的采样程序。“设定存储字节数”程序将触发后的采样点数设定在128个字节。接下来的“采集并存储”部分与前面叙述的完全相同。“完成吗?”判断128个字节的采样是否完成,如果完成就进入下面的D/A转换程序。这样在256个字节的存储器中,就包含了触发前、后各128字节的采样数据,可完全记录电容C5充电前后的电压变化波形。“设定初始地址”部分将数据指针(例如:DPTR)重新设定在C000H。“输出存储的数据”程序将数据存储器中的A/D采样值送到D/A转换器输出。“地址1”程序修改数据指针的低8位地址,使数据存储器地址在C000HC0FFH之间自动循环。这样便可以通过D/A转换器反复重现电容C5充电过程的完整波形,实现存储波形的稳定显示。2、参考程序:(1)基本程序清单:ORG 0100H 机器码 地址码MOV SP, #50H 75 81 50 0100MOV DPTR,#C000H 90 C0 00 0103PUSH DPH C0 83 0106PUSH DPL C0 82 0108MOV DPTR, #0F000H 90 F0 06 010ASTART MOVX DPTR,A F0 010DMOV R0,#100 78 64 010EDELAY: DJNZ R0,DELAY D8 FE 0110 MOVX A,DPTR E0 0112 CJNZ A,#20H, S11 B4 10 00 0 113 S11: JNC START 50 F5 0116CAIJI1: MOVX DPTR, A F0 0118 MOV R0,#100 78 64 0119DELAY1 : DJNZ R0,DELAY D8 FE 011B MOVX A,DPTR E0 011D POP DPL D0 82 011E POP DPH D0 83 0120 MOVX DPTR,A F0 0122 INC DPL 05 82 C123 PUSH DPH C0 83 0125 PUSH DPL C0 82 0127 MOV DPTR,#0F006H 90 F0 06 0129 CJNZ A,#20H,S12 B4 10 00 012C S12: JC CAIJI1 40 EF 012F MOV R1,#80H 79 80 0131 MOV DPTR,#C080H 90 C0 80 0133 PUSH DPH C0 83 0136 PUSH DPL C0 82 0138 MOV DPTR,#0F006H 90 F0 06 013ACAIJI2: MOVX DPTR,A F0 013D MOV R0,#100 78 64 013EDELAY: DJNZ R0,DELAY D8 FE 0140 MOVX A,DPTR E0 0142 POP DPL D0 82 0143 POP DPH D0 83 0145 MOVX DPTR,A F0 0147 INC DPL 05 82 0148 PUSH DPH C0 83 014A PUSH DPL C0 82 014C MOV DPTR,#0F006H 90 F0 06 0148 DJNZ R1,CHIJI2 D9 EA 0151 MOV DPTR,#C000H 90 C0 00 0153NEXT: MOV A,DPTR E0 0156 INC DPL 05 82 0157 PUSH DPH C0 83 0159 PUSH DPL C0 82 015B MOV DPTR,#0F800H 90 F8 00 015D MOVX DPTR,A F0 0160 POP DPL D0 82 0161 POP DPH D0 83 0163 SJMP NEXT 80 EF 0165实验波形:(2)发挥部分程序清单: ORG 0100H 机器码 注释MOV P0 ,#0C0H 75 A0 C0 外部数据存储器的高八位MOV R0,#00H 78 00MOV R1,#80H 79 80 NEXT:MOV DPTR,#0F008H 90 F0 06 检测有无按键按下 MOVX DPTR,A F0 启动ADC(IN-6) ICALL DELAY 12 03 00 凋用延时 MOV A,DPTR E0 读数据 NOP 00 CJNE A,#20H CP1 B4 20 00 当有按键按下后存储CP1: JNC NEXT1 50 F2NEXT2:MOV DPTR,#0F006H 90 F0 06 MOVX DPTR,A F0 启动ADC(IN-6) LCALL DELAY 12 03 00 凋用延时 MOVX A,DPTR E0 读数据 NOP 00 MOVX R0,A F2 存储数据 INC R0 08 外部地址加1 CJNE A,#30H CP2 B4 30 00 判断按键有无抬起 CP2: JC NEXT2 40 F0NEXT3:MOV DPTR,#0F006H 90 F0 06 存储按键抬起数据 MOVX DPTR,A F0 启动ADC(CIN-6) LCALL DELAY 12 03 00 调用延时 MOVX A,DPTR E0 读数据 NOP 00 MOVX R0,A F2 INC R0 08 DJNZ R1,NEXT3 D9 F3 MOV R0,#00H 78 00 MOV R1,#00H 79 00NEXT4:MOV DPTR,#0F800H 90 F8 00 Y通道输出波形 MOV A,R0 E2 MOVX DPTR,A F0 INC R0 08 MOV DPTR,#0F400H 90 F4 00 X通道输出波形 MOV A,R1 E9 MOV DPTR,A F0 INC R1 09 SJMP NEXT4 80 F2 ORG 0300H 延时200us程序DELAY: MOV R6,#63H 7E 63 NOP 00NEXT:DJNE R6,NEXT DE FE RET 22 实验波形:六、 数字存储示波器调试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。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值,确定程序终止在哪个部分的循环程序中,判断相关指令的使用是否正确。3、调试过程中出现的问题(1)、机器码翻译错误 改正:将错误的机器码改正,计算出正确的rel即可。(2) 改数据后波形不符合 改正:检查程序,将需要更改但被遗漏处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论