微机原理与接口实验报告 纪平Word格式.docx
《微机原理与接口实验报告 纪平Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口实验报告 纪平Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
⑶ “
”插孔和8259的3号中断IR3插孔相连,“
”端初始为低电平。
⑷ 8259的CS端接X22
思考题:
若用IR5产生中断,要求修改硬件和软件并调试成功。
修改代码如下:
CODESEGMENT;
H8255-2.ASM
ASSUMECS:
CODE
IOCONPTEQU0FF2BH
IOAPTEQU0FF28H
IOBPTEQU0FF29H
IOCPTEQU0FF2AH
ORG11e0H
START:
MOVAL,82H
MOVDX,IOCONPT
OUTDX,AL
MOVDX,IOBPT
INAL,DX
MOVBYTEPTRDS:
[0601H],AL
MOVAL,80H
MOVAL,DS:
[0601H]
ORAL,0F0H
MOVDX,IOCPT
MOVAL,0FFH
MOVAL,00FH
CALLDELAY1
IOLED0:
MOVAL,01011111B
MOVAL,11111010B
ORAL,0FFH
MOVCX,8H
IOLED1:
MOVDX,IOCPT
ANDAL,10101111B
CALLDELAY2
ORAL,01011111B
LOOPIOLED1
MOVAL,10101111B
MOVAL,11110101B
IOLED2:
ANDAL,01011111B
ORAL,10100000B
LOOPIOLED2
MOVAL,0F0H
JMPIOLED0
DELAY1:
PUSHAX
PUSHCX
MOVCX,0030H
DELY2:
CALLDELAY2
LOOPDELY2
POPCX
POPAX
RET
DELAY2:
PUSHCX
MOVCX,8000H
DELA1:
LOOPDELA1
CODEENDS
ENDSTART
要换成IRT5中断,修改程序,修改控制字以及连线方式,对照着书上查格式,,掌握了下位机和计算机的简单连接方式。
实验三 8255A并行口实验
1. 掌握8255A和微机接口方法。
2.掌握8255A的工作方式和编程原理。
3.掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。
硬件原理图如图5-2
思考题
如果通过8255A控制发光二极管,PB4-PB7对应红灯,PC0-PC3对应绿灯,PC4-PC7对应黄灯,以模拟交通路灯的管理,将如何实现。
硬件连接如下:
8255A:
PC0->
L3,PC1->
L6,PC2->
L9,PC3->
L12,红
PC4->
L2,PC5->
L5,PC6->
L8,PC7->
L11;
绿
PB4->
L1,PB5->
L4,PB6->
L7,PB7->
L10
代码修改如下:
这个实验麻烦些,连的线比较多,代码也比较长,但如果多看几遍,读懂程序,修改就不是问题了。
虽然实验箱只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口有了更深刻的了解。
实验四8250串口实验
(1)系统扩展以8250为核心的可编程串行异步通讯接口芯片。
(2)对扩展的串行通讯接口实现自发自收。
将寄存器AH的内容从10H开始通过8250发送、接收,每次收发后AH的内容自动增1直到FFH为止,再将每次接收到的数据,依次写到内存3000H~30EFH单元中,实现自发自收。
如果使用通讯协议:
1个起始位,7位数据位,2个停止位,波特率:
9600。
系统将如何实现。
实验实现代码如下:
CODESEGMENT;
H8250.ASM
CODE;
DATAEQU0ff80H;
BTS-LSB
MSBEQU0ff81H
LINEEQU0ff83H
LSTATEQU0ff85H
PAEQU0FF20H;
字位口
PBEQU0FF21H;
字形口
PCEQU0FF22H;
键入口
ORG29A0H
JMPSTART0
BUFDB?
?
data1:
db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH
START0:
MOVAL,80H;
DLAB=1
MOVDX,LINE
MOVAL,0cH;
BTS=9600
MOVDX,DATA;
ff80H
MOVDX,MSB
MOVAL,00
MOVAL,06H;
7-BIT,2-STOP
MOVAL,00;
NO-INT
MOVDX,MSB;
8001H
MOVAH,10H
MOVBX,4000H
MAIN:
CALLTXD
CALLRCV
MOV[BX],AL
INCBX
INCAH
CMPAH,00H
JNZMAIN
CALLBUF1
MOVCX,00FFH
S3:
CALLDISP
LOOPS3
CALLBUF3
S1:
CALLDISP
JMPS1
TXD:
MOVDX,LSTAT
WAIT1:
INAL,DX
TESTAL,20H
JZWAIT1
MOVAL,AH
MOVDX,DATA
RCV:
WAIT2:
TESTAL,01H
JZWAIT2
TESTAL,0EH
JNZERR
ERR:
CALLBUF2
S2:
JMPS2
DISP:
MOVAL,0FFH;
00H
MOVDX,PA
OUTDX,AL
MOVCL,0DFH;
20H;
显示子程序,5ms
MOVBX,OFFSETBUF
DIS1:
MOVAL,[BX]
MOVAH,00H
PUSHBX
MOVBX,OFFSETDATA1
ADDBX,AX
POPBX
MOVDX,PB
MOVAL,CL
MOVDX,PA
DIS2:
MOVCX,00A0H
DELAY:
LOOPDELAY
POPCX
CMPCL,0FEH;
01H
JZLX1
INCBX
RORCL,1;
SHRCL,1
JMPDIS1
LX1:
MOVAL,0FFH
MOVDX,PB
OUTDX,AL
RET
BUF1:
MOVBUF,08H
MOVBUF+1,02H
MOVBUF+2,05H
MOVBUF+3,00H
MOVBUF+4,17H
MOVBUF+5,17H
BUF2:
MOVBUF+1,02H
MOVBUF+2,05H
MOVBUF+3,00H
MOVBUF+4,0EH
MOVBUF+5,18H
RET
BUF3:
MOVBUF,09H
MOVBUF+1,00H
MOVBUF+2,00H
MOVBUF+3,0DH
MOVBUF+4,10H
MOVBUF+5,10H
实验过程中把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。
这个实验做的最快,但如果要白手起家做这个实验,代码可能没几个能写出来的,不过思考题很简单,因为代码后面给出了注释,所以改的也快
实验五A/D转换实验
一、实验目的
了解模/数转换基本原理,掌握ADC0809的使用方法;
二、实验内容
1、A/D转换实验
利用实验系统上电位器提供的可调电压作为0809模拟信号的输入,编制程序,将模拟量转换为数字量,通过数码管显示出来。
实验步骤
①将0809CS4插孔连到译码输出FF80H插孔。
②将通道0模拟量输入端IN0连电位器W1的中心插头AOUT1(0-5V)插孔,8MHZ→T。
③运行实验程序,系统上显示“0809XX”。
“XX”表示输入模拟量转换后的数字量。
④调节电位器Wl,显示器上会不断显示新的转换结果。
模拟量和数字量对应关系的典型值为:
0V→00H+2.5V→80H+5V→FFH
⑤按RST键退出。
实验体会与感悟:
在这些日子里,通过微机原理课实验,学到很多东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,程序的正确性上都有了很大程度的提高。
实验使我我懂得了理论联系实践是很重要的,只有把所学的理论知识与实践相结合起来,从而提高自己的实际动手能力和独立思考的能力。
在实验的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。