汇编与接口技术基本知识点强化梳理_第1页
汇编与接口技术基本知识点强化梳理_第2页
汇编与接口技术基本知识点强化梳理_第3页
汇编与接口技术基本知识点强化梳理_第4页
汇编与接口技术基本知识点强化梳理_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通用寄存器通用寄存器段寄存器段寄存器指令指针指令指针标志寄存器标志寄存器Intel 8086Intel 8086处理器处理器结构结构字节内容字节内容: :(10000H10000H)9FH9FH;(10001H10001H)26H26H字内容字内容 : :(10000H(10000H)269FH269FH;(10001H(10001H)4826H4826Hl程序设计时,使用的是逻辑地址。逻辑地址由“段基址”和“偏移量”构成(均为16位)l“段基址”由段寄存器CS、DS、SS和ES提供;“偏移量”由BX、BP、IP、SP、SI、DI提供。l物理地址物理地址 = 段地址段地址16D(左移左移1)+

2、偏移偏移量 量l每个存储单元有唯一的物理地址,可由不同的“段基址”和“偏移量”组成。例如: 1200H:0345H12345H;1100H:1345H12345Hl字节:字节:字节是存储器的最小访问单位,每字节是存储器的最小访问单位,每个字节有一个唯一的编号个字节有一个唯一的编号 地址地址。l字:字:1616位位( (双字节双字节) ),在存储器中连续存放,在存储器中连续存放的的2 2个字节。低位字节存入低地址,高位字个字节。低位字节存入低地址,高位字节存入高地址节存入高地址( (低低高高原则低低高高原则) )。l字单元地址用它的低地址来表示字单元地址用它的低地址来表示Intel 8086In

3、tel 8086处理器处理器存储器分段存储器分段代码段、数据段和堆栈段代码段、数据段和堆栈段一般程序在存储器中有三个独立的区段:一般程序在存储器中有三个独立的区段:应应用用程程序序占占用用的的内内存存区区段段代码段代码段数据段数据段堆栈段堆栈段CS:IPDS:xxSS:SP或或ES:xx用于存放程序的指令代码。用用于存放程序的指令代码。用CS寄存器存放段地寄存器存放段地址,址,IP寄存器存放偏移量。寄存器存放偏移量。当前当前指令地址指令地址CS:IP。代码段代码段用于存放程序的数据。一般用用于存放程序的数据。一般用DS或或ES寄存器存寄存器存放段地址,可用多种方式形成放段地址,可用多种方式形成

4、偏移量偏移量。数据段数据段用于程序堆栈操作。用用于程序堆栈操作。用SS寄存器存放段地址,寄存器存放段地址,SP寄存器存放偏移量。当前堆栈地址寄存器存放偏移量。当前堆栈地址SS:SP。堆栈段堆栈段Intel 8086Intel 8086处理器处理器标志寄存器标志寄存器标志寄存器标志寄存器16位专用寄存器,定义了位专用寄存器,定义了9个标志位,包括个标志位,包括6个个用于运算的状态标志(用于运算的状态标志(CF, ZF, SF, PF, OF, AF)和)和3个用于控制个用于控制的控制标志(的控制标志(DF, IF, TF)。)。15 14 131211OF10DF9IF8TF7SF6ZF54AF

5、32PF10CF溢溢出出方方向向中中断断单单步步符符号号零零辅助辅助进位进位奇奇偶偶进进位位当有符号运当有符号运算结果产生算结果产生溢出时置溢出时置1,否则置否则置0。运算结果的最高运算结果的最高位,位,1表示结果为表示结果为负,负,0表示为正。表示为正。当运算结果为当运算结果为0时置时置1,否则置,否则置0。当运算结当运算结果中果中1的个的个数为偶数数为偶数时置时置1,否,否则置则置0。当运算产生当运算产生半字节间进半字节间进位位/借位时借位时置置1,否则,否则置置0。当加当加/减运算减运算中产生进位中产生进位/借位时时置借位时时置1,否则置,否则置0。寻址方式寻址方式立即数寻址立即数寻址特

6、点:操作数在代码段特点:操作数在代码段CS中。中。用法:用于给寄存器赋初值用法:用于给寄存器赋初值寄存器寻址:操作数在指定的寄存器中寄存器寻址:操作数在指定的寄存器中特点:操作数在寄存器中,不需访问存储器,速度快。特点:操作数在寄存器中,不需访问存储器,速度快。存储器寻址:存储器寻址:直接寻址直接寻址:直接给出操作数有效地址(偏移量)直接给出操作数有效地址(偏移量)MOV AL, VALUE寄存器间接寻址寄存器间接寻址:有效地址在寄存器有效地址在寄存器(BX, SI或或 DI)中中MOV AX, SI寄存器相对寻址寄存器相对寻址:在寄存器间接寻址的基础上,有效地址增在寄存器间接寻址的基础上,有

7、效地址增加一个常量加一个常量MOV AX, COUNTSII/O端口寻址端口寻址直接端口寻址直接端口寻址:IN AL,25H寄存器间接端口寻址寄存器间接端口寻址:MOV DX,1378H, OUT DX,AL伪指令伪指令DB:定义变量的类型为字节定义变量的类型为字节DW 定义字定义字偏移量偏移量段值段值EQUEQU语句语句: :给符号定义一个值给符号定义一个值, ,或定义为别的符号或定义为别的符号$:$:表示地址计数器的当前值表示地址计数器的当前值为存储器数指定类型。为存储器数指定类型。指令系统指令系统数据传送类MOV、XCHG、XLAT堆栈操作(PUSH、POP)地址传送(LEA)输入输出(

8、IN、OUT)。算术运算类 SUB CMP INCADD dest, src(dest)+(src) (dest) ;二进制加ADC dest, src(dest)+(src)+(CF) (dest) ;二进制带进位加SUB dest, src(dest)-(src) (dest) ;二进制减SBB dest, src (dest)-(src)-(CF) (dest) ;二进制带借位减CMP dest, src(dest)-(src);比较,只影响标志MUL src ; 乘法INC reg/mem (reg/mem)+1 (reg/mem) ;加1DEC reg/mem (reg/mem)-1

9、 (reg/mem) ;减1NEG reg/mem 0-(reg/mem) (reg/mem) ;求补设(AL)=79,ADD AL,0B1H指令执行后, CF和OF的值:转换为2进制 无符号加 有符号加 01111001 121 121 10110001 177 -79 1 00101010 298 42对于无符号数,结果298,不在0255之间,所以CF=1对于有符号数,结果在-128127之间,所以OF=0难点:进位和溢出问题CF 位表示 无符号数 相加的进位;OF 位表示 带符号数 相加的溢出。算术右移指令SAR有难度控制转移类:无条件转移(JMP);条件转移(Jxx、JCXZ);循环

10、控制(LOOP、LOOPZ、LOOPNZ);子程序控制(CALL、RET);中断控制(INT)。 位操作类(逻辑指令):NOT AND OR XOR TEST 逻辑运算SHL SHR SAL SAR ROL ROR RCL RCR 移位键盘中断键盘中断u中断类型号与中断程序的联系中断类型号与中断程序的联系中断向量中断向量u中断向量,即中断服务程序的入口地址中断向量,即中断服务程序的入口地址, 4, 4个字节个字节CS:IPCS:IPu中断向量表:中断向量表:存放中断向量存放中断向量,256,256个中断的服务程序入口地址个中断的服务程序入口地址中断向量中断向量:长度和方向长度和方向l 译码实现

11、寄存器地址25H唯一选择,片内地址(端口)为4个,25H,26H,27H,28HIN AL,25H译码输入信号:与地址信号与控制信号有关:- AEN信号:AEN=0:正常操作;AEN=1:DMA- IOR和IOW信号:控制端口的读/写译码输出信号:产生唯一低电平信号,选中芯片 内的寄存器端口高位地址线与CPU的控制信号进行组合,经译码电路产生I/O接口芯片CS的片选。低位地址线不参加片选译码,直接连到I/O接口芯片,进行I/O接口芯片的片内端口寻址,即寄存器寻址。 低位线的数目决定了可寻址端口的数目。使用专用译码芯片地址线0 0 A9 A8A7 A6 A5 A4 C B AA3 A2 A1 A

12、0二进制0 0 1 00 0 0 0十六进制200-f震荡器减1寄存器(初值)GATE定时输出OUTCLK减一计数器当前计数值输出GATE计数控制端预置计数初值CLK时钟脉冲OUT计数输出计数器完成指定次数(预置初值)的输入脉冲(CLK)计数,并输出(OUT)。计数过程可控(通过GATE)。计数过程可读取。 向基地址+3写入的一个字节是控制字,包括方式设置、锁存设置等,控制字格式:D7D6D5D4D3D2D1D0计数器选择计数器选择读写字节数读写字节数工作方式工作方式码制码制方式0当向计数器写完计数值后,OUT变成低电平,并在计数过程中一直保持低电平,当计数器减到零时,OUT产生01的上升沿,

13、用此沿可申请中断。方式1写入计数初值后,计数器并不立即开始工作。GATE出现上升沿才开始工作,OUT变成低电平,直到计数器值减到零,OUT才变高电平。当GATE又出现上升沿时,计数器重新装入原计数初值并重新开始计数。方式2设置为2方式,OUT1 ,写初值寄存器后,计数器启动,当计数器减到零的前一个CLK,OUT0,输出一个宽度为一个CLK周期的负脉冲.并自动重新装入初始值,自动启动计数。可以通过GATE=0暂停计数。方式33方式与2方式基本相同,也具有自动装入计数初值的功能,但输出的波形为占空比为1:1的方波。方式4此方式设定后,输出OUT就开始变成高电平;当写完计数初值后,计数器开始计数,计

14、数完毕,计数回零结束,输出一个宽度为一个时钟脉冲宽度的负脉冲,然后输出又恢复高电平,并一直保持高电平不变。方式5当写入计数初值后,计数器并不立即开始计数,而要由门控信号的上升沿启动才开始计数。方波发生器分频器(周期窄脉冲)软件计数到零产生窄脉冲(中断)硬件可重复触发的单稳态触发器软件触发选通硬件触发选通OUT宽度对比重复重复单次单次单次分析分析编程题编程题例:T0的外接时钟频率为1MHZ,设T0作为十进制计数器用,要求其输出频率为1 KHz的方波,写出初始化程序段。分析分析编程题编程题答:地址范围:188H18BH;T0初值地址:188H;方式控制寄存器地址:18BH (2)T0为BCD码计数

15、方式,工作于方式3,方式字为:00110111B=37H 计数初值为10008253初始化程序段:MOV DX,18BHMOV AL,37HOUT DX,ALMOV DX,188HMOV AL,00HOUT DX,ALMOV AL,10HOUT DX,AL82558255内部结构内部结构A组组B组组方式命令1D6D5D4D3D2D1D0写入到写入到 基地址基地址+3 (控制寄存器)的(控制寄存器)的8255A控制字按照最高位(控制字按照最高位(D7)的不同有两)的不同有两种格式。种格式。PC(03): 0=输出输出 / 1=输入输入B组组PB: 0=输出输出 / 1=输入输入B组方式组方式:

16、0=0方式方式 / 1=1方式方式PC(47): 0=输出输出 / 1=输入输入A组组PA: 0=输出输出 / 1=输入输入A组方式组方式: 00=0方式方式 / 01=1方方式式 / 10=2方式方式D7=1用于设置工作方式用于设置工作方式0D3D2D1D00=复位复位 / 1=置位置位指定指定PC端口端口的位的位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC705H=00000101:使PC2=1的命令字04H=00000100:使PC2=0的命令字D7=0为为C端口置位端口置位/复位命令复位命令写入到写入到 基地址基地址+3 习题习题当拨动

17、开关K0向上搬动时(接高电平),从示波器上观测到频率为500Hz的连续方波;当拨动开关K0向下搬动时(接低电平),从示波器上观测到直流电平。请写出相应的程序段完成上述功能。习题习题MOV DX,213H;定时器1方式字MOV AL,01110111BOUT DX,AL;3方式、先低后高、十进制计数MOV DX,211HMOV AL,00H;定时器1时间常数:2000000/500=4000OUT DX,AL;时间常数的低8位MOV AL,40HOUT DX,AL;时间常数的高8位MOV DX,203H;8255的方式字,PC低输入高输出MOV AL,10000001B ;81HOUT DX,A

18、L 习题习题L1:MOV DX,202H;查询PC0按钮状态INAL,DXAND AL,01HJNZL2MOV DX,203H;通过PC4置GATE1高MOV AL,09HOUT DX,AL;使定时器1开始输出连续方波JMPL1L2:MOV DX,203H;通过PC4置GATE1低MOV AL,08HOUT DX,AL;使定时器1停止输出连续方波JMPL18259A8259A 内部结构内部结构数据总线数据总线缓冲器缓冲器读读/ /写写逻辑逻辑级联级联缓冲缓冲/ /比较器比较器控制逻辑控制逻辑正在服务正在服务寄存器寄存器ISRISR优先级优先级分析器分析器PRPR中断请求中断请求寄存器寄存器IR

19、RIRR中断屏蔽寄存器中断屏蔽寄存器 IMRIMRIRIR0 0IRIR1 1IRIR2 2IRIR3 3IRIR4 4IRIR5 5IRIR6 6IRIR7 7D D0 0D D7 7INTINTA A0 0CASCAS0 0CASCAS1 1CASCAS2 2SP/ENSP/ENCSCSWRWRRDRDINTAINTA工作方式 优先级排队方式优先级排队方式优先级固定方式优先级固定方式完全嵌套方式完全嵌套方式特殊嵌套方式特殊嵌套方式优先级循环方式优先级循环方式自动循环方式自动循环方式特殊循环方式特殊循环方式中断结束方式中断结束方式自动结束方式自动结束方式非自动结束方式非自动结束方式常规结束方

20、式常规结束方式特殊结束方式特殊结束方式 屏蔽方式屏蔽方式常规屏蔽方式常规屏蔽方式特殊屏蔽方式特殊屏蔽方式 触发方式触发方式边沿触发边沿触发电平触发电平触发8259A的工作方式设置项目主要包括:的工作方式设置项目主要包括:寄存器寄存器寄存器寄存器8 8位对应于连接在位对应于连接在IR0IR0IR7IR7线上的外设所产生的中断线上的外设所产生的中断请求。具有锁存功能,其内容可用请求。具有锁存功能,其内容可用OCW3OCW3命令读出。命令读出。1.1.中断请求寄存器(中断请求寄存器(IRRIRR)2.2.中断屏蔽寄存器(中断屏蔽寄存器(IMRIMR)对中断请求对中断请求IRiIRi起屏蔽作用,寄存器

21、起屏蔽作用,寄存器8 8位对应位对应8 8级中断屏蔽。级中断屏蔽。3.3.正在服务寄存器正在服务寄存器ISRISR用来存放正在被服务的所有中断源,包括挂起的中断源。在用来存放正在被服务的所有中断源,包括挂起的中断源。在非自动结束方式下,非自动结束方式下,ISRISR的复位要由中断结束命令的复位要由中断结束命令EOIEOI来执行来执行总结:总结:IRRIRR、IMRIMR、ISRISR都是置位(写都是置位(写1 1)有效:即)有效:即IRRIRR有请求有请求了;了;IMRIMR屏蔽了;屏蔽了;ISRISR服务中服务中-ing;-ing;11.1 11.1 中断控制器中断控制器8259A8259A

22、 初始化初始化1、ICW1:进行中断触发和单片/多片设置;2、ICW2:进行中断号设置;3、ICW3:进行级联设置;4、ICW4:进行优先级和结束方式设置初始化方式命令ICW可以对8259设置触发、级联、中断号、优先级、结束方式;而中断屏蔽方式是默认常规屏蔽方式,如要改动,可以执行操作命令OCW3。8259初始化任务8259初始化具体操作初始化初始化ICW1ICW1写写ICW1级联?级联?YN写写ICW3写写ICW2需要需要ICW4?YN写写ICW4D7D6D5D4D3D2D1D00001LTIM0SNGLIC4触发电平:触发电平:0=边沿触发边沿触发1=电平触发电平触发级联模式:级联模式:0

23、=级联方式级联方式1=单片方式单片方式ICW4选项:选项:0=不写不写ICW41=写写ICW4特征位F初始化初始化ICW2ICW2写写ICW1级联?级联?YN写写ICW3写写ICW2需要需要ICW4?YN写写ICW4D7D6D5D4D3D2D1D0T7T6T5T4T3000中断号高中断号高5位:位:用于在中断响应周期送出中用于在中断响应周期送出中断号,其中低断号,其中低3位根据中断位根据中断申请输入号申请输入号IRx产生。产生。F初始化初始化ICW4ICW4写写ICW1级联?级联?YN写写ICW3写写ICW2需要需要ICW4?YN写写ICW4D7D6D5D4D3D2D1D0000SFNM0M/

24、SAEOI1优先权方式:优先权方式:0=完全嵌套完全嵌套1=特殊嵌套特殊嵌套主主/从片设定:从片设定:0=从片从片1=主片主片中断结束方式:中断结束方式:0=非自动结束方式非自动结束方式1=自动结束方式自动结束方式8259A8259A操作操作-OCW1-OCW1D7D6D5D4D3D2D1D0M7M6M5M4M3M2 M1M0OCW1OCW1:用于设定中断屏蔽,每一位对应一个中断输:用于设定中断屏蔽,每一位对应一个中断输入线,入线,0=0=开放,开放,1=1=屏蔽。屏蔽。IR0-7对应M0-78259A8259A操作操作-OCW2-OCW2OCW2OCW2:用于中断结束命令和优先级循环操作。:

25、用于中断结束命令和优先级循环操作。D7D6D5D4D3D2D1D0RSLEOI00L2 L1L0R:优先级轮换优先级轮换0:完全嵌套方式:完全嵌套方式1:轮换优先级:轮换优先级SL:指定中断结束指定中断结束当当EOI=0:最高级中断结束SL=XXX;当当EOI=1: SL=0 :结束当前中断L2L1L0任意值;SL=1 :指定中断结束,由L2L1L0指定EOI:中断结束中断结束0:自动中断结束(自动中断结束(清最高级清最高级) 1:非自动结束:非自动结束中断等级编号特征位00 F8259A8259A操作操作-OCW2-OCW2用OCW2作中断结束控制时的常见做法: 当ICW4选用非自动结束方式

26、时(即OCW2中的EOI=1),利用OCW2来控制中断结束有2种情况:SL=0(指定中断结束位0) ,表示结束当前中断 (L2L0可以是任意值). OCW2=00100 xxxB=20H(L2L1L0000常用)SL=1(指定中断结束位1),表示指定中断结束,由 L2L1L0指定. OCW2=01100101B=65H(指定IR5中断结束)8259A8259A操作操作OCW3OCW3用于设定屏蔽方式和读取状态。用于设定屏蔽方式和读取状态。D7D6D5D4D3D2D1D00ESMMSMM01PRRRIS屏蔽方式:屏蔽方式:0X=无操作无操作10=常规屏蔽方式常规屏蔽方式11=特殊屏蔽方式特殊屏蔽

27、方式读取选择命令:写完读取选择命令:写完OCW3后,接下读取后,接下读取00X=无操作无操作010=IRR011=ISR1XX=查询字,可查询当前中断申请查询字,可查询当前中断申请TPCTPC实验平台实验平台- -中断模块中断模块l 386CPU内部有内部有2个个8259,级联采用与,级联采用与PC机相同机相同的方式,其主从的方式,其主从8259使用的命令字和端口地址与使用的命令字和端口地址与PC DOS兼容。兼容。l 本实验箱允许使用主本实验箱允许使用主8259的的IR5 即即MIR5和从和从8259的的IR0,SIR0和扩展和扩展8259;l 注意,主从注意,主从8259已经初始化,并且固

28、化,用户无已经初始化,并且固化,用户无需对需对8259初始化,只能写入中断屏蔽字和中断向初始化,只能写入中断屏蔽字和中断向量。量。用户中断输入用户中断输入引脚引脚对应对应82598259引脚引脚输入输入中断屏蔽中断屏蔽字字中断类型中断类型号号82598259端口地端口地址址IRQ5IRQ5(MIR5MIR5)主片主片IR5IR511011111B11011111B35H35H20H,21H20H,21HIRQ8IRQ8(SIR0SIR0)从片从片IR0IR011111110B11111110B70H70H0A0H0A0H,0A1H0A1H主从片8259A的端口地址: 中断源中断源IR0IR0I

29、R1IR1IR2IR2IR3IR3IR4IR4IR5IR5IR6IR6IR7IR7主片中断向量主片中断向量30H30H31H31H32H32H33H33H34H34H35H35H36H36H37H37H从片中断向量从片中断向量70H70H71H71H72H72H73H73H74H74H75H75H76H76H77H77H实验平台主从8259A的中断类型号与中断源的对应关系 中断号基数TPCTPC实验平台注意几点实验平台注意几点1、不需要对8259A初始化(ICW1-ICW4),但要进行设置中断向量和打开中断等操作;2、TPC采用的是非自动结束,则需要在中断结束前(中断服务程序的最后)发中断结束

30、命令:MOV AL,20H OUT 20H,AL 3、写入屏蔽信息需要采取读取修改写入顺序:主8259:IN AL,21H AND AL,0DFH OUT 21H,AL .Model small.386data segment;数据段定义data endscode segment assume cs:code,ds:data start: mov ax,data ;数据段定位 mov ds,ax ;加上设置其他模块初始化 cli ;关386 CPU中断;写入中断屏蔽字OCW1in al,21hand al,11011111b out 21h,alCALL WRINTVERSti;主程序代码co

31、de ends end startWRINTVER: PUSH DSMOV AX, 0MOV DS, AXMOV DI, 4*35H CLIMOV BX, OFFSET INTPMOV DI, BXADD DI, 2MOV BX, SEG INTPMOV DI, BXPOP DSretINTP: ;中断服务程序 PUSH AXCLI;中断服务主体MOV AL,20H ;中断结束 OCW2OUT 20H,ALSTIPOP AXIRET 中断程序设计模板技术指标技术指标指A/D转换器可转换成数字量的最小电压(量化阶梯 ) 。 如 8 位 A D C 满 量 程 为 5 V , 则 分 辨 率 为5

32、000mV/256=20mV,也就是说当模拟电压小于20mV,ADC转换为0,所以分辨率一般表示式为:单极性:分辨率=Vref/2位数双极性:分辨率=(V+ref-V-ref)/2位数技术指标(参数)分辨率08090809内部结构内部结构通道选择开关8路模拟输入信号通道锁存译码通道编号启动脉冲时钟脉冲输出允许1=允许输出转换完成1=完成REF参考电压正极和负极三态输出锁存器D7-D008090809工作时序工作时序|转换期间,输入信号保持稳定|锁存地址,选择通道CLOCKSTARTALEADDA/B/C模拟输入信号OE(ENABLE)EOC数据输出开始转换转换结束读取数据编程步骤编程步骤 送

33、通 道 码 ( A L E ) -ALE=ALE=“1 1”,写入待转换的通,写入待转换的通道,道,由ADDA、ADDB、ADDC 高低电平决定。通常ADDA、ADDB、ADDC 接固定电平,即转换通道固定;启动A/D转换(START)给START一正脉冲,转换开始注意:通常 同时完成12.2 A/D12.2 A/D转换接口转换接口- -编程步骤编程步骤判断是否转换完毕?判EOC引脚的状态,用EOC标志信号,典型的有三种方式:用EOC引脚:查询是否为高电平用EOC引脚:中断不直接用EOC引脚:延时,延时至少100us;CPU读取数据,即输出数据(OE(ENABLE)) A0=1IOW=0ADC

34、S=01IOR=0101A1=1IOR=0l中断方式用到200H+201Hl查询方式用到200H201H+202H实验实验ADAD编程地址编程地址lA1A0=00,配合,配合IOW写操作,写操作,ALE/START1,启动启动A/D转换转换 200H(中断:启动转换)(中断:启动转换)lA0=1,配合,配合IOR读操作,读操作,ENABLE=1,读取读取A/D转转换后的数据换后的数据 201H(中断:读数据中断:读数据)lA11,配合,配合IOR读操作,三态门打开,通过读操作,三态门打开,通过D0获取获取EOC状态。当状态。当D01时,转换结束时,转换结束 202H(查(查询转换是否结束)询转

35、换是否结束)l中断方式用到中断方式用到200H+201Hl查询方式用到查询方式用到200H201H+202HVref:基准电压8位输入寄存器8位DAC寄存器8位D/A转换器DI7DI0ILELE1LE2CSWR1WR2XFERVREFIOUT2IOUT1RFBAGND(模拟地 )&DGND(模拟地 )VCC8位数据输入ILE:数据输入锁存,高有效XFER:传送控制,低有效DAC0832DAC0832有三种工作方式:(1)双缓冲方式:控制选通1和2(2)单缓冲方式:控制选通1或2(3)直通方式:不控制选通1和2,直接接低电平 MOV DX,DA_CS MOV AL,0FFH OUT DX

36、,AL ;输出数据 TPC实验平台DA0832模块82518251接口芯片内部结构接口芯片内部结构内部结构内部结构l收发联络信号的作用收发联络信号的作用TXRDY:发送器准备好信号,用来通知CPU,8251A已准备好发送一个字符。RXRDY:接收器准备好信号,用来表示当前8251A已经从外部设备接收到一个字符,等待CPU来取走。在中断方式时,RXRDY可用作中断请求信号在查询方式时,RXRDY可用来作为查询信号还可以利用状态字进行发送、接收方式命令字方式命令字D7D6D5D4D3D2D1D08251A8251A复位后写到命令端口的第一个字节。方复位后写到命令端口的第一个字节。方式字的最低式字的

37、最低2 2位为位为0000,表示同步方式命令,否则为异步方式命,表示同步方式命令,否则为异步方式命令。异步方式命令定义如下:令。异步方式命令定义如下:波特率因子波特率因子: 00=(同步同步) 01=1 10=16 11=64字符长度字符长度: 00=5位位 01=6位位 10=7位位 11=8位位 校验设置校验设置: X0=无校验无校验 01=奇校验奇校验 11=偶校验偶校验停止位数停止位数: 00=(非法非法) 01=1位位 10=1.5位位 11=2位位工作命令字工作命令字0D60D40D20D08251A8251A复位后写到命令端口的第二个字节(之复位后写到命令端口的第二个字节(之前的

38、方式字确定为异步方式)。前的方式字确定为异步方式)。TxEN: 0=不允许发送,1=允许发送RxEN: 0=不允许接收,1=允许接收ER: 1=清除全部错误标志(后面状态字)IR: 1=产生内部复位状态字状态字00D5D4D30D1D08251A8251A复位后从状态端口读取到的字节。复位后从状态端口读取到的字节。TxRDY: 1=发送数据寄存器空发送数据寄存器空RxRDY: 1=接收数据寄存器满接收数据寄存器满PE: 奇偶错误,1=发生奇偶错误OR: 溢出错误,1=发生溢出错误FE: 格式错误,1=发生格式错误8253A8253A定时器定时器1 1用于波特率发生器。用于波特率发生器。8251

39、8251按异步方式传送,按异步方式传送,波特率因子为波特率因子为1616,波特率为,波特率为9600bps9600bps,数据格式选为:,数据格式选为: 7 7位位数据位,偶校验,数据位,偶校验,1 1位停止位。要求从位停止位。要求从82518251发送一个数据发送一个数据33H33H,通过自环连接方式,将接收到的数据存入内存地址,通过自环连接方式,将接收到的数据存入内存地址600H600H中。中。已知已知82538253基址为基址为48H48H,82518251基址为基址为50H50H。TCC EQU 004BHTC1 EQU 0049HSECOPORT EQU 0051HSEDAPORT

40、EQU 0050HMOV DX,TCC;8253初始化MOV AL,56H;Mode Word=01 01 011 0OUT DX,ALMOV DX,TC1;1.8432MHZ/(9600X16)12OCHMOV AL,0CHOUT DX,AL MOV DX,SECOPORT;初始化8251A MOV AL,00 ;空操作OUT DX,AL MOV AL,40H ;Reset 8251AOUT DX,ALMOV AL,7AH ;Mode Word=01111010OUT DX,ALMOV AL,37H ;Command Word 37HOUT DX,ALMOV SI,DATA ;SI=600W

41、ATTXD: MOV DX,SECOPORT;发送准备好? IN AL,DXTEST AL,01HJZ WATTXDMOV AL,33H;发送MOV DX,SEDAPORTOUT DX,ALWATRXD: MOV DX,SECOPORT;接收准备好? IN AL,DXTEST AL,02HJZ WATRXDMOV DX,SEDAPORT;接收IN AL,DXMOV BYTE PTR DS:0600H,AL;recivedata=0600端口通道地址寄 存 器读(IOR)写(IOW)DMA+0000读通道0的当前地址寄存器写通道0的基地址寄存器DMA+1001读通道0的当前字节计数寄存器写通道0

42、的基字节计数寄存器DMA+2102读通道1的当前地址寄存器写通道1的基地址寄存器DMA+3103读通道1的当前字节计数寄存器写通道1的基字节计数寄存器DMA+4204读通道2的当前地址寄存器写通道2的基地址寄存器DMA+5205读通道2的当前字节计数寄存器写通道2的基字节计数寄存器DMA+6306读通道3的当前地址寄存器写通道3的基地址寄存器DMA+7307读通道3的当前字节计数寄存器写通道3的基字节计数寄存器DMA+8公用08读状态寄存器写命令寄存器DMA+909-写请求寄存器DMA+100A-写单个通道屏蔽寄存器DMA+110B-写工作方式寄存器DMA+120C-写清除先/后触发器命令(软

43、命令)DMA+130D读暂存寄存器写总清命令(软命令)DMA+140E-写四个通道屏蔽寄存器命令(软命令)DMA+150F-写置四个通道屏蔽寄存器DMA 823782378237寄存器寄存器8237A内部寄存器及编程(15个寄存器)u工作方式寄存器工作方式寄存器:设置DMA的操作类型、操作方式等D7D6D5D4D3D2D1D0方式选择00=询问方式01=单一方式10=块方式11=级联方式地址增量1=地址减10=地址加11=自动预置0=非自动预置类型选择00=校验01=DMA写:I/ORAM10=DMA读:RAM I/O11=无效通道选择00=0通道01=1通道10=2通道11=3通道自动预置82378237寄存器寄存器u基值地址寄存器基

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论