(推荐)东南大学微机原理复习课(接口部分).ppt

上传人:rrsccc 文档编号:10255786 上传时间:2021-05-03 格式:PPT 页数:60 大小:1.58MB
返回 下载 相关 举报
(推荐)东南大学微机原理复习课(接口部分).ppt_第1页
第1页 / 共60页
(推荐)东南大学微机原理复习课(接口部分).ppt_第2页
第2页 / 共60页
(推荐)东南大学微机原理复习课(接口部分).ppt_第3页
第3页 / 共60页
(推荐)东南大学微机原理复习课(接口部分).ppt_第4页
第4页 / 共60页
(推荐)东南大学微机原理复习课(接口部分).ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《(推荐)东南大学微机原理复习课(接口部分).ppt》由会员分享,可在线阅读,更多相关《(推荐)东南大学微机原理复习课(接口部分).ppt(60页珍藏版)》请在三一文库上搜索。

1、1,第二次习题(复习)课,第4部分:半导体存储器 第5部分: 数字量输入输出 总线、接口概念 *接口电路(芯片)、端口地址 * 数据传送方式 * 中断电路及其处理 *定时/计数器电路与应用 * 并行接口电路与应用 * 串行接口电路与应用 DMA电路与应用 第6部分:模拟量输入输出,2,Cache主存外存(辅存)三级存储系统结构,根据运行时存取(读写)过程的不同分类 RAM-SRAM;DRAM ;数据,堆栈,速度(SRAM-Cache) ROM-EPROM,EEPROM,NVRAM特点; 程序,固化数据,电子盘,内/外存,3,半导体存储器,关键:与处理器的接口正确读写单元,三态,使能, 选中单元

2、:译码逻辑关系、译码器真值表 MOV 55AAH,AL (DS)=8000H 物理地址: 855AAH A19-A0: 1000 0101,0101,1010,1010 时/CS=0 容量计算:n根地址线n个单元A0An-1 I/O相同: (DX)=3F8H IN AL,DX INC DX, OUT DX,AL,4,译码,全译码、部分译码、线选译码 常规时序(了解) 片选-片内两级译码,2-4 3-8 4-16 译码,74LS138真值表,5,译码(续),8086/8088有20根地址线,6,系统程序存放在_存储器中有可能支持程序在线升级。 (A) RAM (B) ROM (C) EPROM

3、(D) Flash-ROM 答案:D,例题,7,例题,例题4.4:某系统的存储器中配备有两种芯片;容量分别为2K8的EPROM和容量为1K8的RAM。它采用74LS138译码器产生片选信号:Y0,Y1,Y2直接到三片EPROM(1#,2#,3#);Y4,Y5则通过一组门电路产生四个片选信号接到四片RAM(4#,5#,6#,和7#)。如题图4-1,试确定每一片存储器的寻址范围。,8,例题,A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 4# 1 0 1 0 0 0 5# 1 0 1 0 0 1 6# 1 0 1 0 1 0 7# 1 0

4、 1 0 1 1,1# 8000H87FFH 2# 8800H8FFFH 3# 9000H97FFH,4# A000HA3FFH 5# A400HA7FFH 6# A800HABFFH 7# AC00HAFFFH,9,例题,答案:A,(08考题 基本概念),10,总线、接口概念,地址总线(AB)单向 数据总线(DB )双向 控制总线(CB)每根线单向,11,12,13,5接口技术数字/模拟接口,输入指令IN AL,DX 时序 /IORD- AB译码选中 输出指令OUT DX,AL 时序 /IOWR 译码选中 所有接口电路的译码、指令操作(读图),简单互连,74LS138译码器,多种选择设计:(

5、不唯一,可标注说明) 可选常规,易实现,14,I/O三种方式,程序I/O(查询)-三种端口数据/状态/控制及作用, 中断,效率较高,CPU响应较快,但传送由中断软件完成 DMA,可以实现外设和存储器之间的数据高速传送,不需要处理器。效率较高,硬件完成,但电路复杂,可编程接口芯片: 独立/CS, /OE, /WR 信号,问题的提出:CPU与外设的工作速度不一致,如何解决效率和可靠性?,15,5接口技术数字/模拟接口,硬件连线:,开关转换(上拉电阻)和LED驱动(限流电阻),8255/273/244 I/O,简单I/O:开关和LED/八段数码管的连接,输入三态缓冲74LS245/244;输出锁存器

6、74LS273上升沿/373下降沿;,16,例题,例:选择题 8086/8088系统采用I/O端口与内存地址采取_B_方式。 (A) 统一编址 (B) 独立编址 (C) 部分译码 (D) 线选法译码 在独立编址方式下,存储单元和I/O设备是靠 C 来区分的。 :不同的地址代码 :不同的地址总线 :不同的指令或不同的控制信号,考点:概念,例:填空题 微机系统中一般有3 种基本I/O控制方式,分别是程序(查询)方式, 中断方式,和DMA方式。,17,5-1(2)输入输出电路如教材中图5.11和5.12所示,试编一程序,实现微机连续检测开关K1-K8状态,当开关K1-K8全部闭合或全部断开时使LED

7、亮,否则使LED熄灭,同时把开关状态存放在SwitchS单元内。 MOV DX,218H ;开关输入端口 IN AL,DX CHKS: CMP AL,0FFH JZ ALLONOFF ;全断开 CMP AL,0 JNZ ONOFF ALLONOFF: MOV AL, JMP LEDOUT ONOFF: MOV AL,0 LEDOUT: DX,219H ;LED端口:1 亮 OUT DX,AL MOV SwitchS,AL ;保存开关状态,例题,读入I/O数据存入单元之类基本要求必须掌握,18,中断及中断控制器8259,分类 (1)外部中断 不可屏蔽中断NMI/可屏蔽中断INTR (2)内部中断

8、 INT n:软中断 CPU的某些运算错误引起的中断:除法错、溢出 由调试程序debug设置的中断:单步/断点,了解:中断屏蔽;中断优先级;中断嵌套; 掌握:中断处理过程,中断服务程序,现场保护。 应用外部中断的随机性,中断程序与其他程序的通信(共享内存),中断概念: CPU与外设交换信息的一种重要方式 =硬件手段,改变CPU执行程序的顺序(程序流),19,中断及中断控制器8259,CPU步骤: 获取中断类型号; 将标志寄存器FLAGS的值入栈; 将中断允许标志IF和单步标志TF清0屏蔽外部其它中断请求,避免CPU以单步方式执行中断处理程序; 保护断点将当前下一条指令的CS和IP的值入栈; 根

9、据中断类型号到中断向量表中找到中断向量,转入相应中断服务子程序 (6)中断处理程序结束后,从堆栈中依次弹出IP、CS和FLAGS,然后返回主程序断点处,继续执行原来的程序,CPU响应中断三个条件:外设提出中断申请;本中断未被屏蔽;CPU中断允许。,中断控制: 中断源-中断请求-中断响应-中断服务-中断恢复,20,中断响应和处理流程,硬件监测处理,Y,Y,Y,Y,Y,Y,Y,N,IRET,21,中断优先级例程,习题5.4 如正以单步方式运行某用户程序(该程序开放外部中断,即IF=1)的过程中执行一条除法指令时,INTR线上出现可屏蔽中断请求。然后,这条除法指令产生了除法出错中断。试指出CPU处理

10、这三种同时出现的中断的顺序。,优先级从高到低:除0-INTR-单步,22,8259的编程,两步: 1、初始化编程一次写入(编程) 初始化命令字ICW14 2、工作编程可多次写入(编程) 工作命令字OCW13 初始化编程顺序: ICW1 -ICW2 -多片时写ICW3 -需要时写ICW4,23,中断处理程序,INT_PROC PROC FAR MOV AX,DATA MOV DS,AX DEC IRQ_TIMES MOV CX, 0FFFFH LOOP2:NOP LOOP LOOP2 MOV AL,20H OUT 20H,AL;写OCW2 IRET INT_PROC ENDP,实验四(2)注意保

11、护现场:相关的通用寄存器+段寄存器,24,T/C 8253:定时器/计数器,可编程8253:单通道长时间定时器的软件编程实现软件定时器 硬件级连的概念-定时中断,背景 为CPU和外部设备提供实时时钟: 定时或延时控制 定时中断、定时检测、定时扫描Timer 对外部事件计数Counter。,25,T/C 8253:定时器/计数器,可编程定时器/计数器(减法) 定时器与计数器的差别-CLK 控制字:高/低字节,BIN/BCD 六种工作方式(数字n个脉冲-n可编程设置) CLK/GATE/OUT的含义(作用) 方式2使用(定时器-频率发生器(n分频器)-软硬件启动) 软件触发写入初值,硬件触发 Ga

12、te (08考题) 时间常数计算(计数初值) ,通道定时时间的最大值计算 计数值最大时应置时间常数为0(和LOOP CX相同),26,T/C 8253:定时器/计数器,27,各种工作方式的输出波形,28,定时器/计数器例程,例题: 设8253通道0-2和控制端口地址分别为300H、302H、304H、306H,定义通道0工作在方式3,CLK0=2MHz,要求通道0输出1.5KHz方波;通道1用通道0的输出作为计数脉冲,输出频率为300Hz的负脉冲序列;通道2每秒向CPU发50次中断请求。,0通道工作在方式3(方波),n02MHz/1.5KHz1334 1通道工作在方式2(速率发生器),n11.

13、5KHz/300Hz5 2通道工作在方式3(结束中断), 当CLK22MHz时, n22MHz/50Hz40000; 当CLK2OUT01.5KHz时, n21.5KHz/50Hz30 ; 当CLK2OUT1300Hz时, n2300Hz/50Hz6,29,定时器/计数器例程,GATE0GATE1GATE2CLK0 OUT0 CLK1 OUT1 CLK2 OUT2,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次/秒中断,74

14、LS138,8253,30,MOVDX,306H MOVAL,00110111B ;方式3,先读/写低8位, ;后读/写低8位, BCD计数 0通道初始化: OUTDX,AL MOVDX,300H MOVAL,34H ;初值低8位 OUTDX,AL MOVAL,13H ;初值高8位 OUTDX,AL 1通道初始化: MOVDX,306H MOVAL,01010101B ;方式2,只读/写低8位, BCD计数 OUTDX,AL MOVDX,302H MOVAL,05H ;初值 OUTDX,AL 2通道初始化: MOVDX,306H MOVAL,10010111B;方式3,只读/写低8位,BCD计

15、数 OUTDX,AL MOVDX,304H MOVAL,30H;初值 OUTDX,AL,31,习题5.9: 假定一片8253连接至1KHz的时钟,用该8253以BCD格式保持一天中的时间,精度为秒。在HOURS(小时)、MINUTES(分)、SECOND(秒)等字节均装入当前时间以后,就立即开始计时。试编写一个8253的初始化程序和一个在每秒结束时修改时间的中断程序。,定时器/计数器例程,MOV DX, CNT+3;控制字端口地址 MOV AL, 30H;通道0,先低后高,方式0 OUT DX, AL MOV AL, E7H;计数初值1000-1=999(3E7H) MOV DX, CNT;通

16、道0端口地址 OUT DX, AL MOV AL, 03H OUT DX, AL ,32,(续) INTSV: ;中断服务程序 PUSH ;保护现场 INC SECONDS CMP SECONDS,60;秒=60,进位 JC NEXTF MOV SECONDS,0 INC MINUTS CMP MINUTS,60 ;分=60,进位 JC NEXTF MOV MINUTS,0 INC HOURS CMP HOURS,24 ;小时=24 JC NEXTF MOV HOURS,0 NEXTF: POP ,33,并行I/O接口 i8255,方式0:基本直接I/O,含输出锁存/输入缓冲无锁存; 方式1:

17、选通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,34,5-2(1)如题图5-1 所示,此为开关状态检测电路和继电器控制电路。当开关K 闭合时,将驱动对应的继电器(即动作);如开关处于断开状态,则无电流流过继电器线圈,继电器不动作。如系统每隔10

18、ms 检测一次开关状态和对继电器作相应控制,定时控制由8253 完成。试编写对8255A 的初始化程序(初始态时应保证继电器不动作)和完成上述功能的检测、控制程序。设8255A 地址为60H 63H。,例题,35,方式0 A出 B入, 开关Si闭合时PBi=1, PAi=0低电平时继电器Ri吸合 INIT: MOV AL,1000X01XB MOV DX,63H OUT DX,AL MOV AL,0 MOV DX,60H OUT DX,AL;PA输出0:继电器不动作 ;10ms执行一次: MOV DX,61H IN AL,DX MOV Sbyte,AL ;读PB,存入Sbyte单元 : MOV

19、 AL,Sbyte ; 检测开关,输出存CTRLbyte单元 NOT AL MOV CTRLbyte,AL : MOV AL,CTRLbyte MOV DX,60H ;PA OUT DX,AL,36,串行I/O接口 8250/8251,基本概念:同步/异步通信,波特率/传输字符速率的关系,单工/双工,调制解调,RS232电平标准,异步通信数据格式 : 起始位(1),数据位(5-8,先低后高) ,奇偶校验*1,停止位(1-2) ,=每位时间宽度=1/波特率。 8250: 结构特征:双缓冲器数据收发都有移位寄存器; 编程:3根地址线=10个寄存器,寻址表5.10; 传输线控制寄存器(DLAB位)

20、传输线状态寄存器(溢出:寄存器被覆盖,(a)发送太快,没有来得及送出,(b)接收太慢,没有及时读取) 除数寄存器(波特率分频系数),(DX)=3F8H, OUT DX,AL,37,例题,习题5(2).3 8250的主参考时钟频率为1.8432MHZ,其BAUDROUT和RCLK相连。试完成以下要求的初始化程序设计: 每字符的数据位数位7,1位停止位,奇校验,波特率为1200B/S,允许发送器空中断。设8250的端口及寄存器地址从02C0H开始。,波特率为1200B/S,对应除数=0060H ,P292表5.11 设寄存器首地址02C0H,P289表5.10,38,例题,MOV DX, 02C0

21、H+3;线路控制寄存器 MOV AL, 80H;DLAB=1 OUT DX, AL MOV DX, 02C1H;访问的是除数寄存器 MOV AL, 0 OUT DX, AL DEC DX ;也可以MOV DX, 2C0H MOV AL, 60H OUT DX, AX MOV DX, 2C0H+3;线路控制寄存器 DLAB=0 MOV AL, 00001010B ;数据位数位7,1位停止位,奇校验 OUT DX, AL MOV DX, 2C1H ;访问的是中断允许寄存器 MOV AL, 00000010B OUT DX, AL,39,已知异步串行通信数据格式为数据位7,奇偶校验位0,停止位1,从

22、线路接收端收到的字符波形(包括起始位)看,数据位依次为0,1,0,0,1,1,1,0,1,如果收发双方波特率相同且数据正确,则发送的字符数据为_。 (A) 39H (B) 4EH (C) 74H (D) 9DH 答案:A,例题,40,DMAC 直接存储器访问 8237,基本概念、DMAC的作用(原理): I/O外设与存储器之间高速数据交换; 外设或存储器通过AEN信号区分MPU/DMAC之一控制总线;,CPU,DMAC,外设,i=0,1,2,3 每个通道可独立响应外部DMA请求,41,直接存储器访问DMA控制器8237工作时需要提供的基本参数有_B_。 (A) 处理器型号 (B) 存储器基地址

23、和数据字节数 (C) I/O端口地址和数据字节数 (D) 级联DMA控制器个数,例题,42,第二次习题(复习)课,第4部分:半导体存储器 第5部分: 数字量输入输出 总线、接口概念 *接口电路(芯片)、端口地址 * 数据传送方式 * 中断电路及其处理 *定时/计数器电路与应用 * 并行接口电路与应用 * 串行接口电路与应用 DMA电路与应用 第6部分:模拟量输入输出,43,模拟量接口A/D-D/A,基本概念: 多路转换开关MUX和采样保持器S/H的主要作用; ADC双积分、逐次逼近、V/F变换型 ADC0809:8位8通道逐次逼近型模数转换器; AD574A:12位单通道; 精度: 相对满量程

24、而言,分辨率:对信号灵敏度,与位数相关; Vref对转换精度的影响(精度关键之一); 模拟地-数字地: 相同基准,单点相连(共地) 掌握: 接口编程ADC/DAC的转换控制,44,模拟量接口A/D-D/A,接口电路简单互连:接口电路与简单I/O类似 (1)数据线:8位,D7D0 通常同名互连 (2)地址线:经译码电路产生片选信号,其中若干连至芯片/CS,/CE 74LS138 (3)控制信号线: /RD, /IORD 接/OE(输出允许) /WR, /IOWR 接/WE(写入允许,/LE,START,ALE等),无独立片选芯片,45,5接口技术数字/模拟接口,接口应用程序片断编程:,根据指定端

25、口地址,读取相关信息(模拟量或数字量,如为A/D应先启动转换,延时或判断EOC读取),按设计要求处理后保存到变量单元或输出。 MOV DX,INPORT, IN AL,DX, MOV V1,AL, (处理). MOV DX,OUTPORT, OUT DX,AL 注意(想象程序片断运行的方式,初初始化芯片和单元外,一般为定时执行或中断执行,如需要记忆以前信息,一般存放在内存单元中,用于比较等,而不是寄存器中) (记忆单元的概念),46,利用DAC0832产生如图6-1所示的阶梯波。要求:画出硬件连线图,编写D/A转换软件。,例题,47,主程序查计数,输出 ROUNTINE: CALL TIMIN

26、IT;定时器及中断初始化 RT1: XOR AL, AL MOV TIMCNT, AL MOV AL, 0 MOV DAOUT0, AL;上次输出记忆单元,每次加Step MOV DX, DAPORT OUT DX, AL RT2: ( CALL DELAY ) ;延迟程序1ms,修改一次TIMCNT单元 MOV AL, TIMCNT CMP AL, 8 JNC ONECYCLE MOV AL, DAOUT0 ADD AL, STEP;DA台阶高度 MOV DAOUT0,AL MOV DX, DAPORT OUT DX, AL JMP RT2 ONECYCLE: (JMP RT1) 1ms中断

27、修改一次TIMCNT单元 INT: MOV AL, TIMCNT INC AL MOV TIMCNT, AL IRET,48,例题,课本P344:图6.27, ADC0809+i8255 习题6.1模拟量输入输出系统中的数字地和模拟地应如何处理? 为什么?A:相同电位,单点相联 避免多点电位差引起地线上环流,影响精度 习题6.4:综合设计型 ADC0809设计一个数据采集系统,采用中断方式,EOC接至8259A的IRQ2,每隔200s采样一个数据。试完成: 硬件设计,画出连线图(不包括8259A); 软件设计,包括8255A、8253的初始化及中断服务程序。 难度考试(不要求8255的初始化)

28、,49,设计题有多种方案(单一通道,或8通道轮流转换,顺序存入缓冲记忆单元) 例: 8255PA0809 D0-D7 8255PB PB0-PB2:0809 ADDC-A、B、C, PB3-0809ALE 0809 OE-+5V 如果ALE用PC口位控则更加简单 8253 OUT00809 (200uS定时)START, EOCIRQ2 CLK02MHz AD_BUF DB 400 DP(0);AD缓冲记忆区,假定需要采集400个数据 INDEX DW 0 ;计数指针 初始化: MOV AL, 10011001B ;A口入,B口出,方式0 MOV DX, PORT8255;控制口 OUT DX

29、, AL,50,MOV DX, PORT8255B MOV AL, 00000000B ;ALE=”0”,选Ch0,例首次选择CH0 OUT DX, AL MOV AL, 00001000B ;ALE=”1”,锁存CH0 * OUT DX, AL MOV AL, 00110100B MOV DX, PORT8253+3 ;8253计数器0初始化,方式2,16位,二进制 OUT DX, AL MOV AL, LOW 400 MOV DX, PORT8253 OUT DX, AL MOV AL, HIGH 400 OUT DX, AL;200us 初值(2MHz,400分频) ;8259初始化 S

30、TI,51,(*通道选择改变) MOV AL, 00000XXXB ;选通道,锁存 XXX可变000-111 MOV DX, PORT8255PB OUT DX, AL MOV AL, 00001XXXB ;产生脉冲 _| |_ OUT DX, AL ;初始化 INDEX MOV AX,0 MOV ADINDEX,AX ;转换计数器 MOV CHINDEX,AL ;通道计数器 中断1:读取转换结果,存入单元,再选择通道(锁存),等下次转换 INT_PROC: PUSH MOV DX, PORT8255PA IN AL, DX ;读取转换值 MOV AD_BUF, AL ;保存至单元 MOV A

31、L, 00000XXXB ;选通道,锁存 XXX可变000-111 MOV DX, PORT8255PB OUT DX, AL MOV AL, 00001XXXB ;产生脉冲 _| |_ OUT DX, AL ;ALE高电平锁存通道 POP . IRET,52,中断2:不选通道,连续存入指定单元区 INT_PROC: PUSH MOV DX, PORT8255PA IN AL, DX MOV BX, INDEX ;单元指针 MOV AD_BUFBX, AL INC INDEX CMP INDEX, 400;最多转换次数 JC INT_EXIT MOV DX,PORT8259+1 ;屏蔽IRQ2

32、 IN AL,DX AND AL, 11111011B OUT DX,AL INT_EXIT:POP . IRET,53,中断3: 通道轮换,连续存入指定单元区 INT_PROC: PUSH MOV DX, PORT8255PA IN AL, DX MOV BX, INDEX ;单元指针 MOV AD_BUFBX, AL INC INDEX MOV AL,CHINDEX INC AL CMP AL,8 JNC INT_P2 ;需要从CH0开始下一周期 JMP INT_EXIT1,54,INT_P2: MOV AL,0 MOV CHINDEX,AL MOV DX,PORT8255B AND AL

33、,11110111B OUT DX,AL OR AL,00001000B OUT DX,AL INT_EXIT1: CMP INDEX, 400;最多转换次数 JC INT_EXIT MOV DX,PORT8259+1 ;屏蔽IRQ2 IN AL,DX AND AL, 11111011B OUT DX,AL INT_EXIT:POP . POP . IRET,55,08年试题:三、接口与设计,下图中8086/8088 系统采用ADC0809 和8255 接口芯片采集8 个输入通道的信息,并转换成对应的电压数字量,输出到4 个LED 显示器显示(其中:1 个LED 显示通道,3 个LED 显示相

34、应通道的电压值)。,56,说明 8255A 的PA 口、PB 口和PC 口的工作方式及各口的作用 (2)设计 8255 端口地址2C0H, 用A9-A4 译码,译码器用74LS138,写出设计过程并画出连线图 (3)简述CPU 控制ADC 工作原理,57,(4)根据图中连线,编写选择IN4 通道进行转换的程序片断,并将转换结果存入单元VIN4中.(不考虑PC 口对显示部分的影响),58,(5)简述CPU 控制数码管显示工作原理 (6)设计指定通道(0-7)的转换-显示子程序DISPADCH 的结构(功能和参数传递关系),(不编具体程序),编写周期性显示各通道和电压值的主程序片断,其中可直接调用上述DISPADCH (7)如果CPU 采用中断方式读取ADC 转换结果,如何实现(用文字说明),59,感谢所有认真学习和支持本门课程的同学! Wish a Successful Pass,The End,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1