硬件课设报告Word文档格式.docx
- 文档编号:16241617
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:12
- 大小:93.90KB
硬件课设报告Word文档格式.docx
《硬件课设报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《硬件课设报告Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
(3)IN1采集的电压值以十进制在CRT上显示
4、ADC0809采用查询方式读取数据
5、显示须有一定的延时
三、硬件设计,接线图及简要说明
1、硬件原理框图
2、接线图
按上图接完电路后对应芯片的地址为:
(1)8255:
PA口地址:
3000H PB口地址:
3004HPC口地址:
3008H 控制端口地址:
300CH
(2)ADC0809:
IN0地址为:
3040H IN1地址为:
3044H
(3)DAC0832:
DAC0832地址为(单缓冲模式):
3080H
3、总体设计思想
程序特点:
(1)能够动态跟踪采集数据的变化情况。
通过不断循环采集。
(2)能够实现开始和随时结束采集的控制。
通过每次循环开始前判断键盘中有没有结束符输入。
(3)本次课设最大特点是利用DOS的02H号功能调用显示电压值0.00和5.00,使得程序简单清晰。
程序思想
(1)选通ADC0809通道0采集电阻电位,将其转化为数字信号。
(2)此时通过8255的PA0口不断读取ADC0809的EOC信号,一旦EOC信号变成高电位,CPU读取ADC转化的数字信号。
(3)同时将其转化成十六进制存放在变量BUF中,为LED灯的显示做准备。
(4)将BUF中存的十六进制数,通过动态扫描的方法显示在LED灯上。
(5)将第二步得到的数字信号与2.5V作比较,将比较结果送DAC0832,再将DAC0832得到的模拟量送ADC0809的通道1转化成数字量存入VV中,将VV对应的电压值送到屏幕上显示。
(6)用相同的方法从第一步开始循环,在循环前判断键盘上是否有结束符输入。
四、程序框图
1、主程序流程图
2、LED灯动态扫描显示程序流程图
3、CRT显示子程序流程图
五、实验结果、体会和建议
实验结果
通过调节电阻电位值,LED灯连续显示00H~FFH,而且高位的LED灯明显比低位稳定明亮;
CRT上当电阻的电位大于等于2.5V时显示5.00,当电阻的电位值小于2.5V时显示0.00。
实验结果与要求相符。
。
实验体会
通过本次课程设计,我加深了对ADC0809、DAC0832、8255等芯片的认识,熟悉了LED数码管的使用,更加熟练地掌握了DOS的各种功能调用命令,计算机硬件技术基础知识的运用能力得到进一步提高。
这次的课设整体思路比较清晰,所以对编程思想来说比较清楚,就是将平时学习的各种接口芯片综合起来进行应用。
1、硬件连线方面
本次硬件连线较为简单,线路数目也不多。
需要注意的问题是:
要将同一根线连接的两个端口的高低位对好,需要颜色一致,否则容易出现混乱,影响结果。
2、软件编程方面
本次软件编程的程序较长,编写程序时需要采取分块的思路,先明确主要步骤有哪些,画出流程图,再进行语句编写。
ADC0809主要是明确通道0和通道1的地址,还有通过EOC的高低电平的查询判断判别信号是否转换完毕。
8255一般是用作接口通道,使用前要注意通过对控制端口的初始化来控制端口的工作方式,在本次课设中8255主要是用来为CPU提供查询EOC信号的通道,以及提供LED动态扫描显示的段码控制口和位码控制口。
CRT是显示ADC0809IN1采集的数字量对应的电压值,需要用DOS功能调用显示电压值0.00和5.00。
另外,本次编程涉及到的变量地址比较多,所以不再将地址直接列在各条程序语句中,而是将地址先用‘EQU’语句定义在程序开头,再在程序中直接使用变量名,大大方便了编程和修改。
3、数码管使用方面
虽然在之前的硬件实验中也用到过数码管,但对它的使用方法并不是非常了解,这也是本次课设中遇到的一个比较大的困难。
比如如何协调段码和位码,应当先将段码表对应好,通过8255的端口控制位码和段码,并且注意适当的延时保证显示效果。
4、实验中应该注意的问题
1芯片的地址一定要确保译码正确,否则芯片无法使用。
我们就遇到了数码管不亮灯情况,究其原因是8255芯片的片选地址接错了
2在DEBUG程序时,如果出现几十甚至上百个ERROR不要畏惧,很多ERROR是有关联的,改几个后你就会发现明显减少了,要注意避免出现中文逗号
3遇到程序出现很奇怪的问题时,最好用单步执行的方法,耐心寻找错误,用这种方法是最有效最踏实的方法,像器件损坏之类的问题都可以检查出来
4接线时一定注意线的顺序,看清楚每根线的颜色,避免接错
5数码管显示时,要延时适当时间,时间长短视显示效果而定
附录:
程序清单
IOY0EQU3000H
IOY1EQU3040H
IOY2EQU3080H
PA8255EQUIOY0+00H*4;
8255的A口地址
PB8255EQUIOY0+01H*4;
8255的B口地址
PC8255EQUIOY0+02H*4;
8255的C口地址
PCTLEQUIOY0+03H*4;
8255的控制寄存器地址
ADCSIN0EQUIOY1+00H*4;
ADC0809的IN0地址
ADCSIN1EQUIOY1+01H*4;
ADC0809的IN1地址
DACSEQUIOY2;
DAC0832的端口地址
DATASEGMENT
BUFDB2DUP(?
)
VVDB?
;
存储屏幕上要显示电压值对应的数字量
BUFFDB?
存储LED灯要显示的两位十六进制
TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
MESDB'
Welcome!
'
0DH,0AH,'
$'
MESSDB'
Press1toBegin!
0DH,0AH
DB'
Press2toEnd!
TIPMESDB'
Start!
Press2toreturntomainmenu!
DATAENDS
STACSEGMENTPARASTACK'
STACK'
DB200HDUP(?
STACENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STAC
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES
MOVAH,09H
INT21H
LOPP:
MOVDX,OFFSETMESS
INT21H;
界面显示
LOP1:
MOVDL,0FFH
MOVAH,6
等待键盘输入
CMPAL,31H
JZBEG
CMPAL,32H
JZEXIT
JMPLOP1;
判断不同的输入执行不同的功能
EXIT:
MOVAH,4CH
BEG:
MOVDX,OFFSETTIPMES
AD_GET:
MOVDX,ADCSIN0
OUTDX,AL;
启动0809IN0转换
MOVDX,PCTL
MOVAL,90H
对8255控制端口初始化,设置A口工作方式
MOVDX,PA8255
WAIT1:
INAL,DX
TESTAL,01H
JZWAIT1;
查询等待0809转换完成
INAL,DX
XORAH,AH
PUSHAX;
保护AX中的值
MOVCL,04H
SHLAX,CL
SHRAL,CL
MOVSI,OFFSETBUF
MOV[SI],AL
MOV[SI+1],AH
POPAX
CMPAL,80H;
与2.5V比较,比较结果送入0832转换
JNBFULL
MOVAL,00H
JMPDA_OUT
FULL:
MOVAL,0FFH
DA_OUT:
MOVDX,DACS
OUTDX,AL
MOVDX,ADCSIN1
启动0809IN1转换
MOVDX,PA8255
WAIT2:
JZWAIT2;
MOVDX,ADCSIN1
MOVVV,AL
CALLLED;
动态显示LED灯
CALLDISP;
将IN1采集到的数据转换成对应的电压值
MOVAH,06H
CMPAL,32H;
判断是否有结束符输入,若有则结束采集
JNZAD_GET
JMPLOPP
LEDPROC;
LED灯动态扫描显示程序
MOVCL,02H;
CL中的值用于选灯(位值)
DISI:
MOVAL,[SI]
MOVBX,OFFSETTAB
XLAT
MOVBUFF,AL
MOVDX,PCTL
MOVAL,80H
对8255控制端口初始化,设置B口和C口工作方式
MOVDX,PB8255
MOVAL,BUFF
输出段码
MOVAL,CL
MOVDX,PC8255
输出位码
CALLDLY;
调用延时程序,保证LED灯的显示效果
CMPCL,01H;
判断动态扫描是否结束
JZQUIT
DECCL;
位码向右移1位
INCSI;
段码地址+1
JMPDISI
QUIT:
RET
LEDENDP
DISPPROC;
CRT显示子程序
PUSHAX
PUSHDX
PUSHCX;
保护现场,使用的寄存器有AX,DX,CX
MOVAH,2
MOVDL,08H
INT21H
MOVAL,VV
CMPAL,80H;
判断0809IN1转换结果的大小
JNBBIG
SMAL:
MOVDL,30H
MOVAH,02H
输出电压值0.00
JMPDOT
BIG:
MOVDL,35H
输出电压值5.00
DOT:
MOVDL,2EH
输出两个0,使输出精度为小数点后两位
EXITY:
POPCX
POPDX
POPAX
RET
DISPENDP
DELAYPROC;
副延时程序
PUSHCX
MOVCX,0FFFH
LOOP$
POPCX
DELAYENDP
DLYPROC;
主延时程序,两个延时程序的延时时间不同,方便配合使用
MOVCX,0FFH
DLY1:
CALLDELAY
LOOPDLY1
DLYENDP
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件 报告