微机接口技术课程设计报告范文Word下载.docx
《微机接口技术课程设计报告范文Word下载.docx》由会员分享,可在线阅读,更多相关《微机接口技术课程设计报告范文Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
2012.6.18——2012.6.21
设计题目
数字存储示波器设计
指
导
教
师
评
语
年月日
附录(原始程序清单及电路原理图)
1设计任务与要求
本设计通过简单的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页)
3硬件电路分析(该容不超过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进行各种工作方式的实验测试。
4程序设计(该容不超过2页)
4.1程序流程图
4.2设计思路
程序“开始”部分是初始化容,包括设定采集数据的存储首地址:
外部RAM的C000H,以及存储字节数256。
“数据采集”部分包括启动A/D转换、执行延时程序(延时时间可设定在200μs)等待转换结束、取回转换结果,为S1是否按下提供参考数据。
“S1按下吗?
”部分为按键S1是否按下判断程序。
本设计采用上升沿触发方式,S1按下时产生下降沿。
当A/D采样数据大于判断点10H时,表明按键尚未按下,当A/D采样数据小于触发点时,表明按键已经按下,转入触发检测环节,循环存储采样数据。
当A/D采样值重新上升到大于或等于触发点数据时,便认为触发信号到来,转入下面的采样程序。
“有触发吗?
”部分为触发点判断程序。
本设计采用上升沿触发方式,当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值,确定程序终止在哪个部分的循环程序中,判断相关指令的使用是否正确。
5.3遇到的问题及解决办法
向MCS-51单片机实验系统板输入编写好的程序,转到0100H单元,执行程序后按下按键S1,使电容C5先放电后充电,观察示波器的显示。
若波形未达到预期情况,转到C000H单元观察所采样到的电平值是否正确,再结合源程序进行修改,并检查机器码无误后重复执行调试过程。
在编写程序时主要遇到了以下问题:
(1)开始时只用一个电平值20H既判断是否按下又判断是否触发,导致程序跳转出错;
(2)由于设置延时时间不当,示波器显示出的波形有些失真;
(3)采样值的存储单元用DPTR作指针,存储区为C000H—C0FFH一共256个字节,循环存储时用DPTR+1,这样做很复杂,当存储到C0FFH时不能加1到C100H而需返回到C000H单元。
解决办法:
(1)先用10H来判断S1键是否按下,而后再用20H来判断是否触发;
(2)RC放电常数约为10ms,因此延时时间设定为200μs;
(3)再采集并存储时,由于存储区恰有256字节,因此可只用DPL加1实现循环存储。
6结论
6.1设计结果及分析
基本要求示波器显示图形如下:
(取某一次的结果)
发挥部分示波器显示图形如下:
6.2学到的知识及个人体会
通过本次设计数字存储示波器,对于A/D、D/A转换接口电路有了更深入的了解,熟悉了ADC0809和DAC0832的功能特点,掌握了其控制程序的编写及使用方法以及与MCS-51单片机接口电路的工作原理。
通过本次接口技术的课程设计,设计数字存储示波器,我深切体会到了理论应用于实际、软件设计与硬件设计相结合的重要性。
首先,通过实验,我在课本上学到的理论知识得到了更深入的理解,对于A/D、D/A转换的工作原理及芯片的特性更加熟练地掌握,在一遍遍调试的过程中,我也更加熟练地使用MCS-51实验教学系统板。
其次,通过编写并修改程序,我能够掌握汇编语言并熟练地运用它实现一些基本的功能,例如:
延时、采集并存储、与触发值比较并跳转等等,在用软件编程的过程中也对单片机的工作更加了解。
同时,在与硬件设计相结合的过程中,我明白了去按照硬件电路的组成去分模块编写程序以控制不同的硬件部分是很便利且不易出错的,这点不仅提升了对硬件电路的认识,也大大简化了程序的编写。
7参考文献
[1]乐善.微型计算机接口技术及应用.第1版.:
华中科技大学,2000
[2]永瑞.电子测量技术基础.第1版.:
电子技大学,1994
[3]阎石.数字电子技术基础.第4版.:
高等教育,2002
[4]童诗白.模拟电子技术基础.第3版.:
高等教育,2000
[5]高锋.单片微型计算机原理与接口技术.:
科学,2003
(正文容,到此不能超过6页)
附录A:
源程序清单及注释(不超过2页)
ORG0100H;
主程序
MAIN:
MOVR3,#0C0H;
MOVR2,#00H;
MOVR0,#0FFH;
LP1:
LCALLAD;
采样
CJNEA,#10H,LP2;
与10H比较,检查是否按下
LP2:
JNCLP1;
若>
10H,即没有按下,继续采样判断
LCALLAD;
若<
10H,即按下,采样继续执行程序
LOOP1:
CJNEA,#20H,NEXT1;
与20H比较,检查是否触发
NSTART:
LCALLAD;
继续采样判断触发
DJNZRO,LOOP1;
SJMPMAIN;
NEXT1:
JNCSTART;
20H,即已触发,跳转
SJMPNSTART;
20H,即未触发,继续采样判断
START:
MOVR1,#80H;
判断触发后,存储128个字节
LOOP2:
采集并存储
DJNZR1,LOOP2
LCALLDA;
D/A输出
ORG0200H;
A/D采样存储程序段
AD:
MOVDPTR,#0FOO6H
MOVXDPTR,A;
读IN-6口电平值
LCALLDelay200;
调用延时程序
MOVXA,DPTR
MOVDPH,R3
MOVDPL,R2
将采样值存储到指定单元
INCR2;
循环存储
RET
ORG0300H;
D/A输出程序段
DA:
MOVR3,#0C0H
MOVR2,#00H
MOVXA,DPTR;
从存储单元读取采样值
MOVDPTR,#0F800H
从0832的PS6通道输出采样值
INCR2
ORG0400H;
延时200μs程序段
Delay200:
MOVR4,#32
DJNZR4,$
(仅修改从0300H单元开始的D/A输出程序段)
ORG0300H
MOVR7,#00H
MOVR3,#0C0H
MOVR2,#00H
LOOP3:
MOVDPH,R3
MOVDPTR#0F400H
MOVA,R7
从0832的PS5通道输出扫描锯齿波
ADDA,#01H
MOVR7,A
LJMPLOOP3
附录B:
电路原理图