1、第 11 章,第11章 并行接口,教学重点 8255A的工作方式和编程 8255A的应用 简易键盘的扫描程序 LED数码管的多位显示,并行数据传输方式,以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据适合于外部设备与微机之间进行近距离、大量和快速的信息交换例如:微机与并行接口打印机、磁盘驱动器微机系统中最基本的信息交换方法例如:系统板上各部件之间,接口电路板上各部件之间,11.1 并行接口电路8255A,具有多种功能的可编程并行接口电路芯片最基本的接口电路:三态缓冲器和锁存器与CPU间、与外设间的接口电路:状态寄存器和控制寄存器还有端口的译码和控制电路、中断控制电路
2、分3个端口,共24个外设引脚共三种输入输出工作方式,11.1.1 8255A的内部结构和引脚,1. 外设数据端口,端口A:PA0PA7A组,支持工作方式0、1、2端口B:PB0PB7B组,支持工作方式0、1端口C:PC0PC7仅支持工作方式0A组控制高4位PC4PC7B组控制低4位PC0PC3,端口A:PA0PA7常作数据端口,功能最强大端口B:PB0PB7常作数据端口端口C:PC0PC7可作数据、状态和控制端口分两个4位,每位可独立操作控制最灵活,最难掌握,2. 与处理器接口,D0 D7数据线A0 A1地址线RD*读信号WR*写信号CS*片选信号RESET复位信号,11.1.2 8255A的
3、工作方式,方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路,方式0输入时序,请体会这里8255A的数据缓冲作用,方式0输出时序,8255A对CPU通过它输出给外设的数据进行锁存,方式1输入引脚:A端口,数据选通信号表示外设已经准备好数据,输入缓冲器满信号表示A口已经接收数据,中断请求信号请求CPU接收数据,方式1输入引脚:B端口,方式1需借用端口C用做联络信号同时还具有中断请求和屏蔽功能,方式1输入联络信号,STB*选通信号,低电平有效由外设提供的输
4、入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器IBF输入缓冲器满信号,高电平有效8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器INTR中断请求信号,高电平有效8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据,方式1输入时序,STB*和IBF是外设和8255A间的一对应答联络信号,为的是可靠地输入数据,方式1中断控制,8255A的中断由中断允许触发器INTE控制置位允许中断,复位禁止中断对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE
5、触发器选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC2,方式1输出引脚:A端口,外设响应信号表示外设已经接收到数据,输出缓冲器满信号表示CPU已经输出了数据,中断请求信号请求CPU再次输出数据,方式1输出引脚:B端口,方式1输出联络信号,OBF*输出缓冲器满信号,低有效8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走ACK*响应信号,低有效外设的响应信号,指示8255A的端口数据已由外设接受INTR中断请求信号,高有效当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据,端口A的INTEA
6、对应PC6端口B的INTEB对应PC2,方式1输出时序,OBF*和ACK*是外设和8255A间的一对应答联络信号,为的是可靠地输出数据,方式2双向方式,方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同方式2的数据输入过程与方式1的输入方式一样方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据,方式2双向引脚,用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出I
7、NTRA信号,方式2双向时序,11.1.3 8255A的编程,初始化编程:一个方式控制字采用控制I/O地址:A1A011工作过程中:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H,1. 写入方式控制字:控制字格式,1. 写入方式控制字:示例,要求:A端口:方式1输入C端口上半部:输出,C口下半部:输入B端口:方式0输出方式控制字:10110001B或B1H初始化的程序段:mov dx,0fffeh;假设控制端口为FFFEHmov al,0b1h;方
8、式控制字out dx,al;送到控制端口,2. 读写数据端口,初始化编程后:当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备8255A具有锁存输出数据的能力对输出方式的端口同样可以输入不是读取外设数据读取的是上次CPU给外设的数据,2. 读写数据端口:示例,利用8255A的输出锁存能力,可实现按位输出控制 对输出端口B的PB7位置位的程序段:mov dx,0fffah;B端口假设为FFFAHin al,dx;读出B端口原输出内容or al,80h;使PB71out dx,al;输出新的内容,3. 读写端口
9、C:归纳1,C端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出,在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组,3. 读写端口C:归纳2,当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用,其余引脚仍可设定工作在方式0,3. 读写端口C:归纳3,对端口C的数据输出有两种办法通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器,端口C的位控制字,位控制字写入控制端口特别便
10、于置位复位内部中断允许触发器INTE,3. 读写端口C:归纳4,读取的C端口数据有两种情况未被A和B端口征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字,端口C的状态字,11.2 8255A的应用,作为通用的并行接口电路芯片,825A具有广泛的应用应用在IBM PC/XT微机上应用于打印机接口电路连接简易键盘驱动LED数码管,11.2.1 8255A在IBM PC/XT上的应用,工作在基本输入/输出方式0端口A为方式0输入,用来读取键盘扫描码端口B工作于方式0输出,例如控制扬声器等端口
11、C为方式0输入,读取系统状态和配置系统的初始化编程:mov al,10011001b;方式控制字99Hout 63h,al,打印机接口的信号与时序,主机把数据送给引脚DATA0DATA7同时送出数据选通信号STROBE*打印机在BUSY信号线上发出忙信号打印机处理好输入的数据时撤消忙信号同时又送出一个响应信号ACK*,11.2.2 用8255A方式0与打印机接口,8255A的初始化,mov dx,0fffeh;控制端口地址:FFFEHmov al,10000001B;方式控制字:91Hout dx,al;A端口方式0输出,C端口上输出、下输入mov al,00001111B;端口C的复位置位控
12、制字,使PC71out dx,al,例11.1,打印子程序:查询,printcprocpush axpush dxprn: mov dx,0fffch;读取端口Cin al,dx;查询打印机状态and al,04h;PC2BUSY0?jnz prn;PC21,打印机忙,则循环等待,例11.1,打印子程序:输出,mov dx,0fff8h;PC20,打印机不忙,则输出数据mov al,ahout dx,al;将打印数据从端口A输出,例11.1,打印子程序:打印,mov dx,0fffeh;从PC7送出控制低脉冲mov al,00001110B;置STROBE*0out dx,alnop;产生一定
13、宽度的低电平nopmov al,00001111B;置=1out dx,al;最终,STROBE*产生低脉冲信号,例11.1,打印子程序:返回,pop dxpop axretprintcendp,例11.1,11.2.3 用8255A方式1与打印机接口,8255A方式1与打印机接口时序配合,方式1时序,打印机时序,8255A的初始化,mov dx,0fffehmov al,0a0hout dx,almov al,0ch;使INTEA(PC6)为0,禁止中断out dx,almov cx,counter;打印字节数送CXmov bx,offset buffer;取字符串首地址call print
14、s;调用打印子程序,例11.2,打印子程序:输出,printsprocpush ax;保护寄存器push dxprint1:mov al,bx;取一个数据mov dx,0fff8hout dx,al;从端口A输出,例11.2,打印子程序:查询,mov dx,0fffchprint2:in al,dxtest al,80h;检测(PC7)为1否?jz print2;为0,说明打印机没有响应,继续检测,例11.2,打印子程序:返回,inc bx;为1,说明打印机已接受数据loop print1;准备取下一个数据输出pop dx;打印结束,恢复寄存器pop axret;返回printsendp,例1
15、1.2,11.2.4 双机并行通信接口,甲机的初始化,mov dx,0fffehmov al,0a0hout dx,al;工作方式字:端口A方式1输出mov al,0dh;使PC6(INTEA)1,允许中断out dx,al,例11.3,甲机发送程序,trsmt: mov dx,0fffchin al,dx;查询PC3(INTRA)1?and al,08hjz trsmtmov dx,0fff8h;发送数据mov al,ahout dx,al,例11.3,乙机的初始化,mov dx,0fffehmov al,98hout dx,al;工作方式字:端口A方式0输入mov al,01h;使PC0(
16、ACK*)1,因尚未收到数据out dx,al,例11.3,乙机:查询接收,receive:mov dx,0fffchin al,dx;查询PC4(OBF*)0?and al,10hjnz receivemov dx,0fff8h ;接收数据in al,dxmov ah,al,例11.3,乙机:接收响应,mov dx,0fffehmov al,00h;使PC0(ACK*)0out dx,alnop;适当延时,产生一定宽度的低脉冲nopmov al,01h;使PC0(ACK*)1out dx,al;产生低脉冲ACK*信号,例11.3,实验5 并行接口实验,要求类似习题11.8 要求对应例题11.
17、2 请在对比过程中,掌握例题、习题和完成实验要求,提示,11.3 键盘及其接口,键盘是微机系统最常使用的输入设备小键盘:适用于单板机或以微处理器为基础的仪器,实现数据、地址、命令及指令等的输入独立键盘:通过5芯电缆与PC微机主机连接,11.3.1 简易键盘的工作原理,最简单的线性结构键盘每一个引脚连接一个键输入0/1反映健是否高低,11.3.1 简易键盘的工作原理,常用的矩阵结构键盘每行连接一个引脚每列连接一个引脚利用控制线为低、读取检测线来识别闭合键,1. 扫描法,先使第0行接低电平,其余行为高电平,然后看第0行是否有键闭合(通过检查列线电位实现)此后,再将第1行接地,然后检测列线是否有变为
18、低电位的线。如此往下一行一行地扫描,直到最后一行在扫描过程中,当发现某一行有键闭合时,便在扫描中途退出通过组合行线和列线可识别此刻按下的是哪一键,第1段:是否有键按下,key1:mov al,00mov dx,rowportout dx,al;使所有行线为低电平 mov dx,colport in al,dx;读取列值cmp al,0ffh;判定是否有列线为低电平jz key1;无闭合键,循环等待call delay;有,延迟20ms清除抖动,键盘扫描程序,第2段:识别按键(扫描),mov cx,8;行数送CXmov ah,0feh;扫描初值送AHkey2:mov al,ahmov dx,ro
19、wportout dx,al;输出行值(扫描值)mov dx,colportin al,dx;读进列值,键盘扫描程序,第2段:识别按键(判断),cmp al,0ffh;判断有无低电平的列线jnz key3;有,则转下一步处理rol ah,1;无,则移位扫描值loop key2;准备下一行扫描jmp key1;所有行都没有键按下,则返回继续检测key3: ;此时,al列值,ah行值,键盘扫描程序,2. 反转法,首先,将行线作为控制线接一个输出端口,将列线作为检测线接一个输入端口CPU通过输出端口将行线(控制线)全部设置为低电平,然后从输入端口读取列线(检测线)然后,将行线和列线的作用互换,即将列
20、线作为控制线接输出端口,行线作为检测线接输入端口将刚才读得的列值从列线所接端口输出,再读取行线的输入值这样,当一个键被按下时,必定可以读得一对唯一的行值和列值,条件:连接行线和列线的接口电路必须支持动态改变输入、输出方式,第1段:是否有键按下,;设置行线接输出端口,列线接输入端口key2:mov al,00mov dx,rowportout dx,al;设置行线全为低mov dx,colportin al,dx;读取列值cmp al,0ffhjz key2;无闭合键,循环等待push ax;有闭合键,保存列值 push ax,键盘扫描程序,第2段:识别按键(反转法),;设置行线接输入端口,列线
21、接输出端mov dx,colportpop axout dx,al;输出列值mov dx,rowportin al,dx;读取行值pop bx;组合行列值mov ah,bl;此时,al行值,ah列值,键盘扫描程序,行列值表和键代码表,;键盘的行列值表tabledw 0fefeh;键0的行列值(键值)dw 0fdfeh;键1的行列值dw 0fbfeh;键2的行列值;其他键的行列值;键盘的键代码表chardb ;键0的代码值db ;键1的代码值;其他键的代码值,键盘扫描程序,第3段:查找键代码,mov si,offset tablemov di,offset charmov cx,64;CX键的个
22、数key3:cmp ax,si ;与键值比较 jz key4;相同,说明查到inc si;不相同,继续比较inc siinc diloop key3jmp key1;全部比较完,仍无相同,说明是重键,键盘扫描程序,第4段:等待按键释放,key4:mov al,di;获取键代码送AL;判断按键是否释放,没有则等待call delay;按键释放,延时消除抖动;后续处理,键盘扫描程序,3. 抖动和重健问题,机械按键存在抖动现象当按下或释放一个键时,往往会出现按键在闭合位置和断开位置之间跳几下才稳定到闭合状态抖动的持续时间通常不大于10ms采用硬件消抖电路或软件延时方法解决重键指两个或多个键同时闭合出
23、现重键时,读取的键值必然出现有一个以上的0是否给予识别和识别哪一个键,重健问题的处理,简单情况:不予识别,认为是错误的按键通常情况:只承认先识别出来的键连锁法:直到所有键都释放后,读入下一个键巡回法:等被识别的键释放以后,就可以对其他闭合键作识别,而不必等待全部键释放正常的组合键:都识别出来,11.3.2 PC机键盘的工作原理,1. PC机键盘的工作过程,键盘电路正常工作时不断地扫描键盘矩阵有按键,则确定按键位置之后以串行数据形式发送给系统板键盘接口电路键按下时,发送该键的接通扫描码键松开时,发送该键的断开扫描码若一直按住某键,则以拍发速率(每秒230次)连续发送该键的接通扫描码,接通扫描码反
24、映该键在键盘上的位置断开扫描码(接通扫描码最高位置1)接通扫描码80H,2. 键盘接口电路的工作过程,接收一个串行形式字符以后,进行串并转换然后产生键盘中断IRQ1请求,等待读取键盘数据CPU响应中断,则进入09H键盘中断服务程序: 读取键盘扫描码:用IN AL,60H即可 响应键盘:系统使PB71 允许键盘工作:系统使PB70 处理键盘数据 给8259A中断结束EOI命令,中断返回,3. PC机键盘中断服务程序,09H号中断服务程序(kbint过程)完成常规的操作处理键盘数据:将获取的扫描码通过查表转换为对应的ASCII码送缓冲区。对于不能显示的按键,则转换为0,且不再送至缓冲区键盘I/O功
25、能程序(kbget子程序)从缓冲区中读取转换后的ASCII码功能调用(主程序)循环显示键入的字符,键盘缓冲区,中断服务程序与子程序之间传递参数先进先出循环队列队列空进队列出队列队列满,键盘缓冲区,bufferdb 10 dup(0)bufptr1dw 0;队列头指针bufptr2dw 0;队列尾指针,例11.4,键盘代码表,scantbdb 0,1,1234567890-=,08h;键盘第1排的按键,从ESC到退格db 0,qwertyuiop,0dh;键盘第2排的按键,从Tab到回车db 0,0,789-456+1230.;右边小键盘,从Num Lock到Del,例11.4,设置中断向量1,
26、mov ax,3509hint 21hpush espush bx;保存09H号原中断向量cli;关中断push ds;设置09H号新中断向量mov ax,seg kbintmov ds,axmov dx,offset kbint,例11.4,设置中断向量2,mov ax,2509hint 21hpop dsin al,21h;允许IRQ1中断,其他不变push axand al,0fdhout 21h,alsti;开中断,例11.4,调用并显示,start1:call kbget;获取按键的ASCII码cmp al,1jz start2;是ESC键,则退出push ax;保护字符mov dl
27、,al;显示字符mov ah,2int 21hpop ax;恢复字符,例11.4,处理回车符,cmp al,0dh;该字符是回车符吗?jnz start1;不是,取下一个按键字符mov dl,0ah;是回车符,则再进行换行mov ah,2int 21hjmp start1;继续取字符,例11.4,恢复中断向量,start2:clipop axout 21h,alpop dxpop dsmov ax,2509hint 21hstimov ax,4c00h;返回DOSint 21h,例11.4,子程序:判断缓冲区空否,kbgetprockbget1:push bx;保护BXclimov bx,bu
28、fptr1;取头指针cmp bx,bufptr2;与尾指针相等否?jnz kbget2;不相等,说明缓冲区有字符,转移sti;相等,说明缓冲区空pop bx jmp kbget1;等待缓冲区有字符,例11.4,子程序:获取按键字符,kbget2:mov al,bufferbx;取字符送ALinc bx;队列头指针增量cmp bx,10;是否指向队列末端jc kbget3;没有,转移mov bx,0;指针指向队列末端,则循环,指向始端kbget3:mov bufptr1,bx;设定新队列头指针stipop bxretkbgetendp,例11.4,中断服务程序:响应键盘,kbintprocsti
29、;开中断push ax;保护寄存器push bxin al,60h;读取键盘扫描码push axin al,61h;使PB71,响应键盘or al,80hout 61h,aland al,7fh;使PB70,允许键盘out 61h,al,例11.4,中断服务程序:数据处理,pop axtest al,80h;是断开扫描码?jnz kbint2;是,则退出mov bx,offset scantb;是接通扫描码,取表首地址 xlat;将扫描码转换成ASCII码cmp al,0;是否为合法的ASCII码?jz kbint2;不是,则退出,例11.4,中断服务程序:指针增量,mov bx,bufptr
30、2mov bufferbx,al;将ASCII码存入缓冲区队列尾inc bx;队列尾指针增量cmp bx,10;是否指向队列末端?jc kbint1;没有,转移mov bx,0;指针指向队列末端,则循环,指向始端,例11.4,中断服务程序:判断缓冲区满否,kbint1:cmp bx,bufptr1jz kbint2 ;若队列满,则退出mov bufptr2,bx;队列不满,设置新的队列尾指针,例11.4,中断服务程序:中断返回,kbint2:mov al,20h;向8259A发送普通中断结束命令out 20h,alpop bx;恢复寄存器pop axiret;中断返回kbintendp,例11
31、.4,实验6 小键盘实验,认真阅读教材中扫描法和反转法识别按键的程序段 延时子程序可以采用软件延时程序 延时子程序也可以采用实时时钟的硬件延时,它更精确,提示,11.4 LED数码管及其接口,发光二极管LED是最简单的显示设备由7段LED就可以组成的LED数码管LED数码管广泛用于单板微型机、微型机控制系统及数字化仪器中LED数码管可以显示内存地址和数据等,1. LED数码管的工作原理,主要部分是7段发光管顺时针分别称为a、b、c、d、e、f、g有的产品还附带有一个小数点h通过7个发光段的不同组合主要显示09也可显示AF(16进制数)还可显示个别特殊字符:、P,LED数码管的结构,共阳极,共阴
32、极,2. 单个LED数码管的显示,单个数码管的显示,LEDtbdb 3fh,06h,5bh,;显示代码表mov al,1;AL要显示的数字mov bx,offset LEDtbxlat;换码:ALDS:BXALmov dx,portout dx,al;输出显示,软件译码,3. 多个LED数码管的显示,8个数码管:用2个8位输出端口控制硬件上用公用的驱动电路来驱动各数码管软件上用扫描方法实现数码显示,位控制端口电路,位控制端口作用,控制哪个(位)数码管显示当位控制端口的控制码某位为低电平时,经反相驱动,便在相应数码管的阳极加上了高电平,这个数码管就可以显示数据,位控制:Di0,相应位发光,段控制
33、端口电路,D0D1D2D3D4D5D6D7,阳极,位0,a b c d e f g h,位1,位2,D0D7,段控制,正相寄存驱动,段控制端口作用,控制哪个段显示,决定具体显示什么数码段控制端口送出显示代码到数码管相应段此端口由8个数码管共用,段控制:Di0,相应段发光,通过位、段控制端口的共同作用才能确定哪个数码管显示什么数码,数码缓冲区,;数据段LEDdtdb 8 dup(0);数码缓冲区;主程序mov si,offset LEDdtcall LEDdisp;调用显示子程序,例11.5,获取显示代码,LEDdispprocpush axpush bxpush dxmov bx,offset
34、 LEDtbmov ah,0feh;指向最左边数码管LED1: lodsb;取出要显示的数字xlat cs:LEDtb;得到显示代码:ALCS:BXAL,例11.5,数码显示,mov dx,segport;segport为段控制端口out dx,al;送出段码mov al,ah;取出位显示代码 mov dx,bitport;bitport为位控制端口out dx,al;送出位码call delay;实现数码管延时显示,例11.5,显示下位数码,rol ah,1;指向下一个数码管 cmp ah,0feh;最右边的数码管?jnz LED1;显示下一个数字pop dxpop bxpop axret;
35、8位数码管都显示LEDtbdb 0c0h,0f9h, LEDdispendp,例11.5,软件延时,timer= 10;延时常量delayprocpush bxpush cxmov bx,timer;外循环:timer确定的次数delay1:xor cx,cxdelay2:loop delay2;内循环:216次循环,例11.5,软件延时,dec bxjnz delay1pop cxpop bxretdelayendp,例11.5,通过控制重复频率和延时时间就可以得到各种显示效果,实验7 LED数码管显示实验,请认真阅读教材中8位数码管显示子程序 延时子程序可以采用软件延时程序 延时子程序建议
36、采用实时时钟的硬件延时,它更精确,也便于控制时间,提示,11.5 并行打印机接口,一般采用Centronics标准接口或其简化接口Centronics接口是的一个并行接口协议这个协议规定了36脚簧式插头座和信号含义其中前11条线是关键信号,他们是8条数据线、3条联络线(选通、响应和打印机忙)还有一些特殊控制线、状态线PC系列机的并行打印机接口是一个25针插口,1. 控制打印机的输出信号,SLCTIN*选择输入相当于打印机选中信号INIT*初始化使打印机被复位成初始状态AUTOFEEDXT*自动走纸使打印机打印后自动走纸一行STROBE*选通用于使打印机接收数据的选通信号。负脉冲的宽度在接收端应
37、大于0.5s,数据才可靠地存入打印机数据缓冲区,2. 反映打印机状态的输入信号,BUSY忙表示打印机不能接收数据ACK*响应打印机接收一个数据字节后就回送一个响应的负脉冲信号(脉宽约为5s),表示打印机已准备好接收新数据PE纸用完说明打印机无纸SLCT选择表示处于联机选中状态ERROR*错误当打印机处于无纸、脱机或错误状态之一时,这个信号变为低电平,3. 输出数据线,DATA0DATA78位并行数据信号线打印数据通过它们送至打印机8位数据的可靠输出通过选通STROBE*、响应ACK*和忙BUSY三个联络信号控制,打印时序,打印机时序,第11章教学要求,1. 掌握8255A的结构特点和引脚功能2
38、. 掌握8255A的各种工作方式、编程及方式0/1的应用3. 理解简易键盘的工作原理、抖动和重键问题及解决方法4. 掌握键盘扫描程序(扫描法、行反转法)的编写,第11章教学要求(续),5. 了解PC机键盘的工作原理6. 掌握LED数码管的工作原理和多位显示方法7. 了解并行打印机接口的引脚定义和接口时序习题11(第 274 页)11.4 11.7 11.8 11.10 11.11 11.15,8255A的键盘和扬声器控制示意,打印机时序,方式1输出时序,矩阵结构键盘,机械按键的抖动现象,硬件消抖电路,键位置和扫描码,队列空,队列中无字符,队列头指针等于队列尾指针,进队列,数据进入由队列尾指针指示的单元同时尾指针增量,指向下一个单元,出队列,数据从队列头指针指示的单元取出同时头指针增量,指向下一个单元,队列满,尾指针与头指针再次相等表明队列已满,尾指针指向队列末端时,需循环重新绕回队列始端,