




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TEC-2实验计算机原理实验实验计算机原理实验 第一章第一章 TEC-2实验箱原理实验箱原理1.1 TEC-2机硬件系统的基本组成1TEC-2机硬件的基本组成机硬件的基本组成逻辑框图实物图水平板实物图垂直板实物图试验箱与计算机连接图2TEC-2机的简化逻辑框图机的简化逻辑框图 4片AM2901芯片组成,还包括由一片Gal20v8组成的状态寄存器,以及其它一些辅助电路 2片LS377组成16位的指令寄存器 2片2716 ROM芯片组成的微控存地址映射部件1片AM2910实现的微程序定序器 7片6116芯片(RAM存储器芯片,82048容量)与2片82048容量的2716 ROM芯片组成的控存 6
2、片LS374和1片LS273组成56位的微指令寄存器 4KW的ROM区(存放监控程序)和2KW的RAM区(存放用户程序及数据) 两片Intel8251芯片,1片MC1488和1片MC1489芯片(实现电平转换)和1片端口地址译码器74LS138芯片组成。 3TEC-2机的技术指标机的技术指标(1)TEC-2机的字长为16位,即运算器、主存、数据与地址总线均为16位;(2)TEC-2机的指令系统,基本指令系统支持类PC机的64条指令,其中53条指令已实现,尚留11条指令供实验者自己实现;(3)主存支持64K字,通常用字寻址方式,现安装了4kW的ROM,存放监控程序,2kW的RAM,存放用户程序及
3、数据;(4)运算器由4片4位的Am2901器件级联而成,一片Am2902实现高速进位;(5)控制器采用微程序方案实现,控存字长56位,可用最大容量1024个字,(6)TEC-2机主机上有两个串行接口,能直接与计算机终端或PC机(作为仿真终端)相连,在监控程序控制下完成TEC-2机操作;(7)作为TEC-2机的扩展部分,TEC-2机通过一条50芯扁平电缆,可以与一块由通用面包板组成的扩展实验板相连。在实验板上用户可以完成主存扩展、并行接口、实时钟、DMA接口、A/D或D/A转换接口等实验,能驱动打印机、软磁盘驱动器等外设的工作;此时TEC-2机支持7级中断;(8)TEC-2机主振通常用1.843
4、2MH(串行口所用的晶振频率)的分频脉冲给出,用户也可外接主振信号;(9)TEC-2机上安装有约26个钮子开关、3个按钮微动开关、16个发光二级管等,在不接入计算机终端与PC机的情况下,能在手动方式下完成全部的实验项目。1.2 TEC-2机的指令系统 (1)无操作数)无操作数无操作数指令共无操作数指令共11条。其格式如下条。其格式如下:NOP; 空操作PSHF; 状态字入栈POPF; 状态字出栈EI; 开中断,INTE1DI; 关中断,INTE0STC; 进位置1CLC; 进位清0RET; 子程序返回IRET; 中断返回LDMC; 装入微指令代码HALT; 动态停机指令(2)单操作数指令共12
5、条。 PUSH DR; 压入DR POP DR; 弹出DR INC DR; DRDR+1 DEC DR; DR DR-1 NOT DR; DR求反,DR/DR SHLDR;DR左移,最低位补0,最高位移入C。 ASRDR;DR算术右移,最高位不变,最低位移入C。 SHRDR;DR逻辑右移,最高位补0,最低位移入C。 RCLDR;DR与C循环左移,C入最低位,最高位移入C。 RCR DR;DR与C循环右移,C入最高位,最低位移入C。 MUL SR;无符号乘,R1SRR0R1,根据R1的值置状态位 DIV SR;无符号除,R0R1/SRR0(余数)R1(商),根据R1的值置状态位(3)双操作数指令
6、共17条。ADD DR,SR;DRDR+SRADC DR,SR;DRDR+SR+CSUB DR,SR;DRDRSRSBBDR,SR;DRDRSRCCMP DR,SR;DRSRAND DR,SR;DRDR and SRORDR,SR;DRDR or SRXOR DR,SR;DRDR xor SRTEST DR,SR;DR&SRMOV DR,SR;DRSRMOV DR,SR;DRSRMOV DR,SR;DRSRMOV DR,DATA; DRDATAMOV DR,ADR; DRADRMOV ADR,SR; ADRSRMOV DR,DATASR; DRDATA+SRMOV DATASR,DR;
7、 DATA+SRDR(4)I/O指令IN PORT; R0PORT,从外设读入一字节到R0低8位OUT PORT; PORT R0,把R0的低8位数据写到外设(5)转移指令相对转移指令: JR ADR;无条件相对转移到ADR,ADR为原PC值+位移量 JR CND,ADR;条件满足时相对转移到ADR,ADR为原PC值+位移量通过通用寄存器给出转移地址的转移指令。 JP SR;无条件转SR所指的地址 JP CND,SR;当条件满足时转SR所指的地址按绝对地址实现的转移指令 JP ADR;无条件转移到ADR地址; JP CND,ADR;当条件满足时转移到ADR。(6)子程序调用指令CALL SR;
8、调用SR指明的子程序,即SPSP-1、SPPC、PCSR。CALL ADR;调用通过ADR指明的子程序,即SPSP-1、SP PC、PCADR。第二章第二章 TEC-2实验计算机原理实验内容实验计算机原理实验内容实验一 TEC-2机运算器实验 实验内容与步骤:实验内容与步骤: 脱机方式脱机方式1、将TEC-2机功能开关FS4置为“1”2、将TEC-2机主脉冲置为单步方式,即STEP/CONT开关拨向STEP一边3、用D0+0R0将立即数D0置入寄存器R0波特率开关数据开关SW2(共12位,最末三位未用)SW1(共12位)MI876MI543MI210未用A口B口(R0)SCISSHD15-D0
9、011000111000000000000000AAAAH按上表设置各控制信号(MI8-MI0为垂直板元件V60 SW2,A口、B口、SCI、SSH为垂直板元件V61 SW1)按上表设置十六位数据开关(为:“AAAAH”,即“1010 1010 1010 1010”)按压一次STEP键后,立即数D0即置入寄存器R0中4、用D1+0R1将立即数D1置入寄存器R1波特率开关数据开关SW2(共12位,最末三位未用)SW1(共12位)MI876MI543MI210未用A口B口(R1)SCISSHD15-D00110001110000000000100005555H按上表设置各控制信号(MI8-MI0为
10、垂直板元件V60 SW2,A口、B口、SCI、SSH为垂直板元件V61 SW1)按上表设置十六位数据开关(为:“5555H”,即“0101 0101 0101 0101”)按压一次STEP键后,立即数D1即置入寄存器R1中5、对R0和R1进行各种算术、逻辑运算可参看下表,将开关S2 S1 S0置于“110”状态时,指示灯将显示ALU的运算结果将开关S2 S1 S0置于“000”状态时,指示灯将显示SVZC的状态(H25=S,H26=V,H27=Z,H28=C)MI876MI543MI210A口B口按压STEP键前按压STEP键后ALU输出SVZCALU输出SVZCR0+R1R001100000
11、100010000FFFFH00005554H1000R0+0R001100001100000000FFFFH1000FFFFH1000R0-R1R001100100100010000AAAAH10005555H1000R0+0R001100001100000000AAAAH1000AAAAH1000R0R1R001101100100010000FFFFH1000FFFFH1000R0+0R001100001100000000FFFFH1000FFFFH1000R0R1R0011100001000100005555H10005555H0000R0+0R001100001100000000555
12、5H00005555H0000联机方式联机方式1、启动TEC-2机,进入监控程序状态(具体方法见“附件:2、用“A”命令输入程序在命令行提示符状态下输入:A800屏幕将显示:0800:之后继续输入:MOV R0,AAAAMOV R1,5555ADD R0,R1SUB R0,R1OR R0,R1AND R0,R1RET3、用“G”命令运行程序在命令行提示符状态下输入:G800执行上面输入的程序4、用“R”命令观察运行结果及状态在命令行提示符状态下输入:R观察运行结果及状态屏幕将显示:R0 = 5555 R1 = 5555 . . PC = 0800 . . . F = 000001110800:
13、2C00MOVR0,AAAA5、用“T”或“P”命令单步执行,用“R”命令观看结果及状态在命令行提示符状态下输入:T或P重复执行第(四)步,观察运行结果及状态本次实验报告要求:本次实验报告要求: 1、实验步骤要写出在脱机方式下,如何设置运算器的功能、如何让运算器执行运算、如何观察运算结果。2、实验内容要求:画出AM2901、AM2902的串行和并行进位连接方式。说明各实验测试结果。实验三、实验三、TEC-2主存储器扩展实验主存储器扩展实验 一、实验目的:一、实验目的:学习主存储器系统设计、扩展等内容。学习主存储器系统设计、扩展等内容。了解主存工作过程中各信号之间时序关系。了解主存工作过程中各信
14、号之间时序关系。二、实验器材:二、实验器材:1、TEC-2机一台,终端显示器一台,内存扩展板一块。机一台,终端显示器一台,内存扩展板一块。2、接线工具一套,导线若干。、接线工具一套,导线若干。三、预习要求:三、预习要求:详细了解存储芯片详细了解存储芯片6116 2K8 RAM的操作方式,译码芯片的操作方式,译码芯片LS138及及TEC-2机内存的读机内存的读/写信号,看懂实验内容中的电路原理示意图和主写信号,看懂实验内容中的电路原理示意图和主存储器扩展实验原理图。存储器扩展实验原理图。四、主存储器扩展实验原理图四、主存储器扩展实验原理图五、接线图五、接线图主存储器扩展实验接线图GND/MMWA
15、B15AB13AB11AB9AB7AB5AB3AB1AB14AB12AB10AB8AB6AB4AB2AB0/MERQ A B C G2B/Y7 G2A G1138A10A9A8A7A6A5A4A3A2A1A0/Y0/Y1/Y2/Y3/Y4/Y5/Y66116611661166116/WE/OE/CS/WE/OE/CS/WE/OE/CS/WE/OE/CS接线接线(用直径(用直径0.2mm的单股导线)的单股导线)1、输出允许接地 6116芯片、右侧/OE均接地(扩展板左上方)2、接扩展板读、写信号 6116芯片、右侧/WE均接/MMW(扩展板左上方)3、接6116芯片地址总线 A0-A10(611
16、6芯片的左侧)接AB0-AB10(138芯片左侧)4、6116芯片片选接138译码器 6116芯片、右侧/CS均接/Y0(138芯片右侧) 6116芯片、右侧/CS均接/Y1(138芯片右侧)5、接138译码器输入 AB15接G1(138芯片左侧) AB14接G2B(138芯片左侧) AB13接C(138芯片左侧) AB12接B(138芯片左侧) AB11接A(138芯片左侧) /MERQ接G2A(138芯片左侧)6、内存扩展板与TEC-2主机相连 将TEC-2机50芯扁平电缆线与扩展板相连(注意:50芯扁平电缆线与扩展板方向不要接反,扁平电缆线红线边向上)六、启动六、启动TEC-2机,进入监
17、控程序状态机,进入监控程序状态1、从从8000H开始的内存单元实验开始的内存单元实验 用用“E”命令输入数据命令输入数据 在命令行提示符状态下输入:E8000 屏幕将显示:8000: 之后继续输入:(每个数值间用空格键分开,输入完毕用回车键) 0000 1111 2222 3333 4444 5555 6666 7777 8888 9999 用用“D”命令察看输入的数据命令察看输入的数据 在命令行提示符状态下输入:D8000 屏幕将显示: 8000 0000 1111 2222 3333 4444 5555 6666 7777 8008 8888 9999 . 观察内容是否正确观察内容是否正确
18、七、单步命令实验七、单步命令实验用用“E”命令输入数据命令输入数据在命令行提示符状态下输入:E8800屏幕将显示:8800:之后继续输入:(每个数值间用空格键分开,输入完毕用回车键) 0000 1111 2222 3333 4444 5555 6666 7777 8888 9999用用“D”命令察看输入的数据命令察看输入的数据在命令行提示符状态下输入:D8800屏幕将显示: 8800 0000 1111 2222 3333 4444 5555 6666 7777 8808 8888 9999 .观察内容是否正确观察内容是否正确2、从、从8800H开始的内存单元实验开始的内存单元实验1、从、从8
19、000H开始的内存单元实验开始的内存单元实验用用“A”命令输入程序命令输入程序在命令行提示符状态下输入:A800屏幕将显示:0800:之后继续输入:MOV R0,8000MOV R1,0000MOV R2,800MOV R0,R1INCR0INCR1DEC R2JPNZ,806RET用用“G”命令执行输入的程序命令执行输入的程序在命令行提示符状态下输入:G800用用“D”命令察看程序执行的结果命令察看程序执行的结果在命令行提示符状态下输入:D8000屏幕将显示:屏幕将显示:80000000 0001 0002 0003 0004 0005 0006 000780080008 0009 000A
20、 000B 000C 000D 000E 000F八、连续程序实验八、连续程序实验用用“A”命令输入程序命令输入程序在命令行提示符状态下输入:A800屏幕将显示:0800:之后继续输入:MOV R0,8800MOV R1,0000MOV R2,800MOV R0,R1INCR0INCR1DEC R2JPNZ,806RET用用“G”命令执行输入的程序命令执行输入的程序在命令行提示符状态下输入:G800用用“D”命令察看程序执行的结果命令察看程序执行的结果在命令行提示符状态下输入:D8800屏幕将显示:屏幕将显示:88000000 0001 0002 0003 0004 0005 0006 000
21、788080008 0009 000A 000B 000C 000D 000E 000F2、从、从8800H开始的内存单元实验开始的内存单元实验九、本次实验报告要求:九、本次实验报告要求:1、实验原理图的地址范围2、设有4K的用户存储区,其地址范围为:A000HA7FFH,B000HB7FFH。有如下程序:MOVR0,A000MOVR1,A000MOVR2,0800LOOP:MOV R0,R1INCR0INCR1 DECR2JRNZ,LOOPRET问: 程序要求存入内存0A7F7H起始的单元中,应对该程序段进行哪些改动才能存储程序并使之运行?如用实验实施如何改动连线? 如果程序存入内存0A00
22、0H起始的单元中,程序能正常运行结束吗?为什么? 用“E”命令对未扩展的内存区域写入数据或用“D”命令观察写入结果会出现什么情况? 用“E”命令对已扩展的内存区域写入数据0000 1111 2222 3333 4444 5555 6666 7777 8888 9999 AAAA BBBB CCCC DDDD EEEE FFFF随后用“D”命令显示00FF 11FF 22FF 33FF 44FF 55FF 66FF 77FF 88FF 99FF AAFF BBFF CCFF DDFF EEFF FFFF请分析出现故障的原因。实验四实验四 TEC-2机输入机输入/输出接口实验输出接口实验 一、实验
23、目的:1、学习TEC-2并行口的正确设置与应用。2、学习TEC-2机的I/O扩展技术。二、实验设备与器材1、TEC-2机,PC机 1台,通讯电缆一条。2、实验电路板一块,板上有INTEL8255芯片一块及辅助电路。3、工具、导线等。三、实验内容三、实验内容并行接口实验原理图并行接口实验原理图 并行接口实验接线图并行接口实验接线图 连接电路 简单的输入输出I/O实验MOVR0,8A;设置8255A的控制字OUT87;输出到控制端口,初始化8255AIN85;读B口数据OUT84;输出到A口CALL009B;输出到终端CALL009BCALL009BCALL09FFRET运行程序首先将扩展实验板八
24、位数据开关输入置为0010 0001,执行程序G800屏幕应显示:!将扩展实验板八位数据开关输入置为0010 0011,执行程序G800屏幕应显示:#(3)趣味实验:闪烁的灯)趣味实验:闪烁的灯主程序0B00:MOVR0,8A ;设置8255A的控制字OUT87;输出到控制端口,初始化8255A0B03:IN85;读B口数据MOVR2,0003ANDR0,R2MOVR1,0001MOVR2,,0002MOVR3,0003SUBR1,R0JPZ,0C00SUBR2,R0JPZ,0D00SUBR3,R0JPZ,0E00MOVR0,21CALL9BCALL9BCALL9BRET子程序10C00:MO
25、VR0,F0F0MOVR8,400C04:OUT84NOTR0CALL09FFDECR8JPNZ,0C04RET子程序20D00:MOVR8,400D02:MOVR2,0008MOVR0,00010D06:OUT84RCLR0CALL09FFDECR2JPNZ,0D06DECR8JPNZ,0D02RET子程序30E00:MOVR8,400E02:MOVR0,AAAAMOVR2,00020E06:OUT84ASRR0CALL09FFDECR2JPNZ,0E06DECR8JPNZ,0E02RET延迟子程序:09FF:MOVR1,9FFF 0A01:DECR1 JPNZ,0A01RET 注意:分别设
26、置数据开关的低两位为11、10、01、00,观察显示灯的变化。同学们要认真阅读以上程序,弄懂工作原理。有兴趣的同学可以对以上程序进行修改,设计出更多的显示灯的变化形式 (4)中断方式输入)中断方式输入/输出实验输出实验 0850: MOV R0,8AOUT87IN85MOVR9,600856: OUT84CALL009BCALL009BCALL009BCALL09FFEIINC R0DECR9JPNZ,0856RET输入中断服务程序 A8880888: PUSH R0IN85OUT84CALL009BCALL009BCALL009BCALL09FFPOPR0EIIRET延时子程序 A9FF09
27、FF:MOVR1,9FFF0A01:DECR1JPNZ,0A01RET 输入中断向量:用E命令将内存单元0FD00FD7写入中断服务程序的入口地址0888H。思考:为何均要写入0888EFD00FD0:0888 0888 0888 0888 0888 0888 0888 0888用D命令查看0FD00FD7是否为0888运行主程序G850屏幕将显示:!#.压下微动开关,用微动开关压下形成的中断申请启动中断服务程序,使屏幕显示:!.(在扩展实验板八位数据开关输入置为0010 0001时的显示情形)抬起微动开关,撤去中断,屏幕将返回主程序显示状态思考题: 在简单的输入输出I/O实验中,将扩展实验板
28、上的8位数据开关输入置为01000010时,终端上显示什么字符?若要在终端上显示“D”,应将扩展实验板上的8位数据开关输入置为何值?若要在终端上显示“0”呢? 在闪烁的灯的实验中,如何变换灯的闪烁的形式?如何调整闪烁延迟的时间 并行接口芯片并行接口芯片8255AA组控制数据总线缓冲器读/写控制逻辑B组控制A组A口(8位)A组C口高位(4位)B组C口低位(4位)B组B口(8位)D0D7CSWRA1A0RESETRDPA0PA7PC4PC7PC0PC3PB0PB78255A内部框图 数据总线缓冲器。数据总线缓冲器。这是一个三态双向这是一个三态双向8 8位缓冲器,它是位缓冲器,它是8255A8255
29、A与与CPUCPU系统数据总线的接口。系统数据总线的接口。 读读/ /写控制逻辑。写控制逻辑。读读/ /写控制逻辑由读信号写控制逻辑由读信号RDRD、写信号、写信号WRWR、选片信号选片信号CSCS以及端口选择信号以及端口选择信号A1A0A1A0等组成。等组成。 输入输入/ /输出端口输出端口A A、B B、C C。8255A8255A包括包括3 3个个8 8位输入输出端位输入输出端口(口(portport)。每个端口都有一个数据输入寄存器和一个数)。每个端口都有一个数据输入寄存器和一个数据输出寄存器。据输出寄存器。 A A组和组和B B组控制电路。组控制电路。控制控制A A、B B和和C C
30、三个端口的工作方式。三个端口的工作方式。12345678910111213141516171819204039383736353433323130292827262524232221PA4PA5PA6PA7PB6PB5PB4PB3PB7D1D2D3D4D0D5D6D7VCCRESETWRRDCSPA3PA2PA1PA0GNDA1A0PC7PC6PC4PC0PC1PC2PC5PB0PB1PB2PC38255A二二.8255A的外部引线的外部引线与系统总线的连接信号与系统总线的连接信号面向数据总线的有:面向数据总线的有: D0D7:双向数据线,用于:双向数据线,用于CPU向向8255A发送命令、数
31、据和发送命令、数据和8255A向向CPU回送状态、数据和回送状态、数据和8255A向向CPU回送状态、数据。回送状态、数据。面向地址总线的有:面向地址总线的有:A0、A1、CSRD:读信号,低电平有效。:读信号,低电平有效。WR:写信号,低电平有效。:写信号,低电平有效。RESET:复位信号,高电平有效。它清除控制寄存器并将:复位信号,高电平有效。它清除控制寄存器并将8255A的的A、B、C三个端口均置为输入方式;输入寄存器和状态寄存器被复位,并三个端口均置为输入方式;输入寄存器和状态寄存器被复位,并且屏蔽中断请求;且屏蔽中断请求;24条面向外设信号线呈现高阻悬浮状态。条面向外设信号线呈现高阻
32、悬浮状态。与外部设备的连接信号与外部设备的连接信号 PA0PA7:端口:端口A的输入的输入/输出线。输出线。 PB0PB7:端口:端口B的输入的输入/输出线。输出线。 PC0PC7:端口:端口C的输入的输入/输出线。输出线。 这这24根信号线均可用来连接根信号线均可用来连接I/O设备和传送信息。其中,设备和传送信息。其中,A口和口和B口只作输口只作输入入/输出的数据口用,尽管有时也利用它们从输出的数据口用,尽管有时也利用它们从I/O设备读取一些状态信号,如打设备读取一些状态信号,如打印机的印机的“忙忙”(Busy)状态信号、)状态信号、A/D转换器的转换器的“转换结束转换结束”(EOC)状态)
33、状态信号,但对信号,但对A口和口和B口来说,都是作口来说,都是作8255A的数据口读入,而不是作的数据口读入,而不是作8255A的的状态口读入的。状态口读入的。三、三、8255A基本操作与端口地址基本操作与端口地址CS A1A0RDWR读操作读操作内容内容实验平台实验平台00001PA口口数据总线(数据总线( CPU)数据数据84H00101PB口口数据总线(数据总线( CPU)数据数据85H01001PC口口数据总线(数据总线( CPU)数据数据86H写操作写操作00010PA口口 数据总线(数据总线( CPU)数据数据84H00110PB口口数据总线(数据总线( CPU)数据数据85H01
34、010PC口口数据总线(数据总线( CPU)数据数据86H01110控制寄存器控制寄存器数据总线数据总线控制字控制字87H无操作情况无操作情况1总线悬浮(三态)总线悬浮(三态)011总线悬浮总线悬浮01101控制口不能读控制口不能读87H四、四、8255A的控制字的控制字 (1)方式选择控制字 8255A共有三种基本工作方式,它们是:共有三种基本工作方式,它们是:方式方式0:基本的输入:基本的输入/输出方式。输出方式。方式方式1:选通输入:选通输入/输出方式(应答方式)。输出方式(应答方式)。方式方式2:双向传输方式。:双向传输方式。这里只介绍这里只介绍8255A的方式的方式0。例:在例:在T
35、EC-2机中机中8255A的端口的端口A地址为地址为84H、端口、端口B地址为地址为85H、端口、端口C地址为地址为86H、控制端口地址为、控制端口地址为87H,现要求将其三个数据端口设置为方式,现要求将其三个数据端口设置为方式0基本的输入输基本的输入输出方式,其中端口出方式,其中端口A和端口和端口C的低的低4位为输出,端口位为输出,端口B和端口和端口C的高的高4位为输入。由图位为输入。由图3.11.2可知,该可知,该8255A的方式选择控制字应为的方式选择控制字应为8AH。其初始化程序如下:。其初始化程序如下:MOV R0,8AOUT 87IN 85;端口;端口B的数据送到的数据送到R0OU
36、T 84;R0的数据送到端口的数据送到端口A8255A与与CPU的连接的连接 8255A和和CPU连接时,数据线和控制线一般直接和系统总线的相应信号相连,连接时,数据线和控制线一般直接和系统总线的相应信号相连,片选信号和地址译码器的输出相连,端口选择信号片选信号和地址译码器的输出相连,端口选择信号A1、A0和地址总线的和地址总线的A1、A0直接相连,三个端口的数据线和外设的数据线直接相连。在实验中,直接相连,三个端口的数据线和外设的数据线直接相连。在实验中,TEC-2与与8255A的一般的连接方式如图的一般的连接方式如图3.11.3所示。所示。地址译码AB7AB2 一、实验目的一、实验目的:1
37、 1、加深理解计算机系统中断的工作原理及处理过程。、加深理解计算机系统中断的工作原理及处理过程。2 2、了解优先权中断控制电路、了解优先权中断控制电路INTEL8214INTEL8214、输入输出接口电路、输入输出接口电路INTEL8212INTEL8212的工作的工作原理。原理。3 3、掌握中断服务子程序的编写要点,进行一次硬、软件的综合调试。、掌握中断服务子程序的编写要点,进行一次硬、软件的综合调试。二、实验设备及器材:二、实验设备及器材:1 1、TEC-2TEC-2机一台,终端显示器一台。机一台,终端显示器一台。2 2、中断接口实验板一块,板上有、中断接口实验板一块,板上有INTEL82
38、14INTEL8214、INTEL8212INTEL8212、74LS0074LS00及电阻,及电阻,8 8个按钮开关。个按钮开关。3 3、接线工具一套,导线若干。、接线工具一套,导线若干。三、实验预习要求:三、实验预习要求:1 1、掌握、掌握INTEL8214INTEL8214,INTEL8212INTEL8212器件的工作原理。器件的工作原理。2 2、理解中断控制电路,读懂中断控制电路与、理解中断控制电路,读懂中断控制电路与TEC-2TEC-2的连接原理图。的连接原理图。3 3、复习、复习TEC-2TEC-2机中断处理过程的微程序。机中断处理过程的微程序。4 4、阅读实验的主程序及各级中断
39、服务子程序。、阅读实验的主程序及各级中断服务子程序。5 5、拟订实验步骤、测试手段、排除电路故障的办法及调试方法。、拟订实验步骤、测试手段、排除电路故障的办法及调试方法。实验六实验六 TEC-2机系统多级中断实验机系统多级中断实验四、实验内容:四、实验内容:1 1、利用、利用TEC-2TEC-2机与中断接口实验板,连接一个有三级中断源,可实现中断嵌套机与中断接口实验板,连接一个有三级中断源,可实现中断嵌套的中断服务系统。多级中断实验原理电路如图所示。的中断服务系统。多级中断实验原理电路如图所示。2 2、主程序在终端上重复显示、主程序在终端上重复显示“M”M”字母,最高级中断响应程序显示字母,最
40、高级中断响应程序显示“7”7”,次高,次高级中断响应程序显示级中断响应程序显示“6”6”,最低级中断响应显示,最低级中断响应显示“5”5”。五、实验步骤:五、实验步骤:1 1、检查本次实验所需实验设备是否齐全、完好。、检查本次实验所需实验设备是否齐全、完好。2 2、实验前开机检查连有终端的、实验前开机检查连有终端的TEC-2TEC-2机运行是否正常。如不正常,将电源关掉。机运行是否正常。如不正常,将电源关掉。3 3、按实验内容实现三级中断嵌套的要求,在中断接口实验板上连接相关的信、按实验内容实现三级中断嵌套的要求,在中断接口实验板上连接相关的信号,实验电路接线如图所示。检查无误后,用扁平电缆将
41、主机与中断接口板连接号,实验电路接线如图所示。检查无误后,用扁平电缆将主机与中断接口板连接起来。起来。4 4、启动、启动TEC-2TEC-2机,进入监控程序状态。观察机,进入监控程序状态。观察TEC-2TEC-2机是否正常,若不正常则立机是否正常,若不正常则立即关掉电源,重新检查线路,直至正常启动为止。即关掉电源,重新检查线路,直至正常启动为止。5 5、在监控程序状态下,输入主程序、中断服务子程序、中断向量。、在监控程序状态下,输入主程序、中断服务子程序、中断向量。6 6、执行过程:、执行过程: 运行主程序等待中断的产生;运行主程序等待中断的产生; 按下按钮开关申请按下按钮开关申请IRQ5IR
42、Q5、IRQ6IRQ6、IRQ7IRQ7; 观察执行结果是否满足实验要求,并作记录。观察执行结果是否满足实验要求,并作记录。六、实验原理及说明:六、实验原理及说明: 1 1、八位输入输出接口电路、八位输入输出接口电路INTEL8212INTEL8212INTEL8212内部电路内部电路它由以下几个部分组成:它由以下几个部分组成: 数据锁存器数据锁存器数据锁存器由数据锁存器由8 8个个D D触发器组成,从触发器组成,从DI0DI0到到DI7DI7输入的数据被分别锁存在对应的输入的数据被分别锁存在对应的D D触触发器中,由发器中,由Q Q端输出,锁存的时间由脉冲信号端输出,锁存的时间由脉冲信号WR
43、WR决定。决定。/CLR/CLR信号同时对信号同时对8 8个触发器清个触发器清零。零。 输出缓冲器输出缓冲器输出缓冲器由输出缓冲器由8 8个三态门组成,当控制信号个三态门组成,当控制信号EN=0EN=0时,三态门输出高阻态。当时,三态门输出高阻态。当EN=1EN=1时缓冲器开启,锁存器的内容输出。时缓冲器开启,锁存器的内容输出。 接口控制逻辑电路接口控制逻辑电路82128212芯片有两种工作方式,由芯片有两种工作方式,由MDMD信号进行选择,信号进行选择,MD=1MD=1为输出方式,为输出方式,MD=0MD=0为输入方式。为输入方式。 在在输入方式输入方式下,外设数据准备下,外设数据准备好之后
44、向好之后向82128212发出一高电平信发出一高电平信号作为号作为STBSTB,从而将,从而将DI1DI1DI8DI8上的数据锁存在上的数据锁存在8 8个个D D锁存器中,锁存器中,CPUCPU通过设备选择通过设备选择 /DS1/DS1 ,DS2,DS2控制逻辑允许数据进入数据线控制逻辑允许数据进入数据线DO1DO1DO8DO8。此时,。此时,82128212的的DI1DI1DI8DI8接外设,数据线接外设,数据线DO1DO1DO8DO8接接CPUCPU的数据总线,的数据总线,如图所示。如图所示。 82128212芯片工作在芯片工作在输出方式输出方式下,下,MD=1MD=1,CPUCPU通过设
45、备选择通过设备选择/DS1/DS1 和和DS2DS2控制逻辑将数据锁存在控制逻辑将数据锁存在8 8个个D D锁存器中,三态缓冲器总是开锁存器中,三态缓冲器总是开启的,因而启的,因而CPUCPU提供的数据可立提供的数据可立即提供给外设使用。此工作方即提供给外设使用。此工作方式下,式下,82128212的的DI1DI1DI8DI8接接CPUCPU的的数据总线,而数据总线,而DO1DO1DO8DO8接外设,接外设,如图所示。如图所示。 2 2、八级优先权控制电路、八级优先权控制电路INTEL8214INTEL821482148214是一个八级优先权中断控制单元,它的原理及引脚如图所示。是一个八级优先
46、权中断控制单元,它的原理及引脚如图所示。 中断请求锁存器及优先权编码器中断请求锁存器及优先权编码器中断请求锁存器用于锁存中断请求信号中断请求锁存器用于锁存中断请求信号/R/R0 0/R/R7 7,/LC/LC是锁存器的控制信是锁存器的控制信号。当禁止中断触发器置号。当禁止中断触发器置“1”1”时,时,/LC/LC为为1 1,锁存器被关闭,禁止中断请,锁存器被关闭,禁止中断请求锁存。当禁止中断触发器置求锁存。当禁止中断触发器置“0”0”时,时,/LC/LC为为0 0,锁存器开放,中断请求,锁存器开放,中断请求信号被锁入锁存器。信号被锁入锁存器。LSLS是锁存器的状态信号,当锁存器记录了中断请求信
47、号时,是锁存器的状态信号,当锁存器记录了中断请求信号时,LS=1LS=1。优先编码器用于对中断请求进行排队。它有八个中断申请输入端优先编码器用于对中断请求进行排队。它有八个中断申请输入端/R/R0 0/R/R7 7,低电平表示有申请,低电平表示有申请,/R/R7 7优先权最高,优先权最高,/R/R0 0优先权最低。编码器优先权最低。编码器可以把每一个请求输入,编为三位二进制数的相应优先权等级编码,可以把每一个请求输入,编为三位二进制数的相应优先权等级编码,从高到底为从高到底为000000到到111111。当有两个以上申请同时输入时,编码器输出最。当有两个以上申请同时输入时,编码器输出最高优先级
48、别的编码。输出的优先级编码高优先级别的编码。输出的优先级编码A A2 2A Al lA A0 0一方面送到优先权比较器;一方面送到优先权比较器;另一方面经另一方面经OCOC门输出。当启动现行状态门输出。当启动现行状态/ECS/ECS信号到来时,禁止中断触信号到来时,禁止中断触发器置发器置“0”0”,使现行状态寄存器使能。,使现行状态寄存器使能。 现行状态寄存器现行状态寄存器用四位锁存器,寄存现行中断源的优先级别,以便确定再次到来的新中用四位锁存器,寄存现行中断源的优先级别,以便确定再次到来的新中断源优先级是否高于现在正在处理的中断申请。可由断源优先级是否高于现在正在处理的中断申请。可由CPUC
49、PU输出指令,把现输出指令,把现行状态的优先权编码输至这个寄存器。行状态的优先权编码输至这个寄存器。B2BlB0B2BlB0即为现行状态优先权编码。即为现行状态优先权编码。它送至比较器与新来的中断申请优先权进行比较,若它送至比较器与新来的中断申请优先权进行比较,若ABAB,则比较器为高,则比较器为高,它可以使中断触发器它可以使中断触发器INTF/FINTF/F置置“1”1”(在时钟(在时钟/CLK/CLK同步下),经反向送至同步下),经反向送至CPUCPU的的/INT/INT输入端,请求新的中断。若输入端,请求新的中断。若ABABAB的作用,只要的作用,只要/R0/R7/R0/R7中任何一个有
50、申请,就可以使中任何一个有申请,就可以使INTF/FINTF/F为为1 1向向CPUCPU发出中断申请。故发出中断申请。故CPUCPU在未进行中断处理时,应使在未进行中断处理时,应使/SGS/SGS有效。有效。由于输至现行状态寄存器的是现行状态优先权编码的反码。由于输至现行状态寄存器的是现行状态优先权编码的反码。/ELR/ELR,ETLGETLG,ENLGENLG这三个信号是用在多片这三个信号是用在多片82148214级连,以扩大中断请求级别。如果只用一级连,以扩大中断请求级别。如果只用一片片82148214,则,则/ELR/ELR为为“0”0”,ETLGETLG为为“1”1”,ENLGENL
51、G悬空。悬空。 开中断前,主程序必须使现行状态寄存器为全开中断前,主程序必须使现行状态寄存器为全“1”1”且且/SGS/SGS也为也为“1”1”,准备接收准备接收8 8个中断源中任何一个中断请求。个中断源中任何一个中断请求。 由于由于CPUCPU不能读出不能读出82148214现行状态寄存器的内容,故必须把现行优先权的现行状态寄存器的内容,故必须把现行优先权的副本存入副本存入RAMRAM中,或某一寄存器中以便恢复旧优先权时使用。中,或某一寄存器中以便恢复旧优先权时使用。 在重新开放中断之前,每个中断服务程序必须把旧的优先权压入堆栈在重新开放中断之前,每个中断服务程序必须把旧的优先权压入堆栈保护
52、,且把新的优先权送入保护,且把新的优先权送入82148214现行状态寄存器中,回到主程序前要恢复现行状态寄存器中,回到主程序前要恢复以前的优先权。以前的优先权。 所有中断级是实际值的反码。所有中断级是实际值的反码。 8214 8214不能锁存中断请求不能锁存中断请求( (包括包括/INT/INT、/A2/A2、/A1/A1、/A0)/A0),通常用,通常用82128212来锁来锁存。存。使用使用8214要注意以下几点:要注意以下几点:七、实验程序:七、实验程序:中断服务程序流程图 主程序主程序 :08000800:MOVMOVR0R0,000F000F;/B0/B1/B2=111/B0/B1/
53、B2=111、/SCS=1/SCS=1OUTOUT 8484;82148214现行状态寄存器端口为现行状态寄存器端口为84H84HMOVMOV R3R3,R0R0 ;用;用R3R3保留状态副本保留状态副本08040804: MOVMOVR2R2,000F000F;显示;显示1515个个“M”M”,常数,常数1515送送R2R2MOVMOV R0R0,004D004D;“M”M”的的ASCIIASCII码码EIEI;开中断;开中断08090809:CALLCALL009B009B;调显示字符子程序;调显示字符子程序CALLCALL09FF09FF;调延时子程序;调延时子程序DECDEC R2R2
54、JPJPNZNZ,08090809;显示;显示1515个个“M”M”MOVMOV R0R0,000D000D;回车;回车ASCIIASCII码码CALLCALL009B009B;CALLCALL09FF09FF;调延时子程序;调延时子程序MOVMOV R0R0,000A000A;换行;换行ASCIIASCII码码CALLCALL009B009BCALLCALL09FF09FF;调延时子程序;调延时子程序JPJP08040804;重复显示;重复显示“M”M”延时子程序延时子程序09FF09FF:MOV R1MOV R1,9FFF9FFF0A010A01:DEC R1DEC R1 JP NZ JP
55、 NZ,0A010A01 RET RET最高级中断处理程序最高级中断处理程序08880888:PUSHPUSHR0R0PUSHPUSH RlRlPUSHPUSH R2R2PUSHPUSH R3R3;以上四条保护现场;以上四条保护现场MOVMOV R0R0,00000000;最高级优先权代码;最高级优先权代码OUTOUT 8484;装入本级优先权代码;装入本级优先权代码MOVMOV R0R0,00280028;“(”的的ASCIIASCII码码CALLCALL 009B009B;调显示子程序;调显示子程序CALLCALL 09FF09FF;调延时子程序;调延时子程序MOVMOV R2R2,000
56、F000FMOVMOV R0R0,00370037;“7”7”的的ASCIIASCII码码08990899:CALLCALL009B009BCALLCALL 09FF09FFDECDEC R2R2JPJPNZNZ,08990899;显示;显示1515个个“7”7”MOVMOV R0R0,00290029;“)”的的ASCllASCll码码CALLCALL 009B 009B CALLCALL 09FF09FFPOPPOP R3 R3 MOV MOVR0R0,R3 R3 OUTOUT 8484;回送前级的中断优先级;回送前级的中断优先级POPPOP R2 R2 POPPOP R1 R1 POPP
57、OP R0R0;恢复现场;恢复现场EIEI;开中断;开中断IRETIRET;从中断返回;从中断返回次高级中断处理程序次高级中断处理程序08DD08DD: PUSHPUSHR0 R0 PUSHPUSH R1 R1 PUSHPUSH R2R2PUSHPUSH R3R3;保护现场;保护现场MOVMOVR0R0,0001 0001 OUTOUT8484;装入本级优先权代码;装入本级优先权代码MOVMOVR3R3,R0R0;保留本级优先权代码;保留本级优先权代码EIEI;开中断;开中断MOVMOVR0R0,005B005B ;显示;显示“”CALLCALL 009B009BCALLCALL 09FF 0
58、9FF MOVMOVR2R2,000F000FMOVMOVR0R0,00360036 ;“6 ”6 ”的的ASCIIASCII码码08F008F0:CALLCALL009B 009B CALLCALL09FF 09FF DECDECR2 R2 JPJPNZNZ,08F008F0 ;显示;显示1515个个“6”6”MOVMOVR0R0,005D005D ;“”的的ASCIIASCII码码CALLCALL 009B 009B CALLCALL 09FF 09FF DIDI;关中断;关中断POPPOPR3 R3 MOVMOVR0R0,R3 R3 OUTOUT8484;恢复前级的优先级;恢复前级的优先
59、级POPPOPR2 R2 POPPOPRlRlPOPPOPR0R0 EI EI ;开中断;开中断IRETIRET;从中断返回;从中断返回最低级中断处理程序最低级中断处理程序09880988: PUSHPUSHR0R0PUSHPUSH RlRlPUSHPUSH R2R2PUSHPUSH R3R3MOVMOVR0R0,00020002OUTOUT8484MOVMOVR3R3,R0R0EIEIMOVMOVR0R0,007B007B ;“”的的ASIIASII码码CALLCALL 009B009BCALLCALL 09FF09FFMOVMOVR2R2,000F000FMOVMOVR0R0,003500
60、35 ;“5”5”的的ASCIIASCII码码099B099B: CALLCALL009B009BCALLCALL 09FF09FFDECDECR2R2JPJPNZNZ,099B099BMOVMOVR0R0,007D007D ;“”的的ASCIIASCII码码CALLCALL 009B009BCALLCALL 09FF09FFDIDI;关中断;关中断POP POP R3R3MOV MOV R0R0,R3R3OUTOUT84 84 ;恢复前级优先权代码;恢复前级优先权代码POPPOPR2R2POPPOPR1R1POPPOPR0R0;恢复现场;恢复现场EIEI;开中断;开中断IRETIRET ;从中断返回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论