您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 东南大学微机原理复习课(接口部分)ppt课件
第二次习题(复习)课第4部分:半导体存储器第5部分:数字量输入输出总线、接口概念*接口电路(芯片)、端口地址*数据传送方式*中断电路及其处理*定时/计数器电路与应用*并行接口电路与应用*串行接口电路与应用DMA电路与应用第6部分:模拟量输入输出1Cache—主存—外存(辅存)三级存储系统结构根据运行时存取(读写)过程的不同分类RAM---SRAM;DRAM;数据,堆栈,速度(SRAM-Cache)ROM---EPROM,EEPROM,NVRAM特点;程序,固化数据,电子盘内/外存2半导体存储器关键:与处理器的接口—正确读写单元,三态,使能,选中单元:译码逻辑关系、译码器真值表MOV[55AAH],AL(DS)=8000H物理地址:855AAHA19-A0:10000101,0101,1010,1010时/CS=0容量计算:n根地址线=2n个单元A0—An-1I/O相同:(DX)=3F8HINAL,DXINCDX,OUTDX,AL3译码全译码、部分译码、线选译码常规时序(了解)片选-片内两级译码2-43-84-16译码74LS138真值表4译码(续)8086/8088有20根地址线5系统程序存放在______存储器中有可能支持程序在线升级。(A)RAM(B)ROM(C)EPROM(D)Flash-ROM答案:D例题6例题例题4.4:某系统的存储器中配备有两种芯片;容量分别为2K×8的EPROM和容量为1K×8的RAM。它采用74LS138译码器产生片选信号:Y0,Y1,Y2直接到三片EPROM(1#,2#,3#);Y4,Y5则通过一组门电路产生四个片选信号接到四片RAM(4#,5#,6#,和7#)。如题图4-1,试确定每一片存储器的寻址范围。7例题A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A04#1010005#1010016#1010107#1010111#8000H—87FFH2#8800H—8FFFH3#9000H—97FFH4#A000H—A3FFH5#A400H—A7FFH6#A800H—ABFFH7#AC00H—AFFFH8例题答案:A(08考题基本概念)9总线、接口概念地址总线(AB)——单向数据总线(DB)——双向控制总线(CB)——每根线单向1011125.接口技术—数字/模拟接口输入指令INAL,DX时序/IORD-AB译码选中输出指令OUTDX,AL时序/IOWR译码选中所有接口电路的译码、指令操作(读图),简单互连74LS138译码器多种选择设计:(不唯一,可标注说明)可选常规,易实现13I/O三种方式程序I/O(查询)--三种端口数据/状态/控制及作用,中断,效率较高,CPU响应较快,但传送由中断软件完成DMA,可以实现外设和存储器之间的数据高速传送,不需要处理器。效率较高,硬件完成,但电路复杂可编程接口芯片:独立/CS,/OE,/WR信号问题的提出:CPU与外设的工作速度不一致,如何解决效率和可靠性?145.接口技术—数字/模拟接口硬件连线:开关转换(上拉电阻)和LED驱动(限流电阻)8255/273/244I/O简单I/O:开关和LED/八段数码管的连接,输入三态缓冲74LS245/244;输出锁存器74LS273上升沿/373下降沿;15例题例:选择题8086/8088系统采用I/O端口与内存地址采取___B___方式。(A)统一编址(B)独立编址(C)部分译码(D)线选法译码在独立编址方式下,存储单元和I/O设备是靠C来区分的。A:不同的地址代码B:不同的地址总线C:不同的指令或不同的控制信号考点:概念例:填空题微机系统中一般有3种基本I/O控制方式,分别是程序(查询)方式,中断方式,和DMA方式。165-1(2)输入输出电路如教材中图5.11和5.12所示,试编一程序,实现微机连续检测开关K1-K8状态,当开关K1-K8全部闭合或全部断开时使LED亮,否则使LED熄灭,同时把开关状态存放在SwitchS单元内。MOVDX,218H;开关输入端口INAL,DXCHKS:CMPAL,0FFHJZALLONOFF;全断开CMPAL,0JNZONOFFALLONOFF:MOVAL,1JMPLEDOUTONOFF:MOVAL,0LEDOUT:DX,219H;LED端口:1亮OUTDX,ALMOVSwitchS,AL;保存开关状态例题读入I/O数据存入单元之类基本要求必须掌握17中断及中断控制器8259分类(1)外部中断不可屏蔽中断NMI/可屏蔽中断INTR(2)内部中断INTn:软中断CPU的某些运算错误引起的中断:除法错、溢出由调试程序debug设置的中断:单步/断点了解:中断屏蔽;中断优先级;中断嵌套;掌握:中断处理过程,中断服务程序,现场保护。应用——外部中断的随机性,中断程序与其他程序的通信(共享内存)中断概念:CPU与外设交换信息的一种重要方式==》硬件手段,改变CPU执行程序的顺序(程序流)18中断及中断控制器8259CPU步骤:⑴获取中断类型号;⑵将标志寄存器FLAGS的值入栈;⑶将中断允许标志IF和单步标志TF清0——屏蔽外部其它中断请求,避免CPU以单步方式执行中断处理程序;⑷保护断点——将当前下一条指令的CS和IP的值入栈;⑸根据中断类型号到中断向量表中找到中断向量,转入相应中断服务子程序(6)中断处理程序结束后,从堆栈中依次弹出IP、CS和FLAGS,然后返回主程序断点处,继续执行原来的程序CPU响应中断三个条件:外设提出中断申请;本中断未被屏蔽;CPU中断允许。中断控制:中断源---中断请求---中断响应---中断服务---中断恢复19中断响应和处理流程当前指令结束?软中断?NMI?INTR?TF=1?执行下一条指令IF=1?取类型码PSW入栈、清IF、TFCS、IP入栈调中断处理程序(进入)又有NMI?执行中断子程序IP、CS、PSW出栈返回主程序硬件监测处理YYYYYYYNIRET20中断优先级——例程习题5.4如正以单步方式运行某用户程序(该程序开放外部中断,即IF=1)的过程中执行一条除法指令时,INTR线上出现可屏蔽中断请求。然后,这条除法指令产生了除法出错中断。试指出CPU处理这三种同时出现的中断的顺序。优先级从高到低:除0-INTR-单步218259的编程两步:1、初始化编程——一次写入(编程)初始化命令字ICW1~42、工作编程——可多次写入(编程)工作命令字OCW1~3初始化编程顺序:ICW1-ICW2-[多片时写ICW3]-[需要时写ICW4]22中断处理程序INT_PROCPROCFARMOVAX,DATAMOVDS,AXDECIRQ_TIMESMOVCX,0FFFFHLOOP2:NOPLOOPLOOP2MOVAL,20HOUT20H,AL;写OCW2IRETINT_PROCENDP实验四(2)注意保护现场:相关的通用寄存器+段寄存器PUSHAXPUSHCXPUSHDXPOPDXPOPCXPOPAX补充PUSHDS补充POPDS补充CLI;关中断补充STI;开中断23T/C8253:定时器/计数器可编程8253:单通道长时间定时器的软件编程实现—软件定时器硬件级连的概念---定时中断背景为CPU和外部设备提供实时时钟:定时或延时控制定时中断、定时检测、定时扫描——Timer对外部事件计数——Counter。24T/C8253:定时器/计数器可编程定时器/计数器(减法)定时器与计数器的差别--CLK控制字:高/低字节,BIN/BCD六种工作方式(数字n个脉冲--n可编程设置)CLK/GATE/OUT的含义(作用)方式2使用(定时器---频率发生器(n分频器)---软硬件启动)软件触发—写入初值,硬件触发–Gate(08考题)时间常数计算(计数初值),通道定时时间的最大值计算计数值最大时应置时间常数为0(和LOOPCX相同)25T/C8253:定时器/计数器26各种工作方式的输出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N01N01N0127定时器/计数器—例程例题:设8253通道0-2和控制端口地址分别为300H、302H、304H、306H,定义通道0工作在方式3,CLK0=2MHz,要求通道0输出1.5KHz方波;通道1用通道0的输出作为计数脉冲,输出频率为300Hz的负脉冲序列;通道2每秒向CPU发50次中断请求。0通道工作在方式3(方波),n0=2MHz/1.5KHz=13341通道工作在方式2(速率发生器),n1=1.5KHz/300Hz=52通道工作在方式3(结束中断),当CLK2=2MHz时,n2=2MHz/50Hz=40000;当CLK2=OUT0=1.5KHz时,n2=1.5KHz/50Hz=30;当CLK2=OUT1=300Hz时,n2=300Hz/50Hz=628定时器/计数器—例程GATE0GATE1GATE2CLK0OUT0CLK1OUT1CLK2OUT2D7~D0D7~D0A0A1A1A2RDRDWRWRCBAG1G2AG2BY0A8A9A7A6A5A4A3A0M/IOCS+5V2MHz1.5KHz300Hz50次/秒中断74LS138825329MOVDX,306HMOVAL,00110111B;方式3,先读/写低8位,;后读/写低8位,BCD计数0通道初始化:OUTDX,ALMOVDX,300HMOVAL,34H;初值低8位OUTDX,ALMOVAL,13H;初值高8位OUTDX,AL1通道初始化:MOVDX,306HMOVAL,01010101B;方式2,只读/写低8位,BCD计数OUTDX,ALMOVDX,302HMOVAL,05H;初值OUTDX,AL2通道初始化:MOVDX,306HMOVAL,10010111B;方式3,只读/写低8位,BCD计数OUTDX,ALMOVDX,304HMOVAL,30H;初值OUTDX,AL30习题5.9:假定一片8253连接至1KHz的时钟,用该8253以BCD格式保持一天中的时间,精度为秒。在HOURS(小时)、MINUTES(分)、SECOND(秒)等字节均装入当前时间以后,就立即开始计时。试编写一个8253的初始化程序和一个在每秒结束时修改时间的中断程序。定时器/计数器—例程MOVDX,CNT+3;控制字端口地址MOVAL,30H;通道0,先低后高,方式0OUTDX,ALMOVAL,E7H;计数初值1000-1=999(3E7H)MOVDX,CNT;通道0端口地址OUTDX,ALMOVAL,03HOUTDX,AL┇31(续)INTSV:;中断服务程序PUSH…;保护现场INCSECONDSCMPSECONDS,60;秒=60,进位JCNEXTFMOVSECONDS,0INCMINUTSCMPMINUTS,60;分=60,进位JCNEXTFMOVMINUTS,0INCHOURSCMPHOURS,24;小时=24JCNEXTFMOVHOURS,0┇NEXTF:POP…┇32并行I/O接口i8255方式0:基本直接I/O,含输出锁存/输入缓冲无锁存;方式1:选通I/O(A口/B口,C口联络);方式2:双向I/O方式(PA口);方式1/2带INTR,可中断;IBF/OBF信号的作用(输入/输出缓冲区满/空);而方式0只能查询。8255控制字:(1)方式字,特征位D7=1;(2)PC口位控功能字,特征位D7=0,允许CPU用输出指令单独对C口的某一位写入“1”或“0”,正确的方法是通过写8255的控制寄存器方式写入;脉冲的产生:位0-1-0335-2(1)如题图5-1所示,此为开关状态检测电路和继电器控制电路。当开关K闭合时,将驱动对应的继电器(即动作);如开关处于断开状态,则无电流流过继电器线圈,继电器不动作。如系统每隔10ms检测一次开关状态和对继电器作相应控制,定时控制由8253完成。试编写对8255A的初始化程序(初始态时应保证继电
本文标题:东南大学微机原理复习课(接口部分)ppt课件
链接地址:https://www.777doc.com/doc-8541378 .html