教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

微机原理实验指导书(新版) - 图文(10)

来源:网络收集 时间:2026-09-27
导读: LedDisplay INT_0: MOV MOV LEA CALL RET ENDP PUSH PUSH MOV ADD DAA MOV MOV MOV MOV OUT POP POP IRET END Buffer + 6,10H Buffer + 7,10H SI,Buffer Display8 DX AX AL,Counter AL,1 Counter,AL ReDisplayFlag,

LedDisplay INT_0: MOV MOV LEA CALL RET ENDP PUSH PUSH MOV ADD DAA MOV MOV MOV MOV OUT POP POP IRET END

Buffer + 6,10H Buffer + 7,10H SI,Buffer Display8 DX AX

AL,Counter AL,1

Counter,AL

ReDisplayFlag,1 DX,IO8259_0 AL,20H DX,AL AX DX

START

七、实验扩展及思考

1、 从8259A收到上升沿,到8088响应中断,试画这个过程的时序图。

硬件实验六 8250可编程通信实验(与微机)

一、实验目的与要求

了解8250的内部结构、工作原理;了解8250与8088的接口逻辑;掌握对8250的初始化编程方法,学会使用8250实现设备之间的串行通信。

认真预习,做好实验前的准备工作,填写实验报告

44

二、实验设备

STAR系列实验仪一套、PC机一台

三、实验内容

1、编写程序:通过初始化8250,设置波特率为4800bps(或其它,但与微机部分一致),数据格式为8数据位,1停止位,偶校验;然后打开PC机的串行通信测试软件,向8250发送一批数据,8250接收完数据之后,再将数据依次发送回去。

2、按图连线,运行程序,观察实验结果,掌握8250的各项功能及编程方法。

四、实验原理图

U43D0D1D2D3D4D5D6D7SIN1234567891011121314151617181920D0VDDD1RID2DCDD3DSRD4CTSD5MRD6OUT1D7DTRRCLKRTSSINOUT2SOUTINTRCS0NCCS1A0CS2A1BAUDOUTA2XINADSXOUTCSOUTWRDDISWRRDVSSRDPC16450ComputerTXD(E6)RXD(E6)SOUTVCCCS1(0F000H)CS21WR3.072MHZR12730PFC651M50PFC66VCC4039383736353433323130292827262524232221RDRIDCDDSRCTSRSTDTRRTSA0A0A1A1A2A2PC16450

五、实验步骤

1、连线说明:

D4区:CS、A0、A1、A2 D4区:SIN、SOUT —— A3区:CS1、A0、A1、A2 —— E6区:RxD、TxD 2、运行程序 3、运行“串口助手(ComPort.EXE)”,设置串口(波特率4800,8个数据位,一个停止位,偶校验),打开串口,选择“HEX发送”、“HEX显示”,向8250发送10个字节数据(输入数据之间用空格分隔),是否能接收到10个字节数据,接收到的数据是否与发送数据一致。

4、改变传输数据的数目,重复实验,观察结果。

六、演示程序 .MODEL TINY

;8250和PC机通信,需要在PC上运行一个串口软件,并设置与8250相同的波特率 NS8250_Base_Address EQU 0FF00H RHR EQU NS8250_Base_Address ;接收数据缓冲区 THR EQU NS8250_Base_Address ;发送数据缓冲区 IER EQU NS8250_Base_Address+1 ;中断控制寄存器 FCR EQU NS8250_Base_Address+2 ;FIFO控制寄存器 ISR EQU NS8250_Base_Address+2 ;中断状态寄存器 LCR EQU NS8250_Base_Address+3 ;串行口控制寄存器 MCR EQU NS8250_Base_Address+4 ;MODEM控制寄存器

45

LSR EQU NS8250_Base_Address+5 ;串行口状态寄存器 MSR EQU NS8250_Base_Address+6 ;MODEM状态寄存器 DLL EQU NS8250_Base_Address ;波特率除数锁存器低位 DLM EQU NS8250_Base_Address+1 ;波特率除数锁存器高位 .STACK 100 .DATA Receive_Buffer DB 10 DUP(0) ;接受缓冲器 Send_Buffer EQU Receive_Buffer ;发送缓冲器 .CODE START: MOV AX,@DATA MOV DS,AX MOV ES,AX NOP CALL INIT8250 START2: MOV CX,10 ;接收数据(接收完设定的数据个数) CALL RECEIVE_GROUP MOV CX,10 ;发送数据(发完设定的数据个数) CALL SEND_GROUP JNC START2 WARNING1: JMP $

;*************发送一组字符子程序,个数在CX中*********** Send_Group PROC NEAR LEA SI,Send_Buffer Send_Group1: LODSB CALL Send_Byte JC Send_Group2 LOOP Send_Group1 CLC Send_Group2: RET Send_Group ENDP

;*************接收一组字符子程序,存放首地址在DPTR中,个数在R6R7中*********** Receive_Group PROC NEAR LEA DI,Receive_Buffer Receive_Group1: CALL Receive_Byte STOSB LOOP Receive_Group1 CLC RET Receive_Group ENDP INIT8250 PROC NEAR MOV DX,ISR MOV AL,06H OUT DX,AL MOV DX,LCR MOV AL,83H ;允许访问波特率因子寄存器 OUT DX,AL

46

MOV DX,DLL MOV AL,40

;除数低位寄存器,波特率设为4800=(3.072*1000000/16)/DLMDLL OUT DX,AL MOV DX,DLM ;00H送高字节寄存器 MOV AL,00H OUT DX,AL MOV DX,LCR ;不允许访问波特率因子寄存器 MOV AL,1BH ;数据格式为8数据位,1停止位,偶校验 OUT DX,AL RET INIT8250 ENDP

;*********发送一个字节子程序,发送A中的数,失败置CY********* Send_Byte PROC NEAR PUSH CX PUSH AX MOV CX,1000 MOV DX,LSR REP11: IN AL,DX TEST AL,20H JNZ OUTPORT1 LOOP REP11 POP AX STC JMP EXIT8250 OUTPORT1: POP AX MOV DX,RHR OUT DX,AL CLC EXIT8250: POP CX RET Send_Byte ENDP

;*********接收一个字节子程序,接收字节在A中,接收失败置1CY********* Receive_Byte PROC NEAR MOV DX,LSR Receive1: IN AL,DX TEST AL,1 JZ Receive1 Receive2: MOV DX,RHR IN AL,DX Receive3: RET Receive_Byte ENDP END START

七、实验扩展及思考

47

1、思考8250与8251有何异同之处?

2、8250也可以做自发自收的实验,该如何连线及修改程序?

3、如何通过中断处理方式实现8250串行接收,需要更改哪些线路?

48

…… 此处隐藏:1414字,全部文档内容请下载后查看。喜欢就下载吧 ……
微机原理实验指导书(新版) - 图文(10).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/446292.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)