硬件课设报告030910337 徐大生.docx

上传人:b****5 文档编号:30691343 上传时间:2023-08-19 格式:DOCX 页数:15 大小:1.02MB
下载 相关 举报
硬件课设报告030910337 徐大生.docx_第1页
第1页 / 共15页
硬件课设报告030910337 徐大生.docx_第2页
第2页 / 共15页
硬件课设报告030910337 徐大生.docx_第3页
第3页 / 共15页
硬件课设报告030910337 徐大生.docx_第4页
第4页 / 共15页
硬件课设报告030910337 徐大生.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

硬件课设报告030910337 徐大生.docx

《硬件课设报告030910337 徐大生.docx》由会员分享,可在线阅读,更多相关《硬件课设报告030910337 徐大生.docx(15页珍藏版)》请在冰豆网上搜索。

硬件课设报告030910337 徐大生.docx

硬件课设报告030910337徐大生

硬件技术课程设计实验报告

报告名称:

数据采集显示系统设计二(查询法)

学 院专业:

自动化学院自动化专业

班级:

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的工作方式和工作原理有了更深刻的理解,同时提高了自己的程序编写能力和发现并改正问题的能力,掌握了编程和程序调试方法。

老师在验收的时候,针对不同的分工问相对的软件或者硬件的问题,且问题是随机的,这样就避免了同学之间互相通气的可能,这样更能考察出大家对课设的理解和掌握程度,这点我感觉很好,如果老师能够软件设计方法和思路方面的问题,或者给出不同的设计思路,我想课设的效果会更好的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1