




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1总复习复习按章进行,每章提出若干个要点,要求记住各要点,并由此为中心进行深入的复习。本课程以开卷考试的方式进行,尽管是开卷考试,但要记忆的知识较多。若每个知识点都靠翻书获得,则考试时间不够。因此应当适当的进行记忆,考试时70%的知识来源于记忆,30%来源于书本,这样才能顺利攻克难关,获得较好的成绩。2描述符表、描述符、描述符表寄存器1.描述符表系统中GDT、IDT仅一个,LDT多个,每个任务对应一个LDT。⑴全局描述符表GDT:用于存放各任务公用段描述符、任务状态段TSS描述符和局部描述符表LDT描述符。⑵局部描述符表LDT:用于存放某一任务的专用描述符,包含代码段、数据段描述符等。⑶中断描述符表IDT:用于存放中断或异常描述符,中断或异常描述符称为中断门、异常门。
2.描述符包含段描述符、系统描述符和中断描述符。⑴段描述符:描述代码段、数据段属性,包括段基址、段限和其他属性,存放在GDT或LDT中,长度为8个字节。3描述符表、描述符、描述符表寄存器⑵系统描述符:描述任务状态段TSS和局部描述符表LDT的属性,包含TSS或LDT基址、段限和其他属性,存放在GDT中。⑶中断描述符:描述中断门、异常门的属性,包含中断或异常服务程序首址和其他属性,存放在中断描述符表IDT中。3.描述符表寄存器⑴全局描述符表寄存器GDTR:存放GDT表头指针,包含32位线性基址和16位限长,指向GDT首地址。⑵局部描述符表寄存器LDTR:存放GDT表项指针,即LDT描述符的选择符,指向GDT表中的LDT描述符所在表项。⑶中断描述符寄存器IDTR:存放IDT表头指针,包含IDT的基址和限长,指向IDT首地址。⑷任务寄存器TR:存放GDT表项指针,即TSS描述符的选择符,指向GDT表中的TSS描述符所在表项。4选择符、描述符寄存器1.选择符存放描述符在相应表中的序号、表的种类和请求特权级。用段寄存器存放16位选择符。
153
2102.描述符寄存器在保护模式下,当把选择符装入段寄存器时,自动地将选择符指向的描述符装入相应的描述符寄存器中。段描述符中段限单位由属性G限定,G=0为字节,
32位段限高12位为0,描述符中的20位段限为实际段限,最大段限FFFFFH,段寻址范围1MB。G=1为页(4KB),32位段限为描述符中的20位段限左移12位后加上00000FFFH,最大段限FFFFFFFFH,段寻址范围4GB
。描述符在相应表中的序号TIRPLTI=0→GDTTI=1→LDT5各种模式对应的地址类型实地址模式、虚拟8086模式和保护模式的16位模式采用16位寻址方式,保护模式的32位模式采用32位寻址方式。实地址模式和虚拟8086模式的段长为64KB,程序空间为1MB。全地址为:16位段值16位偏移量16位保护模式的段长为64KB,程序空间为1GB。全地址为:
16位选择符16位偏移量32位保护模式的段长为4GB,程序空间为64TB。全地址为:
16位选择符32位偏移量选择符用于检索
GDT、LDT
中的描述符,前
13
位指向对应表中的表项,第14位TI指定对应的表,TI=0为GDT,TI=1为LDT。前14位与16位偏移量拼接寻址空间为1GB,与32位偏移量拼接寻址空间为64TB。6中断与异常1.中断与异常的分类中断分类:可屏蔽中断INTR:可由EFLAGS中的IF位屏蔽或开通的中断。非屏蔽中断NMI:不能由软件屏蔽的中断。异常分类:自陷Trap:在出现异常条件的指令后边界检测并处理,处理后返回下一条指令。如除数为0、溢出、单步自陷异常等。故障Fault:在出现异常条件的指令前边界检测并处理,处理后返回当前指令。如段、页不存在异常等。中止Abort:无法精确定位出现异常条件的指令位置,用于报告严重错误。这类异常无法启动,为双异常,属于硬件错误。7中断与异常2.中断处理过程
CPU根据中断/异常向量号在IDT中找到中断门或异常门描述符,门描述符中的选择符指向GDT或LDT中的可执行代码段描述符,描述符中的段基址指向程序代码段基地址,门描述符中的偏移量指向中断、异常处理程序入口。中断处理对断点进行保护,将处理程序入口地址压入IP,由当前程序转入中断处理程序。运行处理程序,对中断进行处理后返回。3.响应可屏蔽中断的条件⑴当前指令运行结束⑵EFLAGS寄存器中IF=1⑶外设发送中断请求⑷该请求未被屏蔽⑸当前未处理中断或该请求的优先级大于正在处理中断的优先级。8任务转换1.任务转换的启动⑴通过段间转移JMP、段间调用CALL指令进行转换。将指令中的选择符直接加载TR。⑵发生对应IDT的中断或异常时,通过处理实现任务转换,转向中断或异常处理程序,用中断描述符中的选择符加载TR。⑶当EFLAGS中的任务嵌套位NT=1,执行返回指令时实现任务转换。用TSS中的LINK字段加载TR,转回父任务。2.任务转换涉及的数据结构TSS:任务状态段,保存任务的运行状态信息,包括通用寄存器信息、页目录表基址、任务的LDT选择符和父任务链接信息等。TSS描述符:位于GDT中,用于描述TSS的相关信息。9任务转换TSS描述符的选择符:任务转换时存入TR,指向GDT中的TSS描述符。任务的LDT选择符:存放在TSS的60H单元,任务转换时装入LDTR,指向GDT中LDT描述符。任务的父任务TSS描述符的选择符:位于该任务TSS中的LINK字段,与EFLAGS寄存器中的NT位配合,在任务返回时,将选择符装入TR,转向父任务。页目录表基地址:存放在TSS的1CH处,任务转换时装入CR3,实现页表变换。10存储系统1.半导体存储器相关指标存储元:存储1位二进制信息的物理器件。存储单元:由8个存储位组成1个字节存储单元,由2n
(n=0
~3)个字节存储单元组成1个字存储单元。存储体:主板上可有多个存储体,微机每个内存插槽中可插入一个存储体。存储体可独立工作,其位数取决于
CPU
数据总线的宽度。存储器:由1~n个存储体组成存储器,目前n最大为8。存储单元地址:为存储单元统一编号称为编址,编号即地址。存储容量:存储器中存储单元的数量,以KB、MB和GB表示。1KB=210B,1MB=220B。1GB=230B。存储周期时间:两次存储操作之间的时间间隔。11存储系统2.存储器刷新DRAM的读出是一种破坏性读出,读的同时CS上的电荷会部分泻放,加上静态下的自然泄放,信息保存时间通常小于2ms。刷新操作执行只有的访问周期,刷新时行地址递增,经译码后选择一行中的所有存储元,各存储元的输出与放大器的输入和输出端相连,信号经放大后再回写存储元,实现刷新。刷新方法有集中刷新、分散刷新和异步刷新三种方法。12可编程定时/计数器82541.功能:计数和定时2.结构:包含3个计数器。每个计数器有三个引脚CLK、GATE和OUT,内部包含16位装入器CR(存放计数初值)、16位计数器CE(进行减计数)、16位锁存器OL(根据锁存命令锁存计数器当前值)和8位状态寄存器SR(存放计数器工作状态)。
CLK:计数输入脉冲,条件允许时每来一个脉冲做一次减计数。
GATE:计数控制信号,在方式0、2、3、4中为高计数,为低停止计数。在方式1、5中正跳变启动计数
OUT:计数输出信号,当计数结束时产生OUT信号。
3.控制字
D7D6D5D4D3D2D1D0
计数器选择读/写选择工作方式选择进制选择SC1SC0RW1RW0M2M1M0BCD13可编程定时/计数器82544.计数方式方式0、1计数结束产生正跳变,通常用于中断请求。方式2、3计数结束产生脉冲信号,循环计数,通常用于脉冲分频或定时产生请求信号。方式4、5计数结束产生单个负脉冲,通常用于产生清“0”信号。
二进制计数方式最大计数值为0(65536),十进制计数方式最大计数值为0(10000)。5.当前计数值和状态值的读取方法⑴使用锁存命令读取计数值使用锁存命令,RW1RW0=00
,锁存单个CNTi当前计数值⑵使用读回命令读取计数值使用读回命令,SC1SC0=11,可同时锁存多个计数器的当前值和状态寄存器内容,当=01时用IN指令读取各计数器当前值。当=10时用IN指令读取各计数器状态值。14可编程定时/计数器82546.应用实例用8254监视一条流水线,8254口地址为40H~43H。每通过50个工件,扬声器响5秒钟,频率为2000Hz。计数时钟频率为2.5MHz。用8255的PA0控制喇叭发声,8255口地址为80H~83H。解:通道0采用工作方式2,CLK0连接光控电路,采用BCD计数,计数初值为50,只需写计数器低8位。工作控制字为:00010101。通道1采用工作方式3,BCD计数,CLK1
连接2.5MHz时钟,要产生2000Hz方波,则计数初值为:2.5*106/2000=1250,需写计数器的低8位和高8位。工作控制字为:01110111。15可编程定时/计数器8254主程序:
MOVAL,15H初始化,选择计数器0,写低字节,工作方式2,十进制计数OUT43H,ALMOVAL,50H写入计数初值OUT40H。ALSTI开中断LOP:HLT等待中断JMPLOP16可编程定时/计数器8254中断服务程序:(程序中假设8255已初始化)ORAL,01H置1计数器1的GATE1,启动计数OUT80H,ALMOVAL,77H初始化,选择计数器1,先写低字节,再写高字节,工作方式3,十进制计数OUT43H,ALMOVAL,50H写入计数初值低位字节OUT41H,ALMOVAL,12H写入计数初值高位字节OUT41H,ALMOVCX,××××HNOP指令运行××××次,延时5秒REPNOPMOVAL,00H置0计数器1的GATE,停止计数OUT80H,ALIRET
返回17可编程外围接口82551.结构包含
8
位端口
PA、PB
和
PC,可用程序设定端口工作方式,通过端口传送或接收数据。通常PA、PB作为输入/输出数据端口,PC作为控制或状态端口。PC可分为两个4位端口,与PA、PB配合使用。
2.控制字方式控制字(D7=1),设定接口工作方式及数据传送方向。
D7D6D5D4D3D2D1D0端口C位设置控制字(D7=0),对C口指定位进行复位或置位。
D7D6D5D4D3D2D1D0
1
A组工作方式A口I/OC口高位
I/OB组工作方式B口I/OC口低位
I/O0
×××写入位编码写入内容18可编程外围接口82553.工作方式方式1的输入:A口联络信号为PC3、PC4、PC5,B口联络信号为PC0、PC1、PC2。联络信号为:
—输入选通,PC4、PC2。为低时表示输入数据准备好。IBF—输入缓冲器满,PC5、PC1。由的前沿(下降沿)产生,为高时通知外设不能发送新的数据。INTR—中断请求,PC3、PC0。IBF、INTE都为高时由的后沿(上升沿)产生、表明数据锁存器满,请求CPU取走数据。INTE(中断允许)—内部控制信号。INTEA、INTEB
分别用PC4、PC2的位设置字控制。为1时允许中断,为0时禁止中断。PC端口中剩余的两位PC6、PC7可由方式控制字的D3来设置输入与输出属性。19可编程外围接口8255方式1的输出:A口联络信号为PC3、PC6、PC7,B口联络信号为PC0、PC1、PC2。联络信号为:
—输出缓冲器满。PC7、PC1。表明数据到达指定端口,通知外设取数据。的上升沿使其有效,使其无效。
—响应信号。PC6、PC2。表明外设已取走数据。INTR—中断请求。PC3、PC0。当、INTE为高,由上升沿产生,表明输出缓冲区空,发送中断请求,请求发送下一个数据。INTE为“中断允许”,INTEA、INTEB
分别用PC6、PC2的位设置字控制。为1时允许中断,为0时禁止中断。PC端口中剩余的两位PC4、PC5可由方式控制字的D3来设置输入与输出属性。20可编程外围接口82554.应用实例两台微机通过各自的8255进行通信,均使用PA口,微机甲发送,微机乙接收。双方的端口地址设置为80H~83H,数据发送长度为1KB。发送区和接收区的地址分别为:0030:0000H和0040:0000H。21可编程外围接口8255微机甲采用中断方式发送信息,数据存放地址0030:0000H。8255工作方式1,输出,使用PC7
、PC6连接、信号。微机甲方式控制字为A0H=10100000B,表示“方式控制字,PA端口工作方式1,输出”。先置
INTEA
为
1,允许中断,数据发送后,读
PC
口,测试INTRA,非零表示INTR有效,输出缓冲区空,请求CPU发送下一数据。微机乙采用查询方式接收信息,数据存放地址为0040:0000H。8255工作方式0,输入,使用PC4
、PC0
作为联络信号。微机乙方式控制字为98H=10011000B,表示“方式控制字,PA端口工作方式0,输入,PC口高位输入,低位输出”。微机乙将置1,测试PC4,检查微机甲是否发送,为低表示微机甲已发送数据,可以接收。数据接收后将置0,表明已取走数据。最后再置1,使微机甲得以发送INTR请求。22微机甲数据发送核心程序:MOVAL,10100000B写方式控制字,PA端口工作方式1,输出。OUT83H,ALMOVAL,0DH写C位设置控制字00001101,将PC6
置1,发送中断允许INTEA,允许中断
。OUT83H,ALMOVAX,030H用扩展段ES存放段地址030H,用BX存放偏移量00H,CX存放发送字节数400H=1024BMOVES,AXMOVBX,00HMOVCX,400HCON:MOVAL,ES:[BX]发送数据至PA口。MOV80H,ALL:INAL,82H读PC口数据,查看INTRA,即PC3,查询是否产生中断,无中断继续查询,有中断发送下一个数据。ANDAL,08HJZLINCBXBX指向下一个存储单元DECCX发送字节数减1,不为0继续传送。JNZCON:23微机乙数据接收核心程序:MOVAL,10011000B写方式控制字,PA端口工作方式0,输入;PC口高位输入,低位输出。OUT83H,ALMOVAL,01H将PC0
置1,使=1,表明数据未接收。OUT83H,ALMOVAX,040H用扩展段ES存放段地址040H,用BX存放偏移量00H,CX存放接收字节数400H=1024BMOVES,AXMOVBX,00HMOVCX,400HCON:INAL,82H读PC口数据,查看PC4,查询微机甲
=0?非0继续查询,为0接收数据。ANDAL,10HJNZCONINAL,80H读PA口数据,存入内存指定单元。MOVES:[BX],AL24微机乙数据接收核心程序:MOVAL,00H端口C位设置,从PC0口发送信号,‘=0,通知微机甲数据已接收。OUT83H,ALMOVAL,01H端口C位设置,置1,使微机甲可发送INTR请求。OUT83H,ALINCBXBX指向下一个存储单元DECCX接收字节数减1,不为0继续接收。JNZCON258250相关操作发送数据:LSR5=1∧IER1=1,发送INTRPT,CPU→THR
THR空允许THR空中断
接收数据:LSR0=1∧IER0=1,发送INTRPT,RBR→CPU
数据就绪允许接收数据就绪中断设置波特率:LCR0(DLAB)=1,波特率对应除数→DLH:DLL接收线路状态中断:(LSR4∨LSR3∨LSR2∨LSR1)=1∧IER2=1
终止发送允许接收数据错中断
帧格式错奇偶错
RBR中数据被冲26中断方式的异步通信程序编程步骤⑴对中断控制器发送OCW1,开放COM1或COM2对应的中断请求IRQ4、IRQ3。⑵设置线路控制寄存器LCR最高位DLAB为1,允许访问除数寄存器。⑶在波特率控制寄存器DLH、DLL中写入除数,设置数据传送波特率。⑷写线路控制寄存器LCR,设置传送方式。⑸设置Modem控制寄存器MCR,设置“允许发送”、“设备就绪”信号,实现发送与接收。⑹设置中断允许寄存器IER,开放中断。⑺进行数据传送(CPU→THR)与接收(RBR→CPU)。⑻对中断控制器发送OCW2,用EOI命令结束中断。8250初始化程序27MOVDX,3FBH选择线路控制寄存器LCR,将除数锁存器访问位DLAB置1,可访问除数锁存器DLH、DLL。初始化除数寄存器高位DLH和低位DLLMOVAL,80HOUTDX,ALMOVDX,3F9H外部时钟频率为1.8342MHz。1.8342MHz/16/2400=30H2400
波特率对应的除数为30H,即寄存器高位DLH=00H,低位DLL=30H。DLH
对应I
/
O地址为
3F9HDLL对应I/O地址为3F8H。MOVAL,0OUTDX,ALMOVDX,3F8HMOVAL,30HOUTDX,ALMOVDX,3FBH1AH=00011010,选择LCR,DLAB为0、正常发送、偶校验、停止位为1位、数据位长7位初始化线路控制寄存器LCRMOVAL,1AHOUTDX,ALMOVDX,3FCH选择Modem控制寄存器MCR,设置RTS、DTR有效,则、有效,可实现发送与接收。初始化Modem控制寄存器MCR,D4=0,D1D0=11MOVAL,03HOUTDX,ALMOVDX,3F9H选择中断允许寄存器IER,低4位写入全0,屏蔽全部中断,采用查询方式进行通信。初始化中断允许寄存器IERMOVAL,0OUTDX,AL288250通信工作程序KEEP_TRY:MOVDX,3FDH选择线路状态寄存器LSR。读入线路状态,判断是否有错误产生,若错误则转错误处理程序。INAL,DXTESTAL,1EHJNZERROR_ROUTINETESTAL,01H判断RSR寄存器数据接收是否就绪,若就绪转接收处理程序。JNZRECEIVETESTAL,20H判断THR是否为空,不空则重新读取LSR,循环判断。空则发送数据(假设数据已存放在CL中)到THR。JZKEEP_TRYMOVDX,3F8HMOVAL,CLOUTDX,ALJMPSHORTKEEP_TRY转移至程序头,循环接收、传送RECEIVE:MOVDX,3F8H从RBR接收数据。INAL,DX::29可编程中断控制器82591.8259内部结构8位中断请求寄存器IRR:用以存放外设中断请求信号IR0~IR7。有IRi中断请求时若该中断请求未被屏蔽则对应的IRRi=1。8位中断屏蔽寄存器IMR:存放与中断请求相对应的中断屏蔽信号,IMRi=1时屏蔽IRi中断请求。8位中断服务寄存器ISR:存放当前正在处理的中断级。每位对应一个中断源,ISRi=1时表示正在处理IRi中断源的请求。2.8259工作过程外设发送的中断请求信号由IRi
输入8259,当对应的IMRi≠1时将IRRi
位置1。若此时未进行中断处理或此中断优先级高于正在服务中断的优先级,则向CPU发送中断请求INT,请求中断服务。CPU响应中断请求,在第一个总线周期发送第一个应答信号。将ISRi位置1,并清除IRRi。30可编程中断控制器8259在第二个总线周期发送第二个,8259接收该信号后,通过D7
~
D0发送中断类型码。CPU依靠类型码获取中断处理程序首地址,执行中断处理程序完成数据传送。AOEI(自动结束)方式在结束时自动复位ISR中优先级别最高的位。OEI方式由软件命令复位ISR中优先级别最高的位或指定位。3.8259的命令字初始化命令字ICW1~ICW4
在系统工作前写入,且按次序写入,操作命令字OCW1~OCW3
可在任何时候写入,并且没有规定顺序。ICW1:地址线A0=0
且数据线D4=1,用于芯片控制ICW2:地址线A0=1,用于设定中断类型码高5位ICW3:地址线A0=1,用于主、从中断级联方式控制(SNGL=0)ICW4:地址线A0=1,用于工作方式控制(IC4=1)OCW1:A0=1,用于设置中断屏蔽31可编程中断控制器8259OCW2:A0=0,D4、D3=00,控制中断结束、优先权循环等OCW3:A0=0,D4、D3=01,设置中断屏蔽方式、查询和读寄存器操作。4.8259的查询功能用输入指令IN访问8259端口,此时、为低,根据地址(奇地址或偶地址)和OCW3中的控制信号可分为以下几种情况:A0=1,读取中断屏蔽寄存器IMR。A0=0,读取查询字、IRR或ISR。当OCW3中的P=1(D2=1)时读取查询字,由查询字可知是否发生中断(D7,I=1)及当前请求服务的最高优先级代码(D2~D0,W2~W0)。32可编程中断控制器8259当OCW3中的P=0且RR=1时,若RIS=0读中断请求寄存器IRR,RIS=1读中断服务寄存器ISR。若CPU通过OCW3同时发出查询命令(P=1)和读命令(RR=1)则查询优先于读,先查询后读。5.8259的级联级联时一个主片,1~8个从片,各芯片的CAS2~CAS0互联。主片在第一个响应周期通过CAS2~CAS0
送出从片标志识别码,从片接收标志识别码后在第二个总线周期发送中断类型码到总线。n个芯片级联时,可响应的最大中断数为(n–1)×8+8–(n–1)。例如4个芯片级联可响应的最大中断数为(4–1)×8+8–(4–1)=29。33应用实例用8259的IR1~IR4连接4个抢答器,编号分别为1、2、3、4。用IR0连接触发按纽,工作人员按触发按纽后在屏幕上显示“OK”,选手开始按抢答器。判别最先抢答者(原则上认为不可能存在同时抢答),在屏幕上显示选手编号。(显示采用ROMBIOS的INT10调用)。中断类型号为08~0FH,边缘触发。编写8259初始化程序,以及IR0中断处理程序和IR1~IR4中断处理程序(IR1~IR4中断处理用同一个程序)。解:对8259做初始化,写入各类命令字,屏蔽IR1~IR4。通过查询字判别有无中断产生(判别I是否为1)。产生中断表明工作人员已按触发按纽,在屏幕上显示“OK”。在中断处理程序中同样通过查询字判别产生哪一个中断(判别W2~W0数值),经判别后在屏幕上显示选手编号。34初始化程序MOVAL,13HICW1=00010011,LTIM=0,边缘触发、SNGL=1,单片,不需要ICW3、IC4
为1,需要ICW4。OUT20H,ALMOVAL,08HICW2=00001000,类型码高5位地址为00001,类型码设置为08H~0FH。OUT21H,ALMOVAL,0BHICW4=0000
1011,SFNM=0
一般全嵌套,BUF=1缓冲方式,AEOI=1自动结束中断,OUT21H,ALMOVAL,0FEHOCW1=11111110,仅开通IR0,屏蔽其他请求。OUT21H,ALMOVAL,00HOCW2=00000000,固定优先级,不指定级别,不执行结束中断操作,D3=0
表示操作命令字
OCW2。OUT20H,AL35IR0中断程序CON:MOVAL,0CHOCW3=00001100,发查询命令。D3=1
表示操作命令字
OCW3,D2=1表示P=1,查询。OUT20H,ALINAL,20H读取查询字,判别是否产生中断(I=1),若无继续查询。ANDAL,80HJZCONMOVAH,0AHAH中置入“OAH”(仅写字符代码到光标位置),AL分别置入“O”、“K”,调用INT10H,可实现将字符“O”、“K”写到当前光标位置。MOVAL,“O”INT10HMOVAL,“K”INT10HRET返回36IR1~IR4中断程序MOVAL,0FBHOCW1=11100001,开通IR1~
IR4,屏蔽其他请求。OUT21H,ALCON:MOVAL,0CHOCW3=00001100,发查询命令。D3=1
表示操作命令字
OCW3,D2=1
表示P=1,查询。OUT20H,ALINAL,20H读取查询字,判别是否产生中断(I=1),若无继续查询。CMPAL,80HJZCONANDAL,07H屏蔽AL中高五位,低三位为中断请求号1~4,正好为选手编号,加30H转换为ASCII代码。ORAL,30HINT10H调用中断10H,在屏幕上显示选手编号。RET37DMA控制器82371.8237的编程顺序⑴写命令寄存器,写入信息00000100,D2=1,禁止8237工作。⑵主清除命令,对0DAH(主片)或对0DH(从片)输入任意信息都可实现清除。⑶写命令字寄存器,控制DMA操作方式。包括设置DACK、DREQ有效电平、写方式、优先级、时序、允许8237工作、源地址改变形式、禁止或允许存储器之间的数据传送。⑷低位地址(主片为A16~A1,从片为A15~A0)送传送通道基/当前地址寄存器,高位地址送页面寄存器。⑸计数器初值送基/当前字计数器,从片为字节数减1,主片为字数减1。⑹写工作方式字,设置传送方式、地址增减、自动预置、操作类型、通道选择。⑺写屏蔽寄存器指定位,开通所选通道,允许发送DREQi请求。38DMA控制器8237从片端口地址为00H~0FH,主片端口地址为0C0H~0DEH。2.应用实例利用IBMPC/AT中级联的8237通道5,将内存起始地址为30000H的1000H个字节以单次传送,地址递增方式直接输出到外部设备。采用正常时序,固定优先级,DRCK低有效,DREQ高有效,编写初始化程序段。MOVAL,04H写命令寄存器,写入信息为00000100,D2=1,禁止8237工作。OUT0D0H,ALOUT0DAH,AL清除,向0DAH中输入任意信息都可以实现清除。MOVAL,00H写命令字00000000,DACK低有效、DREQ高有效、固定优先级、正常时序、允许DMAC工作。OUT0D0H,ALMOVAL,00先将A8~A1地址00000000送CH5(主片通道1)的基/当前地址寄存器低8位OUT0C4H,AL39MOVAL,80再将A16~A9地址10000000送CH5的基/当前地址寄存器高8位。OUT0C4H,ALMOVAL,01H将最高7位地址0000001送CH5的页面地址寄存器。地址8BH,题目中仅给出低20位地址,高4位自动补0。OUT8BH,ALMOVAX,07FFH主片按字传送,1000H字节=800H字,字计数器初值为800H-1=7FFH。先写CH5的基/当前字计数器低8位,再写基/当前字计数器高8位。OUT0C6H,ALMOVAL,AHOUT0C6H,ALMOVAL,49H写工作方式字01001001,确定单次传送、地址增、DMA读、通道5。OUT0D6H,ALMOVAL,01H写屏蔽寄存器指定位,写入00000001,清除通道5(即主片通道1),允许发送DREQ5请求。OUT0D4H,ALRETDMA控制器823740各类总线的功能,划分系统总线包含控制总线、地址总线和数据总线。控制总线和地址总线为单向总线,由CPU、FPU或DMAC送往其他部件。数据总线为双向总线,可在CPU、FPU、DMAC和其他部件之间传输。PCI总线支持即插即用(plugandplay)技术,当配置PCI适配器时,配合带即插即用功能的BIOS,可由软件自动识别插卡。总线运行频率为33MHZ,总线宽度为32位,总线数据传输率为133MB
/
s。USB支持带电热拔插,可真正实现即插即用,主机按外设的增、删自动配置系统资源。USB具有总线供电能力,可连接不带电源的微型设备。USB具有可扩展性,一个接口通过集线器可扩展为127个接口。IEEE1394具有广播和广集功能。广播功能可以将一个信息源的数据向多个目的传送,广集功能可以同时接收多个信息源的数据。IEEE1394采用节点串联方式,在设备之间建立一种对等网络连接。41键盘接口1.按键过程微机键盘为非编码键盘,采用行列扫视法,按键后产生7位按键位置编码,键盘电路对按键位置编码进行并/串转换后传送到主机,主机接收信息,经串/并转换后以按键位置编码作为索引(地址),从字符表中获取对应键盘按键的ASCII编码。2.行扫描法列步进信号为第0列,发送行步进信号,经扫描检测有无按键发生。若无则列步进到第1列,再发送行步进信号进行扫描…
。有按键发生时记录行、列值,该值既为按键位置码。3.行、列反转法先列置全0,行置全1,判断为0的行值,记录4位行编码。再行置全0,列置全1,判断为0的列值,记录3位列编码。由行、列编码组成7位按键位置码42键盘接口4.行扫描法编程使用8255进行控制,设8255端口地址为80~83H。PA口连接列线(8列),输出;PB、PC口连接行线(16行),输入。43键盘接口编程步骤:⑴初始化8255,送控制字,制定端口工作方式,信息传送方向。⑵判断有无按键发生。列送全0,读入行信息,行信息≠
FFFFH表示有按键发生,进入下一步,否则循环判别。⑶有按键发生时,列步进信号定为0列,PA口输出列值11111110,PB、PC口输入,检测行信号,查证有按键发生。有按键发生时记录列值,转查行号(转第⑸步)。⑷无按键发生时列步进至1列(列值循环左移ROL),列值变为11111101,再次判断有无按键发生,…
依此类推。⑸有按键发生时某行线为0。发送行步进信号(行值循环右移ROR,D0
→CF),判断CF=0,检测出为0的行,记录行值。⑹行对应4位二进制代码,列对应3位二进制代码,该值既为按键位置码。447.1.4行扫描法编程MOVAL,1
00
0
1
0
1
1B写方式控制字,PA端口工作方式0,输出;PB、PC端口工作方式0,输入。OUT83H,ALWAIT:MOVAL,0列码送全0OUT80H,ALINAL,81H读行码,置于AX中MOVAH,ALINAL,82HCMPAX,0FFFFH无键按下时ZF=1,继续查询。有键按下时ZF=0,运行下一条指令。JZWAITMOVBL,0BL存放按键位置码。送列号初值MOVBH,11111110B置初始扫描模式,列码送11111110BMOVCX,8共扫描8列FNCOL:MOVAL,BH由PA
口送出列码OUT80H,ALROLBH,1列码循环左移,修改列码45INAL,81H由PB、PC口读入行码MOVAH,ALINAL,82HCMPAX,0FFFFH查有无按键发生。有键按下时ZF≠
1,转查行号。JNZFNROWADDBL,1无键按下时修改列号,指向下一列LOOPFNCOL8列扫描未完,送下一列扫描码,循环检测JMPDONE8列扫描完,无键按下,转出FNROW:RORAX,1查哪一行有键按下,CF=0表示该行为0JNCRIGHTBL高
4位存放按键行号。初值为0。当CF=0时表示查到按键对应行号,当CF=1时行号加8,查下一行。ADDBL,8JMPFNROWRIGHT:MOVAL,BLAL中高4位为行号,低3位为列号:DONE:无键按下46显示接口1.字符属性及相关寄存器
⑴字符属性字节
0–不闪烁背景色0–不增强前景色
1–闪烁1–增强背景色000为黑色,001为兰色,010为绿色,100为红色。前景色011为青色,101为紫色,110为黄色,111为白色。
⑵模式控制寄存器(地址:3D8H)
D7D6D5D4D3D2D1D0
允许闪烁/亮度80×25/40×25640×200模式/其他模式图形/字符允许/禁止视频输出单色/彩色BLRGBIRGB47显示接口
⑶彩色选择寄存器(地址:3D9H,低6位有效)
xxCSI’IRGB320×200图形模式配色器对640×200图形模式为前景色图形模式为前景色亮度增对320×200图形模式为背景色字符模式为背景色亮度强对字符模式为屏幕边框颜色字符显示时R、G、B表示屏幕边框颜色,100为红色,010为绿色,001为兰色,111为白色。
⑷状态寄存器(地址:3DAH)
D7D6D5D4D3D2D1D0
垂直回扫期允许CPU访问显存光笔未接通光笔触发器状态
D0为1表示进入水平回扫期,可以传送显示数据。48显示接口2.字符显示编程入口参数为:AX–字符代码和属性、DX–行号、BX–列号、CX–页面起始偏移地址。⑴将要显示的字符存入AX,AH存放属性,AL存放字符对应的ASCII码。⑵将字符显示行号、列号、页面起始偏移地址分别存入DX、BX和CX。每4KB为一页,第0页起始偏移地址为0000H。⑶按公式计算显示字符在显存中的地址⑷选择模式控制寄存器(3D8H),设置显示模式,包括闪烁、允许视频输出、颜色、图形/字符、显示模式等设置。⑸选择显示色彩(3D9H),包括色组、背景亮度、增强、屏幕边框颜色。⑹选择状态寄存器(3DAH),判断扫描状态,确认刚进入回扫区时弹出要显示的发送字符,送入显存,并开启中断。49显示接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度科研仪器租赁合同终止及数据共享协议
- 二零二五年度铝合金门窗行业标准制定与执行合同
- 二零二五年度餐饮业酒吧合作经营合同
- 二零二五年度物流园区安全责任协议书
- 二零二五年度厨师技能大赛赛事合作协议
- 2025年度食品研发代加工生产合同
- 二零二五年度正规欠款合同范本:供应链金融应收账款融资合同
- 二零二五年度房屋抵押贷款与新能源车购置合同
- Unit 6 Whose dress is this?Period 1 Story time同步练习(含答案含听力原文无听力音频)
- 学生会发言稿简短
- 滁州城市职业学院单招《职业技能测试》参考试题库(含答案)
- 基于单片机控制的充电桩设计
- SB-T 11238-2023 报废电动汽车回收拆解技术要求
- 《商朝的发展》课件
- 开题报告-基于单片机的温度控制系统设计
- 锂电池正极材料行业分析
- 国家级省级化工园区列表
- 肩关节脱位手法复位课件
- 汽车悬架概述
- 中药饮片处方审核培训课件
- 周围静脉输液操作并发症的预防及处理
评论
0/150
提交评论