微机原理实验讲义2015

合集下载

微机原理及接口技术实验讲义

微机原理及接口技术实验讲义

微机原理及接口技术实验指导书第一章80X86微机原理及其程序设计实验一熟悉PC 机的使用和调试汇编程序的方法一. 实验目的:1. 掌握汇编程序由编辑、编译、链接到调试的全过程。

2. 通过汇编调试工具加深对机器指令执行过程的了解。

二. 实验要求:1.了解PC 机的系统类型和基本配置, 熟悉PC 机DOS和WINDOWS下的基本操作2.掌握使用UltraEdit 等编辑器对汇编语言源程序(存储后扩展名为.ASM ) 的编辑操作。

3.学会用宏汇编程序MASM (或TASM ) 对.ASM文件进行编译(编译后扩展名为.obj)。

4.使用链接程序LINK (或TLINK ) 对 .OBJ 文件链接生成 .EXE 文件。

5. 学会用汇编调试工具软件TD (或DEBUG ) 对.EXE文件进行调试进一步深对机器指令的了解、执行程序、检查运行结果的方法。

三. 实验仪器:PC 机一台四. 实验步骤:汇编程序的编程环境有以下三种方式:1. Dos窗口下命令行方式2. UltraEdit方式3. 硬件实验箱自带的集成编程环境Wmd86方式其中第一种Dos方式,是指进入Dos窗口模式编辑源文件,用命令行方式直接调用Tasm,Masm等编译工具进行程序的编译、链接、调试,而后两种工作方式都是在Windows下进行源文件的编辑,而编译和链接仍然是通过调用Tasm,Masm等编译工具完成相应工作。

为了方便我们现在一般采用后两种编程环境。

下面我们分别介绍:1.UltraEdit方式UltraEdit是Windows下非常优秀的文本编辑软件,有很好的可配置性,支持语法高亮等。

通过配置UltraEdit,可实现在UltraEdit环境下编辑汇编源程序、汇编、连接、调用TDebug调试,非常方便。

配置完成后,可实现快捷键调用各编译、连接、调试功能。

实验机器上已经预配置好了。

配置方法说明(带演示动画)。

使用说明:1.打开UltraEdit,编辑并保存汇编源文件。

微机原理课件2015-4_3

微机原理课件2015-4_3

中国科学技术大学 University of Sci.& Tech. of China
快电子学实验室 Fast Electronics Lab
宋克柱
skz@
1.中断调用和中断返回
• 中断调用是内部软件中断。 • 中断调用的步骤:准备入口参数、功能号送给 AH、调用中断INT n。
中国科学技术大学 University of Sci.& Tech. of China
快电子学实验室 Fast Electronics Lab
宋克柱
skz@
l 取得日期:功能号2AH 出口参数:CX年、DH月、DL日。 例: MOV AH, 2AH INT 21H l 设置时间:功能号2DH 入口参数:CH小时、CL分、DH秒、 DL百分之一秒。 l 取得时间:功能号2CH 出口参数:CH小时、CL分、DH秒、 DL百分之一秒。
中国科学技术大学 University of Sci.& Tech. of China
中国科学技术大学 University of Sci.&am Electronics Lab
宋克柱
skz@
3.BIOS中断调用
• 固化在ROM中的BIOS也提供了许多功能,用户可以 调用。调用方法与DOS中断调用相同。 • 键盘中断调用 INT16H • 显示中断调用 INT 10H • 时间设置和读取 INT 1AH
中国科学技术大学 University of Sci.& Tech. of China
快电子学实验室 Fast Electronics Lab
宋克柱
skz@
• 调用格式: 功能号送给AH,然后调用中断。 例: 调用 INT 16H的功能号0, 键入的字符ASCII码送给AL MOV AH, 0 INT 16H

微机原理综合设计实验讲义

微机原理综合设计实验讲义

微机原理综合设计实验讲义傅中君1实验性质该实验的性质是学生学完电子线路、数字逻辑、计算机组成与结构、计算机程序设计、微机原理与汇编语言等课程后进行的一次较完整的培养学生计算机面向硬件程序设计能力的综合性、设计性实验。

该实验将通过“课内学时+课外学时”方式进行。

2 实验目的该实验对学生全面理解教学内容,尝试设计比较完整的、实用性的汇编应用程序,以及培养面向硬件的编程能力起着重要的作用。

通过该项实验,主要达到以下目的:⏹1、使学生增进对计算机工作方式和过程的感性认识,加深对计算机系统硬件编程的理解。

⏹2、使学生掌握计算机系统面向硬件程序设计的基本方法,掌握汇编语言程序设计和调试的基本技术,包括汇编、调试等。

⏹3、使学生了解和掌握计算机系统的软硬件结合程序设计过程、方法及实现,为以后学习和工作打下良好基础。

3 实验要求使学生在一定的课时内完成一个比较完整,有一定实用价值的汇编应用程序的设计和调试。

实验内容应涵盖一下方面:⏹顺序、分支、循环等程序设计;⏹子程序设计;⏹BIOS、DOS功能调用;⏹运用软件结构体系的知识规划程序结构。

4 实验安排微机原理综合设计实验按照综合性设计性实验的要求来安排,包含35个实验课题,2人1组共同完成实验课题。

每个实验课题涵盖了本课程大纲要求培养的能力和技能,最后完成一份综合设计报告。

5 综合设计报告要求实验报告按照毕业论文要求书写,包含摘要、设计任务与要求、软件总体结构及基本算法、概要设计和数据结构、软件的编写及调试、测试数据及调试中Bug分析、收获和体会、参考文献等部分。

要求学生重点讲述清楚故障分析和收获体会。

6 成绩评定⏹形成性考核⏹1、上交选题报告⏹2、上交系统概要设计⏹3、上交系统详细设计⏹4、上交完成的作品和相应的设计文档⏹5、上交课程设计总结报告⏹作品综合考评⏹设计作品综合考评由专任教师根据作品的完整性、实用性、可靠性、创造性、技术先进性等要素给出“优、良、中、合格、差”等五个级别。

《微机原理实验指导书》2015

《微机原理实验指导书》2015

微机原理汇编及接口实验讲义电子信息工程系微机实验组2015年3月目录实验一寻址方式和汇编语言程序上机调试步骤 (1)实验二循环程序设计 (2)实验三子程序调用程序设计 (3)实验四 DOS系统功能调用 (4)实验五接口实验预备知识 (5)实验六简单的输出接口 (9)实验七简单的输入接口 (11)实验八数码管动态显示实验 (13)实验九可编程并行接口8255实验 (15)实验十可编程计数/定时器8253实验 (16)实验十一可编程中断控制器8259实验 (17)实验十二微机接口综合实验(上机测验)集成电路内部原理及管脚图 (21)实验一寻址方式和汇编语言程序上机调试步骤一、实验目的1、掌握在HQFC环境下8086的寻址方式。

2、掌握在HQFC环境下汇编语言程序上机步骤及调试过程。

3、掌握连续执行、单步执行、跳过执行及设置断点的方法。

4、掌握连续执行、单步执行过程中如何查寄存器、存储器、堆栈中的数据。

二、实验内容1、在HQFC环境下单步执行下列指令,查看每条指令的执行过程,随时查看寄存器、存储器、堆栈及反汇编窗口并记录执行结果,查看、记录每条指令的操作码和操作数,查看、记录所有指令的反汇编结果。

code segmentassume cs:codestart: mov ax,1234hmov bx,4321hadd ax,bxmov cx,axpush cxpop dxloop: jmp loopcode endsend start将3、4语句1234h、4321h改为1234、4321后再执行程序,观察结果寄存器窗口,说明变化原因。

在语句PUSH CX设置断点,连续执行后查看结果,说明设置断点对程序调试有何作用?2、在数据段X单元存放有数据42,Y单元存放有数据-43,编程求这两数之和,并把结果存放到S单元,编写出完整程序,上机调试,查看、记录执行结果。

3、已知数据段X单元存放的数据为10H,编程将该数据左移四位后存放到Y单元,编写出完整程序,上机调试,查看、记录执行结果。

微机原理实验讲义

微机原理实验讲义

目录第一章汇编语言程序的基本结构 (1)第二章汇编语言程序的建立和执行 (6)第三章汇编语言程序上机实验 (10)实验一两个多位十进制相加的实验 (10)实验二两个数相乘的实验 (11)实验三统计男女生人数实验 (13)实验四统计学生成绩实验 (14)实验五数据块移动与字符串搜索程序实验 (17)实验六将ASCII码转换为二进制数 (17)实验七将二进制数转换为ASCII码 (19)实验八字符和数据的显示程序 (20)实验九将键盘输入的大小写字母相互进行转换 (22)实验十求2X的实验 (24)实验十一实现分段函数的运算 (25)实验十二排序实验 (25)实验十三读文件的实验 (26)实验十四写文件的实验 (29)实验十五显示目录的实验 (30)第四章微机原理硬件部分 (32)实验一 8255A并行口实验(一)LED显示 (32)实验二 8255A并行口实验(二)PA输入,PB输出 (33)实验三 8255A并行口实验(三)控制交通灯 (34)实验四 A/D转换实验 (35)实验五 D/A转换实验(一)方波 (36)实验六 D/A转换实验(二)锯齿波 (37)实验七 8259单级中断控制器实验 (38)实验八定时/计数器8253方波 (39)实验九 8251串口实验(一)自发自收 (41)实验十8251串口实验(二)8251发送26个字母 (43)实验十一继电器控制 (44)实验十二步进电机控制 (44)实验十三小直流电机调速实验 (45)第一章汇编语言程序的基本结构汇编语言程序设计是学习微机原理课程的一个重要内容,只有通过设计一定的实验程序,并在一定的工具下完成程序的调试,才能充分理解计算机的指令系统和其工作原理。

一个完整的汇编语言源程序至少由指令语句部分和伪指令语句部分两部分语句组成。

每一条指令语句在汇编时产生一个目标代码,对应着一条机器指令;而伪指令则是为汇编程序提供编译信息及为连接程序提供链接信息。

微机原理课程设计讲解

微机原理课程设计讲解

微机原理课程设计学院:机电工程学院专业:自动化班级:XXXX学号:XXXX姓名:XX指导教师:XXXXXXXX 完成时间:2015一、课程设计的基本要求•设计8088微处理器最小系统•用8284设计频率恒定的时钟电路•用6264和2764设计存储器(RAM和ROM)电路。

•用ADC0809组成8位温度检测A/D变换接口电路•用DAC0832设计8位D/A变换接口电路驱动直流电机•用8255和8253设计步进电机控制电路•用8255外联LED和键盘显示电路二、设计的基本思路采用8088的最小方式,利用三片74LS373锁存器设计20位地址总线电路,利用一片74LS245收发器形成数据总线电路。

利用8254芯片提供频率恒定的时钟信号,同时具有复位信号和准备好信号发送给8088系统。

运用两片2764和两片6264进行扩展,形成16K的ROM和16K的RAM电路。

系统的定时计数器由一片8253构成,中断系统由8259组成,并行接口电路由8255构成。

AD转换电路由ADC0809及其外围电路构成,由DAC0832及其外围电路构成DA转换电路驱动直流电机。

芯片所需的片选信号均由74LS138译码电路产生。

三、系统的地址分配ROM2764(1):0FC000H~0FDFFFH;ROM2764(2):0FE000H~0FFFFFH;RAM6264(1):00000H~01FFFH;RAM6264(2):02000H~03FFFH;ADC0809:0058H~005FH;DAC0832:0074H;计时器8253:0020H~0023H;并行接口芯片8255:0028H~002BH;键盘地址:0070H~0073H; LED地址:0080H~0083H。

四、具体设计1、8088微处理器最小系统1.1 8088微处理器介绍8088微处理器采用40条引脚的双列直插式封装。

为减少引脚,采用分时复用的地址/数据总线,因而部分引脚具有两种功能。

实验讲义微机原理实验教案

实验讲义微机原理实验教案

实验仪操作步骤●在桌面上双击,进入系统界面(左图)。

●使用文件菜单,建立或打开汇编源程序文件。

●在编辑窗口输入或修改程序。

●输入、修改完后点击保存。

●点击,编译文件,若程序编译无误,则输出如下图(左)所示的输出信息,然后再点击进行链接,链接无误输出如下图(右)所示的输出信息。

●打开实验系统电源。

●点击下载程序。

为编译、链接、下载组合按钮,通过该按钮可以将编译、链接、下载一次完成。

下载成功后,在输出区的结果窗中会显示“加载成功!”,表示程序已正确下载。

起始运行语句下会有一条绿色的背景。

如左图所示。

●点击按钮,运行程序,点击按钮停止程序运行。

实验一基本I/O 接口电路设计实验实验目的(1) 掌握基本I/O 接口电路的设计方法。

(2) 熟练汇编语言I/O 端口操作指令的使用。

实验内容利用三态缓冲器74LS245、锁存器74LS374 设计微机总线和外部设备的数据通道,实现微机对外部输入数据的读取和对输出数据的输出。

用开关及LED 显示单元的开关和数据灯作为输入和输出显示设备,将读到开关的数据显示在数据灯上。

实验原理1.输入接口设计输入接口一般用三态缓冲器实现,外部设备输入数据通过三态缓冲器,通过数据总线传送给微机系统。

74LS245 是一种8 通道双向的三态缓冲器,其管脚结构如图1-1 所示。

DIR 引脚控制缓冲器数据方向,DIR为1表示数据由A[7:0]至B[7:0],DIR为0表示数据由B[7:0]至A[7:0]。

G 引脚为缓冲器的片选信号,低电平有效。

图1-1 74LS245 双向三态缓冲器管脚图2.输出接口设计输出接口一般用锁存器实现,从总线送出的数据可以暂存在锁存器中。

74LS374 是一种8通道上沿触发锁存器。

其管脚结构如图1-2 所示。

D[7:0]为输入数据线,Q[7:0]为输出数据线。

CLK 引脚为锁存控制信号,上升沿有效。

当上升沿到时,输出数据线锁存输入数据线上的数据。

OE 引脚为锁存器的片选信号,低电平有效。

微机原理及接口技术实验讲义

微机原理及接口技术实验讲义

微机原理与接口技术实验讲义实验一汇编程序的调试与Debug应用一、实验目的(1)掌握汇编语言的编程结构与方法。

(2)理解汇编语言的运行机制。

(3)掌握Debug调试语句及调试技巧。

二、预习要求复习汇编程序语言,提前将本实验相关内容进行预习。

三、实验设备带有MASM汇编工具的PC机一台。

四、实验原理程序的编写、编译的一般过程(1)汇编语言支持任意字处理软件,可以选用现有的文本编辑软件,例如EDIT,记事本等,进行源程序的编写,编写完毕之后,需将文件保存为*.asm文件(源文件)。

(2)利用MASM软件对所编写的*.asm文件进行汇编,生成*.obj文件(目标文件),以及调试用*.LST(列表文件)和*.crf(交叉引用表)(3)利用Link命令对程序进行连接,将目标文件与库文件进行连接,最终生成*.exe 文件(可执行文件)。

若上述几步无问题,则最终生成可直接运行的*.exe文件,若过程中出现语法错误,请按照提示将所有语法错误进行改正,若汇编过程通过,但运行结果不正确,则表明出现语义错误,此时,需利用调试软件,例如Debug进行调试,查找出现语义错误的语句进行修改,需反复进行调试,直至程序运行正确。

例:使用MASM50 汇编程序进行汇编,输入命令行masm 或者masm *.asm 后根据提示,输入文件名,在汇编没有错误的情况下,如屏幕所示:汇编程序可生成三个文件,*.obj,*.lst 和*.crf。

*.obj-目标文件,用于连接生成可执行文件;*.lst-列表文件(可选),汇编语言汇编的机器语言与汇编语言对照表,可用于调试;*.crf-交叉引用文件(可选),给出了用户定义的所有符号和对每个符号定义、引用的行号。

汇编连接命令行:link [*.obj] [*.obj] [*.lib] ↙连接程序,将多个目标程序及库文件,连接生成可执行的*.exe 文件,同时可选择生成*.map 文件。

*.map-地址映像文件,给出内存地址分配的有关信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理实验讲义实验一8255A并行口实验(一)一、实验目的⒈掌握8255A和微机接口方法。

⒉掌握8255A的工作方式和编程原理。

二、实验内容用8255PA口控制PB口。

三、实验接线图图6-3四、编程指南⒈8255A芯片简介: 8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式⒉使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB 口工作在方式0作为输出口。

五、实验程序框图六、实验步骤⒈在系统显示监控提示符“P.”时,按SCAL键,传送EPROM中的实验程序到内存中。

(注:必须先传送EPROM后,再往下操作)⒉ 8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。

⒊ 8255A芯片B口的PB0-PB7依次接Ll-L8。

⒋运行实验程序。

在系统显示监控提示符“P.”时,输入11B0,按EXEC键,系统显示执行提示符“┌”拨动K1-K8, LI-L8会跟着亮灭。

七、实验程序清单CODE SEGMENT ;H8255-1.ASMASSUME CS:CODEIOCONPT EQU 0FF2BH ;定义8255控制口IOBPT EQU 0FF29H ;定义8255 PB口IOAPT EQU 0FF28H ;定义8255 PA口ORG 11B0HSTART: MOV AL,90H ;定义PA输入,PB输出MOV DX,IOCONPT ;控制口OUT DX,AL ;写命令字NOP ;延时NOPNOPIOLED1: MOV DX,IOAPT ;PA口IN AL,DX ;读PA口MOV DX,IOBPT ;PB口OUT DX,AL ;写PB口MOV CX,0FFFFH ;延时DELAY: LOOP DELAYJMP IOLED1 ;循环CODE ENDSEND START实验二8255A并行口实验(二)一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。

二、实验内容用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。

三、实验接线图图6-4四、编程指南⑴通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯, 以模拟交通路灯的管理。

⑵要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口l、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。

延时一段时间后,l、3路口的绿灯熄灭,而l、3路口的黄灯开始闪烁,闪烁若干次以后,l、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到l、3路口方向,之后,重复上述过程。

⑶程序中设定好8255A的工作模式及三个端口均工作在方式0,并处于输出状态。

⑷各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。

五、实验程序框图六、实验步骤⒈在系统显示监控提示符“P.”时,按SCAL键。

⒉按图6-4连好实验线路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⒊在“P.”态时,输入11E0后,按EXEC键;系统显示执行符“┌”,同时Ll-Ll5发光二极管模拟交通灯显示。

七、实验程序清单CODE SEGMENT ;H8255-2.ASMASSUME CS:CODEIOCONPT EQU 0FF2BH ;8255控制口IOAPT EQU 0FF28H ;PA口IOBPT EQU 0FF29H ;PB口IOCPT EQU 0FF2AH ;PC口ORG 11e0HSTART: MOV AL,82H ;PB输入,PA,PC输出MOV DX,IOCONPTOUT DX,AL ;写命令字MOV DX,IOBPT ;读PB口IN AL,DXMOV BYTE PTR DS:[0601H],AL ;保存PB口数据MOV DX,IOCONPT ;8255控制口MOV AL,80HOUT DX,AL ;写命令字, PA,PB,PC输出MOV DX,IOBPT ;MOV AL,DS:[0601H]OR AL,0F0HOUT DX,ALMOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY1 ;延时IOLED0: MOV AL,10100101BMOV DX,IOCPTOUT DX,AL ;南北绿灯亮,东西红灯亮CALL DELAY1 ;延时CALL DELAY1 ;延时OR AL,0F0HOUT DX,AL ;南北绿灯灭MOV CX,8HIOLED1: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,10101111BOUT DX,AL ;南北黄灯亮CALL DELAY2 ;延时OR AL,01010000BOUT DX,AL ;南北黄灯灭CALL DELAY2 ;延时LOOP IOLED1 ;南北黄灯闪烁8次MOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY2 ;延时MOV AL,01011010BOUT DX,AL ;东西绿灯亮CALL DELAY1 ;延时CALL DELAY1OR AL,0F0HOUT DX,AL ;东西绿灯灭MOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0601H]AND AL,01011111BOUT DX,AL ;东西黄灯亮CALL DELAY2 ;延时OR AL,10100000BOUT DX,AL ;东西黄灯灭CALL DELAY2 ;延时LOOP IOLED2 ;东西黄灯闪烁8次MOV DX,IOCPTMOV AL,0F0HOUT DX,AL ;四路口红灯全亮CALL DELAY2JMP IOLED0 ;循环继续DELAY1: PUSH AXPUSH CXMOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETCODE ENDSEND START实验三定时器 / 计数器一、实验目的⒈学会8253芯片和微机接口的原理和方法。

⒉. 掌握8253定时器/计数器的工作方式和编程原理。

二、实验内容用8253的0通道工作在方式3,产生方波。

三、实验接线图图6-5四、编程指南⒈8253芯片介绍8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。

8253的功能用途:⑴延时中断⑸实时时钟⑵可编程频率发生器⑹数字单稳⑶事件计数器⑺复杂的电机控制器⑷二进制倍频器2,8253的六种工作方式:⑴方式0:计数结束中断⑷方式3:方波频率发生器⑵方式l:可编程频率发生⑸方式4:软件触发的选通信号⑶方式2:频率发生器⑹方式5:硬件触发的选通信号五、实验程序框图六、实验步骤⒈按图6-5连好实验线路⑴8253的GATE0接+5V。

⑵8253的CLK0插孔接分频器74LS393(左下方)的T2插孔,分频器的频率源为8.0MHZ,T→8.0MHZ。

⒉运行实验程序在系统提示符“P.”状态下,按SCAL键,输入1290,按EXEC键。

用示波器测量8253的OUT0输出插孔有方波产生。

七、实验程序清单CODE SEGMENT ;H8253.ASMASSUME CS: CODEORG 1290HSTART: JMP TCONTTCONTRO EQU 0043HTCON0 EQU 0040HTCONT: MOV DX,TCONTRO ;8253控制口MOV AL,36H ;命令字,计数器0,先低后高,方式3,HEXOUT DX,AL ;写命令字MOV DX,TCON0 ;T0口MOV AL,00H ;计数器低位值OUT DX,ALMOV AL,04H ;计数器高位值OUT DX,ALJMP $CODE ENDSEND START实验四8259单级中断控制器实验一、实验目的⒈掌握8259中断控制器的接口方法。

⒉掌握8259中断控制器的应用编程。

二、实验内容利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。

三、实验接线图图6-6四、编程指南⑴8259芯片介绍中断控制器8259A是专为控制优先级中断而设计的芯片。

它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。

因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。

即中断结构可以由用户编程来设定。

同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。

⑵本实验中使用3号中断源IR3,“”插孔和IR3相连,中断方式为边沿触发方式,每拨二次AN开关产生一次中断,满5次中断,显示“8259——good”。

如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。

五、实验程序框图IR3中断服务程序:IR7中断服务程序:六、实验步骤1、按图6-6连好实验线路图。

⑴8259的INT连8088的INTR;⑵8259的INTA连8088的INTA;⑶“”插孔和8259的3号中断IR3插孔相连,“”端初始为低电平;⑷8259的CS端接FF80H孔。

2、运行实验程序,在系统处于命令提示符“P.”状态下,按SCAL键,输入12D0,按EXEC键,系统显示8259-1。

3、拨动AN开关按钮,按满l0次显示good。

七、实验程序清单CODE SEGMENT ;H8259.ASMASSUME CS: CODEINTPORT1 EQU 0FF80HINTPORT2 EQU 0FF81HINTQ3 EQU INTREEUP3INTQ7 EQU INTREEUP7PA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 12D0HSTART: JMP START0BUF DB ?,?,?,?,?,?intcnt db ?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: CLD ;递加CALL BUF1 ;写显示缓冲初值CALL WRINTVER ;写中断向量MOV AL,13H ;写ICW1MOV DX,INTPORT1OUT DX,ALMOV AL,08H ;写ICW2MOV DX,INTPORT2OUT DX,ALMOV AL,09H ;写ICW4OUT DX,ALMOV AL,0F7H ;写OCW1OUT DX,ALMOV intcnt,01H ;中断计数初值STI ;开中断WATING: CALL DISP ;DISP 8259-1JMP WATING ;循环显示WRINTVER: MOV AX,0H ;写中断向量子程序MOV ES,AXMOV DI,002CH ;IR3中断向量地址LEA AX,INTQ3 ;IR3中断服务地址STOSW ;写中断服务地址偏移量MOV AX,0000h ;写中断服务段地址STOSWMOV DI,003CH ;IR7中断向量地址LEA AX,INTQ7 ;IR7中断服务地址STOSW ;写中断服务地址偏移量MOV AX,0000h ;写中断服务段地址STOSWRETINTREEUP3: CLI ;IR3中断服务push ax ;压栈保护现场push bxpush cxpush dxMOV AL,INTCNT ;CALL CONVERS ;拆送缓冲区MOV BX,OFFSET BUF ;077BHMOV AL,10HMOV CX,05HINTRE0: MOV [BX],AL ;高五位缓冲区送熄灭码INC BXLOOP INTRE0MOV AL,20H ;中断返回码MOV DX,INTPORT1OUT DX,ALADD INTCNT,01HCMP INTCNT,06HJNA INTRE2 ;中断次数小于5次继续CALL BUF2 ;中断次数结束DISP:good INTRE1: CALL DISPJMP INTRE1CONVERS: AND AL,0FH ;拆送缓冲区MOV BX,offset buf ;077AHMOV [BX+5],ALRETINTRE2: MOV AL,20HMOV DX,INTPORT1OUT DX,ALpop dxpop cxpop bxpop axSTIIRET ;中断返回INTREEUP7: CLI ;IR7中断服务MOV AL,20H ;中断返回码MOV DX,INTPORT1OUT DX,ALcall buf3 ;disp:errINTRE3: CALL DISP ;循环显示:ERRJMP INTRE3DISP: MOV AL,0FFH ;显示子程序 ,5msMOV DX,PAOUT DX,ALMOV CL,0DFH ;20HMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,08H ;写”8259-1”MOV BUF+1,02HMOV BUF+2,05HMOV BUF+3,09HMOV BUF+4,17HMOV BUF+5,01HRETBUF2: MOV BUF,09H ;写”good ”MOV BUF+1,00HMOV BUF+2,00HMOV BUF+3,0dHMOV BUF+4,10HMOV BUF+5,10HRETBUF3: MOV BUF,0eH ;写”err ”MOV BUF+1,18HMOV BUF+2,18HMOV BUF+3,10HMOV BUF+4,10HMOV BUF+5,10HRETCODE ENDSEND START实验五简单I/O口扩展实验一、实验目的1、学习微机系统中扩展简单I/O口的方法。

相关文档
最新文档