664524466微型计算机原理实验指导书.doc

上传人:土8路 文档编号:10371995 上传时间:2021-05-12 格式:DOC 页数:70 大小:4.18MB
返回 下载 相关 举报
664524466微型计算机原理实验指导书.doc_第1页
第1页 / 共70页
664524466微型计算机原理实验指导书.doc_第2页
第2页 / 共70页
664524466微型计算机原理实验指导书.doc_第3页
第3页 / 共70页
664524466微型计算机原理实验指导书.doc_第4页
第4页 / 共70页
664524466微型计算机原理实验指导书.doc_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《664524466微型计算机原理实验指导书.doc》由会员分享,可在线阅读,更多相关《664524466微型计算机原理实验指导书.doc(70页珍藏版)》请在三一文库上搜索。

1、微型计算机原理 实验指导书杨鹏 陈玲玲 张雪萍 编写河北工业大学 自动化系二零零六年八月目 录实验一 简单程序调试(1)1实验二 简单程序调试(2)4实验三 汇编程序设计及调试(1)6实验四 汇编程序设计及调试(2)12实验五 32位微机接口技术实验17实验六 8254定时/计数器应用实验23实验七 并行接口8255 34附录1 TD-PIT+实验系统的硬件环境44附录2 Tddebug集成操作软件56实验一 简单程序调试(1)一 实验目的:1. 熟悉8086常用指令;2. 掌握Tddebug集成操作软件的操作指令。二 实验内容:1. 在Tddebug集成操作软件环境下输入下列程序片段,用Tr

2、ace命令单步执行并记录结果。程序片段 运行结果1) DATASEGMENTDATAENDSCODESEGMENTASSUME CS: CODE, DS: DATASTART:MOV AX, 2000HMOV DS, AXDS=MOV DX, 0100HMOV SI, 0000HMOV BYTE PTRSI+0100H, 0AAHDS: 0100=MOV AL, SI+0100HAL=MOV BX, 0100HMOV WORD PTRSI+BX, 1234HMOV AX, SI+BX+0HAX=INT 20HCODEENDSEND START2)DATASEGMENTDATAENDSCODES

3、EGMENTASSUME CS: CODE, DS: DATASTART: MOV AL, 0FFHMOV AH, 00HAX=XCHG AL, AHAX=MOV AL, 07HMOV AH, 00HMOV BL, 08HADD AL, BLAH= AL=AAAAH= AL=MOV AX, 0FFFFHMOV BX, 8080HSUB AX, BXAX=MOV AX, 0FFFFHMOV BX, 0FFFFHMUL BXDX= AX=MOV AX, 1000HMOV DX, 2000HMOV CX, 4000HDIV CXDX= AX=INT 20HCODEENDSEND START2. 自编

4、程序段实现两个两字节无符号数相加。要求:已将1234H和5678H分别放在DATA1和DATA2开始的存储单元中,低位在前,高位在后,计算1234H+5678H,运算结果放在DATA1开始的单元。用Trace命令单步执行,并查看有关存储单元。DATASEGMENTDATA1DB 34H, 12HDATA2DB 78H, 56HDATAENDSCODESEGMENTASSUME CS: CODE, DS: DATASTART:MOV AX, DATAMOV DS, AX在此处输入自编的程序HLTCODE ENDSEND START三 选修实验在Tddebug集成操作软件环境下输入下列带符号数乘法

5、程序片段,单步执行并记录结果。程序片段 运行结果CODESEGMENTASSUME CS: CODESTART:MOV AX, 04E8HMOV BX, 4E20HIMUL BXDX= AX=MOV AX, 8100HMOV BX, 0050HIMUL BXDX= AX=INT 20HCODEENDSEND START实验二 简单程序调试(2)一 实验目的:1. 熟悉8086常用指令;2. 掌握Tddebug集成操作软件操作指令。二 实验内容:1. 在Tddebug集成操作软件环境下输入下列程序片段,用Trace命令单步执行,单步执行并记录结果。程序片段 运行结果1) CODESEGMENTA

6、SSUME CS: CODESTART:MOVAL, 09HORAL, 30HAL=ANDAL, 0FHAL=INT20HCODE ENDSEND START2) CODESEGMENTASSUME CS: CODESTART:MOVAX, 0001HSHLAX, 1AX=MOVBX, AXSHLAX, 1AX=SHLAX, 1AX=ADDAX, BXAX=INT20HCODEENDSEND START3) CODESEGMENTASSUME CS: CODESTART:MOVAX, 1024HSHRAX, 1AX=XCHGAL, AHAX=CBWAX=INT20HCODE ENDSEND S

7、TART4) 将两个无符号八位数分别存放在2000H和2001H单元中,比较它们的大小,大者存入2002H单元。CODESEGMENTASSUME CS: CODESTART:MOVSI, 2000HMOVAL, SIDS:2000=INCSIDS:2001=CMPAL, SIJNCNEXTMOVAL, SINEXT:INCSIMOVSI, ALDS:2002=INT20CODEENDSEND START2. 自编程序段,在Tddebug集成操作软件环境下运行1) 将3FH拆成03H和0FH分别存入BH和BL寄存器。2) 要求:用Trace命令单步执行。3) 将2000H单元开始的20个字节移

8、至3000H开始的单元。4) 要求:向2000H开始的20个单元写数,用Trace命令单步执行,检查3000H开始的单元内容。5) 从2000H单元开始存放的20个八位数据中找出最大者存入3000H单元。注:在1(4)、2(2)和2(3)三题中,均遇到向某单元写数的问题。本实验的解决方法为:在Tddebug主菜单中执行Rmrun 菜单中的Debug,就进入了实模式调试窗口。当焦点区域在数据显示区中时,利用Ctrl + G指定需要显示的代码区域首地址,然后修改光标当前指示存储单元的内容,即输入所需的数。实验三 汇编程序设计及调试(1)一 实验目的:1. 进一步熟悉8086指令,掌握编程方法;2.

9、 熟悉利用Tddebug集成操作软件编辑,编译,链接,调试和运行8086汇编语言程序的过程。二 实验内容:1. 根据框图读懂下面程序(多字节十进制数相加且显示),上机打开程序A.asm进行编辑,编译,链接,调试。 加法子程序开始DX SI ,BP DI将ASCII码表示的数转为十六进制数SI DX,DI BP带进位加法运算,进行AAA调整,SI ALSI DX,DI BP将十六进制数转换为ASCII码返 回开 始数据段寄存器DS,堆栈段寄存器SS,堆栈指针SP初始化SS,堆栈指针SP初始化显示被加数显示加数加法运算显示结果结束返回显示子程序开始显示被加数(加数或结果)的一个字节BX BX-1B

10、X=0?返回YN加法程序清单:CRLFMACRO ;回车换行宏定义MOVDL, 0DHMOVAH, 02HINT 21HMOVDL, 0AHMOVAH, 02HINT 21H ENDMDATASEGMENTDATA1DB 33H, 39H, 31H, 37H, 34HDATA2DB 36H, 35H, 30H, 38H, 32HDATAENDS STACK1SEGMENT STACKSTA DB 20DUP(?)TOPEQULENGTHSTASTACK1ENDSCODESEGMENT ASSUMECS: CODE, DS: DATA, SS: STACK1, ES: DATASTART:MOV

11、AX, DATA;初始化MOVDS, AXMOVAX, STACK1MOVSS, AXMOVAX, TOPMOVSP, AXMOVSI, OFFSET DATA2;显示被加数MOVBX, 05CALL DISPLCRLFMOVSI, OFFSET DATA1;显示加数MOVBX, 05CALL DISPLCRLFMOVDI, OFFSET DATA2;加法运算CALL ADDAMOVSI, OFFSET DATA1;显示结果MOVBX, 05CALL DISPLCRLFMOVAX, 4C00HINT 21HDISPL PROCNEAR;显示子程序DSI: MOVAH, 02 MOVDL, SI

12、+BX-1INT 21HDECBXJNZ DSIRETDISPL ENDPADDA PROC NEAR;加法子程序MOVDX, SIMOVBP, DIMOVBX, 05AD1: SUBBYTE PTR SI+BX-1, 30HSUB BYTE PTR DI+BX-1, 30HDECBXJNZ AD1MOVSI, DXMOVDI, BPMOVCX, 05CLCAD2: MOVAL, SIMOVBL, DIADCAL, BLAAAMOVSI, ALINC SIINC DILOOP AD2MOVSI, DXMOVDI, BPMOVBX, 05AD3: ADDBYTE PTR SI+BX-1, 30H

13、ADDBYTE PTR DI+BX-1, 30HDECBXJNZ AD3RETADDA ENDPCODE ENDS ENDSTART2. 编辑程序并上机调试:1) 排序。要求:将十个无符号数放入DATA1开始的内存单元,由小到大排列后放回DATA1开始的内存单元中。2) 将一个BCD码00100转换成二进制数。要求:五位BCD码由高到低放在BHBLDHDL00万位千位 百位十位 个位转换结果放在DI寄存器中。BCD码转换二进制数框图:屏蔽BL高四位用加法指令实现AX*10 AX (AX+BX)循环次数CL 4DX算术左移1位,BL带CY循环左移1位CL CL-1,CL=0?CH CH-1,CH

14、=0?存结果DI AX开 始BCD低四位DX, BCD最高位 BL位计数CH 5,BH 0, 结果AX 0结束,返回三 选修实验1. 在Tddebug集成操作软件环境下输入下列程序片段,首先观察数据段内存单元的内容、各个变量在内存中的存储方式以及顺序,然后用Trace命令单步执行并观察寄存器的内容及执行结果。DATA SEGMENTDATA1 DW 64FFHEXPR DB 2*3+7STR1 DB WLCOMEAB DW ABBADW ABDATAENDSSTACK1SEGMENT STACKSTACK1ENDSCODESEGMENTASSUME CS: CODE, DS: DATA, SS

15、: STACK1START: MOV AX, DATA MOV DS, AX MOV AX, DATA1 MOV AL, EXPR MOV CX, 6NEXT: MOV SI, OFFSET STR1 MOV AL, SI LOOP NEXT MOV AX, AB MOV BX, BA MOV AX, 4C00H INT 21HCODE ENDS END START 2. 编写一个统计AX中1的个数的程序,将统计结果放在CL中。实验四 汇编程序设计及调试(2)一 实验目的:1. 掌握编程基本方法和Tddebug集成操作软件环境下运行汇编语言程序;2. 熟悉常用的DOS调用和BIOS调用。二 实

16、验内容:1. 编制程序上机调试,在屏幕上先显示A,下一行再显示I AM A BOY。2. 编制程序上机调试设置光标,设置光标类型起始行为第5行,结束行为第7行,设置光标在屏幕上的位置低18行18列;在光标位置上显示字符A,背景颜色为蓝色,前景为白色。DS,SS,ES,SP初始化用INT 10H的07H清屏用INT 10H的01H设置光标类型用INT 10H的02H设定光标位置设置字符的前景和背景颜色结束返回开 始3. 编制程序上机调试在首地址为DATA1的单元中存放6个有符号数,求出它们的平均值AL,并求出其中有几个数小于平均值,将结果放在BL中,程序框图:结束 返回YYNNN开始数据段DS,

17、堆栈段SS初始化;计数CX6;BX0SI指向数组有效地址ALSI;将AL扩展成字CX=0?SI AL?CX=0?BXAX+BX;SISI+1;CXCX-1相加结果送AX;求平均值AX/6送AL计数BX0;SI指向数组有效地址;CX6计数BXBX+1SISI+1;CXCX-1CX=0?4. 将键盘收到的四位十进制数转换成二进制(或十六进制)数,在屏幕上显示。开 始段寄存器DS,SS和堆栈指针SP初始化调用GETUNM,接收键入数值保存在DX中调转换子程序使十二(或十十六)计数16送CXDX送BX,BX中内容循环左移1位BL移入DL;屏蔽DL高7位DL加30H变成ASCII码显示CX CX-1;C

18、X=0?结束 返回结 束YNDOSSEG.MODEL SMALL.DATAERR1 DB INPUT ERROR!, 0DH, 0AH, $CRLF DB 0DH, 0AH, $HIGHW DW 0.STACK 100H.CODESTART:MOV AX, DATAMOV DS, AXLP:MOV BX, 0LP0: ;GET BCD NUMBER AND CONVERT TO HEX MOV AH, 1INT 21HCMP AL, 0DHJZ LP1CMP AL, 27JZ LP4SUB AL, 30HJB ERRORCMP AL, 0AHJAE ERRORMOV AH, 0ADD BX,

19、BXADD AX, BXADD BX, BXADD BX, BXADD BX, AXJMP LP0LP1:LEA DX, CRLFMOV AH, 9INT 21HMOV CX, 4 ;DISPLAY 4 DIGITSLP2: MOV DL, 0SHL BX, 1RCL DL, 1SHL BX, 1RCL DL, 1SHL BX, 1RCL DL, 1SHL BX, 1RCL DL, 1ADD DL, 30HCMP DL, 3AHJB LP3ADD DL, 7LP3:MOV AH, 2INT 21HLOOP LP2LEA DX, CRLFMOV AH, 09HINT 21HJMP LPERROR

20、: PUSH BXMOV AH, 3MOV BH, 0INT 10HMOV AH, 2MOV BH, 0DEC DLINT 10HMOV CX, 1MOV BH, 0MOV BL, 0CHMOV AH, 09HINT 10HPOP BXJMP LP0LP4:MOV AX, 4C00HINT 21HEND START三 选修实验实验目的为掌握接收键盘数据的方法,并了解键盘数据显示时必须转换为ASCII码的原理。编写程序,将键盘接收到的两位十进制数转换为十六进制数,并显示在屏幕上。实验五 32位微机接口技术实验5.1 基本I/O接口电路设计实验一 实验目的:1. 掌握基本I/O接口电路的设计方法;

21、2. 熟练汇编语言I/O端口操作指令的使用。二 实验设备:PC微机一台、 TD-PIT+ 实验系统一套。三 实验内容利用三态缓冲器 74LS245、锁存器 74LS374设计微机总线和外部设备的数据通道,实现微机对外部输入数据的读取和对输出数据的输出。用开关及 LED 显示单元的开关和数据灯作为输入和输出显示设备,将读到开关的数据显示在数据灯上。四 实验原理1. 输入接口设计输入接口一般用三态缓冲器实现,外部设备输入数据通过三态缓冲器,通过数据总线传送给微机系统。74LS245是一种8通道双向的三态缓冲器,其管脚结构如图5-1-1所示。 DIR 引脚控制缓冲器数据方向, DIR 为1表示数据由

22、A7:0至 B7:0 ,DIR为0表示数据由 B7:0至A7:0。G引脚为缓冲器的片选信号,低电平有效。图 5-1-1 74LS245双向三态缓冲器管脚图2. 输出接口设计输出接口一般用锁存器实现,从总线送出的数据可以暂存在锁存器中。 74LS374是一种 8 通道上沿触发锁存器。其管脚结构如图 5-1-2所示。D7:0为输入数据线,Q7:0为输出数据线。CLK引脚为锁存控制信号,上升沿有效。当上升沿到时,输出数据线锁存输入数据线上的数据。OE引脚为锁存器的片选信号,低电平有效。 图 5-1-2 74LS374上沿触发锁存器管脚图3. 输入输出接口设计用 74LS245和 74LS374可以组

23、成一个输入输出接口电路,既实现数据的输入又实现数据的输出,输入输出可以占用同一个端口。是输入还是输出用总线读写信号来区分。总线读信号IOR和片选信号CS相“或”来控制输入接口74LS245的使能信号G。总线写信号 IOW 和片选信号 CS 相“或”来控制输出接口74LS374的锁存信号CLK。实验系统中基本输入输出单元就实现了两组这种的电路,任意A组的电路连接如图5-1-3所示。图 5-1-3 用74LS245和74LS374组成的输入输出接口电路五 实验说明及步骤本实验实现的是将开关K7:0的数据通过输入数据通道读入CPU的寄存器,然后再通过输出数据通道将该数据输出到数据灯显示,该程序循环运

24、行,直到按动键盘上任意按键再退出程序。实验程序流程如图5-1-4所示,参考实验接线如图5-1-5所示。实验步骤如下:1. 确认从PC机引出的两根扁平电缆已经连接在实验平台上。2. 参考图 5-1-5所示连接实验线路。3. 首先运行 CHECK程序,查看并记录与片选信号对应的 I/O 端口始地址。 4. 参考实验流程图阅读程序Tio.asm,注意端口地址,然后编译链接。 5. 运行程序Tio.asm,拨动开关,观看数据灯显示是否正确。6. 运行程序TRAFICLIGHT.asm,观看数据灯模拟交通灯的闪烁过程是否正确。设有一个十字路口,1、3为南、北方向,2、4为东、西方向,初始状态为四个口的红

25、灯全亮,之后1、3口的红灯亮,2、4口的绿灯亮,延迟一段时间后,1、3口的绿灯亮,2、4口的红灯亮,延迟一段时间后,重复上述过程。图5-1-4 基于I/O接口设计实验参考程序流程图图5-1-5 基于I/O接口设计实验参考接线图程序清单:;Tio.asm;基本I/O接口电路设计实验;*根据CHECK配置信息修改下列符号值*IOY0 EQU 9C00H ;片选IOY0对应的端口始地址IOY1 EQU 9C40H ;片选IOY1对应的端口始地址;* *MYIO_A EQU IOY0+00H*4 ;基本输入输出单元A组端口地址MYIO_B EQU IOY1+00H*4 ;基本输入输出单元B组端口地址S

26、TACK1SEGMENT STACKDW256 DUP(?)STACK1ENDSCODESEGMENTASSUME CS: CODESTART:MOV DX, MYIO_A ;读写基本I/O单元A组的端口INAL, DXOUTDX, ALMOVDX, MYIO_B ;读写基本I/O单元B组的端口INAL, DXOUTDX, ALMOVAH, 1 ;判断是否有按键按下INT 16HJZ START ;无按键则跳回继续循环,有则退出QUIT: MOV AX, 4C00H ;返回到DOSINT 21HCODE ENDSEND START5.2 地址译码电路设计实验一 实验目的 1. 学习 3-8 译

27、码器在接口电路中的应用;2. 掌握地址译码电路的一般设计方法。二 实验设备 PC 微机一台、TD-PIT+ 实验系统一套。三 实验内容用 74LS138 译码器设计地址译码电路,并用其输出作为基本输入输出单元的片选信号,使用设计的端口地址编写程序,实现数据的输入输出。四 实验原理微机接口电路中,常采用 74LS138 译码器来实现 I/O 端口或存储器的地址译码。 74LS138 有3个输入引脚、3个控制引脚及8个输出引脚,其管脚信号如图5-2-1 所示。当 3个控制信号有效时,相应于输入信号 A、B、C状态的那个输出端为低电平,该信号即可作为片选信号。图5-2-1 74LS138译码器管脚3

28、2位扩展系统总线上有一个信号,该信号为低电平时指示当前操作为I/O操作,为高电平指示当前操作为存储器操作,它和译码器不同的连接可以用来区分是I/O端口译码还是存储器端口译码。32 位总线地址是由 A2 开始,所以地址是以 4 字节边界对齐的。实验系统的I/O地址空间共有 256 字节,偏移地址一般从 00H FFH。起始地址由PC机系统分配,可以用CHECK程序读出。所以设计地址译码电路,主要是针对低 8位地址线译码,得到偏移在 00H FFH 之间的端口。本实验要求不使用总线上的片选信号,自行设计端口偏移地址分别为 C0H DFH 和 E0H FFH的译码电路,然后用译码输出作为基本输入输出

29、单元的片选。编写程序,完成I/O数据操作。实验参考线路如图5-2-2 所示。五 实验步骤 1. 确认从 PC 机引出的两根扁平电缆已经连接在实验平台上。2. 按图5-2-2 所示连接实验线路。3. 首先运行 CHECK 程序,查看I/O 端口始地址。 4. 利用设计好的端口地址编写程序,然后编译链接。5. 运行程序,拨动开关,观看数据灯显示是否正确。图5-2-2 地址译码设计实验参考接线图实验六 8254 定时计数器应用实验一 实验目的:1. 掌握 8254 的结构和使用;2. 掌握 8254 的各种工作方式及门控信号的作用;3. 掌握 8254 的使用与编程。二 实验设备:PC微机一台、 T

30、D-PIT+ 实验系统一套。三 实验内容1. 8254各种工作方式2. 8254定时中断管理3. 实时时钟四 实验原理8254 是 Intel 公司生产的可编程间隔定时器,是 8253 的改进型,比 8253 具有更优良的性能。8254 具有以下基本功能:1. 有 3 个独立的 16 位计数器;2. 每个计数器可按二进制或十进制(BCD)计数;3. 每个计数器可编程工作于 6 种不同工作方式;4. 8254 每个计数器允许的最高计数频率为 l0MHz ( 8253 为 2MHz );5. 8254 有读回命令(8253没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;6.

31、计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为 ,其中是输入时钟脉冲的频率,是输出波形的频率。图 7-1是 8254 的内部结构框图和引脚图,它是由与 CPU 的接口、内部控制电路和三个计数器组成。 8254 的工作方式如下述: 1. 方式 0 :计数到 0 结束输出正跃变信号方式;2. 方式 1 :硬件可重触发单稳方式;3. 方式 2 :频率发生器方式;4. 方式 3 :方波发生器;5. 方式 4 :软件触发选通方式;6. 方式 5 :硬件触发选通方式。图 7-1 8254 的内部接口和引脚8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设

32、置读回命令,称为读回控制字。这两个控制字共用一个地址,由标识位来区分。控制字格式如表7-1所示。读回控制字格式如表 7-2 所示。当读回控制字的 D4 位为0时,由该读回控制字 Dl D2 位指定的计数器的状态寄存器内容将被锁存到状态寄存器中。状态字格式如表 7-3 所示。表 7-1 8254 的方式控制字格式表 7-2 8254 读出控制字格式表 7-3 8254 状态字格式五 实验说明及步骤1. 计数应用实验编写程序,将定时器2初始化成6种工作方式之一,计数初值为4,用微动开关 KK1+ 作为 CLK2 时钟, OUT2接LED显示,按动KK1+,观察计数时钟和输出的关系。参考程序流程如图

33、 7-2 所示。将定时器2的GATE2接+5V。实验步骤如下:1) 确认从 PC 机引出的两根扁平电缆已经连接在实验平台上。2) 首先运行 CHECK 程序,查看 I/O 空间始地址。3) 利用查出的地址修改程序T8254-1.asm,然后编译链接。4) 参考图 7-2 所示连接实验线路。5) 运行程序,按动 KK1+ 微动开关,观察计数时钟和输出的关系。 6) 可以改变工作方式,观察计数时钟和输出的关系。图7-2 8254 应用实验参考接线图;8254工作方式实验程序清单;*根据CHECK配置信息修改下列符号值*IOY0 EQU 0D200H;*MY8254_COUNT0 EQU IOY0+

34、00H*4 ;8254计数器0端口地址MY8254_COUNT1 EQU IOY0+01H*4 ;8254计数器1端口地址MY8254_COUNT2 EQU IOY0+02H*4 ;8254计数器2端口地址MY8254_MODE EQU IOY0+03H*4 ;8254控制寄存器端口地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATASEGMENT MODEDB0B0H, 0B2H, 0B4H, 0B6H, 0B8H, 0BAHDATAENDSCODESEGMENTASSUMECS: CODE, DS: DATA, ES: DATAMAINPR

35、OC FAR MOVAX, DATAMOVDS, AXMOVSI, 0 MOVAL, MODE+SI ;SET 8254 MODEMOVDX, MY8254_MODE ;TIMER 2OUTDX, ALMOVAL, 4 ;4 TIMESMOVDX, MY8254_COUNT2 OUTDX, ALMOVAL, 0OUTDX, ALL1:MOV AH, 2;CORSER LOCAT AT 20,30MOVBH, 0MOV DH, 20MOVDL, 30INT10HMOV DX, MY8254_MODE ;LOCK COUNTERMOV AL, 80HOUT DX, ALMOVDX, MY8254_

36、COUNT2 ;READ COUNTER LOWINAL, DXMOVBL, ALINAL, DX ;READ COUNTER HIGHMOV BH, ALMOVCL, 4SHRAL, CLADDAL, 30HCMPAL, 39H ;DISPLAY HIGH 8 BITSJBEL2ADDAL, 7L2: MOVDL, ALMOVAH, 2INT21HANDBH, 0FHADDBH, 30HCMPBH, 39HJBEL3ADDBH, 7L3:MOVAH, 2MOVDL, BHINT21HMOVAL, BL ;DISPLAY LOW 8 BITSMOVCL, 4SHRAL, CLADDAL, 30

37、HCMPAL, 39HJBEL4ADDAL, 7L4: MOVDL, ALMOVAH, 2INT21HANDBL, 0FHADDBL, 30HCMPBL, 39HJBEL5ADDBL, 7L5:MOVAH, 2MOVDL, BLINT21HMOVAH, 2MOVDL, 13INT21HMOVAH, 0BH ;ANY KEY PRESSED TO RETURN DOSINT21H ;ELSE CONTINUECMPAL, 0JNZOKMOVCX, 50000L6:NOPLOOPL6JMPL1OK:MOVAX, 4C00HINT21HRETERROR:JMPOKMAIN ENDPCODEENDSE

38、NDMAIN实验结果记录:工作方式计数初值GATE2计数时钟和输出的关系04+5VCLK20 1 2 3 4 5OUT2当前计数值14CLK20 1 3 4 5 OUT2当前计数值24+5VCLK20 1 3 4 5 OUT2当前计数值34+5VCLK20 1 3 4 5 OUT2当前计数值44+5VCLK20 1 3 4 5 OUT2当前计数值54CLK20 1 3 4 5 OUT2当前计数值2. 编写汇编程序,将定时器0设为方式2,二进制计数初值为1042(系统时钟CLK=1.041667MHz);定时器1设为方式3,计数初值为1000。将OUT1接PC总线INTR端,每秒向计算机发一次中断请求。(为便于观察,可将OUT1接到L1,此时OUT1输出为1秒的方波。)3. 编写汇编程序,每次中断时,显示字符串“THIS IS A 8259 INTERRUPT!”,中断十次后,程序退出。是开始关中断初始化PCI_INTCSR替换INTR中断矢量,打开屏蔽位开中断有按键按下?关中断恢复PCI_INTCSR INTR中断矢量和中断屏蔽字开中断初始化8254工作方式返回到D

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1