换,都是通过接口来实现的。 1、
中断源:引起CPU中断的事件,即引起中断的原因或来源。
中断源分为两大类:来自CPU内部的,称为内部中断源;来自CPU外部的,称为外部中断源;
1) 内部中断源包括:① CPU执行指令时产生的异常;② 特殊操作引起的异常;③ 是由程序员安排在程序中的INT n 软件中断指令。 2) 外部中断源包括:① I/O设备、数据通道;② 实时时钟;③ 故障源。
2、中断的工作过程 1.中断请求 2.中断响应 3.中断处理 4.中断返回
第七章:常用可编程数字接口电路 1. 可编程定时器/计数器Intel8253
计算机系统的定时方法通常分软件定时和硬件定时 8253的工作方式
每个通道都具有六种工作方式的选择权,需注意以下几点: (1)当控制字写入Intel 8253时,其内部所有的控制逻辑电路立即复位,输出端OUT进入初始状态; (2)计数器的启动软启动:硬启动:
(3)多数情况下,计数器启动一次只工作一个周期,但有两种方式
可供选择,若选择则自动重复计数。 2. 8255A的工作方式
8255A具有三种工作方式:
实例分析
例1、已知片外RAM的10H单元存放8位二进制数,要求将其转移成相应的ASCII码,并以高位在前,低位在后的顺序,依次存放到片外RAM以11H为首地址的连续单元中,试编程。
解:先将中间单元置成30H,然后判欲转换位是否为1, 若是,则将中间单元内容加1;否则,中间单元内容保持不变。 通过左移指令实现由高到低的顺序进行转换。 ORG 1000H
START:MOV R2,#08H ;循环计数初值(循环次数知) MOV R0,#10H ;地址指针初值 MOVX A,@R0 ;取数 MOV B,A ;暂存B中
LOOP:MOV A,#30H ;将中间单元(A)置成30H JNB B.7,NA ;判断转换的二进制位为0否? 若
是转NA
方式0—基本输入输出方式; 方式1—选通输入输出方式; 方式2—双向传送方式。
INC A ;若为1,则(A)内容加1,成为
1的ASCII码“31H”
NA:INC R0 ;修改地址指针 MOVX @R0,A ;存放转换的结果 MOV A,B
RL A,B ;作好准备,判断下一位 MOV B,A ;暂存
DJNZ R2,LOOP ;判断转换结束否?未完继续 SJMP $ END
例2:编程完成求1~100的累加和,结果送SUM单元。 源程序设计如下: DATA SEGMENT
SUM DW ? ;预留结果单元 CN EQU 100 ;计数终止值 DATA ENDS CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:MOV AX,DATA ;初始化DS MOV DS,AX
MOV AX,0 ;累加器清零
MOV CX,1 ;置循环计数初始值 LP:ADD AX,CX ;求累加和 INC CX ;计数器加1 CMP CX,CN ;CX和终止值比较 JBE LP ;小于等于转LP MOV SUM,AX ;结果送SUM MOV AH,4CH ;返回DOS INT 21H CODE ENDS
END START ;汇编结束
例3:将键盘输入的小写字母转换为大写字母显示在屏幕上。 源程序设计如下:
CODE SEGMENT ;代码段定义 ASSUME CS:CODE
START:MOV AL,01H ;DOS调用的01号功能从键盘输入字符 INT 21H
CMP AL,‘a’ ;与‘a’的ASCII码比较 JB EXIT ;低于‘a’,转EXIT CMP AL,‘z’ ;与‘z’的ASCII码比较 JA EXIT ;高于‘z’,转EXIT SUB AL,20H ;大小写字母相差20H
MOV DL,AL ;转换后结果送DL
MOV AH,02H ;DOS调用02号功能,显示结果 INT 21H
EXIT:MOV AH,4CH ;返回DOS INT 21H
CODE END ;代码段结束 END START ;汇编结束
第 8章 总线技术 PCI总线:PCI总线是32位总线。PCI总线的总线频率为33.3MHz,总线宽度为64位的情况下,总线数据传输率为266.4 MB/s 。 第 9章 可编程接口芯片及其8255A及其应用
8255A的内部结构、控制字、各工作方式的特点及有关的固定连线。重点掌握8255A方式0、方式1的应用。 在并行可编程电路8255中共有3个8位的I/O端口Intel 8255A的PA口有一个8位数据输入锁存器和8位数据输出锁存/缓冲器。 Intel 8255A的PB(PC口)有一个8位数据输入缓冲器和8位数据输出锁存/缓冲器。8255 A工作于基本输入/输出方式下,输出和输入数据为输出数据锁存,输入数据不锁存。8254的内部结构、初始化编程。要求会分析各计数器的工作方式,计数初值。8254的内部结构8254内部结构由数据总线缓冲器、读/写逻辑、控制字寄存器以及3个独立的16位计数器组成。计数器包括:8位的控制字寄存器和状态寄存器16位的计数初值寄存器CR16位的减1计数器CE16位的输出锁存寄存器OL可编程计数/定时器电路8254的工作方式共有6种。定时器/计数器输出信号OUT输出高电平信号时,表明计数执行单元计数值已经等于0 。定时器/计数器的门控信号是由外围设备送来的,可用作为对时钟的控制。定时器/计数器的输出OUT可以连到系统控制总线上的中断请求线上。当计数到达“0”时,或者其他情况下使 OUT端有输出时,产生中断。当定时取计数器的输出连到一个输入/输出设备上时,可去启动一个输入/输出操作。对8254当计数初值为0时,定时时间最长。8254初始化写入控制字后,若再写入初始值要经过(一个时钟上升沿和一个下降沿 ),计数执行部件开始记数。8254工作于方式0时,当计数值减为0时输出 OUT为高电平一直维持到复位或改变计数值。