资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,实验五 七段数码管静态显示,08,影像(,2,)班,顾洁、张彬,一,.,实验目的,掌握数码管显示数字的原理,二,.,实验内容,按电路图连接好电路,将,8255,的,A,口,PA0,PA6,分别与七段数码管的段码驱动输入端,a,相连,位码驱动输入端,S1,接,+5V(,选中,),,,S0,、,dp,接闭,),CS,接,288H,28FH,。编程从键盘输入一位十进制数字,(0,9),,在七段数码管上显示出来。,实验电路图,三、实验设备介绍,1,、,8255A,的结构和功能,2,、七段显示数码管,8255,结构功能,8255,是,Intel,公司生产的可编程并行,I/O,接口芯片,有,3,个,8,位并行,I/O,口。具有,3,个通道,3,种工作方式的可编程并行接口芯片(,40,引脚)。其各口功能可由软件选择,使用灵活,通用性强,可作为单片机与多种外设连接时的中间接口电路。,8255,作为主机与外设的连接芯片,必须提供与主机相连的,3,个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口,A,、,B,、,C,口。由于,8255,可编程,所以必须具有逻辑控制部分,因而,8255,内部结构分为,3,个部分:与,CPU,连接部分、与外设连接部分、控制部分。,8255,的特性,(1),一个并行输入,/,输出的,LSI,芯片,多功能的,I/O,器件,可作为,CPU,总线与外围的接口。,(2),具有,24,个可编程设置的,I/O,口,即,3,组,8,位的,I/O,口为,PA,口,,PB,口和,PC,口。,它们又可分为两组,12,位的,I/O,口:,A,组包括,A,口及,C,口,(,高,4,位,,PC4PC7),,,B,组包括,B,口及,C,口,(,低,4,位,,PC0PC3),。,A,组可设置为基本的,I/O,口,闪控,(STROBE),的,I/O,闪控式,双向,I/O3,种模式;,B,组只能设置为基本,I/O,或闪控式,I/O,两种模式,而这些操作模式完全由控制寄存器的控制字决定。,8255,芯片引脚图,8255A,原理图,缓冲器,数据总线,DB,o,o,o,RD,WR,A0,A1,RESET,CS,读,/,写,控制逻辑,A,口,上,C,口,下,C,口,B,口,PA7PA0,PC7PC4,PC3PC0,PB7PB0,内部总线,A,组控制,B,组控制,CPU,接口,内部逻辑,外设接口,端口,A,和端口,B,可用作8位 数据,I/O,口,端口,C,既可作为8位,I/O,口,又可作为两个4位,I/O,口,还常用来配合,A,口和,B,口工作,作为控制信号输出、或作为状态信号输入。,(,一,),数据端口,8255A,内部包含3个8位,I/O,端口,A,口、,B,口和,C,口,通过外部24根,I/O,线与外设交换数据或进行通信联络。其中,C,口可分为两个4位口使用。,A,口,上,C,口,下,C,口,B,口,PA7PA0,PC7PC4,PC3PC0,PB7PB0,内部总线,(,二,),控制逻辑,这是两组根据,CPU,的编程命令控制8255,A,工作的电路,它们内部有控制寄存器,用来接收,CPU,送来的命令字,以决定,A,组、,B,组的工作方式,或对,C,口的每一个位执行置位,/,复位操作。,A,组控制,B,组控制,内部总线,端口,A,和端口,C,的上半部分(,PC7PC4,)由,A,组控制逻辑管理,端口,B,和端口,C,的,下半部分(,PC3PC0,)由,B,组控制逻辑管理。,(,三,),数据总线缓冲器,是双向三态的,8,位缓冲器,用作,8255A,和系统数据总线的接口。,1),接收,CPU,送来的数据或,控制字;,2),外设传送给,CPU,的数据或状态信息,缓冲器,数据总线,DB,o,o,o,RD,WR,A0,A1,RESET,CS,读,/,写,控制逻辑,内部总线,至数据端口,至控制寄存器,(四)读/写控制逻辑,控制总线的开放与关闭;控制信息传送的路径和方向。,A,1,A,0,=00,,,选中端口,A,A,1,A,0,=01,,,选中端口,B,A,1,A,0,=10,,,选中端口,C,A,1,A,0,=11,,,选中控制字寄存器端口,(五)端口寻址,8255A,端口选择表,七段显示数码管,七段显示器由七个段状的发光二极管组成,这七个段状的发光二极管的排列情况见图一(a),因此七段显示器可以用来显示数字,也可以用来显示部分英文字母。将七个发光二极管的阳极接在一起,就构成共阳极接法见图一(b),这时要使某段亮就使相应的段输入低电平。若将七个发光二极管的阴极接在一起,就构成了共阴极接法见图一(c),这时要使某段亮就使相应的段输入高电平。,数码管的驱动与显示:,数字显示电路通常由译码驱动器和显示器等部分组成。,数码管要正常显示,就要用驱动电路来驱动数码管的各个段码。,实验台上的七段数码管为共阴型,(,即,把,abcdefg,这,7,个发光二极管的负极连接在一起并接地;它们的,7,个正极接到,8,段译码驱动电路的相对应的驱动端上(也是,abcdefg,),七只发光二极管,(,ag,七段,),构成字型“,8”,,另外还有一只发光二极管,dp,作为小数点。此时若显示数字,1,,那么译码驱动电路输出段,bc,为高电平,其他段扫描输出端为低电平,以此类推。,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。,a,b,d,c,e,f,g,dp,a,b,d,c,e,f,g,dp,D7 D6 D5 D4 D3 D2 D1 D0,dp g f e d c b a,0(3FH)0 0 1 1 1 1 1 1,a,b,d,c,e,f,g,dp,a,b,d,c,e,f,g,dp,a,b,d,c,e,f,g,dp,a,b,d,c,e,f,g,dp,a,b,d,c,e,f,g,dp,a,b,d,c,e,f,g,dp,a,b,d,c,e,f,g,dp,a,b,d,c,e,f,g,dp,9(6FH)0 1 1 0 1 1 1 1,1(05H)0 0 0 0 0 1 1 0,2(5BH)0 1 0 1 1 0 1 1,3(4FH)0 1 0 0 1 1 1 1,4(66H)0 1 1 0 0 1 1 0,5(6DH)0 1 1 0 1 1 0 1,6(7DH)0 1 1 1 1 1 0 1,7(07H)0 0 0 0 0 1 1 1,8(7FH)0 1 1 1 1 1 1 1,实验流程图,注:,09,的,ASCLL,为,4857,,,48,转换为十六进制为,30H,data segment,io8255a,equ,288h,io8255b,equ,28bh,led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,mesg1 db 0dh,0ah,Input a num(0-9),other key is exit:,0dh,0ah,$,data ends,code segment,assume,cs:code,ds:data,start:mov ax,data,mov ds,ax,mov dx,io8255b ;,使,8255,的,A,口为输出方式,mov ax,80h,out,dx,al,sss,:mov,dx,offset,mesg1 ;,显,示提示信息,mov ah,09h,int 21h,mov ah,01 ;,从键盘接收字符,int 21h,cmp al,0 ;,是否小于,0,jl exit ;,若是则退出,cmp al,9 ;,是否大于,9,jg,exit ;,若是则退出,sub al,30h ;,将所得字符的,ASCII,码减,30H,mov bx,offset led ;,bx,为数码表,的起始地址,xlat ;,求出相应的段码,mov dx,io8255a ;,从,8255,的,A,口,输出,out,dx,al,jmp,sss,;,转,SSS,exit:mov ah,4ch ;,返回,int 21h,code ends,end start,谢谢!,
展开阅读全文