微型计算机原理与接口技术的编程题都有哪些?

作者&投稿:皮先 (若有异议请与网页底部的电邮联系)
有会《微型计算机原理与接口技术》的高手么,帮我解几道题!~

我缺分,跪求200分~向您跪下了~
经管我不知道你问题的答案~谢谢谢谢!!!

http://www.welan.com/661693/

一、8253
.MODEL TINY

PCIBAR3 EQU 1CH ;8位I/O空间基地址(它就是实验仪的基地址,也为DMA & 32 BIT RAM板卡上的8237提供基地址)
Vendor_ID EQU 10EBH ;厂商ID号
Device_ID EQU 8376 ;设备ID号

.STACK 100

.DATA
COM_ADDR DW 00B3H
T0_ADDR DW 00B0H
T1_ADDR DW 00B1H
IO_Bit8_BaseAddress DW
msg0 DB 'BIOS不支持访问PCI
msg1 DB '找不到Star PCI9052板卡
msg2 DB '读8位I/O空间基地址时出错

.CODE
START: MOV AX,@DATA
MOV DS,AX
NOP
CALL InitPCI
CALL ModifyAddress ;根据PCI提供的基地址,将偏移地址转化为实地址
mov dx,COM_ADD
mov al,35h;?
out dx,al ;计数器T0设置在模式2状态,BCD码计数
mov dx,T0_ADDR
mov al,00h
out dx,al
mov al,10h
out dx,al ;CLK0/1000
mov dx,COM_ADDR
mov al,77h
out dx,al ;计数器T1为模式3状态,输出方波,BCD码计数
mov dx,T1_ADDR
mov al,00h
out dx,al
mov al,10h
out dx,al ;CLK1/1000
START1: CALL IfExit ;OUT1输出频率为1S的方波
JZ START1
JMP Exit

IfExit PROC NEAR
PUSH AX
PUSH DX
MOV AH,06H
MOV DL,0FFH
INT 21H
POP DX
POP AX
RET
IfExit ENDP

InitPCI PROC NEAR
MOV AH,00H
MOV AL,03H
INT 10H ;清屏
MOV AH,0B1H
MOV AL,01H
INT 1AH
CMP AH,0
JZ InitPCI2
LEA DX,msg0
InitPCI1: MOV AH,09H
INT 21H
JMP Exit
InitPCI2: MOV AH,0B1H
MOV AL,02H
MOV CX,Device_ID
MOV DX,Vendor_ID
MOV SI,0
INT 1AH
JNC InitPCI3 ;是否存在Star PCI9052板卡
LEA DX,msg1
JMP InitPCI1
InitPCI3: MOV DI,PCIBAR3
MOV AH,0B1H
MOV AL,09H
INT 1AH ;读取该卡PCI9052基地址
JNC InitPCI4
LEA DX,msg2
JMP InitPCI1
InitPCI4: AND CX,0FFFCH
MOV IO_Bit8_BaseAddress,CX
RET
InitPCI ENDP

ModifyAddress PROC NEAR
ADD COM_ADDR,CX
ADD T0_ADDR,CX
ADD T1_ADDR,CX
RET
ModifyAddress ENDP

Exit: MOV AH,4CH
INT 21H

END START

二、8259
.MODEL TINY

PCIBAR1 EQU 14H ;PCI9052 I/O基地址(用于访问局部配置寄存器)
PCIBAR3 EQU 1CH ;8位I/O空间基地址(它就是实验仪的基地址,也为DMA & 32 BIT RAM板卡上的8237提供基地址)
PCIIPR EQU 3CH ;IRQ号
INTCSR EQU 4CH ;PCI9052 INTCSR地址
mask_int_9052 EQU 24H

Vendor_ID EQU 10EBH ;厂商ID号
Device_ID EQU 8376 ;设备ID号

.STACK 100
.DATA
IO8259_0 DW 00F0H
IO8259_1 DW 00F1H
RD_IO8259 DW 0000H
IO_Bit8_BaseAddress DW ?
PCI_IO_BaseAddress0 DW ?
PCI_IRQ_NUMBER DB ?
INT_MASK DB ?
INT_Vector DB ?
INT_CS DW ? ;保护原中断入口地址
INT_IP DW ?
msg0 DB 'BIOS不支持访问PCI
msg1 DB '找不到Star PCI9052板卡
msg2 DB '读PCI9052 I/O基地址时出错$'
msg3 DB '读8位I/O空间基地址时出错$'
msg4 DB '读IRQ号出错$'
msg5 DB '8259中断 00H 次$'

BUFFER DB
Counter DB ?
ReDisplayFlag DB 0

.CODE
START: MOV AX,@DATA
MOV DS,AX
MOV ES,AX
NOP
CALL InitPCI
CALL ModifyAddress ;根据PCI提供的基地址,将偏移地址转化为实地址
CALL ModifyVector ;修改中断向量、允许中断
MOV AH,00H
MOV AL,03H
INT 10H ;清屏
MOV AH,09H
LEA DX,msg5
INT 21H

CALL Init8259
MOV Counter,0 ;中断次数
MOV ReDisplayFlag,1 ;需要显示
STI ;开中断
START1: CALL IfExit
CMP ReDisplayFlag,0
JZ START1
CALL LedDisplay
MOV ReDisplayFlag,0
JMP START1

Init8259 PROC NEAR
MOV DX,IO8259_0
mov al,13H
out dx,al

MOV DX,IO8259_1
mov al,08H
out dx,al

MOV AL,09H
OUT DX,AL
mov al,0feH ;屏蔽寄存器
OUT DX,AL
RET
Init8259 ENDP

ToChar PROC NEAR ;转化为可显示的16进制数
ADD AL,'0'
CMP AL,'9'
JBE ToChar1
ADD AL,07H
ToChar1: RET
ToChar ENDP

LedDisplay PROC NEAR
MOV AL,Counter
MOV AH,AL
AND AL,0FH
CALL ToChar
MOV Buffer + 1,AL
AND AH,0F0H
ROR AH,4
MOV AL,AH
CALL ToChar
MOV Buffer,AL
MOV AH,02H
MOV DL,10
MOV DH,0
INT 10H ;定位光标
MOV AH,09H
LEA DX,Buffer
INT 21H
RET
LedDisplay ENDP

INT_0: PUSH DX
PUSH AX
CALL ClearInt
JC INT_0_0
MOV DX,RD_IO8259
IN AL,DX
IN AL,DX ;判断由哪个中断源引起的中断
MOV AL,Counter
ADD AL,1
DAA
MOV Counter,AL
MOV ReDisplayFlag,1
INT_0_0: MOV DX,IO8259_0
MOV AL,20H
OUT DX,AL
POP AX
POP DX
IRET

IfExit PROC NEAR
PUSH AX
PUSH DX
MOV AH,06H
MOV DL,0FFH
INT 21H
POP DX
POP AX
JZ IfExit1
JMP Exit
IfExit1: RET
IfExit ENDP

InitPCI PROC NEAR
MOV AH,00H
MOV AL,03H
INT 10H ;清屏
MOV AH,0B1H
MOV AL,01H
INT 1AH
CMP AH,0
JZ InitPCI2
LEA DX,msg0
InitPCI1: MOV AH,09H
INT 21H
JMP Exit
InitPCI2: MOV AH,0B1H
MOV AL,02H
MOV CX,Device_ID
MOV DX,Vendor_ID
MOV SI,0
INT 1AH
JNC InitPCI3 ;是否存在Star PCI9052板卡
LEA DX,msg1
JMP InitPCI1
InitPCI3: MOV DI,PCIBAR1
MOV AH,0B1H
MOV AL,09H
INT 1AH ;读取该卡PCI9052基地址
JNC InitPCI4
LEA DX,msg2
JMP InitPCI1
InitPCI4: AND CX,0FFFCH
MOV PCI_IO_BaseAddress0,CX
MOV DI,PCIBAR3
MOV AH,0B1H
MOV AL,09H
INT 1AH ;读取该卡扩展的8位IO基地址
JNC InitPCI5
LEA DX,msg3
JMP InitPCI1
InitPCI5: AND CX,0FFFCH
MOV IO_Bit8_BaseAddress,CX
MOV DI,PCIIPR
MOV AH,0B1H
MOV AL,09H
INT 1AH ;读取IRQ号
JNC InitPCI6
LEA DX,msg4
JMP InitPCI1
InitPCI6: MOV PCI_IRQ_NUMBER,CL
RET
InitPCI ENDP

ModifyAddress PROC NEAR
MOV AX,IO_Bit8_BaseAddress
ADD IO8259_0,AX
ADD IO8259_1,AX
ADD RD_IO8259,AX
RET
ModifyAddress ENDP

ModifyVector PROC NEAR
PUSH ES
MOV AL,PCI_IRQ_NUMBER
CMP AL,08H
JAE ModifyVector1
ADD AL,08H ;IRQ0..7 -> 中断向量8..F
JMP ModifyVector2
ModifyVector1: ADD AL,70H-08H ;IRQ8..F -> 中断向量70H..77H
ModifyVector2: MOV INT_Vector,AL
MOV AH,35H
INT 21H
MOV INT_IP,BX ;保护原中断处理例程地址
MOV AX,ES
MOV INT_CS,AX

MOV AL,INT_Vector
LEA DX,INT_0
PUSH DS
PUSH CS
POP DS
MOV AH,25H
INT 21H ;设置新中断向量
POP DS
MOV BL,PCI_IRQ_NUMBER
MOV DX,21H
CMP AL,08H
JB ModifyVector3
MOV DX,0A1H
ModifyVector3: IN AL,DX
MOV INT_MASK,AL
AND BL,07H
MOV CL,BL
MOV BL,1
SHL BL,CL
NOT BL
AND AL,BL
OUT DX,AL ;允许中断

POP ES
STI
RET
ModifyVector ENDP

ClearInt PROC NEAR ;清楚PCI9052、系统中断控制器的中断标志
MOV DX,PCI_IO_BaseAddress0
ADD DX,INTCSR
; IN AL,DX
; AND AL,mask_int_9052
; JZ ClearInt3 ;不是8259引取的中断
INC DX
IN AL,DX
OR AL,0CH
OUT DX,AL ;清除PCI9052的中断标志位

MOV AL,PCI_IRQ_NUMBER
CMP AL,08H
JAE ClearInt1
AND AL,7
OR AL,60H
MOV DX,20H
OUT DX,AL
JMP ClearInt2
ClearInt1: AND AL,7
OR AL,60H
MOV DX,0A0H
OUT DX,AL
MOV DX,20H
MOV AL,62H
OUT DX,AL
ClearInt2: CLC
RET
;ClearInt3: STC
; RET
ClearInt ENDP

Exit: CLI
MOV BL,PCI_IRQ_NUMBER
MOV DX,21H
CMP AL,08H
JB Exit1
MOV DX,0A1H
Exit1: MOV AL,INT_MASK
OUT DX,AL ;屏蔽中断

PUSH DS
MOV AL,INT_Vector
MOV DX,INT_IP ;保护原中断处理例程地址
MOV AX,INT_CS
MOV AH,25H
INT 21H ;设置新中断向量
POP DS
STI
MOV AH,4CH
INT 21H
END START
三、8251
.MODEL TINY
;使用8253的计数器0,外接2Mhz,经26分频后,送给8251,产生4800bps
PCIBAR3 EQU 1CH ;8位I/O空间基地址(它就是实验仪的基地址,也为DMA & 32 BIT RAM板卡上的8237提供基地址)
Vendor_ID EQU 10EBH ;厂商ID号
Device_ID EQU 8376 ;设备ID号

.STACK 100
.DATA
CTL_ADDR DW 00F1H ;控制字或状态字
DATA_ADDR DW 00F0H ;读写数据
W_8253_T0 DW 00B0H ;计数器0地址
W_8253_C DW 00B3H ;控制字

IO_Bit8_BaseAddress DW
msg0 DB 'BIOS不支持访问PCI
msg1 DB '找不到Star PCI9052板卡
msg2 DB '读8位I/O空间基地址时出错$'

Receive_Buffer DB 10 DUP(0) ;接受缓冲器
Send_Buffer EQU Receive_Buffer ;发送缓冲器

.CODE
START: MOV AX,@DATA
MOV DS,AX
MOV ES,AX
NOP
CALL InitPCI
CALL ModifyAddress ;根据PCI提供的基地址,将偏移地址转化为实地址
CALL INIT_8253
CALL INIT_8251
START1: MOV CX,10
CALL Receive_Group
MOV CX,10
CALL Send_Group
CALL IfExit ;OUT1输出频率为1S的方波
JZ START1
JMP Exit
; JMP START1

INIT_8253 PROC NEAR
MOV DX,W_8253_C
MOV AL,37H ;定时器0,方式3
OUT DX,AL
MOV DX,W_8253_T0
MOV AL,26H ;BCD码26(2000000/26)=16*4800
OUT DX,AL
MOV AL,0
OUT DX,AL
RET
INIT_8253 ENDP

INIT_8251 PROC NEAR
CALL RESET_8251
mov dx,CTL_ADDR
mov al,7eh ;波特率系数为16,8个数据位
out dxx,al ;一个停止位,偶校验
CALL DLTIME ;延时
mov al,15h ;允许接收和发送发送数据,清错误标志
out dx,al
CALL DLTIME
RET
INIT_8251 ENDP

Reset_8251 PROC NEAR
MOV DX,CTL_ADDR
MOV AL,0
OUT DX,AL ;向控制口写入"0"
CALL DLTIME ;延时,等待写操作完成
OUT DX,AL ;向控制口写入"0"
CALL DLTIME ;延时
OUT DX,AL ;向控制口写入"0"
CALL DLTIME ;延时
MOV AL,40H ;向控制口写入复位字40H
OUT DX,AL
CALL DLTIME
RET
Reset_8251 ENDP

;接受一组数据,CX--接受数目
Receive_Group PROC NEAR
LEA DI,Receive_Buffer
Receive_Group1: CALL Receive_Byte
STOSB
LOOP Receive_Group1
RET
Receive_Group ENDP

;接受一个字节
Receive_Byte PROC NEAR
MOV DX,CTL_ADDR
Receive_Byte1: in al,dx ;读入状态
test al,2
jz Receive_Byte1 ;
mov dx, DATA_ADDR ;有
in al,dx
RET
Receive_Byte ENDP

;发送一组数据,CX--发送数目
Send_Group PROC NEAR
LEA SI,Send_Buffer
Send_Group1: lodsb
call Sendbyte
loop Send_Group1
RET
Send_Group ENDP

;发送一个字节
Sendbyte PROC NEAR
PUSH AX
MOV DX,CTL_ADDR ;读入状态
Sendbyte1: in al,dx
test al,1
jz Sendbyte1 ;允许数据发送吗?
pop ax ;发送
mov dx,DATA_
MOV CX,Device_ID
MOV DX,Vendor_ID
MOV SI,0
INT 1AH
JNC InitPCI3 ;是否存在Star PCI9052板卡
LEA DX,msg1
JMP InitPCI1
InitPCI3: MOV DI,PCIBAR3
MOV AH,0B1H
MOV AL,09H
INT 1AH ;读取该卡PCI9052基地址
JNC InitPCI4
LEA DX,msg2
JMP InitPCI1
InitPCI4: AND CX,0FFFCH
MOV IO_Bit8_BaseAddress,CX
RET
InitPCI ENDP

ModifyAddress PROC NEAR
ADD COM_ADD,CX
ADD PA_ADD,CX
ADD PB_ADD,CX
ADD PC_ADD,CX
RET
ModifyAddress ENDP

Exit: MOV AH,4CH
INT 21H

END START

微型计算机原理与接口技术是目前高等学校普遍开设的一门公共课程。本书是与《微型计算机原理与接口技术》配套的教学参考书。全书内容分为两部分。第一部分是针对主教材各章的大纲要求、重点内容与考核要求、习题分析与解答,主要内容包括Intel 80X86/Pentium系列CPU的微处理器、寻址方式和指令系统、汇编语言程序设计、半导体存储器、中断处理技术、输入输出接口、定时计数技术、并行/串行通信、数/模和模/数转换器等。第二部分是与课程内容配套的实验指导,其中第11章为汇编语言上机实验指导,较全面地介绍了汇编程序设计的实验环境和上机步骤,由浅入深地引入了汇编程序设计中的各类典型问题。第12章是微机接口实验指导,介绍了实验使用的TPC-H实验装置及16个推荐的微机接口实验。本书内容丰富,讲解通俗易懂,具有很强的可读性。




微机原理与接口技术
“微机原理与接口技术”是电子信息类专业的核心课程。“微机原理与接口技术”课程包括X86微机系统原理、汇编以及通过接口芯片原理与应用。理解微型计算机硬件系统的基本组成和工作原理,具备输入\/输出接口控制系统软硬件初步开发设计能力。以微型计算机的关键技术(如微处理器、cache、存储管理、中断、DMA和系统总...

微机原理什么是接口?接口的功能有哪些
微机I\/O接口是CPU与外设直接进行数据传输的桥梁。功能:1、信号的形式变换 。2、电平的转换和放大。3、锁存及缓冲。4、I\/O定向。5、并行及串行的I\/O转换。微型计算机系统从全局到局部存在三个层次:微型计算机系统、微型计算机、微处理器(CPU)。单纯的微处理器和单纯的微型计算机都不能独立工作,只...

自考02205微型计算机原理与接口技术?
介绍自考02205微型计算机原理与接口技术自考02205微型计算机原理与接口技术是自考计算机专业课程,是一门学习微型计算机原理、接口技术和微处理器技术的基础课程。该课程的主要学习内容有:微型计算机的结构,微处理器,微机系统,I\/O技术,存储器,微机接口技术,编程技术等。课程框架自考02205微型计算机原理与接口...

单片微型计算机原理与接口技术
全书由原理及接口两部分组成,共10章。介绍51单片微型计算机硬件结构、汇编语言程序设计方法、输入\/输出接口应用、可编程定时\/计数器设计、串行接H应用、单片机系统扩展、可编程接口芯片、单片机人机接口技术和模数技术,以达到学习了解微机原理的目的。为了配合教学在附录部分添加了实验指导,以加深学习者对相关概念的理解。

微型计算机原理及接口技术的详细目录
运行程序——微型计算机的工作原理六、控制矩阵习题第二章 8086微处理器第一节 8086微处理器的内部结构一、执行部件(EU)二、总线接口部件(BIU)的组成和工作特点三、存储器的分段和物理地址的形成四、8086内存的组织和CPU对存储器的访问第二节 8086微处理器(CPU)的引脚功能一、地址线、数据线和状态线...

高等院校教材:微机原理与接口技术主要讲述了哪些内容?
在高等院校教材中,微机原理与接口技术详细阐述了计算机系统的各个方面。首先,第1章介绍了微型计算机的基础知识,包括系统概述、体系结构、工作过程等,并配以习题进行巩固学习。接着,第2章深入探讨微处理器,从Intel8086\/8088的两种工作模式,引脚信号到总线操作时序,再到不同级别的微处理器,如PC\/XT...

微机系统原理与接口目录
微机系统原理与接口目录概述了微处理器的基础知识和核心组件。本书从第1章开始,逐步深入讲解。第1章,"微型计算机基础",首先介绍了微型机的发展历程和分类,接着详细阐述了计算机的基本硬件结构,包括指令系统、程序设计以及硬件与软件的关系。多媒体计算机的组成和特点也在本章中有所涉及,引导读者理解多...

高等院校信息学科应用型本科规划教材·微型计算机原理与接口技术...
这本高等院校信息学科应用型本科规划教材详细介绍了微型计算机原理与接口技术的内容。首先,从第1章开始,讲述了计算机的发展历程,特别是微型计算机的兴起和微处理器的主要特点,以及计算机中数制转换和数据编码的基础知识。随后,章节深入到Intel 8086\/8088微处理器,详细剖析了其结构、引脚信号、工作模式和...

32位微机原理与接口技术内容简介
《32位微机原理与接口技术》是一本以Intel公司的IA32系列微处理器为核心内容的教材。它全面涵盖了微机原理、汇编语言程序设计、计算机组成以及接口技术等领域。首先,微机原理部分深入解析了32位微处理器的工作原理和指令系统,帮助读者理解其内部运作机制。汇编语言程序设计章节详细讲解了程序的结构、开发流程、...

微机原理及接口技术的介绍
并简要介绍了目前使用的高档微机的工作原理和新技术。《微机原理及接口技术》在内容选择、次序安排和叙述方式等方面,都突出体现了面向教学与面向应用相结合的特点,循序渐进,内容详略得当,注重实际能力的培养。《微机原理及接口技术》可作为高等学校计算机及电类相关课程的教材,也适合广大从事微型机科研、...

辽源市13527426916: 微型计算机原理及接口技术题目,含汇编语言,求解 -
答怪正清: 1画出硬件原理框图(含驱动放大电路)2根据上述原理图,写出数字1,2,3,4的显示代码3编写8255A的工作方式初始化程序.(假设8255A的A口,B口,C口和控制口的地址分别0301H,0302H,0303H,0304H)4按题目要求编写显示子程序.(设1MS延时子程序DELAY1MS已知,可以被调用) 请在6月28日前解答,此后的答案将不会被采纳,急求.

辽源市13527426916: 诚心求《微机原理与接口技术》的题型有哪些需要会编程的?有哪些需?
答怪正清: 考试题型: 1.选择题 2.填空题 3.简答题 4.计算题 5.编程题前四种类型题目

辽源市13527426916: 微机原理与接口技术逢考必考的内容有什么? -
答怪正清: 必考内容1.寻址方式 2.中断系统 如中断原理 中断过程 3.8253(8254)计时器的方式选择,初始化编程 4.8255 初始化 及简单应用 (绝大多数考方式1 方式二方式三只可能出现在选择填空中) 5.简单的汇编编程重点内容:1.cpu结构 2.标志位置位原理 3.8259的应用(初始化不会考) 设置中断向量表 4.存储器的连接 作图题 计算地址范围等 希望对你有帮助

辽源市13527426916: 微机原理与接口技术 习题解答 周鸣争 -
答怪正清: 《微机原理与接口技术》试题(第一套) 一、选择题(每题3分,共30分) 1.8288在8086/8088组成的计算机中的作用是( ② ). ① 数据缓冲器 ② 总线控制器 ③ 地址锁存器 ④ 提供系统时钟CLK 2.指令 MOV 0283H[BX][SI] , AX 中目标操作...

辽源市13527426916: 本人现有一卷《微机原理与接口技术》的测试题,求高手帮忙. -
答怪正清: 1,(1)寄存器相对寻址(2)直接寻址 2,256种、1024个字节、13,输入(in)、输出(out)4,85,6种6,A7,C8,A9,C10,1M11,B(话说觉得答案不太对,应该是1/(2n-1)=1/255,那是2的n次方,你懂得)12,AX BX CX DX SP BS SI DS 、CX、CS DS ...

辽源市13527426916: 微机原理与接口技术(电子工业出版社)习题答案 -
答怪正清: 微型计算机及其接口技术《习题解答》(ppt) 第1章 微型计算机概论 第2章 80X86微处理器 第3章 存储器及其接口 第4章 输入输出与中断 第5章 并行接口 第6章 定时器/计数器电路 第7章 串行接口 第8章 模拟接口 第9章 人机接口 第10章 微机系...

辽源市13527426916: 微型计算机原理及其接口技术,一道题,帮个忙 -
答怪正清: assume cs:code,ds:data data segment org 0100h db 10 dup(?) ;如果要验证,可以放10个具体的BCD数,作为第一个10字节的BCD数 db 10 dup(?) ;放10个具体的BCD数,作为第二个10字节的BCD数 db 11 dup(?) ;因为相加之...

辽源市13527426916: 请教懂微机原理与接口技术的高手(解决下这几道题)!!! -
答怪正清: 用一条指令完成下列各题: 1.AL内容加12H,结果送入AL ADD AL,12H2.用BX寄存器间接寻址方式把存储器中的一个内存单元加上AX的内容,并加上CF位,结果送入该内存单元. ADC [BX],AX3.AX的内容减去BX的内容,结果送入AX SUB AX,...

辽源市13527426916: 微机原理与接口技术习题 -
答怪正清: 立即数寻址基址加变址串操作指令寻址寄存器寻址直接寻址

辽源市13527426916: 微机原理与接口技术 -
答怪正清: 1串口、并口、USB、VGA、PS2 2计数和定时 3SUB AX,AXXOR AX,AXMOV AX,0 4内存、外存 5CPU有、硬盘有,速度不一样的设备接口时吧. 6、7、8看课本吧,记不住.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网