微机原理与接口技术复习大纲

第一章

  • 微机的主要特征

    • CPU集成
    • 字长仅为4~64位
    • 地址空间64K~64G
    • 外设相对简单
  • 微机的主要组成

    • 微机硬件核

      • CPU
      • 系统总线生成电路
      • 系统时钟产生电路
    • 系统总线

      用于互连主控部件和受控部件,主控部件任意时间只允许有一个行使系统总线控制权

      • 地址总线AB(Where Bus)

        主控部件寻址受控部件每个单元地址信号线的集合

      • 数据总线DB(What Bus)

        主控部件和受控部件数据数据单元进行数据传送的信号线的集合

      • 控制总线CB(When Bus)

        操纵AB和DB信号的生成和时机,实现主控部件指定数据传送过程所需全部控制信号的集合

    • 存储器

    • 外设接口及外设

  • 微机硬件核的作用

    ​ 产生系统总线信号,并由此控制微机内其他组成部件

  • 微机中常用使用半导体存储器的类型及特点

    • 随机存储器RAM(可读写存储器)

      微机当前所运行系统、用户程序及数据的存放体。

    • 只读存储器ROM

      固化存放微机启动时所需的一些列程序(系统自检、系统初始化、操作系统引导等)。在PC上被称作BIOS,由主机出场时生产厂写入

  • 微机外设的两大类型

    • 用于转接主控部件和外部设备的数据中转类型接口部件

      串行接口、并行接口、数模/模数转换接口等

    • 用于辅助CPU完成系统管理控制的辅助控制类型接口部件

      8259、8253等

  • 微机的主要技术指标

    • 字长

      一次可处理的二进制数的最多位数。4位、8位、16位、32位、64位

    • 速度

      每秒执行的指令数

    • 内存空间

      地址线可直接寻址的内存字节数目16位(64K)、20位(1M)、24位(16M)、32位(4G)、36位(64G)

    • 系统结构及外部设备配置情况

第二章

  • 8086基本概念

    • 16位微处理器
    • 16根数据总线,20根地址总线
    • 寻址内存 2 20 B = 1 M B 2^{20}B=1MB 220B=1MB
    • 寻址IO 2 16 B = 64 K B 2^{16}B=64KB 216B=64KB
    • 复位信号至少要保持4个周期(初次加点 50 μ s 50\mu s 50μs)。复位后,CS=FFFFH,IP=0000H,系统从内存FFFF0H处取第一条指令
    • 最小模式组成:1片8086(CPU)+1片8284(时钟发生器)+3片8282(地址锁存器)+2片8286(数据收发器)
  • 8086CPU内部结构(EU/BIU)及各寄存器的作用及使用特点

    • 内部结构

      • 执行部件EU

        由算数逻辑单元(ALU)、8个通用寄存器、标志寄存器和控制电路组成。

        负责指令的执行,通过BIU与外部系统进行数据交换

      • 总线接口部件BIU

        实现三总线的控制并与外部进行数据交换

    • 寄存器及作用

      • 通用寄存器:AX,BX,CX,DX

        可按16位读写,也可分别进行读写。可以存放数据也能存放地址。

        • AX:累加器
        • BX:基地址寄存器
        • CX:计数寄存器
        • DX:数据寄存器
      • 指针及变址寄存器:IP、BP、SP、SI、DI

        只能以16位进行操作

        • IP 指令指针
        • BP 基数指针
        • SP 堆栈指针
        • SI 源变址寄存器
        • DI 目的变址寄存器
      • 段寄存器

        • 代码段寄存器CS,与IP共同寻址内存代码区
        • 堆栈段寄存器SS,与SP或BP共同寻址内存堆栈区
        • 数据段寄存器DS,与SI、DI、BP等寻址内存数据区
        • 附加段寄存器ES,与SI、DI、BP等寻址内存数据区
      • 标志寄存器

        (1)操作、运算结果标志位(只有CF可以指令设置)

        • 进位标志CF(Carry Flag):产生进位时位1

        • 奇偶标志PF(Parity Flag):运算结果低八位偶数个1时为1,奇数个时为0

        • 辅助进位标志AF(Auxiliary Flag):两个直接运算低半个字节进位/错位时为1

        • 零标志ZF(Zero Flag):运算结果为0时为1

        • 符号标志SF(Sign Flag):最高位为0时为0

        • 溢出标志OF(Overflow Flag):溢出时为1

        (2)控制标志位(用户设置)

        • 地址方向标志DF(Direction Flag):DF = 1,地址朝减小方向变化
        • 中断允许标志IF(Interrupt Flag):为1时允许
        • 自陷标志TF(Trap Flag):为1时单步调试
  • 8086微处理器寻址内存地址(PPT)

    • 20位物理地址的产生

      由16位段地址和16位偏移地址组成。将段地址左移四位后与偏移地址相加而成。

      例1:段地址4321H,偏移地址1234H。求物理地址

      段地址左移四位:43210H

      与偏移地址相加,得到物理地址:44444H

      8086堆栈地址方向递减。堆栈栈底为高地址,栈顶为低地址。入栈时,SP减2。

      高地址对应数据高八位,低地址对应数据低八位。

      栈顶指针指向当前最新数据。入栈时SP先减2再存入数据。出栈时先读取数据再SP加2

      例2:堆栈(PPT,常考)

      已知给定堆栈区的地址范围为:1250H:0000H~1250H:0100H,(SP)=0052H

      问:(1)栈顶地址是什么?(2)栈底地址是什么?(3)SS中的内容是什么?(4)若在堆栈中存入数据2345H,请画出堆栈区图,标明数据存放位置及对应的段地址和偏移地址。

      答:

      (1)栈顶地址:12500H。

      (2)栈底地址:12600H。

      (3)SS:1250H。

      (4)数据存放段地址1250H。偏移地址0050H(低八位),0051H(高八位)。

      image-20210111213251099

  • 将8086/8088CPU复用的外部地址/数据线分离为独立地址线数据线的实现方法(掌握概念)

    • 8086按16位传输数据的,有16个地址/数据复用引脚。作为地址/数据复用引脚,在总线周期的T1状态用来输出要访问的存储器或I/O端口的地址,T2~T3状态,对于读周期来说,是处于浮空状态,而对于写周期来说则传输数据。
    • 在最小模式下ALE信号为地址锁存允许信号输出,在任一总线周期的T1状态,ALE输出有效电平,以表示输出的是地址信息,ALE信号不可浮空。
  • 总线周期、基本基本总线周期和时钟周期(PPT,掌握概念)

    • CPU每完成一次总线操作(与外部更换一次数据;一次读或一次写)称为一个“总线周期”。
    • CPU与外部交换一次数据至少需要4个时钟周期,被称为基本总线周期。(无等待状态)
    • CPU主时钟周期也简称为时钟周期,是计算机内部的最小计时单位,是CPU主时钟频率的倒数
  • MOV、IN和OUT(PPT,必须掌握)

    • MOV:寻址寄存器,访问范围 2 20 = 1 M 2^{20} = 1M 220=1M
    • IN、OUT:寻址外设,访问访问 2 16 = 64 k 2^{16}=64k 216=64k
  • 存储空间/外设空间的概念及CPU在同一套总线下区分存储器和外设的方法

  • CPU是如何选择存储器奇、偶地址单元的?为什么存取存储单元字数据时一定要从偶数地址开始?(8086CPU在16位数据线时的存储器组织及字节/字访问原则)

    • 8086CPU的储存体由两个8位数据宽度的储存体构成,分别由奇地址和偶地址访问。奇地址存储体的片选信号是BHE,偶地址的片选信号是A0
    • 高字节数据存放在高地址单元,低字节数据存放在低地址单元。
    • 字的读取最好始于偶地址(A0=0)。偶地址直接读取仅AD0~AD7为有效数据; 奇地址直接读取仅AD8~AD15为有效数据。
    • 始于偶地址的字读/写可在一个总线周期内完成(AD0~AD15上数据全部有效)。而始于奇地址的字读/写至少需要两个总线周期(第一次读奇地址,第二次读偶地址)。
  • 8086/8088最小模式和最大模式在功能上有哪些主要不同点?表现在引脚上有哪些不同?(PPT)

    • 最大模式的主要特点是:CPU的主要控制信号不是独立的信号引脚形式,而是信号组合的形式。例如用3根引脚的000~111电平组合表示8个不同的独立控制信号。但由于大多数受控部件内部不具有控制信号译码功能,只能接受独立的控制信号。
    • 因此这种方式必须在外部增配信号译码电路,将组合信号变换为独立的控制信号线。虽然需要增加外部器件,但可换来以下好处:(1)扩充了控制信号的类型和数量;(2)使得系统可以构建两套(层)总线。外部增加的专用器件称为总线控制器,主要用于组合控制信号的译码及总线管理。
  • 局部总线与系统总线概念

    • 片内总线:连接微处理器内各个部分
    • 片级总线:连接微处理器、存储器、IO接口等,构成主板
    • 系统总线:连接外设(扩充插槽)
  • 最小模式系统组成(PPT+书本)

    • 时钟发生器8284

      产生系统时钟,对READY和RESET信号进行同步。在时钟后沿给CPU输出READY信号和RESET信号。

    • 地址锁存器8282(通常3片)

      • 锁存地址信号。
      • 提供较大的地址总线驱动能力。
      • 在需要时隔离CPU地址线与系统总线的联系(OE接高电平)。
    • 数据收发器8286(通常2片)

      • 提供较大的数据总线驱动能力
      • 选择数据传送方向
      • 选通/隔离CPU数据线与系统总线
  • 总线的隔离方式及共享的原则

  • 最大模式下总线控制器8288的作用

  • CPU指令的执行与其外部引脚的对应关系

  • 最小模式下的总线周期时序

    • T1状态
      • 根据读写送出DT/R有效电平
      • 根据MOV还是IN/OUT送出M/IO
      • 根据操作数位数送出选通高8位的BHE
      • 送出地址AD0~AD19,以及地址锁存信号ALE
    • T2状态
      • AD0~AD15置于高阻态
      • 送出状态信息S3~S6
      • 发出读写信号
      • 读信号使外设/存储器数据送上总线,写信号将CPU数据送上总线
    • T3状态
      • READY低电平,插入等待周期
      • READY高电平,将外部AD15~AD0从地址总线切换到数据总线,进入T4
    • T4状态
      • 产生读写信号上升沿,完成读写操作
      • 恢复有关引脚初始状态

第三章

  • 8086 CPU不同寻址方式所针对的数据载体(指令、寄存器、存储器)

  • 源数据位数与目的数据载体容积的一致性

  • 多字节数据在存储器中的存取顺序

  • 堆栈的操作规则及数据在存储器中的存取顺序

  • 条件转移指令中相对地址的含义

  • 不同寻址方式的使用及规则

  • 寻址方式中特定寄存器和隐含寄存器的使用

    第五章

  • 外设接口定义

    • 接口电路内部必须具备一些不同功能的可以由CPU用IN/OUT指令通过三总线按特定地址进行访问的单元(寄存器),通常将它们称之为外设端口或I/O 端口。
    • 接口类型
      • 数据中转型接口
      • 辅助控制类接口
  • 外设端口

    接口电路中具备不同功能的可由CPU三总线按特定地址进行访问的寄存器

    • 输入数据寄存器和输出数据寄存器组(数据中转型接口中用于暂存数据)

    • 控制寄存器组(用于接受CPU 的控制命令)

    • 状态寄存器组(用于提供CPU 可查询的状态信息)

  • 外设端口地址译码电路(典型的3/8译码器74138)的设计原则与实现方法

    • 8086通过IN/OUT指令驱动A15~A0共16根地址线进行I/O端口寻址。由于一般情况下用不上这么大的地址空间,IBM PC整机上只采用了A9~A0共10根地址线用于I/O寻址,寻址范围000H ~ 3FFH。

      • A9~A5经过74LS138译码器产生片选信号

        image-20210112135204786

        当A9、A8都为0时,74LS138选通。根据(A7A6A5)对应的二进制值输出相应片选信号Y

      • A4~A0选择接口芯片内部不同的寄存器

      image-20210112135127806

      端口地址:043H

      片选信号: Y 2 ‾ \overline {Y_2} Y2

      例:8086CPU最多可寻址多少个I/O 端口。如果微机内共有7个接口芯片,其中一个接口芯片有6个独立端口地址,CPU 应如何寻址这些端口?请画出原理性电路,并写出读写这些端口的指令。

      答:最多可寻址 2 16 B = 64 K B 2^{16}B=64KB 216B=64KB个I/O端口。

      用74LS138产生片选信号,用A2~A0产生片内寄存器选择信号。

      读写指令:(ADDR为地址端口)

      IN AL,ADDR
      
      OUT ADDR,AL
      

      示意图如下:

      image-20210112112903294

      例:如果只采用A5~A0 共6 根地址线对8255 和8259 进行地址译码,且要求8255 口地址为10H、12H、14H、16H;8259 的口地址为18H、1AH。请在下图画出正确连线。

      答:

      8255:10H=010000B 12H=010010B 14H=010100 16H=010110B

      8259:18H=011000B 1AH=011010B

      可以看出8255内部寄存器通过A2A1进行选择,8259内部寄存器通过A1进行选择。

      当(A5A4A3A0)=(0100)时,选中8255,设此时采用Y0

      当(A5A4A3A0)=(0110)时,选中8255,设此时采用Y1

      因此74LS138中, B = 0 C = 0 A = A 3 G 1 = 1 G ‾ 2 A = 0 G ‾ 2 B = 0 B=0\quad C=0\quad A=A3\quad G_1=1\quad \overline G_{2A}=0\quad \overline G_{2B}=0 B=0C=0A=A3G1=1G2A=0G2B=0

      因此连线如图所示(连接方法不唯一):

      image-20210112140929863

      针对I/O地址译码,请指出一下地址译码电路 C S 1 ‾ \overline{CS1} CS1对应的I/O地址范围

      image-20210112141130231

      C S 1 ‾ \overline{CS1} CS1选通时, G A = 1 G ‾ B 1 = 0 G ‾ B 2 = 0 ( C B A ) = ( 001 ) G_A=1\quad \overline G_{B1}=0\quad \overline G_{B2}=0\quad (CBA)=(001) GA=1GB1=0GB2=0(CBA)=(001)

      即A9=1,AEN=A8=0,A7=A6=0,A5=A4=0,A3=1,(A2A1A0)=(000B)~(111B)

      因此I/O地址范围为(1000001000B) ~ (1000001111B),即208H~20FH

      image-20210112141908953

      image-20210112142034530

      为1的用与门相,即全为1时才有效。为0的用或门,即全为0时才有效。

  • CPU 与外设的数据传送有哪几种方式(速度匹配方式),它们各有哪些优缺点?

    • 直接传送方式:CPU两次IN/OUT之间操作不延时。用于外设速度足够快
    • 程序延时传送方式:在两条IN/OUT之间插入一些无意义的指令
    • 查询传送方式:在一条IN/OUT指令完成后,CPU不断查询接口芯片提供的就绪信号来决定是否进行下一条IN/OUT
    • 中断传送方式:在没有中断请求时运行主程序或其他程序。外设准备好后发送中断请求,CPU响应中断并在中断处理程序中执行IN/OUT指令
    • DMA传送方式:由DMA控制器取代CPU,内存与外设之间进行成块的数据传输
  • CPU对外设端口的访问指令及对应外部引脚信号(变化)

    • M / I O ‾ M/\overline{IO} M/IO为低电平
    • AD15~AD0产生地址信号
    • W R ‾ \overline{WR} WR R D ‾ \overline{RD} RD产生读写信号
  • CPU对外设端口的寻址方式以及与存储器寻址的不同点

    • 寻址空间不同
  • 8086/8088CPU产生IOR和IOW信号的两种方法

    • image-20210112142503580

    • M/IO作为74LS138选通信号

      image-20210112142545835

第六章

  • 8255 有哪几种工作方式、各适用哪些端口。在这些方式中端口C 各起什么作用?

    端口:

    • A:工作方式0,1,2
    • B:工作方式0,1
    • C:工作方式0

    工作方式:

    • 方式0:无固定信号联络线的输入/输出方式
    • 方式1:有信号联络线的输入/输出方式
    • 方式2:双向数据传送方式,只适用于端口A
  • 键盘扫描

    image-20210112150946970

    行列式键盘:行PA3 ~ PA0,列PC3 ~ PC0

    • 行扫描法

      1. 向行线输出全0,判断列线的情况。若列输入值有0,这说明有键按下。获取列值
      2. 一行一行输出0,判断列线输入是否有0。获取行值
      3. 行列值相加,计算按键位置
      MOV DX,CON8255
      MOV AL,81H
      OUT DX,AL
      BEGIN:
      	MOV AL,00H
      	MOV DX,A8255
      	OUT DX,AL			;输出行值
      	MOV DX,C8255
      	IN AL,DX			;读入列值
      	AND AL,0FH
      	CMP AL,0FH
      	JZ 	BEGIN			;列值全为1,无键按下
      	CALL DELAY			;键盘防抖动
      	MOV AH,FEH			;AH=11111110B,开始扫描
      	MOV CX,04
      NEXT:
      	MOV AL,AH
      	MOV DX,A8255
      	OUT DX,AL
      	MOV DX,B8255
      	IN 	DX,AL
      	AND AL,0FH
      	CMP AL,0FH
      	JNZ	ANS				;有键按下
      	ROL AH,1			;AH左移
      	LOOP NEXT
      	JMP	 BEGIN
      ANS:
      	;AH低4位行值,AL低4位列值
      	SHL AH,1
      	SHL AH,1
      	SHL AH,1
      	SHL AH,1
      	ADD AL,AH
      
    • 行反转法

      1. 向行线输出全0,判断列线的情况。若列输入值有0,这说明有键按下。获取列值
      2. 将列值输出,读取行值(需修改控制字)
      MOV DX,CON8255
      MOV AL,81H
      OUT DX,AL
      BEGIN:
      	MOV AL,00H
      	MOV DX,A8255
      	OUT DX,AL			;输出行值
      	MOV DX,C8255
      	IN AL,DX			;读入列值
      	AND AL,0FH
      	CMP AL,0FH
      	JZ 	BEGIN			;列值全为1,无键按下
      	CALL DELAY			;键盘防抖动
      	MOV AH,AL			;列值保存到AH
      	MOV DX,CON8255
      	MOV AL,90H
      	OUT DX,AL
      	MOV AL,AH
      	MOV DX,C8255
      	OUT DX,AL
      	MOV DX,A8255
      	IN 	DX,AL
      	AND AL,0FFH
      	;AH低4位行值,AL低4位列值
      	SHL AH,1
      	SHL AH,1
      	SHL AH,1
      	SHL AH,1
      	ADD AL,AH
      

第七章

  • 定时计数器基本概念

    • 定时器:对等周期输入时钟脉冲分频,产生不同频率的输出脉冲
    • 计数器:对输入脉冲的个数进行计数,从计数初值N开始减计数。计数完成后输出电平产生变化
    • 起始触发:写入控制字后启动减一计数器开始计数工作
    • 重触发:按计数初值重新开始计数
    • 软件触发:由程序向计数器写入初值来启动
    • 硬件触发:由门控信号触发重新计数
  • 工作方式

    • 方式0(软件起始触发,软件重触发)
      • 计数器,只计数一轮
      • 计数初值写入后下一个CLK下降沿载入计数初值,开始计数
      • 计数期间,OUT为低电平。计数完成,OUT为高电平
      • GATE高电平计数,低电平暂停,重新变高从暂停值开始继续计数
      • 重新写入计数初值,则在下一个CLK下降沿载入计数初值,重新计数
    • 方式1(硬件起始触发,硬件重触发)
      • 计数器
      • 计数初值写入后,需要GATE上升沿后下一个CLK下降沿才载入计数器初值
      • 写入初值后,OUT为高;计数期间时,OUT为低;结束计数,OUT为高
      • 计数期间GATE上升沿,则在下一个CLK下降沿处重新载入计数初值
      • 计数期间重新写入计数初值,不影响当前计数过程。只有计数完成且GATE信号重新触发后,才会重新载入计数初值,开启新一轮计数
    • 方式2(软件起始触发,硬件重触发)
      • 定时器,负脉冲信号
      • 计数初值写入后下一个CLK下降沿载入计数初值,开始计数
      • GATE由高变低,计数停止。由低变高,重新开始新一轮计数
      • 每个计数周期只有最后一个时钟周期(即计数寄存器值为1时),OUT为一个周期低电平。之后重新开始计数(3—2—1—3—2—1)
      • 重新写入计数初值且GATE为高时,在下一个周期重新载入计数初值
    • 方式3(方波发生器)(软件起始触发,硬件重触发)
      • 规则与方式2相同
      • 前一半输出高电平,后一半输出低电平。(奇数时高电平多一个)
    • 方式4(软件起始触发,软硬件重触发)
      • 计数器
      • 产生负脉冲。即计数过程OUT为正,计数完成OUT为一个时钟周期的负脉冲
    • 方式5(硬件起始触发,硬件重触发)
      • 计数器
      • 产生负脉冲
      • 其余规则同方式1

    image-20210112161815136

  • 8253编程相关

    • 读取时需要进行锁存,读取结束锁存自动失效。
    • 定时器计数初值设置: N = f i n f o u t N=\frac{f_{in}}{f_{out}} N=foutfin
    • 16位计数时,分两次OUT数据。先低后高

第八章

  • PC机上的中断系统

    • 硬件部分
      • CPU内部中断逻辑
      • 外部非屏蔽中断源控制逻辑
      • 外部可屏蔽中断源控制逻辑8259
    • 软件部分
      • 中断向量表
      • 中断相关指令
      • 8259设置程序和中断向量表设置程序
      • 中断处理程序
  • 中断源

    • 来自CPU内部中断源
      • 除法错误
      • 溢出(OF=1时执行INTO)
      • 单步执行
      • 中断指令 INT n
    • 来自CPU外部中断源
      • 可屏蔽中断INTR
      • 不可屏蔽中断NMI
  • 中断向量和中断向量表

    • 中断向量号

      为不同中断源分配的一个唯一的编号。

    • 中断向量

      中断服务程序的入口地址,由16位段地址和16位偏移地址组成。每个中断向量占4个字节。

    • 中断向量表

      00000H~003FFH(1KB)用于存放256个中断向量,这个储存区被称为中断向量表。

      中断向量号n对应:

      • n × 4 + 0 n\times 4+0 n×4+0:IP低8位
      • n × 4 + 1 n\times 4+1 n×4+1:IP高8位
      • n × 4 + 2 n\times 4+2 n×4+2:CS低8位
      • n × 4 + 3 n\times 4+3 n×4+3:CS高8位

      image-20210112184852433

      中断向量表分成三个部分:

      • 专用中断:0~4号
      • 保留中断:5~31号
      • 用户中断:32~255号
  • 8259

    • 主要功能

      • 8个中断源
      • 主从级联最多64个中断源
    • 结构

      • 中断请求寄存器IRR

        保存当前请求信号。哪一个中断源有请求,哪一位被置为一。

      • 中断屏蔽寄存器IMR

        8位寄存器,存放中断屏蔽字。

      • 中断服务寄存器ISR

        记录当前正在处理的中断请求

    • 8259与CPU之间交互

      • 8259向CPU发送中断请求信号INT
      • CPU应答中断,向8259的INTA发送两个负脉冲
        • 第一个负脉冲
          • 禁止IRR锁存新的中断
          • ISR对应位置1,IRR当前相应清零
          • 把当前终端编号送入ICW2的低3位,组成8位中断向量号
        • 第二个负脉冲
          • 将中断向量号ICW2送上数据总线
          • 如果设置了自动结束,则将ISR对应位清零
    • 中断优先级

      • 中断嵌套方式

        • 一般全嵌套方式:不响应同级中断
        • 特殊全嵌套方式:响应同级中断

        一般主片特殊全嵌套方式,从片一般全嵌套方式

      • 中断屏蔽方式

        • 普通屏蔽方式:设置IMR进行屏蔽,低优先级自动屏蔽
        • 特殊屏蔽方式:只屏蔽同级中断,高低优先级都能打断
      • 中断优先级管理方式

        • 固定优先级方式:IR0最高,IR7最低
        • 优先级自动循环方式:响应某个中断后,该中断优先级降到最低,其后一个中断优先级最高。
        • 优先级特殊循环方式:通过指令使某个优先级降到最低
    • 结束中断方式

      • 非自动中断结束方式

        • 普通EOI命令:清除ISR中已置位的最高优先级的那一位,适用于一般全嵌套方式
        • 特殊EOI命令:优先级最高的那一位不一定正在服务。因此特殊EOI命令要包含ISR中要复位的位编码信息。
        • 主从级联时,必须先先从片发送EOI。从片所有申请都被服务过了,再向主片发送EOI
      • 自动结束中断方式

        第二个INTA信号自动将ISR清零。会导致所有中断请求都得到响应,仅适合不嵌套情况。

    • 可屏蔽中断程序组成成分

    image-20210112200854484

    • 中断处理程序注意事项

    image-20210112201101720

    • 8259编程
      • 偶地址:ICW1、OCW2、OCW3
      • 奇地址:ICW2、ICW3、ICW4、OCW1

第九章

  • DA0832

    • 二级缓存结构
    • 输出: V o u t = − V R E F 256 V_{out}=-\frac{V_{REF}}{256} Vout=256VREF
    • 00H对应 V R E F − V_{REF-} VREF,0FFH对应 V R E F + V_{REF+} VREF+
    • 输出电压负值,需要加运放变为正值

    image-20210112214600697

    image-20210112214710122

    AA: MOV DX,200H ;D/A 变换器口地址(CS 端)
    MOV AL,00H;
    MOV CX,0200H ;产生512 个锯齿波
    MOV BL 0H; 初始为上升波段
    BB: OUT DX,AL;
    	CALL  DELAY; 
    	CMP BL,1H; 上升还是下降波段
    	JZ DECAL;
    	ADD AL,01H;
    	JNZ  BB
    	MOV BL 1H
    	DEC AL,01H
    DECAL: 
    	DEC AL,01H;
    	CMP AL,00H
    	JNZ BB
    	MOV BL, 0H
    	JMP BB
    
  • AD0809

    • V I N = V R E F + − V R E F − 256 N + V R E F − V_{IN}=\frac{V_{REF+}-V_{REF-}}{256}N+V_{REF-} VIN=256VREF+VREFN+VREF

    • START上升沿复位逐次逼近寄存器SNR,下降沿启动转换

    • 结束转换信号EOC,上升沿有效

    • 允许输出段OE,需要在IN指令时有效

    • 等待转换

      • 延时等待方式
      • 查询方式
      • 中断方式
      • DMA方式
    • 电路结构

      • 地址译码CS控制OE、ALE
      • M/IO、RD控制OE
      • M/IO、RD控制START、ALE

      image-20210112221958855

      image-20210112222237423

      image-20210112222444719

      采样值70H,则
      V I N = V R E F + − V R E F − 256 N + V R E F − = 112 256 × 10 − 5 = − 0.625 V V_{IN}=\frac{V_{REF+}-V_{REF-}}{256}N+V_{REF-}=\frac{112}{256}\times 10-5=-0.625V VIN=256VREF+VREFN+VREF=256112×105=0.625V

      	MOV DI,DATBUF
      	MOV CX,100
      	MOV AX,3F0H
      NEXT:
      	MOV DX,AX
      	OUT DX,AX
      	CALL DELAY
      	IN	AL,DX
      	MOV [DI],AL
      	INC DI
      	LOOP NEXT 
      

{V_{REF+}-V_{REF-}}{256}N+V_{REF-}$

  • START上升沿复位逐次逼近寄存器SNR,下降沿启动转换

  • 结束转换信号EOC,上升沿有效

  • 允许输出段OE,需要在IN指令时有效

  • 等待转换

    • 延时等待方式
    • 查询方式
    • 中断方式
    • DMA方式
  • 电路结构

    • 地址译码CS控制OE、ALE
    • M/IO、RD控制OE
    • M/IO、RD控制START、ALE

    [外链图片转存中…(img-DjaZNjdA-1611627742741)]

    [外链图片转存中…(img-ZMDQdx3g-1611627742743)]

    [外链图片转存中…(img-x5vH4zn5-1611627742743)]

    采样值70H,则
    V I N = V R E F + − V R E F − 256 N + V R E F − = 112 256 × 10 − 5 = − 0.625 V V_{IN}=\frac{V_{REF+}-V_{REF-}}{256}N+V_{REF-}=\frac{112}{256}\times 10-5=-0.625V VIN=256VREF+VREFN+VREF=256112×105=0.625V

    	MOV DI,DATBUF
    	MOV CX,100
    	MOV AX,3F0H
    NEXT:
    	MOV DX,AX
    	OUT DX,AX
    	CALL DELAY
    	IN	AL,DX
    	MOV [DI],AL
    	INC DI
    	LOOP NEXT 
    
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值