西工大 微机原理 试题 例题
- 格式:doc
- 大小:192.00 KB
- 文档页数:26
1.用BP作基址变址寻址时,操作数所在的段是当前()。
A.数据段B.代码段C.堆栈段D.附加段参考答案:C2.寄存器间接寻址方式中,操作数在()中。
A.通用寄存器B.堆栈C.存储单元D.段寄存器参考答案:C3.用()可实现数据总线的双向传输。
A.锁存器B.三态逻辑开关C.暂存器D.寄存器参考答案:B4.CPU响应INTR引脚上来的中断请求的条件之一是()。
A.IF=0B.IF=1C.TF=0参考答案:B5.断点中断的中断类型码是()。
A.1B.2C.3D.4参考答案:C6.对内存单元进行写操作后,该单元的内容()。
A.变反B.不变C.随机D.被修改参考答案:D7.一片容量为8KB的存储芯片,若用其组成1MB内存,需()片。
A.120B.124C.128D.132参考答案:C8.高速缓存由()构成。
A.SRAMC.EPROMD.硬磁盘参考答案:D9.假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSH AX 后,SP=()。
A.0014B.0011HC.0010HD.000FH参考答案:C10.计算机系统软件中的汇编程序是一种()。
A.汇编语言程序B.编辑程序C.翻译程序D.将高级语言转换成汇编程序的程序参考答案:C11.下列()不是半导体存储器芯片的性能指标。
A.存储容量B.存储结构C.集成度D.最大存储时间参考答案:B12.8086CPU在执行IN AL,DX指令时,DX寄存器的内容输出到()上。
A.地址总线B.数据总线C.存储器D.寄存器参考答案:A13.若主程序段中数据段名为DATA,对数据段的初始化操作应为()。
A.MOV AX,DATA MOV ES,AXB.MOV AX,DATA MOV DS,AXC.PUSH DSD.MOV DS,DATA参考答案:B14.安排2764芯片内第一个单元的地址是1000H,则该芯片的最末单元的地址是()。
A.1FFFHB.17FFHC.27FFHD.2FFFH参考答案:D15.8086CPU工作在总线请求方式时,会让出()。
例12.4若DAC1210接口电路如图12.2所示,问此DAC1210工作在何种方式?设模拟输出满量程为10V,试编写出利用它产生0V~10V三角波电压的程序段。
图12.2 DAC1210接口电路图解从几个控制信号的接法看出此DAC1210工作在单缓冲方式,通过对其中译码电路分析可知,DAC1210的端口地址为38H,产生三角波电压的程序段如下:MOV AX,0W1:OUT 38H,AXNOPNOPINC AXCMP AX,0FFFH ;比较电压是否升到最高点 JNZ W1 ;若不是最高点,继续上升 W2:OUT 38H,AXNOPNOPDEC AXCMP AX,0 ;比较电压是否升到最低点 JNZ W2 ;若不是最低点,继续下降JMP W1【评注】程序中所加的NOP指令用于延时,可以NOP的多少来调节输出电压波形的周期。
例12.5 有如下接口原理图,如图12.3所示。
编写出对IN0~IN7八个模拟量各采样100个点的简化汇编源程序。
图12.3 0809接口图解根据译码电路,ADC0809的START地址为85H,EOC地址为81H,OE地址为83H。
完成题目要求的程序如下:.MODEL SMALL.DATABLOCK DB 800 DUP(?).CODE.STARTUPLEA DI,BLOCKMOV CX,100 ;循环100次,次数送CX PP:MOV BL,0LL:MOV AL,BL ;BL用来选择通道OUT 85H,AL ;启动转换器NOPNOP ;延迟,避免虚假EOC信号W: IN AL,81HTEST AL,01HJZ W ;检测EOC,判断转换结束否?;若转换未结束,继续检测IN AL,83HMOV [DI],AL;若转换好,读数并存入内存 INC DIINC BL ;下一个通道CMP BL,08HJNZ LL ;八个通道是否转换完?若否,;继续下一个通道转换LOOP PP.EXITEND【评注】由于转换结束信号EOC的变低相对于启动信号START有2us+8个时钟周期的延迟,所以程序中在A/D启动后要加上NOP指令使它不致产生虚假的转换结束信号。
西工大微机原理试题例题第三章 80X86寻址方式和指令系统二、典型题解析例3.1 设DS=2000H,SS=3000H,BP=0200H,SI=4000H,BUF=1000H,EAX=00001000H,EBX=00002000H,假设按16位实模式操作,确定下列每条指令访问内存的物理地址,并且指出源操作数及目的操作数的寻址方式。
(1)MOV AL,[1234H](2)MOV EDX,[BX](3)MOV CL,[BX+100H](4)MOV [SI],EBX(5)MOV AH,BUF[BX+SI](6)MOV EAX,[BP+1234H]分析:DS给出数据段的段基址,因此,数据段的起始物理地址为(DS)×10H=20000H。
ES给出堆栈段的段基址,因此,堆栈段的起始物理地址为(SS)×10H=30000H。
若是存储器寻址,根据寻址方式的不同,可求出相应的有效EA,再加上段的起始物理地址即为将访问的内存单元的物理地址。
解(1)源操作数在数据段中,为直接寻址方式。
EA=1234H物理地址=20000H+1234H=21234H目的操作数为寄存器寻址(2)源操作数在数据段中,为寄存器间接寻址。
EA=(BX)=2000H物理地址=20000H+2000H=22000H目的操作数为寄存器寻址(3)源操作数在数据段中,为寄存器相对寻址。
EA=(BX)+100H=2100H物理地址=20000H+2100H=22100H目的操作数为寄存器寻址(4)源操作数为寄存器寻址目的源操作数在数据段中,为寄存器间接寻址。
EA=(SI)=4000H物理地址=20000H+4000H=24000H (5)源操作数在数据段中,为相对基址变址寻址。
EA=(BX)+(SI)+BUF=2000H+4000H+1000H=7000H物理地址=20000H+7000H=27000H目的操作数为寄存器寻址(6)由于源操作数方括号中出现了BP,所以源操作数在堆栈段中,为寄存器相对寻址。
15春西工大《汇编与微机原理》在线作业1一、单选题(共18 道试题,共90 分。
)1. 下列传送指令中有语法错误的是( )A. MOV CS,AXB. MOV DS,AXC. MOV SS,AXD. MOV ES,AX正确答案:A2. 有数据定义DB 4 DUP (0,2 DUP (20H)),其中能组成0020H字数据的个数是( )A. 0B. 3C. 4D. 8正确答案:B3. 把汇编源程序变成目标程序的过程是()A. 编译C. 编辑D. 链接正确答案:4. 指令语句中标号的错误定义是()A. 在代码段中的名字项定义,后面紧跟冒号B. 用EQU伪指令定义C. 用LABEL伪指令定义D. 用“JMP 标号”指令定义正确答案:5. 下面有语法错误的指令是()A. MOV AX,[BX][SI]B. MOV AX,-2[BX][DI]C. MOV AX,[BX][BP]D. MOV AX,-1[BX][SI]正确答案:6. 堆栈中当前出栈的存储单元的地址是()A. SS×10H+SPC. SS×10+SPD. SS×10+BP正确答案:7. 已知(DS)=4000H,(SI)=1000H,COUNT=2000H,(CS)=3000H,在执行MOV AX,[COUNT+SI] 指令时,源操作数的物理地址是( )A. 43000HB. 33000H和3300HC. 43000H和43001HD. 03000H正确答案:8. 下面的数据传送指令中,错误的操作是()A. MOV SS:[BX+DI],1000HB. MOV DX,1000HC. MOV WORD PTR[BX],1000HD. MOV DS,2000H正确答案:9. 汇编语言程序中各语句的操作项可以是指令、伪指令或( )B. 运算符C. 宏指令D. 表达式正确答案:10. 可用于寄存器间接寻址和寄存器相对寻址的寄存器是( )A. AXB. BXC. CXD. DX正确答案:11. 下列语句中能实现留空8个字节单元的语句是()A. DA1 DT ?B. DA2 DW ?,?C. DA3 DD ?D. DA4 DQ ?正确答案:12. 汇编语言语句格式中,对名字项的规定,请指出错误的解释()C. 名字的有效长度≤31个字符D. 名字从第二个字符起可以出现数字,但不允许出现$、#等字符正确答案:13. 8086/8088系统执行传送指令MOV时()A. 不影响标志位B. 影响DF方向标志C. 影响SF符号标志D. 影响CF进位标志正确答案:14. 在AR DB 10 DUP(3,2 DUP(9))中,含数据字0309H的个数是( )A. 10B. 20C. 0D. 9正确答案:15. 汇编语言语句格式中,对名字项的规定,请指出错误的解释()C. 名字的有效长度≤31个字符D. 名字从第二个字符起可以出现数字,但不允许出现$、#等字符正确答案:16. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )A. 名字项B. 操作项C. 操作数项D. 注释项正确答案:17. 在汇编语言程序中,对END语句的叙述正确的是()A. END语句是一可执行语句B. END语句表示程序执行到此结束C. END语句表示源程序到此结束D. END语句在汇编后要产生机器码正确答案:A. (SS)*16+(BP)+(SI)B. (DS)*16+(BP)+(SI)C. (CS)*16+(BP)+(SI)D. (ES)*16+(BP)+(SI)正确答案:西工大《汇编与微机原理》在线作业1 二、判断题(共1 道试题,共10 分。
微机原理与接口技术_西安工业大学中国大学mooc课后章节答案期末考试题库2023年1.中断向量表地址指针就是中断向量。
答案:错误2.程序查询IO方式,程序由查询等待和_____两部分组成。
答案:数据交换3.查询输入时,Ready=0表示数据端口已经放入数据,Ready=1表示______。
答案:数据端口的数据已经取走4.微型计算机的ALU部件是包含在()之中。
答案:CPU5.由CS和IP的内容表示的是()。
答案:下一条待执行指令的地址6.对微处理器而言,它的每条指令都有一定的时序,其时序关系是()。
答案:一个指令周期包括几个机器周期,一个机器周期包括几个时钟周期。
7.MOV CX,10MOV AL,20HXOR BX,BX AGAIN:ADD BL,ALADC BH,0 LOOP AGAIN; MOV AX,BX;程序执行后,AX的内容是()答案:0120H8.MOV BX,OFFSET [1341H] 执行结果为(BX)=()H答案:13419.将中断允许标志清零的指令是答案:CLI10.中断向量表里面存放的是答案:中断服务程序入口地址11.NMI中断类型码规定为()答案:212.中断控制器8259A有个命令字答案:413.可屏蔽中断的响应过程。
首先必须满足中断允许标志IF置_______答案:114.8259A中的中断屏蔽寄存器是ISR答案:错误15.在8088/8086中,内中断源的级别均比外中断源级别高。
答案:正确16.转中断服务之前,断点地址入栈,是由硬件自动完成的。
答案:正确17.8259A只有奇偶两个端口地址答案:正确18.判断下列指令的对错IMUL 56H答案:错误19.8086/8088 CPU是在每个总线周期结束时,对INTR信号采样。
答案:错误20.8259A的端口地址是20H和21H。
发中断结束命令的指令是__MOVAL,20H__和_____指令。
答案:OUT 20H,AL21.中断响应引脚是_____。
例1:8088属于多少位微处理器?数据线和地址线根数分别是多少?寻址空间多大?答:1.8088属于准16位微处理器;有8根数据线,20根地址线;寻址空间为220B,即1MB)。
例2:在8086/8088 CPU中,物理地址和逻辑地址是指什么?已知逻辑地址为1F86:38A5H,如何计算出其对应的物理地址?答:物理地址是 CPU访问存储器所用的地址。
逻辑地址是段地址和偏移地址形式的地址,即汇编语言程序中使用的存储器地址。
若已知逻辑地址为1F00:38A0H,则对应的物理地址=1F00H x 16+38A0H=228A0H。
例3:设(BL)=1100 1011B,变量V AR的内容为0011 0010B,求下列指令单独执行后BL的内容:(1)XOR BX,VAR;(2)AND BX,V AR;(3)OR BX,V AR;(4)XOR BX,11110000B;(5)AND BX,00001111B;解:(1)F9H (2)2H(3)0FBH(4)3BH(5)0BH例4:分析下列指令,对正确指令写出源操作数的寻址方式,对错误指令写出原因(设V AR为字变量)。
(1)MOV BX,V AR[SI](2)MOV BP,AL(3)MOV CS,AX(4)MOV DS,0100H (5)MOV AX,BX解:(1) ,寄存器相对寻址(2) ,类型不一致(3) ,CS不能作为目的操作数(4) ,当DS、ES、SS作为目的操作数时,源操作数不能是立即数(5) ,寄存器寻址例5.已知中断向量表中,001C4H中存放着2200H,001C6H中存放着3040H,则其中断类型码是____H,中断服务程序的入口地址的物理地址和逻辑地址分别是_____H和______H:_________.答:71H,32600H和3040H:2200H例6.8086CPU响应外部中断请求是在_ __A.一条指令执行结束B.一个机器周期结束C.立即响应D.根据中断类型决定例7.硬件中断可分为_ __和_____(答案:非屏蔽中断和可屏蔽中断)例8.下面是某8086微机内存中的部分数据,则中断类型号为11H的中断服务程序的入口地址存放在___A.0000H:0011HB. 0000H:0022HC. 0000H:0033HD. 0000H:0044H例9.当有如下中断请求时,微处理器执行完当前指令后,优先级别最底的响应是_ __A.INT0B.NMIC.INTRD.单步中断例10.在计算机系统中,微处理器对存储器单元和I/O端口的编址方法有统一编址和独立编址两种方法,8086/8088 CPU对I/O端口编址采用的是方法,当8088 CPU工作在最小方式时,用于区分访问存储器或I/O端口的控制信号(即引脚)为。
西安工业微机原理考研真题微机原理是计算机科学与技术专业的基础课程之一,也是考研中常见的考点。
西安工业大学作为计算机领域的重要高校之一,其微机原理考研真题备受考生关注。
本文将通过对西安工业微机原理考研真题的讲解,帮助读者全面了解该科目的考查要点,为考生备考提供参考。
## 第一部分:选择题1. 以下哪个寄存器是用于存储要进行操作的数据A. 通用寄存器B. 累加寄存器C. 程序计数器D. 指令寄存器正确答案:A. 通用寄存器解析:通用寄存器用于存储要进行操作的数据,其中包括累加寄存器、数据寄存器等。
2. 在微机系统中,片内暂存器可被组织成多路线选择器进行选择,这种选择叫做A. 编址B. 分配C. 选通D. 读写正确答案:C. 选通解析:片内暂存器可以通过多路线选择器进行选择,将其中的数据传递给需要的部件,这个过程称为选通。
3. 下列指令的机器码为“0110 0000 1101 1011”,该指令是什么指令?A. 加法指令B. 减法指令C. 乘法指令D. 或指令正确答案:D. 或指令解析:根据给定的机器码,可知该指令为或指令。
## 第二部分:计算题1. 给定以下汇编代码段,请将其转化成机器码。
```MOV AX, 0B3CHADD AX, 0342H```解答:```10001001 1100110000001111 11110010```## 第三部分:简答题1. 请简述微机原理中的指令周期是什么。
指令周期是指一条指令在执行过程中所经历的一系列时钟周期的总和。
它包括指令取操作、指令译码操作、指令执行操作以及结果写入操作等多个步骤。
通过逐步执行这些操作,并根据时钟的节拍,指令周期完成了一条指令的全部执行过程。
2. 简述中断处理程序的作用和流程。
中断处理程序是用来响应和处理中断事件的一段程序代码。
它的作用是在发生中断时,暂停当前正在执行的任务,切换到中断处理程序进行处理,并在处理完成后返回到被中断的任务继续执行。
21年4月西工大机考《微机原理及应用》随机非免费资料试卷总分:100 得分:92一、单选题 (共 30 道试题,共 60 分)1.8255A的A口工作在方式2时,B口可工作在()。
A.方式0或方式1B.方式1或方式2C.只能工作在方式1D.只能空着正确答案:A2.上面程序中若将字符串'a’~'j’转换为大写字母'A’~'J’,则()中应该填写为:A.JMPB.JZC.JAED.LOOP3.上面程序中若将字符串'a’~'j’转换为大写字母'A’~'J’,则空格中应该填写为()。
A.MOV CL,10B.MOV DL,10C.MOV CX,10D.MOV DX,,104.某一测控系统要求计算机输出的模拟控制信号的分辨率必须达到千分之一,则选择的D/A转换器的位数应该至少是()。
A.4位B.8位C.10位D.12位5.在数据传送过程中,数据由串行变为并行,或由并行变为串行,这种转换是通过接口电路中的()实现的。
A.数据寄存器B.移位寄存器C.锁存器D.缓冲器6.A.将内存单元FFF8H的数转换成ASCII码。
B.将端口FFF8H输入的数转换成ASCII码再输出。
C.将内存单元FFF8H的数加37H。
D.将端口FFF8H的数加30H。
7.完成41H送[2100H]、42H送[2101H]的正确程序段是()。
8.当8255A工作在方式1时,端口C被分为两个部分,分别作为端口A和端口B的联络信号,这两个部分的划分是()。
A.端口C的高4位和低4位B.端口C的高5位和低3位C.端口C的高3位和低5位D.端口C的高6位和低2位9.微机系统采用向量中断方式处理8级外部中断,中断类型码依次为08H~0FH,在内存0:30H单元开始依次存放23H,FFH,00H 和F0H四个字节,该向量对应的中断类型码和中断程序入口地址是()。
A.0CH,23FF:00F0HB.0BH,F000:FF23HC.0BH,00F0:23FFHD.0CH,F000:FF23H10.伪指令DATA1 DB 3 DUP(?,4 DUP(0))给内存分配的字节数为()。
例9.1 设某系统中有两片8255A芯片,由74LS138译码器产生两个芯片的片选信号。
如图9.1所示,要求:第一片8255A(J1)的A口工作在方式0输出,B口工作在方式0输入,C口高4位为输出,低4位为输入。
第二片8255A(J2)的A口为方式0输入,B口为方式1输出,C口高4位输出,C口低4位为B口控制信号。
(1)试指出两片8255A芯片各自的端口地址;(2)试写出两片8255A芯片各自的方式控制字;(3)试写出两片8255A芯片各自的初始化程序。
图9.1 译码电路图解(1)根据译码电路图,可分析出:J1的A、B、C和控制端口的地址分别为0138H、013AH、013CH、013EH。
J2的A、B、C和控制端口的地址分别为0130H、0132H、0134H、0136H。
(2)按照8255A方式控制字的格式,两片8255A的控制字分别为:J1:10000011B J2:10010100B或10010101B (3)J1的初始化程序: J2的初始化程序: MOV DX,013EH MOV DX,0136H MOV AL,83H MOV AL,94H(或95H) OUT DX,AL OUT DX,AL【评注】注意8255A方式控制字的标志为D7=1。
控制字要写入控制端口,这里由于端口地址为16位,输出指令中必须采用DX间接寻址。
例9.3某系统采用串行异步方式与外设通讯,发送字符格式由1位起始位、7位数据位、1位奇偶校验位和2位停止位组成,波特率为2200b/s。
试问,该系统每分钟发送多少个字符?若选波特率因子为16,问发时钟频率为多少?解(1)因为发送字符格式由1位起始位、7位数据位、1位奇偶校验位和2位停止位组成,所以一帧数据长度为11位,而波特率为2200b/s,由此计算出该系统每秒钟发送2200÷11=200字符,每分钟为200×60=12000字符。
(2)发送时钟频率为2200×16=35200HZ。
例9.4图9.2为一利用8255A实现的打印机接口。
(1)设8255A的A口工作在方式0输入,B口工作在方式0输出。
写出初始化程序片段。
(2)写出查询方式下输出一个字符至打印机的程序片段(假设输出字符已经在AL中)。
图9.2 打印机接口图解根据接口图可知8255A的地址为200H~203H。
(1)8255A初始化程序:MOV DX,0203HMOV AL,10010001BOUT DX,AL(2)打印控制程序:PUSH AX ;暂存AL中的打印字符 MOV DX,0202HWAIT:IN AL,DX ;读C口内容TEST AL,08H ;测BUSY信号JZ WAIT ;打印机忙,则等待MOV DX,201HPOP AXOUT DX,AL ;打印字符输出到B口 MOV DX,203H ;从PC7发一个负脉冲,将MOV AL,0EH 打印字符锁入打印机OUT DX,ALMOV AL,0FHOUT DX,AL【评注】注意控制打印机的工作流程。
首先判断打印机忙否,若忙继续检测,否则就可以建立数据并发出选通,将数据锁入打印机。
其中打入锁存信号为一负脉冲,由软件产生,注意发脉冲信号的编程方法。
例9.5有如下接口原理图,如图9.3所示。
输入机启动一次输入一个数据;打印机启动一次打印一个数据。
要求从输入机输入一个数并存入存储器中,然后再由打印机将该数打印出来!一共输入10个数,打印10个数。
图9.3 接口图编写出满足上述要求的源程序。
解由接口图分析可知,8255A的端口地址为E0H、E4H、E8H、ECH。
程序如下:.MODEL SMALL.DATAWP DB 10DUP(?).CODE.STARTUPMOV AL,83HOUT 0ECH,AL ;初始化8255AMOV CX,10 ;循环次数送CXMOV BX,OFFSET WPAGAIN:MOV AL,00001111BOUT 0ECH,AL ;启动输入机PRT:IN AL,0E8HTEST AL,08H ;检测PC3,判断输入数据是否准备好?JZ PRT ;若否,继续检测等待IN AL,0E4H ;否则,读B口数据MOV [BX],AL ;送入内存单元MOV AL,00001110BOUT 0ECH,AL ;关闭输入机PST:IN AL,0E8HTEST AL,02H ;检测PC1,判断打印机忙否?JNZ PST ;若忙,继续检测等待MOV AL,[BX]OUT 0E0H,AL ;否则,刚存入内存的数据送入A口MOV AL,00001001BOUT 0ECH,AL ;启动打印机MOV AL,00001000BOUT 0ECH,AL ;断开打印机INC BXLOOP AGAIN.EXITEND【评注】注意控制输入机的工作流程。
首先启动输入机,然后判断输入机是否将数据准备好,如果没有准备好,继续循环检测,否则读取数据。
打印机的工作流程同上题。
例9.6接口图如图9.4所示,设:8259A边沿触发,八个中断类型码为60~67H。
写出对以内存DSR开始连续10个字节数进行打印的汇编程序片段。
注:未用的地址线可设为0。
图9.4 接口图解根据接口图,8255A的A、B、C、控制口地址分别为8000H、8002H、8004H、8006H,B口工作在方式1。
8259A的地址为8028H和802AH。
;初始化8259AMOV DX,8028HMOV AL,13HOUT DX,AL ;ICW1MOC DX,802AHMOV AL,60HOUT DX,AL ;ICW2MOV AL,01HOUT DX,AL ;ICW4;建立中断向量表PUSH DSMOV AX,0MOV DS,AXMOV SI,OFFSET XYMOV DI,SEG XYMOV [018CH],SIMOV [018EH],DIPOP DS;初始化8255AMOV DX,8006HMOV AL,84HOUT DX,ALMOV AL,05HOUT DX,AL ;INTE置1 ;循环10次MOV CX,10LEA BX,DSRW:HLTLOOP W……;中断服务程序XY:MOV AL,[BX]MOV DX,8002HOUT DX,ALINC BXIRET【评注】由于中断源从8259A的IR3接入,故该中断源的中断类型码为63H,由此计算出中断向量地址为63H×4=018CH。
例9.7某系统中,8254芯片的计数器0,计数器1,计数器2及控制端口地址分别为70H,71H,72H,73H。
若利用计数器0对外部事件计数,其GATE 接高电平,当计数计满3000次向CPU发出中断申请;且利用计数器1输出频率为100HZ的方波,CLK1=2MHZ。
试编写8254的初始化程序。
解根据题意分析,计数器0工作在方式0,计数置3000次;计数器1工作在方式3,计数值n=20000=4E20H次;8254初始化程序片段为:MOV AL,21HOUT 73H,AL ;设置计数器0的控制字 MOV AL,30HOUT 70H,AL ;给计数器0送计数初值 MOV AL,76HOUT 73H,AL ;设置计数器1的控制字 MOV AL,20HOUT 71H,ALMOV AL,4EHOUT 71H,AL ;给计数器1送计数初值【评注】对每一个计数器,其控制字必须写在它的计数值之前。
计数值写入计数器的格式,必须按照控制字的RL1、RL0的规定格式来写。
例9.8有如下接口原理图,如图9.5所示。
要求发光二极管L0亮5秒后就熄灭;L1在K1启动后亮6秒后就熄灭;L2亮4秒灭4秒交替进行。
写出源程序片段(段定义语句可以省略)。
解由译码电路分析可知,8254芯片计数器0、计数器1、计数器2及控制端口的地址分别为91H,93H,95H,97H。
根据接口图及题目要求,8254的计数器0应该工作在方式0,计数初值N0=5000;计数器1应工作在方式1,N1=6000;计数器2应工作在方式3,N2=8000。
根据以上分析,可以编写出8254初始化程序。
图9.5 接口图8254初始化程序片段如下:;初始化计数器0MOV AL,21HOUT 97H,ALMOV AL,50HOUT 91H,AL;初始化计数器1MOV AL,63HOUT 97H,ALMOV AL,60HOUT 93H,AL;初始化计数器2MOV AL,0A7HOUT 97H,ALMOV AL,80HOUT 95H,AL四.接口设计题:1.某系统中8254芯片的通道0~通道2和控制端口地址分别为FFF0H~FFF6H,定义通道0工作在方式2,CLK0=2MHZ,要求输出OUT0为1KHZ的速率波;定义通道1工作在方式0,其CLK1输入外部计数事件,每计满1000个向CPU发出中断请求。
试写出8254通道0和通道1的初始化程序。
解:;8254通道0的初始化程序MOV AL,00100101BMOV DX,0FFF6HOUT DX,ALMOV AL,20HMOV DX,0FFF0HMOV DX,AL;8254通道1的初始化程序MOV AL,01100001BMOV DX,0FFF6HOUT DX,ALMOV AL,10HMOV DX,0FFF2HOUT DX,AL14.利用8254的2#计数器周期性地每隔10ms产生一次中断,已知CLK频率为2MHZ,试选择工作方式,并编写出相应初始化程序。
解答:设2#计数器的地址为72H,控制寄存器的地址为73H。
根据题意要产生周期性的中断信号,可选择方式2。
计数初值:n=10ms×2MHZ=20000=4E20H初始化程序片段如下:MOV AL,10110100BOUT 73H,ALMOV AL,20HOUT 72H,ALMOV AL,4EHOUT 72H,AL18.有如下接口原理图,如图9.13所示。
要求发光二极管L1在K1启动后亮3秒钟就熄灭;发光二极管L2亮2秒灭2秒交替进行。
编写出简化汇编源程序。
图9.13 接口图解答:据译码电路,8254的端口地址为B0H,B4H,B8H,BCH。
根据题目要求,经分析得出:计数器1工作在方式1,计数初值N=6000;计数器2工作在方式3,计数初值N=8000。
初始化程序片段如下:MOV AL,01100011BOUT 0BCH,ALMOV AL,10100111BOUT OBCH,ALMOV AL,60HOUT 0B4H,ALMOV AL,80HOUT 0B8H,AL21.已知8254芯片的A0、A1分别连接到CPU的A0、A1上,要求该芯片的1#计数器输出频率为1KHZ的方波,CLK1=20MHZ,端口地址可合理假设,试编写8254的初始化程序。