




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二次习题(复习)课,第4部分:半导体存储器第5部分:数字量输入输出总线、接口概念*接口电路(芯片)、端口地址*数据传送方式*中断电路及其处理*定时/计数器电路与应用*并行接口电路与应用*串行接口电路与应用DMA电路与应用第6部分:模拟量输入输出,1,Cache主存外存(辅存)三级存储系统结构,根据运行时存取(读写)过程的不同分类RAM-SRAM;DRAM;数据,堆栈,速度(SRAM-Cache)ROM-EPROM,EEPROM,NVRAM特点;程序,固化数据,电子盘,内/外存,2,半导体存储器,关键:与处理器的接口正确读写单元,三态,使能,选中单元:译码逻辑关系、译码器真值表MOV55AAH,AL(DS)=8000H物理地址:855AAHA19-A0:10000101,0101,1010,1010时/CS=0容量计算:n根地址线n个单元A0An-1I/O相同:(DX)=3F8HINAL,DXINCDX,OUTDX,AL,3,译码,全译码、部分译码、线选译码常规时序(了解)片选-片内两级译码,2-43-84-16译码,74LS138真值表,4,译码(续),8086/8088有20根地址线,5,系统程序存放在_存储器中有可能支持程序在线升级。(A)RAM(B)ROM(C)EPROM(D)Flash-ROM答案:D,例题,6,例题,例题4.4:某系统的存储器中配备有两种芯片;容量分别为2K8的EPROM和容量为1K8的RAM。它采用74LS138译码器产生片选信号:Y0,Y1,Y2直接到三片EPROM(1#,2#,3#);Y4,Y5则通过一组门电路产生四个片选信号接到四片RAM(4#,5#,6#,和7#)。如题图4-1,试确定每一片存储器的寻址范围。,7,例题,A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A04#1010005#1010016#1010107#101011,1#8000H87FFH2#8800H8FFFH3#9000H97FFH,4#A000HA3FFH5#A400HA7FFH6#A800HABFFH7#AC00HAFFFH,8,例题,答案:A,(08考题基本概念),9,总线、接口概念,地址总线(AB)单向数据总线(DB)双向控制总线(CB)每根线单向,10,11,12,5接口技术数字/模拟接口,输入指令INAL,DX时序/IORD-AB译码选中输出指令OUTDX,AL时序/IOWR译码选中所有接口电路的译码、指令操作(读图),简单互连,74LS138译码器,多种选择设计:(不唯一,可标注说明)可选常规,易实现,13,I/O三种方式,程序I/O(查询)-三种端口数据/状态/控制及作用,中断,效率较高,CPU响应较快,但传送由中断软件完成DMA,可以实现外设和存储器之间的数据高速传送,不需要处理器。效率较高,硬件完成,但电路复杂,可编程接口芯片:独立/CS,/OE,/WR信号,问题的提出:CPU与外设的工作速度不一致,如何解决效率和可靠性?,14,5接口技术数字/模拟接口,硬件连线:,开关转换(上拉电阻)和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来区分的。:不同的地址代码:不同的地址总线:不同的指令或不同的控制信号,考点:概念,例:填空题微机系统中一般有3种基本I/O控制方式,分别是程序(查询)方式,中断方式,和DMA方式。,16,5-1(2)输入输出电路如教材中图5.11和5.12所示,试编一程序,实现微机连续检测开关K1-K8状态,当开关K1-K8全部闭合或全部断开时使LED亮,否则使LED熄灭,同时把开关状态存放在SwitchS单元内。MOVDX,218H;开关输入端口INAL,DXCHKS:CMPAL,0FFHJZALLONOFF;全断开CMPAL,0JNZONOFFALLONOFF:MOVAL,JMPLEDOUTONOFF:MOVAL,0LEDOUT:DX,219H;LED端口:1亮OUTDX,ALMOVSwitchS,AL;保存开关状态,例题,读入I/O数据存入单元之类基本要求必须掌握,17,中断及中断控制器8259,分类(1)外部中断不可屏蔽中断NMI/可屏蔽中断INTR(2)内部中断INTn:软中断CPU的某些运算错误引起的中断:除法错、溢出由调试程序debug设置的中断:单步/断点,了解:中断屏蔽;中断优先级;中断嵌套;掌握:中断处理过程,中断服务程序,现场保护。应用外部中断的随机性,中断程序与其他程序的通信(共享内存),中断概念:CPU与外设交换信息的一种重要方式=硬件手段,改变CPU执行程序的顺序(程序流),18,中断及中断控制器8259,CPU步骤:获取中断类型号;将标志寄存器FLAGS的值入栈;将中断允许标志IF和单步标志TF清0屏蔽外部其它中断请求,避免CPU以单步方式执行中断处理程序;保护断点将当前下一条指令的CS和IP的值入栈;根据中断类型号到中断向量表中找到中断向量,转入相应中断服务子程序(6)中断处理程序结束后,从堆栈中依次弹出IP、CS和FLAGS,然后返回主程序断点处,继续执行原来的程序,CPU响应中断三个条件:外设提出中断申请;本中断未被屏蔽;CPU中断允许。,中断控制:中断源-中断请求-中断响应-中断服务-中断恢复,19,中断响应和处理流程,硬件监测处理,Y,Y,Y,Y,Y,Y,Y,N,IRET,20,中断优先级例程,习题5.4如正以单步方式运行某用户程序(该程序开放外部中断,即IF=1)的过程中执行一条除法指令时,INTR线上出现可屏蔽中断请求。然后,这条除法指令产生了除法出错中断。试指出CPU处理这三种同时出现的中断的顺序。,优先级从高到低:除0-INTR-单步,21,8259的编程,两步:1、初始化编程一次写入(编程)初始化命令字ICW142、工作编程可多次写入(编程)工作命令字OCW13初始化编程顺序:ICW1-ICW2-多片时写ICW3-需要时写ICW4,22,中断处理程序,INT_PROCPROCFARMOVAX,DATAMOVDS,AXDECIRQ_TIMESMOVCX,0FFFFHLOOP2:NOPLOOPLOOP2MOVAL,20HOUT20H,AL;写OCW2IRETINT_PROCENDP,实验四(2)注意保护现场:相关的通用寄存器+段寄存器,23,T/C8253:定时器/计数器,可编程8253:单通道长时间定时器的软件编程实现软件定时器硬件级连的概念-定时中断,背景为CPU和外部设备提供实时时钟:定时或延时控制定时中断、定时检测、定时扫描Timer对外部事件计数Counter。,24,T/C8253:定时器/计数器,可编程定时器/计数器(减法)定时器与计数器的差别-CLK控制字:高/低字节,BIN/BCD六种工作方式(数字n个脉冲-n可编程设置)CLK/GATE/OUT的含义(作用)方式2使用(定时器-频率发生器(n分频器)-软硬件启动)软件触发写入初值,硬件触发Gate(08考题)时间常数计算(计数初值),通道定时时间的最大值计算计数值最大时应置时间常数为0(和LOOPCX相同),25,T/C8253:定时器/计数器,26,各种工作方式的输出波形,27,定时器/计数器例程,例题:设8253通道0-2和控制端口地址分别为300H、302H、304H、306H,定义通道0工作在方式3,CLK0=2MHz,要求通道0输出1.5KHz方波;通道1用通道0的输出作为计数脉冲,输出频率为300Hz的负脉冲序列;通道2每秒向CPU发50次中断请求。,0通道工作在方式3(方波),n02MHz/1.5KHz13341通道工作在方式2(速率发生器),n11.5KHz/300Hz52通道工作在方式3(结束中断),当CLK22MHz时,n22MHz/50Hz40000;当CLK2OUT01.5KHz时,n21.5KHz/50Hz30;当CLK2OUT1300Hz时,n2300Hz/50Hz6,28,定时器/计数器例程,GATE0GATE1GATE2CLK0OUT0CLK1OUT1CLK2OUT2,D7D0,D7D0,A0,A1,A1,A2,RD,RD,WR,WR,CBA,G1,G2A,G2B,Y0,A8,A9,A7,A6,A5,A4,A3,A0,M/IO,CS,+5V,2MHz,1.5KHz,300Hz,50次/秒中断,74LS138,8253,29,MOVDX,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,AL,30,习题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,0NEXTF: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-0,33,5-2(1)如题图5-1所示,此为开关状态检测电路和继电器控制电路。当开关K闭合时,将驱动对应的继电器(即动作);如开关处于断开状态,则无电流流过继电器线圈,继电器不动作。如系统每隔10ms检测一次开关状态和对继电器作相应控制,定时控制由8253完成。试编写对8255A的初始化程序(初始态时应保证继电器不动作)和完成上述功能的检测、控制程序。设8255A地址为60H63H。,例题,34,方式0A出B入,开关Si闭合时PBi=1,PAi=0低电平时继电器Ri吸合INIT:MOVAL,1000X01XBMOVDX,63HOUTDX,ALMOVAL,0MOVDX,60HOUTDX,AL;PA输出0:继电器不动作;10ms执行一次:MOVDX,61HINAL,DXMOVSbyte,AL;读PB,存入Sbyte单元:MOVAL,Sbyte;检测开关,输出存CTRLbyte单元NOTALMOVCTRLbyte,AL:MOVAL,CTRLbyteMOVDX,60H;PAOUTDX,AL,35,串行I/O接口8250/8251,基本概念:同步/异步通信,波特率/传输字符速率的关系,单工/双工,调制解调,RS232电平标准,异步通信数据格式:起始位(1),数据位(5-8,先低后高),奇偶校验*1,停止位(1-2),=每位时间宽度=1/波特率。8250:结构特征:双缓冲器数据收发都有移位寄存器;编程:3根地址线=10个寄存器,寻址表5.10;传输线控制寄存器(DLAB位)传输线状态寄存器(溢出:寄存器被覆盖,(a)发送太快,没有来得及送出,(b)接收太慢,没有及时读取)除数寄存器(波特率分频系数),(DX)=3F8H,OUTDX,AL,36,例题,习题5(2).38250的主参考时钟频率为1.8432MHZ,其BAUDROUT和RCLK相连。试完成以下要求的初始化程序设计:每字符的数据位数位7,1位停止位,奇校验,波特率为1200B/S,允许发送器空中断。设8250的端口及寄存器地址从02C0H开始。,波特率为1200B/S,对应除数=0060H,P292表5.11设寄存器首地址02C0H,P289表5.10,37,例题,MOVDX,02C0H+3;线路控制寄存器MOVAL,80H;DLAB=1OUTDX,ALMOVDX,02C1H;访问的是除数寄存器MOVAL,0OUTDX,ALDECDX;也可以MOVDX,2C0HMOVAL,60HOUTDX,AXMOVDX,2C0H+3;线路控制寄存器DLAB=0MOVAL,00001010B;数据位数位7,1位停止位,奇校验OUTDX,ALMOVDX,2C1H;访问的是中断允许寄存器MOVAL,00000010BOUTDX,AL,38,已知异步串行通信数据格式为数据位7,奇偶校验位0,停止位1,从线路接收端收到的字符波形(包括起始位)看,数据位依次为0,1,0,0,1,1,1,0,1,如果收发双方波特率相同且数据正确,则发送的字符数据为_。(A)39H(B)4EH(C)74H(D)9DH答案:A,例题,39,DMAC直接存储器访问8237,基本概念、DMAC的作用(原理):I/O外设与存储器之间高速数据交换;外设或存储器通过AEN信号区分MPU/DMAC之一控制总线;,CPU,DMAC,外设,i=0,1,2,3每个通道可独立响应外部DMA请求,40,直接存储器访问DMA控制器8237工作时需要提供的基本参数有_B_。(A)处理器型号(B)存储器基地址和数据字节数(C)I/O端口地址和数据字节数(D)级联DMA控制器个数,例题,41,第二次习题(复习)课,第4部分:半导体存储器第5部分:数字量输入输出总线、接口概念*接口电路(芯片)、端口地址*数据传送方式*中断电路及其处理*定时/计数器电路与应用*并行接口电路与应用*串行接口电路与应用DMA电路与应用第6部分:模拟量输入输出,42,模拟量接口A/D-D/A,基本概念:多路转换开关MUX和采样保持器S/H的主要作用;ADC双积分、逐次逼近、V/F变换型ADC0809:8位8通道逐次逼近型模数转换器;AD574A:12位单通道;精度:相对满量程而言,分辨率:对信号灵敏度,与位数相关;Vref对转换精度的影响(精度关键之一);模拟地-数字地:相同基准,单点相连(共地)掌握:接口编程ADC/DAC的转换控制,43,模拟量接口A/D-D/A,接口电路简单互连:接口电路与简单I/O类似(1)数据线:8位,D7D0通常同名互连(2)地址线:经译码电路产生片选信号,其中若干连至芯片/CS,/CE74LS138(3)控制信号线:/RD,/IORD接/OE(输出允许)/WR,/IOWR接/WE(写入允许,/LE,START,ALE等),无独立片选芯片,44,5接口技术数字/模拟接口,接口应用程序片断编程:,根据指定端口地址,读取相关信息(模拟量或数字量,如为A/D应先启动转换,延时或判断EOC读取),按设计要求处理后保存到变量单元或输出。MOVDX,INPORT,INAL,DX,MOVV1,AL,(处理).MOVDX,OUTPORT,OUTDX,AL注意(想象程序片断运行的方式,初初始化芯片和单元外,一般为定时执行或中断执行,如需要记忆以前信息,一般存放在内存单元中,用于比较等,而不是寄存器中)(记忆单元的概念),45,利用DAC0832产生如图6-1所示的阶梯波。要求:画出硬件连线图,编写D/A转换软件。,例题,46,主程序查计数,输出ROUNTINE:CALLTIMINIT;定时器及中断初始化RT1:XORAL,ALMOVTIMCNT,ALMOVAL,0MOVDAOUT0,AL;上次输出记忆单元,每次加StepMOVDX,DAPORTOUTDX,ALRT2:(CALLDELAY);延迟程序1ms,修改一次TIMCNT单元MOVAL,TIMCNTCMPAL,8JNCONECYCLEMOVAL,DAOUT0ADDAL,STEP;DA台阶高度MOVDAOUT0,ALMOVDX,DAPORTOUTDX,ALJMPRT2ONECYCLE:(JMPRT1)1ms中断修改一次TIMCNT单元INT:MOVAL,TIMCNTINCALMOVTIMCNT,ALIRET,47,例题,课本P344:图6.27,ADC0809+i8255习题6.1模拟量输入输出系统中的数字地和模拟地应如何处理?为什么?A:相同电位,单点相联避免多点电位差引起地线上环流,影响精度习题6.4:综合设计型ADC0809设计一个数据采集系统,采用中断方式,EOC接至8259A的IRQ2,每隔200s采样一个数据。试完成:硬件设计,画出连线图(不包括8259A);软件设计,包括8255A、8253的初始化及中断服务程序。难度考试(不要求8255的初始化),48,设计题有多种方案(单一通道,或8通道轮流转换,顺序存入缓冲记忆单元)例:8255PA0809D0-D78255PBPB0-PB2:0809ADDC-A、B、C,PB3-0809ALE0809OE-+5V如果ALE用PC口位控则更加简单8253OUT00809(200uS定时)START,EOCIRQ2CLK02MHzAD_BUFDB400DP(0);AD缓冲记忆区,假定需要采集400个数据INDEXDW0;计数指针初始化:MOVAL,10011001B;A口入,B口出,方式0MOVDX,PORT8255;控制口OUTDX,AL,49,MOVDX,PORT8255BMOVAL,00000000B;ALE=”0”,选Ch0,例首次选择CH0OUTDX,ALMOVAL,00001000B;ALE=”1”,锁存CH0*OUTDX,ALMOVAL,00110100BMOVDX,PORT8253+3;8253计数器0初始化,方式2,16位,二进制OUTDX,ALMOVAL,LOW400MOVDX,PORT8253OUTDX,ALMOVAL,HIGH400OUTDX,AL;200us初值(2MHz,400分频);8259初始化STI,50,(*通道选择改变)MOVAL,00000XXXB;选通道,锁存XXX可变000-111MOVDX,PORT8255PBOUTDX,ALMOVAL,00001XXXB;产生脉冲_|_OUTDX,AL;初始化INDEXMOVAX,0MOVADINDEX,AX;转换计数器MOVCHINDEX,AL;通道计数器中断1:读取转换结果,存入单元,再选择通道(锁存),等下次转换INT_PROC:PUSHMOVDX,PORT8255PAINAL,DX;读取转换值MOVAD_BUF,AL;保存至单元MOVAL,00000XXXB;选通道,锁存XXX可变000-111MOVDX,PORT8255PBOUTDX,ALMOVAL,00001XXXB;产生脉冲_|_OUTDX,AL;ALE高电平锁存通道POP.IRET,51,中断2:不选通道,连续存入指定单元区INT_PROC:PUSHMOVDX,PORT8255PAINAL,DXMOVBX,INDEX;单元指针MOVAD_BUFBX,ALINCINDEXCMPINDEX,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华夏银行乌鲁木齐市天山区2025秋招金融科技岗笔试题及答案
- 华夏银行苏州市常熟市2025秋招面试典型题目及参考答案
- 华夏银行南京市江宁区2025秋招半结构化面试题库及参考答案
- 浦发银行济宁市任城区2025秋招群面案例总结模板
- 2025年杭州市临平区事业单位招聘25人笔试备考题库及答案详解一套
- 2025年6月浙江秀洲区长水街道公开招聘国企工作人员2人笔试参考题库附带答案详解
- 南昌辅警笔试题型及答案
- 民政局笔试试题及答案
- 2024嘉峪关市公务员行测及参考答案详解(B卷)
- 浦发银行马鞍山市雨山区2025秋招数据分析师笔试题及答案
- 选煤厂原煤分级筛技术操作规程
- 方物电子教室q2用户手册
- 消防管道支架工程量计算表
- 应用成型的双面彩钢板复合风管代替传统的铁皮风管
- JJF(石化)006-2018漆膜弹性测定器校准规范
- GB/T 700-2006碳素结构钢
- 东华软件需求调研提纲汇总版与03-02同步
- 腹腔镜下肾癌根治术
- 如何学好初中数学-课件
- 车辆交接协议书(标准版)
- 满族萨满教衰落原因探析论文
评论
0/150
提交评论