《实验五七段数码管.ppt》由会员分享,可在线阅读,更多相关《实验五七段数码管.ppt(18页珍藏版)》请在三一办公上搜索。
1、实验五 七段数码管静态显示,08影像(2)班 顾洁、张彬,一.实验目的 掌握数码管显示数字的原理二.实验内容 按电路图连接好电路,将8255的A口PA0PA6分别与七段数码管的段码驱动输入端a相连,位码驱动输入端S1接+5V(选中),S0、dp接闭),CS接288H 28FH。编程从键盘输入一位十进制数字(09),在七段数码管上显示出来。,实验电路图,三、实验设备介绍,1、8255A的结构和功能 2、七段显示数码管,8255结构功能,8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,
2、使用灵活,通用性强,可作为单片机与多种外设连接时的中间接口电路。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组
3、包括B口及C口(低4位,PC0PC3)。A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定。,8255芯片引脚图,8255A原理图,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位口使用
4、。,(二)控制逻辑,这是两组根据CPU的编程命令控制8255A工作的电路,它们内部有控制寄存器,用来接收CPU送来的命令字,以决定A组、B组的工作方式,或对C口的每一个位执行置位/复位操作。,端口A和端口C的上半部分(PC7PC4)由A组控制逻辑管理,端口B和端口C的下半部分(PC3PC0)由B组控制逻辑管理。,(三)数据总线缓冲器,是双向三态的8位缓冲器,用作8255A和系统数据总线的接口。1)接收CPU送来的数据或控制字;2)外设传送给CPU的数据或状态信息,A1 A0=00,选中端口AA1 A0=01,选中端口BA1 A0=10,选中端口CA1 A0=11,选中控制字寄存器端口,(五)端
5、口寻址,七段显示数码管 七段显示器由七个段状的发光二极管组成,这七个段状的发光二极管的排列情况见图一(a),因此七段显示器可以用来显示数字,也可以用来显示部分英文字母。将七个发光二极管的阳极接在一起,就构成共阳极接法见图一(b),这时要使某段亮就使相应的段输入低电平。若将七个发光二极管的阴极接在一起,就构成了共阴极接法见图一(c),这时要使某段亮就使相应的段输入高电平。,数码管的驱动与显示:数字显示电路通常由译码驱动器和显示器等部分组成。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码。实验台上的七段数码管为共阴型(即把abcdefg这7个发光二极管的负极连接在一起并接地;它们的7个正极
6、接到8段译码驱动电路的相对应的驱动端上(也是abcdefg),七只发光二极管(ag七段)构成字型“8”,另外还有一只发光二极管dp作为小数点。此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。,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,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
7、 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 segmentio8255a equ 288hio8255b equ 28bhled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1 db 0dh,0ah,Input a num(0-9),other key is exit
8、:,0dh,0ah,$data endscode segment assume cs:code,ds:datastart:mov ax,data mov ds,ax mov dx,io8255b;使8255的A 口为输出方式 mov ax,80h out dx,alsss: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;转SSSexit:mov ah,4ch;返回 int 21hcode ends end start,谢谢!,