日志档案

发表于 2007-5-7 22:35:54

1

标签: proteus  

13.动态数码显示技术一

13.动态数码显示技术一
——LED数码管的驱动原理与动态扫描显示

一、实验原理

    这里用的共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。原理示意图:


            


        从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。
       如要显示“0”,则要  a,b,c,d,e,f六个字段亮就显示“0”了,而g和dp字段不亮;这样只要向P0口送出相应的代码即可,编码方法如下表:

dp g f e d c b a 显示的字符 编码
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
1 1 0 0 0 0 0 0 0 C0H
1 1 1 1 0 0 1 1 1 F3H
1 0 1 0 0 1 0 0 2 A4H
1 0 1 1 0 0 0 0 3 B0H
1 0 0 1 1 0 0 1 4 99H
1 0 0 1 0 0 1 0 5 92H
1 0 0 0 0 0 1 0 6 82H
1 1 1 1 1 0 0 0 7 F8H
1 0 0 0 0 0 0 0 8 80H
1 0 0 1 0 0 0 0 9 90H
1 0 0 0 1 0 0 0 A 88H
1 0 0 0 1 1 1 0 F 8EH

        程序使用时,只需将显示数字所对应的编码送P0口,然后打开相应的数码管显示位的电源控制即可显示相应的字符;程序如下:
       LED  EQU  P0
       ORG 0000H
       ajmp start
       org  0030h
start: mov sp,#60h;
       mov LED,#0A4H    ;将数字2的编码送LED口
       SETB P2.0        ;打开第一位数码管的显示电源
       ACALL D1MS       ;调用延时1MS子程序
       CLR P2.0         ;显示1MS后关第一位数码管显示
       MOV LED,#0B0H    ;数字3的编码
       SETB P2.1        ;打开第二位数码管的显示电源
       ACALL D1MS       ;调用延时1MS子程序
       CLR  P2.1        ;显示1MS后关第二位数码管显示
      
       MOV LED,#99H     ;数字4的编码
       SETB P2.2        ;打开第三位数码管的显示电源
       ACALL D1MS       ;调用延时1MS子程序
       CLR P2.2         ;显示1MS后关第三位数码管显示
       MOV LED,#92H     ;数字5的编码
       SETB P2.3        ;打开第四位数码管的显示电源
       ACALL D1MS       ;调用延时1MS子程序
       CLR P2.3         ;显示1MS后关第四位数码管显示
       AJMP start       ;返回从第一位显示循环
     ;1MS延时子程序1MS延时(按12MHZ算)
      
D1MS: MOV R7,#80
      DJNZ R7,$
      RET
   END ;

二、仿真实验电路

 点击看大图  

 

三、仿真文件下载

rar  

系统分类: 单片机   |   用户分类: Proteus仿真实验   |   来源: 整理   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(1323)    回复(0)  

投一票您将和博主都有获奖机会!