微机原理与接口技术实验报告文档格式.docx
- 文档编号:17067603
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:24
- 大小:797.90KB
微机原理与接口技术实验报告文档格式.docx
《微机原理与接口技术实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验报告文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
28AH
红黄绿红黄绿
四.程序流程图
五.源程序
CODESEGMENT
ASSUMECS:
CODE
START:
MOVDX,0EC0BH;
写控制端口,地址0EC0BH
MOVAL,B;
C口方式0输出
OUTDX,AL
FIRST:
MOVDX,0EC0AH;
写C口,地址0EC0AH
MOVAL,00100100B;
南北绿,东西红,C口写00100100
MOVCX,0;
外层循环初值65536,延时程序
MOVAX,2000H;
内层循环初值2000H
DELAY1:
DECAX
JNZDELAY1
LOOPDELAY1
MOVBL,5;
黄灯亮5次
SECOND:
MOVDX,0EC0AH;
C端口
MOVAL,01000100B;
南北黄,东西红
MOVCX,3000H;
短延时,黄灯亮与暗之间的间隔
MOVAX,0100H
LI1:
JNZLI1
LOOPLI1
MOVDX,0EC0AH
MOVAL,00000100B;
南北黄灯灭,东西红灯继续亮
OUTDX,AL
MOVCX,3000H
MOVAX,0100H
WEN1:
DECAX;
短延时
JNZWEN1
LOOPWEN1
DECBL;
闪烁次数控制
JNZSECOND;
南北路口黄灯再亮
THIRD:
写入C口
MOVAL,B
OUTDX,AL;
南北红,东西绿
长延时,外循环初值65536,同上
内循环初值2000H
DELAY2:
JNZDELAY2
LOOPDELAY2
MOVBL,4;
控制黄灯亮的次数
FORTH:
南北红,东西黄
LI2:
;
DECAX
JNZLI2
LOOPLI2
东西黄灯灭,南北红灯继续亮
WEN2:
JNZWEN2
LOOPWEN2
DECBL
JNZFORTH;
东西路口黄灯再亮
MOVDL,0FFH
MOVAH,06H
INT21H;
查看是否有键按下
JZFIRST;
没有就重复
MOVAH,4CH
返回DOS
CODEENDS
ENDSTART
六.实验总结
这是第一个微机实验,我和我们组另外两名同学在去实验室做实验之前,先上网查阅了相关资料,也和其他组的同学交流了一下各自的程序,在大概了解了程序之后我们去九教实验室进行实验。
虽然第一个实验并不难,但是在做的过程中我们还是遇到了各种问题,比如运行程序后实验箱上的灯不亮,经过我们小组同学讨论,求助助教之后发现可能是电脑和实验箱的连接出了问题。
解决了问题之后顺利的出了结果。
这次实验用的是8255芯片,经过这次实验,我了解了伤及调试的方法,以及出现一些常见的问题时应该如何解决。
结合微机课上学习的知识,对8255芯片的应用也有了更深入的理解。
实验二计数、定时系统的设计实现
一.实验目的
掌握8253的基本工作原理和编程方法。
二.实验内容
(1)按图5-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后变高电平)。
图5-1
(2)按图5-2连接电路图,将计数器0、1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1Hz)。
图5-2
三.实验原理
8253具有3个独立的计数通道,采用减1计数方式。
在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。
当计数脉冲是已知周期的时钟信号时,计数就成为定时。
作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。
8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。
本实验用到的是方式0—计数结束中断。
在写入计数值N之后的第一个CLK的下降沿将N装入计数执行单元,待下一个CLK的下降沿到来且门控信号GATE为高电平时,通道开始启动计数。
在计数过程中,OUT一直保持低电平,直到计数达“0”时,OUT输出由低电平变为高电平,并且保持高电平。
工作方式3是分频器功能。
1.实验内容一程序:
CODE
MOVDX,0EC03H;
计数器0,方式0
MOVAL,00010000B
MOVDX,0EC00H
MOVAL,0EH;
送初值E
MOVCL,1
READ:
INCCL;
自加1
CMPCL,0
JZSTART
MOVDX,0EC00H;
读计数器0
INAL,DX
MOVDL,AL
MOVCL,AL
CMPAL,9
JGBIG
ADDDL,30H;
0到9,显示ASCII数字
MOVAH,02H
INT21H
MOVDL,0DH
JMPJUDGE
BIG:
ADDDL,37H;
大于9,显示ASCII字母
MOVDL,0DH;
加回车符,只显示一个符号
JUDGE:
MOVDL,0FFH;
有键按下回DOS
JZREAD
ENDSTART
2、实验内容二程序:
MOVDX,0EC03H;
计数器0置控制字为工作方式3
MOVAL,00110110B
MOVDX,0EC00H
MOVAX,1000;
向计数器0送初值
OUTDX,AL;
先送低字节后送高字节
MOVAL,AH
计数器1置控制字为工作方式3
MOVAL,01110110B
MOVDX,0EC01H;
向计数器1送初值
NEXT:
MOVDL,0FFH;
DOS6号功能调用,按任意键返回
MOVAH,4CH;
返回系统
6.实验总结
这次实验我们做了可编程定时器/计数器,练习了对芯片8253的使用。
在做实验之前,我和我们小组的其他成员就先阅读了实验指导书,并且上网查阅了相关资料,对实验内容和任务有了初步的了解。
随后去实验室进行实验,由于实验箱的问题,最开始我们的程序并没有运行成功,后来换了一个实验箱,程序就可以正常运行了。
第一个实验中我们用了计数器方式0,当有按键按下时,计数值减少1,显示屏上会逐个显示B、A、9、8...一直到1、0。
第二个实验实现了一个分频的功能因为两次分频的计数值都是1000,输入为1MHz,经过两次分频后输出为1Hz。
经过这次实验我对计数和分频的功能以及8253芯片的一些基本使用方法,也对程序的调试有了更深刻的认识。
实验三双机串行通信实验
一、实验目的
1、进一步了解串行通信的基本原理。
2、掌握串行接口芯片8250的工作原理和编程方法。
3、熟悉PC机串行口的基本连接方法
二、实验内容
1、PC机RS-232串口自发自收。
按照PC机串口自发自收的连接方法连线。
编写PC机自发自收串行通信程序,要求:
从键盘输入一个字符,将字符通过串口发送出去,再由此串口将字符接收回来并在屏幕上显示,实现自发自收。
硬件连接图如下:
2、两台PC机间RS-232串口通信。
按照PC机RS-232串口直接互连的方法连接两台PC机。
编写PC机直接互连串行通信程序;
要求:
由甲机键盘键入字符经串口发送给乙机,再由乙机通过串口接收字符并显示在屏幕上。
当键入感叹号“!
”,结束收发过程。
三、实验原理
(1)本实验为异步通信:
以字符为单位进行传送,每传送一个字符,以起始位作为开始标志,以停止位作为结束标志。
异步串行通信的工作过程是:
传送开始后,接收设备不断地检测传输线是否有起始位到来,当接收到一系列的“1”(空闲或停止位)之后,检测到第一个“0”,说明起始位出现,就开始接收所规定的数据位、奇偶校验位及停止位。
经过接收器处理,将停止位去掉,把数据位拼装成一字节数据,并且经奇偶校验无错误,才算是正确地接收到了一个字符。
当一个字符接收完毕,接收设备又继续测试传输线,监视“0”电平的到来(下一个字符的开始)。
(2)8250各部分功能说明
8250片内有10个寄存器,其中有几个是共用地址的,其识别由线路控制寄存器(LCR)的最高位DLAB来决定。
各寄存器的地址和格式如下所示:
(3)数据发送和接收:
四、源程序
实验
(1)自发自收
DATASEGMENT
CHLDB0AH,0DH,'
$'
换行字符串
DATAENDS
STACK1SEGMENTSTACK
DW100DUP(0)
STACK1ENDS
ASSUMECS:
CODE,DS:
DATA,SS:
STACK1
MOVAX,DATA
MOVDS,AX
;
--------------INIT----------------
MOVDX,3FBH;
MOVAL,80H;
DLAB=1
MOVAX,0CH;
N=12BAUD=9600bps
MOVDX,3F8H;
低位
INCDX
MOVAL,03H;
八位数据,1停止,无校验
线路控制REG
MOVAL,0;
屏蔽全部中断
MOVDX,3F9H
WAIT1:
MOVDX,3FDH;
读线路状态寄存器
TESTAL,1EH;
判断是否有错
JNZERROR
TESTAL,01H;
判断是否收到
JNZRECEIVE
TESTAL,20H;
判断发送端是否空
JZWAIT1
MOVDL,0FFH;
六号功能调用读入待发送数据
写发送REG
JMPWAIT1;
返回WAIT1
CHAR:
PUSHAX
MOVDL,AL;
显示接收
MOVDX,OFFSETCHL;
输出字符串换行
MOVAH,09H
POPAX
JMPWAIT1
ERROR:
MOVDX,3FDH
MOVDL,'
'
对于错误显示'
"
RECEIVE:
MOVDX,3F8H
INAL,DX;
读数据接收寄存器
CMPAL,'
!
判断是否结束
JNECHAR
------------------------------
实验
(2)双机通信
(1)发送端:
8250初始化,设DLAB=1
MOVDX,3FBH
MOVAX,30H
MOVDX,3F8H
写入除数低字节
写入除数高字节
MOVAL,0AH;
7位数据,1位停止,奇校验
写入线路控制寄存器
MOVAL,03H
MOVDX,3FCH
写入Modem控制寄存器
MOVAL,0
MOVDX,3F9H
写中断允许寄存器,屏蔽所有中断
出错否
JNZERROR
TESTAL,01H;
接收数据就绪否
JNZSEND;
发送
发送寄存器空否,不空,返回等待
JZWAIT1
SEND:
MOVAH,1
读键盘
CMPAL,21H;
是'
JZEXIT;
是,返回操作系统
不是,则发送
返回等待
出错则清除线路状态寄存器
显示'
JMPWAIT1
EXIT:
INT21H
(2)接收端:
8250初始化
MOVAX,30H;
写除数
MOVAL,0AH
JNZRECEIVE;
转接收
TESTAL,20H;
JZWAIT1
均返回等待
读接收数据
ANDAL,01111111B;
保留位数据
JNZCHAR
MOVAH,4CH;
返回操作系统
MOVAH,2;
显示接受字符
拓展部分
D1DB
CHLDB0AH,0DH,'
DW100HDUP()
---------------INIT----------------
MOVAX,DATA
MOVDS,AX
OUTDX,AL;
MOVAX,60H
MOVAL,00001010B
MOVAL,00000011B
MOVAL,00000000B
TESTAL,00011110B;
TESTAL,00000001B;
TESTAL,00100000B;
MOVDX,OFFSETCHL
MOVDL
INAL,DX
CMPAL
五、实验总结
这次实验中,我们用了8250芯片来实现自发自收和双机通讯的功能。
在单机自发自收的实验中我们把一台PC机的TXD和RXD端口连在一起,运行程序之后就可以实现自发自收。
而在双机通讯的实验中,我们需要把第一台PC机的TXD端口与第二台PC机的RXD端口连在一起,把第一台的RXD与第二台的TXD连在一起,实现双机通讯。
在进行实验的过程中我们遇到了一些问题,在自发自收的时候不能让8250处于自检模式,如果处于自检模式,实验现象跟要求是一样的,但实际上是在芯片内部将RXD与TXD连在一起了,此时外部有没有将RXD和TXD连在一起都没有影响。
实验四竞赛抢答器
1、了解微机化竞赛抢答器的基本原理。
2、进一步学习使用并行接口。
图5-4为竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。
在七段数码管上将其组号(0~7)显示出来,并使喇叭响一下。
从键盘上按空格键开始下一轮抢答,按其它键程序退出。
图5-4
三、程序流程图
四.源程序
LISTDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DW100HDUP(0)
--------------------------------------------------
MOVDX,0EC0BH
MOVAL,89H
OUTDX,AL
L0:
MOVDX,0EC0AH
INAL,DX
CMPAL,0
JZL0
MOVBL,0
L1:
INCBL
SHRAL,1
JNCL1
DECBL
MOVAL,BL
MOVBX,OFFSETLIST
ANDAX,00
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 实验 报告