微机原理及接口技术复习总结_第1页
微机原理及接口技术复习总结_第2页
微机原理及接口技术复习总结_第3页
微机原理及接口技术复习总结_第4页
微机原理及接口技术复习总结_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理及接口技术复习总结思考题:1.简述微型计算机的组成。微型计算机是由微处理器、存储器、输入/输出接口电路和系统总线构成的裸机系统。2.总线分为哪几种类型?微型计算机采用总线结构有什么优点?(1)分为地址总线,数据总线与控制总线三类,又称三总线。(2)微型计算机的三总线结构是一个独特的结构。采用总线结构,系统中各功能部件之间的相互关系,变成了各功能部件面向总线的单一关系。一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩展。2023/2/2微型计算机硬件系统组成微处理器:进行算数运算和逻辑运算。存储器:存储程序、数据、符号等I/O接口:使外设与微机相连。2023/2/2Intel8086微处理器结构(重点)8086的内部结构-分两部分:总线接口部件BIU:总线接口单元BIU,负责控制存贮器与I/O读写。执行部件EU:执行单元EU从指令队列中取出指令并执行。特点:BIU与EU两个单元相互独立,分别完成各自操作,可以并行执行,实现指令预取(指令读取和执行的流水线操作)取指令和执行指令分开进行,提高了速度。2023/2/22023/2/28086执行部件EU8个16位通用寄存器:AX、BX、CX、DX,这4个16位寄存器可作8位寄存器。

SP:堆栈指针,其内容与堆栈段寄存器SS的内容相加,提供堆栈操作地址。

BP:基址指针,构成段内偏移地址的一部分.SI:源变址寄存器。

DI:目的变址寄存器。16位算术逻辑单元ALU:主要是加法器。大部分指令的执行由加法器完成。16位标志寄存器标志(Flag)用于反映指令执行结果。16位字利用了9位。标志分两类:状态标志(6位):反映刚刚完成的操作结果情况。控制标志(3位:IF/TF/DF):在某些指令操作中起控制作用。2023/2/28086CPU总线接口部件段寄存器CS:16位的代码段寄存器,管理程序段。8086复位后,CS置位=FFFFH;DS:16位的数据段寄存器,管理数据段。ES:16位的附加段寄存器,管理附加(扩展)段。SS:16位的堆栈段寄存器,管理堆栈段。16位的指令指针寄存器IP:IP中的内容是下一条指令对现行代码段基地址的偏移量8086复位后,CPU执行的第一条指令的地址为FFFF0H。20位地址加法器6字节的指令队列总线接口部件BIU从内存取指令,取来的总是放在指令队列2023/2/2思考题:3、8086CPU在内部结构上由哪几部分组成?其功能是什么?【答】8086的内部结构分成两部分。总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行。4、8086的总线接口部件由那几部分组成?其功能是什么?【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。5、8086的执行单元(部件)由那几部分组成?有什么功能?【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。(1)控制器,控制指令译码,完成指令的执行等。(2)算数逻辑单元ALU,完成算数与逻辑运算。(3)标志寄存器,其中状态标志6位,存放算数逻辑单元ALU运算结果特征;控制标志3位,控制8086的3种特定操作。(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。6、简述8086CPU的流水线思想,与传统计算机有何不同。8086CPU执行转移指令时,指令队列寄存器内容如何变化?【答】(1)传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。(2)在8086CPU中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU的工作效率。(3)8086CPU执行转移指令时,首先清空当前指令队列寄存器,然后从新地址取指令重新填满指令队列。7、8086和8088是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平?【答】(1)8086/8088采用时间分隔技术与地址锁存技术,通过地址锁存允许信号ALE锁存CPU送出的地址,有效解决地址线和数据线的复用问题。

(2)ALE在T1状态有效,将CPU送出的20位地址锁存。2023/2/28086/8088CPU有20条地址线最大可寻址空间为220=1MB物理地址范围从00000H~FFFFFH8086/8088CPU将1MB空间分成许多逻辑段每个段最大限制为64KB一个存储单元有一个唯一的物理地址,逻辑地址有多个2.2.1Intel8086微处理器结构:存储器的分段管理2023/2/22.12.在8086中,逻辑地址FFFFH:0001H、00A2H:37F0H和B800H:173FH的物理地址分别是多少?(1)FFFFH:0001H的物理地址: PA=FFFFH*16+0001=FFFF1H(2)00A2H:37F0H的物理地址: PA=00A20H+37F0H=4210H(3)B800H:173FH的物理地址: PA=B8000H+173FH=B973FH2.15.8086的地址总线有多少位?其寻址范围是多少?(1)8086/8088CPU有20条地址线,最大可寻址空间为220=1MB;(2)物理地址范围从00000H~FFFFFH2.17.8086工作在最小模式和最大模式的主要特点是什么?有何区别?2.2.1Intel8086微处理器结构:如何分配各个逻辑段2023/2/2提问:8088CPU最大可寻址空间为多少?1MB一个段最大寻址空间为多少?64KB代码段物理地址由CPU的哪两个寄存器确定?堆栈段物理地址由CPU的哪两个寄存器确定?复位:CS=FFFFH,其余清除为0,IP=0000H2023/2/2习题2.18.8086的IO读/写周期与存储器读/写周期的主要差异是什么?2.20.8086怎样解决地址线和数据线的复用问题?ALE信号何时处于有效电平?2.24.8086读/写总线周期各包含多少个时钟周期?什么情况下需要插入TWAIT等待周期?应插入多少个TWAIT,取决于什么因素?什么情况下会出现空闲状态TIDLE?IO读/写周期:控制信号M/IO=0存储器读/写周期:控制信号M/IO=1采用分时复用技术。T1状态,送地址;T3状态送数据。ALE在T1状态有效,将地址锁存。第4章汇编程序设计[基本要求]1.识与记熟悉常用8086指令(2)熟悉常用伪指令的格式:DB、DW、DD、ASSUME、DUP、EQU、ORG、OFFSET、SEG等。(3)熟悉DOS、BIOS基本I/O调用格式。2、领会:完整程序设计思路;实现分支程序设计、循环程序设计、子程序设计的方法。3、简单应用:编程完成加减乘除运算、累加和运算、求平均值、最大值与最小值、查表处理、对数据按位处理。4、综合应用:完整功能的程序设计。例如查找一个字符串中的关键字、排序程序设计。1.编程计算((X+Y)*10)+Z)/X,X、Y、Z都是16位无符号数,结果存在RESULT开始的单元。算法:1)算数和扩展为2个字,4字节,用DX,AX暂存结果;2)加法考虑进位,用ADC;减法考虑借位用SBB。3)除法DIV,乘法MUL指令数据段定义:

XDW8234HYDW8988HZDWC999HWDW0,0参考代码片段:MOVAX,XMOVDX,0ADDAX,YADCDX,0MOVBX,10MOUBXADDAX,ZADCDX,0DIVXMOVW,AXMOVW+2,DX四、程序设计:1.(习题4.11)试编程序,统计由40000H开始的16K个单元中所存放的字符“A”的个数,并将结果存放在DX中。分析:1)需要循环控制,循环次数已知,数据指针可以用SI,数据段初始化为(DS)=4000H,(SI)=0000H;2)查找到“A”,可以用比较指令CMP,配合JE/JNE,LOOP(或用串操作指令SCASB)DATASEGMENTBUF DB'DFASFAAAFDFAAFFFA'COUNT EQU$-BUFNUMDW?DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATABEGIN: MOV AX,DATA MOV DS,AX MOV CX,COUNT;COUNT=16*1024 MOV DX,0 LEA SI,BUF MOV BL,'A'NEXT: CMP [SI],BL JNE OTHER INC DXOTHER: INC SI LOOP NEXTLP:JMPLP;程序陷阱,方便调试CODE ENDSEND BEGIN2.(习题4.12)统计数据块中正数与负数的个数,并将正数与负数分别送到两个缓冲区。

分析:1.测试二进制数最高位,即符号位,若为1,负数;若为0,正数2.指令可用:TEST,或SHLBLOCK DB-1,-3,5,6,-2,0,20,10NEQU$-BLOCK PLUS_D DB8DUP(?) ;正数缓冲区

MINUS_D DB8DUP(?) ;负数缓冲区

PLUS DB0 MINUS DB0…………….. MOV SI,OFFSETBLOCK MOV DI,OFFSETPLUS_D MOV BX,OFFSETMINUS_D MOV CX,N ;数据个数送CXMOVSI,OFFSETBLOCK MOVDI,OFFSETPLUS_D MOVBX,OFFSETMINUS_D MOVCX,8 ;数据个数送CXGOON:MOVAL,[SI]TESTAL,80H JNZJMIUS ;为负数,转

INCPLUS ;正数个数加一

MOV[DI],AL ;传正数

INCDI JMPAGAINJMIUS:INCMINUS ;负数个数加一

MOV[BX],ALINCBX AGAIN:INCSIDECCX JNZGOON2.(习题4.17)将BUF1开始的100字节传送到BUF2开始的单元,然后从中检索字符“#”,并将此单元换成空格字符。程序片段:DATAsegmentORG2170HBUF1DB1,2,3,4,'$',6,'$',7NEQU$-BUF1ORG1000HBUF2DB15DUP(0)DATA ENDSSTACK SEGMENTBUFFDW100DUP(0)M EQU$-BUFFSTACK ENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXMOVAX,MMOVSP,AXLEASI,BUF1 LEADI,BUF2 MOVCX,NDON1:MOVAL,[SI] MOV[DI],AL INCSI INCDI LOOPDON1 MOVAL,‘#' LEADI,BUF2 MOVCX,NDON2:CMPAL,[DI]JNZDON3MOVBYTEPTR[DI],20H;空格:20HINCDIDON3:LOOPDON2MOVAH,4CHINT21HCODE ENDSENDSTART3、(习题4.8)编写一段程序,比较两个5字节的字符串OLDS和NEWS,若相同,在RESULT置0,否则置0FFH。DATASEGMENTOLDSDB1,2,3,4,5NEWSDB1,2,3,4,ARESULTDB?DATAENDSCODESEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVSI,OFFSETOLDS MOVDI,OFFSETNEWS MOVCX,5DON:MOVAL,[SI] CMPAL,[DI]

JNZNOEQU;串不相等转 INCSIINCDILOOPDONOUTPT:MOVAL,0JMPOUTPUTNOEQU:MOVAL,0FFHOUTPUT:MOV

RESULT,ALSTOP:

MOVAH,4CHINT21HCODEENDSENDSTART4.(习题4.9)编求和Y=A1+A2+…+A100,Ai为字节。分析:1)字节累加,算法为si=si+ai。和扩展为2个字节,其中部分和低位存AL,高位扩展到AH,用于处理累加和产生的进位。2)用ADD计算字节累加和,用ADC将进位加到高位,用LOOP完成循环。LEABX,TABLE MOVCX,NLP:ADDAL,[BX] ;求和ADCAH,0INCBX;指向下一个数LOOPLP;未加完,继续MOVSUM,AX;存和

MOV

AH,4CH INT

21H

;返回DOSCODEENDSENDMAINDATA SEGMENTTABLEDB11H,22H,33H,22HNEQU$-TABLESUMDW 0DATAENDSSTACK SEGMENTBUFFDW100DUP(0)M EQU$-BUFFSTACKENDSCODE SEGMENTASUMMECS:CODE,DS:DATA,SS:STACKMIAN:MOVAX,DATAMOVDS,AXMOV AX,STACKMOV SS,AXMOVAX,MMOVSP,AX

5.(例4-7)编写程序完成求1+2+3+……N的累加和,直到累加和超过1000为止。统计被累加的自然数的个数送CN单元,累加和送SUM。【分析】1)算法:SUM=1+2+3+…用S表示部分和,即:Si=Si-1+i;i=1,2,3,…2)可用AX求累加和S,BX存自然数i。DATA SEGMENT SUMDW? CNDW?DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX ;初始化 MOVAX,0 ;0送AX MOVBX,0 ;0送BXLP: INCBXADDAX,BX ;求累加和 CMPAX,1000;条件控制 JBELP ;≤1000转LP MOVSUM,AX MOVCN,BX ;送结果 MOVAH,4CH INT21H;返回DOSCODEENDS ENDSTART6.(习题4.18)从给定串中寻找最大的值,并放到MAX单元.元素放在BUFFER开始的单元中。解:分析:(AX)=amax>ai,不交换;否则交换。CX:比较次数:循环次数=数据项数-1BX:数据指针指令选取:CMP,JA完成比较LOOP完成循环控制程序框图:(BX)元素表首地址(CX)N-1(BX)(BX)+1(CX)(CX)-1AX、[BX]中的数交换NN(CX)=0?开始Y暂停Y(AX)=[BX]?参考程序:DATAsegmentBUFFERDW21H,33H,45H,67H,098CH,10HCOUNTEQU($-BUFFER)/2MAXDW?DATA ENDS

STACK SEGMENTBUFFDW100DUP(0)M EQU$-BUFFSTACK ENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOV AX,STACKMOV SS,AXMOVCX,COUNT-1LEABX,BUFFERMOVAX,[BX]DON:INCBX;指向下一个数INCBXCMPAX,[BX];AL-[BX]JAP1;大于转MOVAX,[BX];交换P1:LOOPDONMOVMAX,AXMOVAH,4CHINT21HCODE ENDSENDSTART第5章

IO输入输出的控制方式程序传送方式中断传送方式DMA方式I/O接口是CPU与“外部世界”的中转站,位于CPU与外设间,用来协助完成数据传送和控制的逻辑电路.I/O端口:是接口电路中CPU能访问的寄存器。I/O操作:CPU对与设备相关I/O接口电路的操作,不是访问I/O设备。概念什么是I/O接口?什么是I/O端口?2023/2/2思考题:CPU和输入/输出设备之间传送的信息有哪几类?一般的IO接口电路安排有哪三类寄存器?它们各自的作用是什么?在8086/8088系统中,用哪种方法对I/O端口进行编址?8086CPU如何控制I/O设备的数据传输?2023/2/2提问:1、查询(条件)式传送方式的包含哪三个环节?【答】查询状态环节CPU寻址状态口,读取状态字检测是否满足“就绪”条件如果不满足,回到第一步读取状态字;数据传送环节2、查询式传送方式有什么优缺点?【答】查询式(条件)传送方式用于联络信号,外设较少的情形,接口简单,但CPU效率低。2023/2/2第5章自测题1、CPU和输入/输出设备之间传送的信息类型有()。A.地址信息和数据信息

B.模拟量和数字量C.控制信息,状态信息和数据信息D.A和B2、CPU连接与I/O接口的三种总线是()、()和()。3、8088可直接寻址的空间最大为()。 A、640KB B、1MB C、512MB D、2MB4、8086是()位计算机。A.8 B.16 C.32 D.645、8086CPU采用I/O接口()编址方式。6、CPU和输入/输出设备之间传送方式(、、)。7、查询(条件)式传送方式的包含()三个环节。2023/2/216、8088可直接寻址的空间最大为()。

A)640KB B)1MB C)512MB D、2MB17、8086是()位计算机。

A)8 B)16 C)32 D)6418、CPU和输入/输出设备之间传送的信息类型有()。

A)地址信息B)模拟量

C)控制信息,状态信息和数据信息D)数字量19、以下关于中断控制器8259描述错误的是()。 A)一片8259可以管理8级中断 B)不能设置中断优先级 C)在中断响应周期,8259可以提供中断类型码 D)用两片8259构成级联,以便管理15级中断2023/2/2三、问答题(看书中习题)8086CPU响应中断的条件?简述8086CPU响应中断处理过程。计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址?一般的IO接口电路安排有哪三类寄存器?它们各自的作用是什么?简述CPU与外设进行数据交换的几种常用方式与特点。简述条件传送方式的工作过程,主要适用的场合。8086CPU响应中断的条件?8086CPU响应中断后自动完成的任务是什么?软件中断有哪些特点?硬件中断有那些特点?什么是中断向量?它放在哪里?对应于类型号1CH的中断向量在哪里?如1CH中断程序从5110H:2030H开始,则中断向量应怎样存放?2023/2/22013/11/16第6章中断控制技术1.为什么要用中断?中断:外设向CPU发中断请求,CPU接收到中断请求并在一定条件下,暂时停止执行原来的程序而转去处理中断,处理好中断服务再返回继续执行原来的程序,就称为一个中断过程。中断是CPU被动的响应外设要求服务。2013/11/162.中断系统组成(1)需要中断请求——中断请求触发器(2)可以屏蔽某些外设需分别处理——中断屏蔽触发器(3)多个外设需分别处理-中断优先权(4)多个外设需允许嵌套-中断嵌套(5)CPU与外设的数据中转——数据缓冲器(6)选择外设的端口号——端口地址译码器2013/11/163.CPU响应中断要自动完成的任务

(1)关中断(2)保护断点(IP,CS,FLAG入栈) (3)给中断服务程序的入口地址4.CPU响应外中断的条件(1)有中断源发出的中断请求信号(2)开放总中断:IF=1(3)在现行指令结束后响应中断2013/11/165.8086微机中断系统8088的中断系统采用向量中断机制能够处理256个中断用中断向量号0~255区别可屏蔽中断还需要借助专用中断控制器Intel8259A实现优先权管理2013/11/16中断的分类:两类软件(内部)中断是由CPU内部事件引起的中断;与硬件无关,不执行中断响应周期,除单步中断外,内部中断不可屏蔽,优先级高于外部中断。硬件中断:8086/8088CPU有两条引脚1、NMI非屏蔽中断由正跳变NMI引入,CPU立即响应,不受中断标志位IF的控制。优先级最高,处理2、可屏蔽中断由INTR引入,受中断标志位IF的控制当IF=1时,CPU将响应这一中断请求6.2:中断的分类2013/11/16提问:软件中断有哪些特点?软件中断和硬件中断有什么不同之处?【答】软件中断是由CPU内部事件引起的中断;与硬件无关,不执行中断响应周期,除单步中断外,内部中断不可屏蔽,优先级高于外部中断。软件中断其中断的发生是确定的。硬件中断的发生是随机的,主程序中无调用点。6.2:硬件中断与软件中断的比较1.各种中断源的优先权次序是什么?软件中断>非屏蔽中断>可屏蔽中断>单步中断课堂提问:2.CPU响应外中断的条件是什么?3.CPU响应中断要自动完成的任务是什么?(1)关中断(2)保护断点(IP,CS,FLAG入栈)(3)给中断服务程序的入口地址(1)有中断源发出的中断请求信号(2)开放总中断:IF=1(3)在现行指令结束后响应中断

6.2:硬件中断6.中断向量表中断类型码:8086中断源共分256级中断,每个中断源对应一个0~255编号,称为中断类型码或中断向量号。中断向量:中断服务程序的入口地址(cs,ip)中断向量表:将所有中断向量集中放在一起.中断向量表:放在内存地址0单元开始的单元:00000H~03FFFH中断向量指针:

中断类型号*4=中断向量最低字节指针例:中断类型号为20H:中断向量放在0000:0080H开始的4个单元中。中断向量指针=20H*4=80H

假设20H号中断服务程序的入口地址:4030H:2010H问题:那么,在80~83H中依次存放的是?

0000:008010203040CS=4030HIP=2010H0000:00810000:00830000:00826.2:中断举例例题:类型号为20H的中断服务程序入口符号地址为INT-5,试写出中断向量的装入程序片断。【答】中断向量的地址:20H×4=10000000=80H

中断向量的装入参考程序: CLI PUSH DS XOR AX,AX MOV DS,AX MOV AX,OFFSETINT-5 MOV WORDPTR[080H],AX MOV AX,SEGINT-5 MOV WORDPTR[082H],AX POP DS STI…… INT-5 PROC NEAR…….IRET INT-5 ENDP2013/11/16课堂问答:1.设SP=8FFEH,8086CPU执行段间返回指令RET后,SP的值为

SP-4。2.当SP=6000H时,执行IRET指令后,SP的值为

SP-6。3.要使中断服务完成后,能正确返回,应怎样作?(IRET)6.5:中断概念举例第6章思考题一、问答题8086CPU响应中断的条件?简述8086CPU响应中断处理过程。8086CPU响应中断的条件?8086CPU响应中断后自动完成的任务是什么?软件中断有哪些特点?硬件中断有那些特点?什么是中断向量?它放在哪里?对应于类型号1CH的中断向量在哪里?如1CH中断程序从5110H:2030H开始,则中断向量应怎样存放?二、概念题8086中断源有()个。中断服务程序入口地址由()组成。中断类型号为20H,其中断向量为()。一片8259A可以管理()级中断;3片8259A可以管理()级中断。软件中断优先级与硬件中断优先级相比,()的级别高。在中断服务程序结束前,为正确返回,必须设置一条指令()。在子程序调用结束前,为正确返回,必须设置一条指令()。硬件中断是(外部引发?随机的?执行总线周期?中断类型码由?提供),软件中断是(内部引发?确定的?不执行总线周期?中断类型确定?)软件中断优先级与硬件中断优先级相比,()的级别高。2023/2/27.以下对硬件中断传送方式描述错误的是()。

A).不需要增加额外硬件

B).中断传送是一种效率更高的程序传送方式

C).进行传送的中断服务程序是预先设计好的

D).中断请求是外设随机向CPU提出的8.8086CPU允许的I/O地址线最多可达()条。

A).8B).10C).16D).209.下面关于软件中断说法错误的是()。 A.中断类型码已知 B. INTn C.不执行中断响应周期 D.中断是随机的2023/2/2第7章定时/计数器82538253的工作模式方式0——计数结束产生中断一次定时或计数,重写初值,启动新一轮的计数方式1——可编程的单脉冲(单稳)触发器

GATE边沿触发,启动新一轮计数方式2——分频器(速度波发生器)具有计数初值重装能力方式3——方波发生器具有计数初值重装能力方式4——软件触发的选通信号发生器一次定时,重写初值,启动新一轮的计数方式5——硬件触发的选通信号发生器

GATE边沿触发新一轮计数1.计数初值计数初值n=时钟频率fc/输出频率fout=定时时间Tout/时钟脉冲周期Tc2.编程命令方式命令字对8253初始化方式命令字的格式

7.2.28253控制字格式7.2:8253控制字格式SC1SC0RW1RW0M2M1M0BCD1--计数值为BCD码格式0--计数值为二进制格式M2M1M0模式选择

000模式0001模式1/10模式2/11模式3100模式4101模式500----对计数器进行锁存01----只读/写低8位字节10----只读/写高8位字节11----先读/写低8位字节,再读/写高8位字节.00----选计数器001----选计数器110----选计数器211----无意义一、概念与原理8253有()个独立定时通道。8253每个计数通道与外设接口有()()(),用途是()。可编程定时器8253的地址有()个。假设8253的端口地址为330H~333H,那么控制端口地址为(),通道0、1、2的地址为()8253的门控信号GATE作用是(),CLK端的作用是(),OUT端作用是()。8253有(种工作方式初始化定时器8253需要先写(),后写()。第7章自测题1、以下对8253门脉冲控制信号描述正确的是()

A.门脉冲控制时钟输入;

B.用门脉冲启动计数;

C.用门脉冲停止计数;

D.用门脉冲来重新启动计数;

E.A,B,C,D,均是2、以下关于可编程计数/定时器8253说法错误的是()。

A).有3个独立的16位计数/定时器

B).每个计数/定时器都有6中工作方式

C).每个定时/计数器都有时钟输入CLK、定时输出OUT和门控信号GATA D).每个定时/计数器都用二进制计数,不能用BCD码计数3、可编程计数/定时器8253的OUT端用于()。

A).输出定时信号B).输入门控信号

C).输入计数信号C).输出门控信号

已知某8253占用I/O空间地址为340H~343H,设定时器0、定时器1工作于方式3,外部提供一个时钟,频率f=2MHZ。(1)定时器1连续产生5ms的定时信号,(2)定时器0连续产生300us的定时信号。8.3:8253应用举例二、编程题8253初始化程序:MOVAL,00110110B;0号定时器,方式3MOVDX,343HOUTDX,ALMOVAX,600MOVDX,340HOUTDX,ALMOVAL,AHOUTDX,AL7.3:8253应用举例MOVAL,01110110B;1号定时器,方式3MOVDX,343HOUTDX,ALMOVAX,10000MOVDX,341HOUTDX,ALMOVAL,AHOUTDX,AL第8章可编程并行接口8255A8.1可编程并行接口8255A8.28255A的控制字8.3方式0-基本的输入/输出方式8.4方式1—选通的输入输出方式8.5方式2—双向传输方式本章小结本章习题8.1:8255A的内部结构片选信号地址总线8位端口A8位端口B8位端口C图10-18255A的内部结构1.方式控制字1D6D5D4D3D2D1D0方式选择标志A组方式:00:方式001:方式110:方式2端口A:1:输入0:输出PC7~PC4:1:输入0:输出B组方式0:方式01:方式1端口B:1:输入0:输出PC3~PC0:1:输入0:输出8.2:方式控制字

例8-1:A组方式0,A口输入,PC7-PC4输出;B组方式1,PB口输出,PC3-PC0输入。地址:80H~83H。

方式选择控制字:

10010101=95H方式选择A组方式0A口输入C口高位输出B组方式1B口输出C口低Ss输入8.2:方式控制字例题MOV AL,10010101BOUT 83H,AL2.端口C置1/0控制字0D7D6D5D4D3D2D1D0端口C置1/0控制字标志1=置10=置0000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7图5、端口C置1/0控制字8.2:端口C置1/0控制字

PA0PA1PA28255AA0A1

PB0CS+5V200+5V2K译码器D7~D0地址线8088CPUA0A1【例8-5】用8255A控制三个发光二极管依秩序循环显示。假设开关闭合时,点亮发光二极管,开关断开时息灭二极管。8.3:工作方式0例题图10-6用8255A控制三个发光二极管显示。8255A的端口地址为:

A端口:340HB端口:341HC端口:342H

控制口:343H

试编写8255初始化程序段和控制三个发光二极管显示程序段。8.3:工作方式0例题1、程序框图:8.3:工作方式0例题2、软件设计1)设A口为输出口,方式0。B口输入,方式0,则方式选择控制字为82H。2)A口输出代码:

11111110,1号发光二极管亮

11111101,2号发光二极管亮

11111011,3号发光二极管亮3)软件延时子程序:DELAY

8.3:工作方式0例题1、写出段定义:DATASEGMENTCOTREQU343H ;8255A控制口地址PORT_AEQU340H ;8255A的A口地址PORT_BEQU341HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX……………..CODEENDSEND START8.3:工作方式0例题2、8255工作方式设定MOVDX,COTRMOVAL,82H;方式0OUTDX,AL;A口为输出,B口为输入3、查询开关状态WAITFOR: MOVDX,PORT_B;B口开关扫描循环

INAL,DX TESTAL,00000001B;查询连接在PB0的开关S状态

JZ CLOSE;开关S闭合,LED1~3依次发光CALL DARK;开关S断开则LED1~3熄灭

JMP WAITFORCLOSE:CALL FLASH JMP WAITFOR参考程序:DATASEGMENTCOTREQU343H ;8255A控制口地址PORT_AEQU340H ;8255A的A口地址PORT_BEQU341HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,COTRMOVAL,82H;8255方式0OUTDX,AL;A口为输出,B口为输入WAITFOR:MOVDX,PORT_B;B口开关扫描循环

INAL,DX TESTAL,00000001B;查询连接在PB0的开关S状态

JZ CLOSE;开关S闭合,LED1~3依次发光完整程序:

CALL DARK;开关S断开则LED1~3熄灭

JMP WAITFORCLOSE:CALL FLASH JMP WAITFORFLASH PROC MOV DX,PORT_A MOV AL,11111110B ;PA0输出低电平,LED1发光

OUT DX,AL CALL DELAY MOV A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论