《实验五七段数码管.ppt》由会员分享,可在线阅读,更多相关《实验五七段数码管.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验五 七段数码管 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望一.实验目的 掌握数码管显示数字的原理二.实验内容 按电路图连接好电路,将8255的A口PA0PA6分别与七段数码管的段码驱动输入端a相连,位码驱动输入端S1接+5V(选中),S0、dp接闭),CS接288H 28FH。编程从键盘输入一位十进制数字(09),在七段数码管上显示出来。实验电路图三、实验设备介绍三、实验设备介绍1、8255A的结构和功能的结构和功能2、七段显示数码管、七段显示数码管825
2、5结构功能v8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强,可作为单片机与多种外设连接时的中间接口电路。v8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。8255的特性 (1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围
3、的接口。(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两种模式,而这些操作模式完全由控制寄存器的控制字决定。82558255芯片引脚图芯片引脚图 8255A原理图缓冲器数据总线DBoooRDWRA0A1RESETCS读/写控制逻辑A口上C口下C口B口PA7PA0PC7PC4PC3PC0PB7PB0内部总线A组控制B组
4、控制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口PA7PA0PC7PC4PC3PC0PB7PB0内内部部总总线线(二二)控制逻辑控制逻辑这是两组根据CPU的编程命令控制8255A工作的电路,它们内部有控制寄存器,用来接收CPU送来的命令字,以决定A组、B组的工
5、作方式,或对C口的每一个位执行置位/复位操作。A组控制B组控制内内部部总总线线端口A和端口C的上半部分(PC7PC4)由A组控制逻辑管理,端口B和端口C的下半部分(PC3PC0)由B组控制逻辑管理。(三三)数据总线缓冲器数据总线缓冲器是双向三态的8位缓冲器,用作8255A和系统数据总线的接口。1)接收CPU送来的数据或控制字;2)外设传送给CPU的数据或状态信息缓冲器数据总线DBoooRDWRA0A1RESETCS读/写控制逻辑内内部部总总线线至数据端口至控制寄存器(四四)读读/写控制逻辑写控制逻辑控制总线的开放与关闭;控制信息传送的路径和方向。A1 A0=00,选中端口AA1 A0=01,选
6、中端口BA1 A0=10,选中端口CA1 A0=11,选中控制字寄存器端口(五五)端口寻址端口寻址8255A端口选择表七段显示数码管七段显示数码管 七段显示器由七个段状的发光二极管组成,这七个段状的发光二极管的排列情况见图一(a),因此七段显示器可以用来显示数字,也可以用来显示部分英文字母。将七个发光二极管的阳极接在一起,就构成共阳极接法见图一(b),这时要使某段亮就使相应的段输入低电平。若将七个发光二极管的阴极接在一起,就构成了共阴极接法见图一(c),这时要使某段亮就使相应的段输入高电平。数码管的驱动与显示:数码管的驱动与显示:数字显示电路通常由译码驱动器和显示器等部数字显示电路通常由译码驱
7、动器和显示器等部分组成。分组成。数码管要正常显示,就要用驱动电路来驱动数数码管要正常显示,就要用驱动电路来驱动数码管的各个段码。码管的各个段码。实验台上的七段数码管为共阴型实验台上的七段数码管为共阴型(即即把把abcdefg这这7个发光二极管的负极连接在一起并接地;它们的个发光二极管的负极连接在一起并接地;它们的7个个正极接到正极接到8段译码驱动电路的相对应的驱动端上(也段译码驱动电路的相对应的驱动端上(也是是abcdefg),七只发光二极管七只发光二极管(ag七段七段)构成字型构成字型“8”,另外还有一只发光二极管,另外还有一只发光二极管dp作为小数点。此作为小数点。此时若显示数字时若显示数
8、字1,那么译码驱动电路输出段,那么译码驱动电路输出段bc为高电为高电平,其他段扫描输出端为低电平,以此类推。平,其他段扫描输出端为低电平,以此类推。段码段码采用同相驱动,输入端加高电平采用同相驱动,输入端加高电平,选中的数码管亮,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。位码加反相驱动器,位码输入端高电平选中。abdcefgdpabdcefgdpD7 D6 D5 D4 D3 D2 D1 D0 dp g f e d c b a 0(3FH)0 0 1 1 1 1 1 1abdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabdcefgdpabd
9、cefgdpabdcefgdp9(6FH)0 1 1 0 1 1 1 11(05H)0 0 0 0 0 1 1 02(5BH)0 1 0 1 1 0 1 13(4FH)0 1 0 0 1 1 1 14(66H)0 1 1 0 0 1 1 05(6DH)0 1 1 0 1 1 0 16(7DH)0 1 1 1 1 1 0 17(07H)0 0 0 0 0 1 1 18(7FH)0 1 1 1 1 1 1 1v实验流程图注:09的ASCLL为4857,48转换为十六进制为30Hvdata segmentvio8255a equ 288hvio8255b equ 28bhvled db 3fh,06
10、h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhvmesg1 db 0dh,0ah,Input a num(0-9),other key is exit:,0dh,0ah,$vdata endsvcode segmentv assume cs:code,ds:datavstart:mov ax,datav mov ds,axv mov dx,io8255b ;使8255的A v 口为输出方式v mov ax,80hv out dx,alvsss:mov dx,offset mesg1 ;显v 示提示信息 vmov ah,09hv int 21hv mov ah,01 ;从键盘接收字符v int 21hv cmp al,0 ;是否小于0v jl exit ;若是则退出v cmp al,9 ;是否大于9v jg exit ;若是则退出v sub al,30h ;将所得字符的 v ASCII码减30Hv mov bx,offset led ;bx为数码表v 的起始地址v xlat ;求出相应的段码v mov dx,io8255a ;从8255的A口 v 输出v out dx,alv jmp sss ;转SSSvexit:mov ah,4ch ;返回v int 21hvcode endsv end start谢谢!谢谢!