数据采集显示系统设计查询法硬件技术课设报告.docx
《数据采集显示系统设计查询法硬件技术课设报告.docx》由会员分享,可在线阅读,更多相关《数据采集显示系统设计查询法硬件技术课设报告.docx(15页珍藏版)》请在冰豆网上搜索。
数据采集显示系统设计查询法硬件技术课设报告
硬件技术课程设计实验报告
报告名称:
数据采集显示系统设计二(查询法)
学 院专业:
自动化学院自动化专业
班级:
0309103
姓名:
徐大生
学号:
030910337
同实验者:
030910338田静
二○一二年六月二十六日
一、实验目的
1、利用PC机和实验装置设计并实现数据采集显示系统
2、进一步掌握微机硬件和软件综合设计
二、实验内容和要求
通过ADC0809的通道0(IN0)采集电位器的值,并将其通过DAC0832输出,该输出直接连接到ADC0809的通道1(IN1),并将IN0和IN1采集到的模拟电压分别在LED和CRT上显示。
要求:
1、设计简单操作页面,具有开始与结束运行控制的功能
2、IN0采集的电压值在LED上以十进制显示,IN1采集的值在CRT上以十进制显示
3、对IN0采集的通道进行如下处理:
(1)如果IN0<2.5V,则送00H到DAC0832
如果IN0>=2.5V,则送FFH到DAC0832
(2)DAC0832的输出接ADC0809的IN1,同时接示波器
(3)IN1采集的电压值以十进制在CRT上显示
4、ADC0809采用查询方式读取数据
5、显示须有一定的延时
三、硬件设计与接线图
ADDA转换模块:
D0Vref
ILE
D7
DAC0832Xfer
CS
Rf
WR1Iout1
WR2Iout2
XD0—XD7
+5V
IOY150010K
XIOW10K
5V
D0IN0
IN1
ADC0809
D7IN7
CLOCKEOC
ALEADD-A
STARTADD-B
ADD-C
REF+
ENABLEREF-
XD0-XD7
B
A
CLK
PA0
XIOWXD0
XD1
IOY0CSXD0
5V
XIOR
8255检测模块
8255
XD0-XD7D0-D7
XIOWWRPA0
数码管
键盘单元
XIORRDPA4-PA7L3-L6
XA2A0
XA3A1
/Y1CSPB0-PB7A,B-G,Dp
初始化
四、程序流程图和清单
主程序流程图:
显示提示信息
输入是否为1
LED显示
读取输入
是否为2
NO
NO
EOC=1?
启动0809开始转换IN0
结束
YESNOYES
EOC=1?
读IN0采样值保存并计算后送0832启动0809IN1,将IN0数据转换成十进制保存
YES
NO
读IN1采样值并保存,如果IN1值发生改变,将IN1转换为十进制后保存,在CRT上显示
YES
十进制转换流程图:
3、程序清单:
;回车换行宏定义
CLRFMACRO
MOVDL,0DH
MOVAH,02H
INT21H
MOVDL,0AH
INT21H
ENDM
IOY0EQU3000H
IOY1EQU3040H
IOY2EQU3080H
ADCSEQUIOY0
DACSEQUIOY1
PA55EQUIOY2+00H*4
PB55EQUIOY2+01H*4
PC55EQUIOY2+02H*4
PCTLEQUIOY2+03H*4
STACK1SEGMENTSTACK
DW256(?
)
STACK1ENDS
DATASEGMENT
DCTBLDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DCTBL1DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH
LEDDB3DUP(0)
CRTDB3DUP(0)
MES0DB'PRESS1TOSTARTTOCONVEY!
',0DH,0AH
DB'PRESS2TOQUIT!
',0DH,0AH,'$'
MES1DB'THEDATAIN1COLLECTIS:
',0DH,0AH,'$'
BUFDB2DUP(0)
DATAENDS
STACSEGMENTPARASTACK
DB256DUP(?
)
STACENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STAC
START:
MOVAX,DATA
MOVDS,AX
MOVDX,PCTL
MOVAL,90H
OUTDX,AL
;显示提示信息
LOP2:
LEADX,MES0
MOVAH,09H
INT21H
LOP1:
MOVDL,0FFH
MOVAH,06H
INT21H
JZLOP1
CMPAL,'1'
JNZLOP2
LOP0:
JMPADDA
LOP3:
CALLDISP
MOVDL,0FFH
MOVAH,06H
INT21H
CMPAL,'2'
JZEXIT
JMPLOP0
EXIT:
MOVAH,4CH
INT21H
ADDA:
MOVDX,ADCS;采集通道0数据
MOVAL,00H
OUTDX,AL
MOVDX,PA55
L1:
INAL,DX
ANDAL,01H
JZL1
MOVDX,ADCS
INAL,DX
MOVBUF,AL
CMPAL,7FH
JAEL2
MOVAL,00H
JMPL3
L2:
MOVAL,0FFH
L3:
MOVDX,DACS;转换后送入
;DAC0832
OUTDX,AL
MOVAL,BUF;数据转换
XORAH,AH
MOVBL,33H
DIVBL
MOVLED,AL;存入led显示整数
;部分
MOVDL,0AH
MOVAL,AH
XORAH,AH
MULDL
DIVBL
MOVLED[1],AL;存入led显示小
;数部分
MOVDL,0AH
MOVAL,AH
XORAH,AH
MULDL
DIVBL
MOVLED[2],AL
MOVDX,ADCS;采集通道1的数
;据
MOVAL,01H
OUTDX,AL
MOVDX,PA55
L4:
INAL,DX
ANDAL,01H
JZL4
MOVDX,ADCS
INAL,DX
CMPBUF[1],7FH
JAEL5
JMPL6
L5:
CMPAL,7FH
JAELOP3
JMPL8
L6:
CMPAL,7FH
JBL7
JMPL8
L7:
JMPLOP3
L8:
MOVBUF[1],AL
;通道1数据十进制转换
MOVAL,BUF[1]
XORAH,AH
DIVBL
MOVCRT,AL;存入CRT显示整
;数部分
MOVDL,0AH
MOVAL,AH
XORAH,AH
MULDL
DIVBL
MOVCRT[1],AL;存入CRT显示小
;数部分
MOVDL,0AH
MOVAL,AH
XORAH,AH
MULDL
DIVBL
MOVCRT[2],AL
LEADX,MES1;CRT显示in1数据
MOVAH,09H
INT21H
MOVAH,02H
MOVDL,CRT
ADDDL,30H
INT21H
MOVDL,2EH
INT21H
MOVDL,CRT[1]
ADDDL,30H
INT21H
MOVDL,CRT[2]
ADDDL,30H
INT21H
MOVDL,56H
INT21H
CLRF
JMPLOP3
DISPPROC;LED显示子程序
MOVAL,LED
LEABX,DCTBL1
XLAT
MOVDX,PB55
OUTDX,AL
MOVDX,PC55
MOVAL,04H
OUTDX,AL
CALLDELAY
MOVAL,LED[1]
LEABX,DCTBL
XLAT
MOVDX,PB55
OUTDX,AL
MOVAL,02H
MOVDX,PC55
OUTDX,AL
CALLDELAY
MOVAL,LED[2]
LEABX,DCTBL
XLAT
MOVDX,PB55
OUTDX,AL
MOVAL,01H
MOVDX,PC55
OUTDX,AL
CALLDELAY
RET
DISPENDP
DELAYPROC;延时子程序
PUSHCX
MOVBX,60H
DEL1:
MOVCX,0FFFFH
LOOP$
DECBX
JNZDEL1
POPCX
RET
DELAYENDP
CODEENDS
ENDSTART
五、实验结果及分析
实验结果:
结果分析:
本次实验的结果与理论值存在一定的误差。
模拟电压值在经过ADC0809转换时本身存在一定的误差,同时在DAC0832的数模转换中,由于其内部运算时小数的精确位数的问题,无法做到准确的令偏差输出。
实验误差除与硬件的工作原理有关外,还与硬件的老化、导线接触不良等原因有关
六、心得体会与建议
本次硬件技术基础课程的课设,主要在于程序的编写和硬件连线,编写程序涉及并行控制8255、A/D转换0809、D/A转换0832,为了能顺利编写程序,我们先复习了一下它们的工作原理及方式。
在编写程序的过程中我们遇到了一些错误,刚开始的程序由于对老师的要求理解不够透彻,编写的程序数码管只有小数点后一位且不是实时显示的,后来经同学提醒才改正过来。
连线的过程中,我们也遇到了一个问题,就是时钟源的频率不足以使ADC0809正常工作,我们发现屏幕上的数值总是与数码管一直,这是不正确的,我们先是寻找硬件连接的问题,在换了几种连接方式还是没有结果之后就开始使用不同的思路修改程序,最后才发现时时钟源的问题,改正之后最终运行正确。
这次课程设计总体来说还是挺顺利的,通过本次课设,让我对并行控制8255、A/D转换0809、D/A转换0832的工作方式和工作原理有了更深刻的理解,同时提高了自己的程序编写能力和发现并改正问题的能力,掌握了编程和程序调试方法。
老师在验收的时候,针对不同的分工问相对的软件或者硬件的问题,且问题是随机的,这样就避免了同学之间互相通气的可能,这样更能考察出大家对课设的理解和掌握程度,这点我感觉很好,如果老师能够软件设计方法和思路方面的问题,或者给出不同的设计思路,我想课设的效果会更好的。