微机原理及其接口技术重要实验详解

合集下载

微机原理及接口技术实验

微机原理及接口技术实验

微机原理及接口技术实验一、实验目的本实验旨在通过学习微机原理和接口技术,了解和掌握微机系统的基本原理和接口技术的应用,培养学生对微机系统的认识和实践操作能力。

二、实验内容1. 微型计算机系统设计与搭建2. 微机输入输出接口技术应用实验3. 微机总线技术应用实验4. 微机存储器技术应用实验5. 微型计算机中断和DMA技术应用实验三、实验原理1. 微型计算机系统设计与搭建微型计算机主要由中央处理器、存储器、输入输出设备和总线组成。

本实验通过选择适当的芯片、电路连接和控制程序设计,实现一个基本的微型计算机系统。

2. 微机输入输出接口技术应用实验输入输出是微型计算机的重要组成部分,通过实验学习各种输入输出接口的原理和使用方法,并进行实际应用。

3. 微机总线技术应用实验总线是微型计算机各个部件之间传送数据和控制信息的公共通信路径。

通过实验学习总线的分类、结构和时序要求,掌握总线的实际应用。

4. 微机存储器技术应用实验存储器是微型计算机中存储数据和程序的重要设备。

通过实验学习不同类型存储器的原理和应用,掌握存储器的选择和使用。

5. 微型计算机中断和DMA技术应用实验中断和直接存储器访问(DMA)是微型计算机连接外部设备的重要技术。

通过实验学习中断和DMA的工作原理,掌握中断和DMA的应用方法。

四、实验步骤1. 根据实验要求,设计并搭建微型计算机系统;2. 连接输入输出设备,并编写控制程序;3. 进行输入输出接口技术应用实验,如串行通信、并行通信等;4. 进行总线技术应用实验,如总线传输数据测试等;5. 进行存储器技术应用实验,如读写存储器数据等;6. 进行中断和DMA技术应用实验,如中断服务程序编写等;7. 完成相关实验报告并进行总结。

五、实验设备和材料1. 微型计算机实验箱、电源适配器;2. 8051单片机、存储器芯片、输入输出芯片,如74HC164等;3. LED数码管、LCD液晶显示器、键盘、计算器等输入输出设备;4. 可编程芯片编程器、逻辑分析仪等实验设备。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告引言微机原理与接口技术是计算机科学与技术专业的一门重要课程,通过实验的方式来深入理解微机原理和接口技术的原理和应用。

本实验报告将详细介绍我们在实验中所学到的内容和实验结果。

一、实验目的微机原理与接口技术实验的主要目的是让学生通过实验来了解和掌握微机系统的结构与工作原理,以及接口技术的基本原理和应用。

通过实验,我们可以加深对微机原理和接口技术的理解,并能够熟练操作相应的实验设备和软件。

二、实验内容本次实验主要包括以下几个方面的内容:1. 微机系统的组成与原理:了解微机系统的基本组成部分,包括微处理器、存储器、输入输出设备等,并学习它们的工作原理和相互之间的联系。

2. 微机系统的调试与测试:学习使用调试工具和测试设备来验证微机系统的正确性和稳定性,通过调试和测试来发现和排除系统中的问题。

3. 接口技术的原理与应用:了解各种接口技术的原理和应用,包括并行接口、串行接口、USB接口等,学会设计和实现简单的接口电路。

4. 接口电路的设计与调试:通过实际设计和调试接口电路,加深对接口技术原理的理解,并能够解决实际问题。

三、实验过程及结果在实验中,我们首先学习了微机系统的基本结构和工作原理,并通过实际操作,搭建了一个简单的微机系统。

通过调试和测试,我们验证了系统的正确性和稳定性。

接着,我们学习了各种接口技术的原理和应用。

我们以并行接口为例,设计了一个简单的并行接口电路,并通过实验验证了其正确性。

同时,我们还学习了串行接口和USB接口的原理,并了解了它们在实际应用中的重要性。

在接口电路的设计和调试过程中,我们遇到了一些问题,例如信号传输的稳定性、接口电路的兼容性等。

通过分析和调试,我们逐步解决了这些问题,并取得了令人满意的实验结果。

四、实验总结通过本次实验,我们深入了解了微机原理和接口技术的基本原理和应用。

通过实际操作和调试,我们不仅掌握了微机系统的组成和工作原理,还学会了设计和实现简单的接口电路。

微机原理与接口技术实验3流光发生器

微机原理与接口技术实验3流光发生器

微机原理与接口技术实验3流光发生器实验目的:1.掌握流光发生器的原理及工作原理。

2.了解流光发生器的接口特性及使用方法。

3.通过实验观察流光发生器的输出特性。

实验仪器:2.示波器3.数字万用表4.串行通信转USB模块实验原理:流光发生器是一种能产生连续可变色彩光的设备,它通过改变红、绿、蓝三基色灯的亮度分量来调整输出光的颜色。

在流光发生器中,通过对三色灯的PWM(脉冲宽度调制)控制,来实现色彩的混合和连续变化。

实验步骤:1.将流光发生器与示波器连接,设置示波器为XY模式,并选择合适的输出通道。

2.将流光发生器与数字万用表连接,用于测量流光发生器的输出电压。

3.将流光发生器与串行通信转USB模块连接,用于通过计算机控制流光发生器的工作参数。

4.打开流光发生器,并通过计算机软件调整输出光的颜色和亮度,观察输出波形的变化。

5.使用示波器观察流光发生器的输出波形,并测量输出电压的大小。

6.记录实验数据并进行分析。

实验注意事项:1.在操作流光发生器时,要注意电压的稳定性,避免因电压不稳导致流光发生器的异常工作。

2.在连接流光发生器与示波器时,要注意接线的正确性,避免误操作导致仪器故障。

3.在调整流光发生器的参数时,应根据实际需要进行合理设置,不要超过流光发生器的工作范围。

4.在测量流光发生器的输出电压时,要使用合适的测量工具,并注意正负极性的连接。

实验结果及数据分析:根据实验步骤进行实验操作,并记录实验数据。

通过观察流光发生器的输出波形和测量输出电压的变化,可以得到流光发生器的输出特性。

在实验中,通过计算机软件调整流光发生器的参数,可以实现连续变化的颜色与亮度。

通过示波器观察输出波形,可以看到不同频率和脉冲宽度的变化对应不同的颜色和亮度。

根据实验数据进行分析,可以得到流光发生器的颜色变化规律,以及不同参数对输出波形的影响。

通过分析实验结果,可以进一步了解流光发生器的原理及接口技术。

结论:通过本次实验,我们掌握了流光发生器的原理及工作原理,了解了流光发生器的接口特性及使用方法。

《微机原理与接口技术》实验指导书

《微机原理与接口技术》实验指导书

微机原理与接口技术实验指导书实验一:微处理器概述及数据传输实验一、实验目的•了解微处理器的基本概念和工作原理;•学习数据传输的基本知识;•掌握使用微处理器进行数据传输的方法。

二、实验器材•1个微处理器开发板;•1个串行通信模块;•相应的连接线。

三、实验内容在该实验中,你将学习如何使用微处理器进行数据传输,具体实验步骤如下:1.将开发板和串行通信模块连接起来;2.将数据发送器连接到串行通信模块的发送端口,将数据接收器连接到串行通信模块的接收端口;3.通过开发板上的开关设置要发送的数据;4.通过串行通信模块将数据发送到计算机;5.在计算机上使用相应的软件接收数据,并验证接收到的数据是否正确。

四、实验步骤1.将开发板和串行通信模块连接起来,确保连接正确并稳定;2.将数据发送器插入串行通信模块的发送端口,将数据接收器插入串行通信模块的接收端口;3.在开发板上的开关上设置要发送的数据;4.打开计算机上的串行通信软件,配置正确的串口号和波特率;5.点击软件的接收按钮,准备接收数据;6.在开发板上的开关上切换到发送模式,并观察串行通信模块的指示灯是否正常闪烁;7.在串行通信软件上观察接收到的数据是否与设置的数据一致;8.如果数据传输正常,则实验完成。

五、实验注意事项1.连接线务必稳固连接,确保数据传输正常;2.阅读并理解实验器材的使用说明书;3.注意保持实验环境的整洁,避免影响实验结果;4.在进行数据传输时,确保计算机已正确安装了相应的驱动程序。

六、实验总结通过这次实验,我们初步了解了微处理器的基本概念和工作原理,学习了数据传输的基本知识,并掌握了使用微处理器进行数据传输的方法。

我们在实验中成功地连接了开发板和串行通信模块,并成功地进行了数据传输。

通过实验,我们发现数据传输过程中需要注意连接线的稳固连接,以及计算机是否安装了相应的驱动程序。

实验的结果验证了我们的操作方法的正确性,同时也为后续实验奠定了基础。

注意:本指导书旨在引导实验过程,实验过程中如有任何危险情况,请立即停止实验并寻求实验室管理员的帮助。

微机原理与接口技术实验报告

微机原理与接口技术实验报告

微机原理与接口技术实验报告实验目的:本次实验旨在熟悉并掌握微机原理与接口技术的相关知识,通过实例操作和分析实验数据,加深对微机原理与接口技术的理解。

一、实验器材与软件1. 硬件器材:计算机主机、外设设备2. 软件工具:操作系统、编程软件二、实验步骤及结果分析1. 实验1:计算机开机自检在实验中,通过开机启动计算机,观察计算机进行自检的过程。

根据显示屏上的自检信息,可以判断计算机硬件的工作状态。

2. 实验2:串口通信测试在本实验中,通过串口通信实现计算机与外设设备之间的数据传输。

首先,将串口接口连接到计算机主机,然后进行相应的设置,包括波特率、数据位、停止位和校验位等。

在实验中,通过编写相应的程序,实现计算机与外设设备之间的数据交互。

通过观察实验结果,判断串口通信是否正常。

3. 实验3:并口通信测试本实验旨在通过并行口通信实现计算机与外设设备之间的数据传输。

首先,将并行口接口连接到计算机主机。

然后,根据实验要求进行相应的设置,包括数据总线的宽度、传输模式等。

通过编写程序,实现计算机与外设设备之间的数据交互。

观察实验结果,判断并口通信是否正常。

4. 实验4:USB接口测试在本实验中,通过USB接口实现计算机与外设设备之间的数据传输。

首先,将USB接口连接到计算机主机。

然后,在计算机中安装相应的驱动程序。

通过编写程序,实现计算机与外设设备之间的数据交互。

观察实验结果,判断USB接口是否正常工作。

5. 实验5:网络接口测试本实验旨在通过网络接口实现计算机之间的数据传输。

首先,将计算机连接到局域网中的其他计算机。

然后,进行相应的设置,包括IP地址、子网掩码等。

通过编写程序,实现计算机之间的数据交互。

观察实验结果,判断网络接口是否正常工作。

三、实验总结通过本次实验,我对微机原理与接口技术有了更深入的了解,掌握了串口、并口、USB接口和网络接口等常用接口的使用方法。

通过实验的操作和分析,我对接口通信的原理和实现方式有了更详细的了解,对计算机与外设设备之间的数据传输有了更清楚的认识。

微机原理与接口技术实验报告_5

微机原理与接口技术实验报告_5

实验二初级程序的编写与调试实验一、实验目的1、熟练掌握DEBUG的常用命令,学会用DEBUG调试程序.2、深入了解数据在存储器中的存取方法,及堆栈中数据的压入与弹出.3、掌握各种寻址方法以及简单指令的执行过程.二、实验内容1.设堆栈指针SP=2000H,AX=3000H,BX=5000H,请编一程序段将AX的内容和BX的内容进行交换.请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试.程序:MOV AX,3000MOV BX,5000MOV SP,2000PUSH AXPUSH BXPOP AXPOP BXHLT2.设DS=当前段地址,BX=0300H,SI=0002H请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入OAH,OBH,OCH,ODH,OEH.在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时,AX中的内容是什么?-E 300 0A,0B,0C,0D,0E-AMOV BX,0300MOV SI,0002MOV AX,BXMOV AX,0304MOV AX,[0304]MOV AX,[BX]MOV AX,0001[BX]MOV AX,[BX][SI]MOV AX,0001[BX][SI] HLT3.设AX=0002H,编一个程序段将AX的内容乘10,要求用移位的方法完成. 程序:MOV AX,0002MOV BX,AXMOV CL,2SHL AX,CLADD AX,BXMOV CL,1SHL AX,CLHLT实验四加法及判断程序的编写与调试一、实验目的1.熟练掌握编写汇编语言源程序的基本方法和基本框架.2.学会编写顺序结构,分支结构和循环结构的汇编程序3.掌握程序中数据的产生与输入输出的方法.二、实验内容1.用汇编语言编写一个加法程序:1325+9839请用ASCII码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加结果显示输出.程序:DATA SEGMENTDATA1 DB '5','2','3','1'DATA2 DB '9','3','8','9'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DATA1LEA DI,DATA2MOV CX,4MOV AH,0 NEXT:MOV AL,[SI]ADC AL,[DI]ADC AL,AHMOV AH,0AAAADD AL,30HMOV [DI],ALINC DIINC SILOOP NEXTMOV CX,5ADD AH,30HMOV [DI],AH NEXT1:MOV DL,[DI]MOV AH,02INT 21HDEC DILOOP NEXT1MOV AH,4CHINT 21H CODE ENDSEND START2.假设有一组数据:5,-4,0,3,100,-51,请编写一程序,判断:每个数是否大于0?等于0?还是小于0?并输出其判断结果,即即:1当X>0Y=0当X=0-1 当X<0程序:DATA SEGMENTDATA1 DB 5, -4, 0 ,3,100,-51STRING1 DB'Y=1','$'STRING2 DB'Y=0','$'STRING3 DB'Y=-1','$'DATA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 200 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA SI,DATA1MOV CX,6NEXT: MOV AL,[SI]CMP AL,0JZ NEXT1JNS NEXT2JS NEXT3NEXT1: MOV DX,OFFSET STRING2MOV AH,09HINT 21HJMP NEXT4NEXT2: MOV DX,OFFSET STRING1MOV AH,09HINT 21HJMP NEXT4NEXT3: MOV DX,OFFSET STRING3MOV AH,09HINT 21HNEXT4: INC SILOOP NEXTMOV AH,4CHINT 21HCODE ENDSEND START实验五大小写字母互换程序的编写与调试一、实验目的进一步熟悉汇编语言源程序的编写方法及宏汇编程序的使用方法二、实验内容设内存数据区有大小写混合英文ASCII码字母: ‘AbCdEfGChinaAgriculturalUniversity’。

微机原理与接口技术实验报告二

微机原理与接口技术实验报告二

微机原理与接口技术实验报告(二)1、实验内容一:实验目的:(1) 阅读《实验操作.ppt》, 学习汇编工具的使用(2) 学习附录的程序代码, 理解并输入、编译和查错3) 学习利用编译错误信息进行附录的程序修改;(程序包含一个语法错误和一个逻辑错误)4)学习程序流程控制: (条件跳转指令ja jb (call指令, 观察程序执行时堆栈的变化(学会用debug –g命令设置断点);5 )学习程序中有限的寄存器的使用。

2.实验内容:(1)打开masm for windows软件, 在其中输入实验要求附给的程序, 保存后运行, 程序报错:(2)经分析发现, “noneeded”没有定义, 改为“notneeded”后正常运行(3)运行过程中发现当字母或数字个数达到两位数时, 统计结果的各位与十位对调了。

如下图, 字母数应为13, 但显示为31(4)经检查, 发现第80行程序有误, inc指令应改为dec指令。

运行后程序正常, 调试完毕。

如下图程序框图如下:实验内容二:1.实验目的及内容:编写完整程序, 实现功能:统计以下字符串STR中空格的数目, 结果保存在COUNT中, 并把个数在屏幕上显示出来。

STR DB ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9'L EQU $-STRCOUNT DB ?(字符串STR可以从这里直接拷贝到程序中)实验结果:程序如下:dispmsg macro messgemov ah,9lea dx,messgeint 21hendmDATA segmenttishi db 0dh,0ah,'the original string is:' string db ' AB CDE FG H I J K L MNOPQ RST UV W XYZ 12 34 56 78 9' STRINGLEN= $-stringnewline db 0dh,0ahNspace db 0dH,0aH,'Number of char space is:',?,?Nsp db ?,'$'DATA endsSTACK segment stack 'stack'sta db 100 dup(?)stack endsCODE segmentASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,seg DATAMOV DS,AXxor cx,cxxor dl,dlmov cl,stringlenlea bx,stringcnt:mov al,[bx]cmp al,' 'jz yesspinc blloop cnt jmp shijinzhiyessp:inc dlinc blloop cntjmp shijinzhishijinzhi:lea bx,Nspmov ah,02hint 21hcall char2asc dispmsg tishiMOV AH,4CHINT 21Hchar2asc procmov dl,10 next: xor ah,ahdiv dladd ah,'0'mov [bx],ahdec bxor al,aljnz nextretchar2asc endpcode endsend startEND START运行结果如下:程序流程图如下:实验中遇到的问题及解决方法:1.汇编语言中寄存器有限, 在使用时注意是否保存寄存器中原有的值, 防止在使用寄存器时将原值改变。

8255实验-微机原理与接口技术

8255实验-微机原理与接口技术

实验线路连接
(1) 8255A芯片PC0~ PC7插孔依次接K1~ K8。
(2) 8255A芯片PB0~PB7插孔依次接L1 ~ L8。
(3) 8255A的CS插孔CS-8255接译码输出Y7插
孔。
要求: ① 读懂系统程序中有关 8255A 的部分。
包括:端口地址、初始化编程、 二极管发光情况与开关状态间的对应关系
并使其根据开关 K1~ K8 的状态发光。 · 以 K8 作为总开关,
若 K8打开(0),则 L1~ L8同时熄灭; 若 K8闭和(1),则 L1~ L7由K1~ K7控 制。
IOCONPT EQU 0073H IOCPT EQU 0072H IOBPT EQU 0071H IOAPT EQU 0070H
② 执行程序,并进行观察,记录。 PC 口 8 位接 8 个开关 K1~ K8 , PB 口 8 位接 8 个 LED 发光二极管 L1~ L8 , 并使其根据开关 K1~ K8 的状态发光。
③ 改变电路接法并修改程序,要求实现:
· PA 口 8 位接 8 个开关 K1~ K8 ,
PB 口 8 位接 8 个发光二极管 L1~ L8
IOLED: CALL FORMAT CALL LEDDISP
MOV AL,90H B口输出
;10010000 写方式控制字 方式0 A口输入
MOV DX,IOCONPT
OUT P
IOLED1: MOV DX,IOAPT
IN AL,DX
MOV DX,IOBPT
OUT DX,AL
并行接口 8255 的应用
1、实验目的 掌握8255A和微机接口方法。 掌握8255A的工作方式和编程原理。
2、实验内容
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三可编程定时器/计数器(8253)一、实验目的掌握8253的基本工作原理和编程方法。

二、实验内容1、按图3-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

三、编程提示1、8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZ;*************************;;* 8253方式0计数器实验*;;*************************;io8253a equ 283hio8253b equ 280hcode segmentassume cs:codestart: mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253aout dx,almov dx,io8253b ;送计数初值为0FHmov al,0fhout dx,allll: in al,dx ;读计数初值call disp ;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch ;退出int 21hdisp proc near ;显示子程序push dxand al,0fh ;首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30Hadd dl,7 ;否则为'A'-'F',ASCII码加37Hnum: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret ;子程序返回disp endpcode endsend start实验三可编程定时器/计数器(8253)一、实验目的掌握8253的基本工作原理和编程方法。

二、实验内容1、按图3-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。

三、编程提示1、8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZ;*******************;* 8253分频*;*******************io8253a equ 280hio8253b equ 281hio8253c equ 283hcode segment //声明代码段assume cs:codestart:mov dx,io8253c ;向8253写控制字mov dx,283h;mov al,36h ;使0通道为工作方式3D7D6D5D4D3D2D1D0=00110110,D7D6=00表示计数器0;D5D4=11先读写低8为再读写高8位;D3D2D1=011表示计数器工作方式3;D0=0表示计数器的初值为二进制数out dx,al //向283h写控制字mov ax,1000 ;写入循环计数初值1000mov dx,io8253aout dx,al ;先写入低字节到计数器0地址280Hmov al,ahout dx,al ;后写入高字节到计数器0地址280Hmov dx,io8253cmov al,76h ;设8253通道1工作方式3 .D7D6D5D4D3D2D1D0=01110110,D7D6=01表示计数器1;D5D4=11 先读写低8为再读写高8位;D3D2D1=011表示计数器工作方式3;D0=0表示计数器的初值为二进制;out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253bout dx,al ;先写低字节到计数器1地址281Hmov al,ahout dx,al ;后写高字节到计数器1地址281Hmov ah,4ch ;程序退出int 21hcode endsend start实验四可编程并行接口(一)(8255方式0)一、实验目的掌握8255方式0的工作原理及使用方法。

二、实验内容1、实验电路如图4-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

2、编程从8255C口输入数据,再从A口输出。

三、编程提示1、8255控制寄存器端口地址28BHA口的地址288HC口的地址28AH;*******************************;;* 8255方式0的C口输入,A口输出*;;*******************************;io8255a equ 288hio8255b equ 28bhio8255c equ 28ahcode segment //定义代码段assume cs:codestart:mov dx,io8255b ;设8255为C口输入,A口输出mov dx,28bh//D7=1,D6D5=00(工作方式为0),D4=0(A出),D2=0,D3=1(C入),D0=1(C入)。

mov al,8bh //D7D6D5D4D3D2D1D0=10001011,D7=1,D6D5=00,D4=0,D3.D0=0,D2=0,D1=1out dx,al //设8255为C口输入,A口输出inout: mov dx,io8255c ;c口的地址28AH从C口输入一数据in al,dx //将al的数给dxmov dx,io8255a ;A口的地址288H从A口输出刚才自C口out dx,al ;所输入的数据mov dl,0ffh ;判断是否有按键mov ah,06hint 21hjz inout ;若无,则继续自C口输入,A口输出mov ah,4ch ;否则返回int 21hcode endsend start实验七竞赛抢答器一、实验目的1、了解微机化竞赛抢答器的基本原理。

2、进一步学习使用并行接口。

二、实验内容图7-1为竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。

在七段数码管上将其组号(0~7)显示出来,并使微机扬声器响一下。

三、编程提示设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。

根据读取数据可判断其组号。

从键盘上按空格键开始下一轮抢答,按其它键程序退出。

;********************************;* 本程序为模拟抢答器*;********************************data segment ;定义数据段io8255a equ 28ah ;端口初始化io8255b equ 28bhio8255c equ 288hled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h ;数码表data endscode segment ;定义代码段assume cs:code,ds:data ;有了这一句代码,程序就知道从ds:data中找到data所定义的内存地址,然后传送给dsstart:mov ax,data ;把data段的段地址送入es中,以便计算物理地址的时候得到正确的段地址。

mov ds,axmov dx,io8255b ;设8255为A口输出,C口输入mov ax,89hout dx,almov bx,offset led ;使BX指向段码管首址sss: mov dx,io8255a ;从8255的C口输入数据in al,dxor al,al ;比较是否为0je sss ;若为0,则表明无键按下,转sssmov cl,0ffh ;cl作计数器,初值为-1rr: shr al,1 ;al逻辑右移一位inc cl ;cl减一jnc rr ;如果进位则跳转mov al,cl ;xlat ;交换。

22行到27行应该循环计数mov dx,io8255c ;从8255的C 端输出“个人觉得是初始化”out dx,almov dl,7 ;响铃ASCII码为07mov ah,2 ;输出指令(三条指令一起读)int 21hwai: mov ah,1 ;键盘输入一个数int 21hcmp al,20h ;是否为空格jne eee ;不是,转eee ,等于零跳转,不等于零继续执行mov al,0 ;是,关灭灯mov dx,io8255c ;从8255的C 端输出“个人觉得是初始化”out dx,aljmp sss ;跳转到ssseee: mov ah,4ch ;功能调用,该功能为关闭窗,即抢答结束int 21hcode ends ;代码段结束end start ;程序结束实验九中断一、实验目的1、掌握PC机中断处理系统的基本原理。

2、学会编写中断服务程序。

二、实验原理与内容1、实验原理PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。

中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。

IBMPC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源:中断源中断类型号中断功能IRQ0 08H 时钟IRQ1 09H 键盘IRQ2 0AH 保留IRQ3 OBH 串行口2IRQ4 0CH 串行口1IRQ5 0DH 硬盘IRQ6 0EH 软盘IRQ7 0FH 并行打印机8个中断源的中断请求信号线IRQ0~IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。

对于PC/AT及286以上微机内又扩展了一片8259中断控制,IRQ2用于两片8259之间级连,对外可以提供16个中断源:中断源中断类型号中断功能IRQ8 070H 实时时钟IRQ9 071H 用户中断IRQ10 072H 保留IRQ11 O73H 保留IRQ12 074H 保留IRQ13 075H 协处理器IRQ14 076H 硬盘IRQ15 077H 保留TPC-USB实验板上,固定的接到了3号中断IRQ3上,即进行中断实验时,所用中断类型号为0BH。

2、实验内容实验电路如图9-1,直接用手动产单脉冲作为中断请求信号(只需连接一根导线)。

要求每按一次开关产生一次中断,在屏幕上显示一次“TPCA Interrupt!”,中断10次后程序退出。

;*******************************;;* 中断实验*;;*******************************;data segment ;定义数据段mess db 'TPCA interrupt!',0dh,0ah,'$'; 显示TCPA interrupt! 0dh:回车0ah:换行data ends; 数据段结束code segment;定义代码段assume cs:code,ds:data ; 假定code位于代码段,data位于数据段start:mov ax,cs; cs内容送ax中mov ds,ax; ds:dx内容为中断服务程序的入口地址,位于数据段,偏移量送到dx中mov dx,offset int3 ;取中断服务程序的偏移地址送dx中mov ax,250bh; dos调用的功能号为25h,中断矢量是0bhint 21h; 设置IRQ3的中断矢量in al,21h; 读中断屏蔽寄存器and al,0f7h; 开放IRQ3中断(与上11110111H,3位为0)out 21h,al;写进去允许mov cx,10; 记中断循环次数为10次Sti; 置中断标志位,IF=1ll: jmp ll; cx是否为0,等待循环int3: 中断服务程序mov ax,data 取数据的地址mov ds,ax 把数据的地址送到dsmov dx,offset mess 把字符串的偏移地址取出mov ah,09 显示每次中断的提示信息(ds:dx=字符缓冲首址)int 21h 执行调用mov al,20h 20H送al,OCW2=00100000Bout 20h,al 发出EOI结束中断loop next CF=1,不为0,跳到nextin al,21h 设中断屏蔽器or al,08h 关闭IRQ3中断out 21h,al 写入sti 显中断标志位,IF=1mov ah,4chint 21h 返回DOSnext: iret 中断返回code endsend start实验十可编程并行接口(二)(8255方式1)一、实验目的1、掌握8255工作方式1时的使用及编程。

相关文档
最新文档