拉幕式数码管显示技术原理与分析

发布者:创意小巨人最新更新时间:2017-12-31 来源: eefocus关键字:拉幕式  数码管  显示技术 手机看文章 扫描二维码
随时随地手机看文章

1.实验任务
  用AT89S51单片机的P0.0/AD0-P0.7/AD7端口接数码管的a-h端,8位数码管的S1-S8通过74LS138译码器的Y0-Y7来控制选通每个数码管的位选端。AT89S51单片机的P1.0-P1.2控制74LS138的A,B,C端子。在8位数码管上从右向左循环显示“12345678”。能够比较平滑地看到拉幕的效果。
2.电路原理图
拉幕式数码显示技术
图4.21.1
3.系统板上硬件连线
(1).把“单片机系统”区域中的P0.0/AD0-P0.7/AD7用8芯排线连接到“动态数码显示”区域中的a-h端口上;
(2).把“三八译码模块”区域中的Y0-Y7用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;
(3).把“单片机系统”区域中的P1.0-P1.2端口用3根导线连接到“三八译码模块”区域中的A、B、C“端口上;
4.程序设计方法
(1).动态数码显示技术;如何进行动态扫描,由于一次只能让一个数码管显示,因此,要显示8位的数据,必须经过让数码管一个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到4ms之间,所以为了保证正确显示,我必须每隔1ms,就得刷新一个数码管。而这刷新时间我们采用单片机的定时/计数器T0来控制,每定时1ms对数码管刷新一次,T0采用方式2。
(2).在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。
5.程序框图
主程序框图
拉幕式数码显示技术
中断服务程序
拉幕式数码显示技术
6.汇编源程序
DISPBUF         EQU 30H
DISPCNT         EQU 38H
DISPBIT         EQU 39H
T1CNTA          EQU 3AH
T1CNTB          EQU 3BH
CNT             EQU 3CH
                ORG 00H
                LJMP START
                ORG 0BH
                LJMP INT_T0
START:          MOV DISPCNT,#8
                MOV A,#10
                MOV R1,#DISPBUF
LP:             MOV @R1,A
                INC R1
                DJNZ DISPCNT,LP
                MOV DISPBIT,#00H
                MOV T1CNTA,#00H
                MOV T1CNTB,#00H
                MOV CNT,#00H
                MOV TMOD,#01H
                MOV TH0,#(65536-1000) / 256
                MOV TL0,#(65536-1000) MOD 256
                SETB TR0
                SETB ET0
                SETB EA
                SJMP $
INT_T0:
                MOV TH0,#(65536-1000) / 256
                MOV TL0,#(65536-1000) MOD 256
                MOV A,DISPBIT
                ADD A,#DISPBUF
                MOV R0,A
                MOV A,@R0
                MOV DPTR,#TABLE
                MOVC A,@A+DPTR
                MOV P0,A
                MOV A,P1
                ANL A,#0F8H
                ADD A,DISPBIT
                MOV P1,A               
                INC DISPBIT
                MOV A,DISPBIT
                CJNE A,#08H,NEXT
                MOV DISPBIT,#00H
NEXT:           INC T1CNTA
                MOV A,T1CNTA
                CJNE A,#50,LL1
                MOV T1CNTA,#00H
                INC T1CNTB
                MOV A,T1CNTB
                CJNE A,#8,LL1
                MOV T1CNTB,#00H
                INC CNT
                MOV A,CNT
                CJNE A,#9,LLX
                MOV CNT,#00H
                MOV A,CNT
LLX:            CJNE A,#01H,NEX1
                MOV 30H,#8
LL1:            LJMP DONE
NEX1:           CJNE A,#02H,NEX2
                MOV 31H,#8
                MOV 30H,#8
                LJMP DONE
NEX2:           CJNE A,#03H,NEX3
                MOV 32H,#8
                MOV 31H,#8
                MOV 30H,#8
                LJMP DONE
NEX3:           CJNE A,#04H,NEX4
                MOV 33H,#8
                MOV 32H,#8
                MOV 31H,#8
                MOV 30H,#8
                LJMP DONE
NEX4:           CJNE A,#05H,NEX5
                MOV 34H,#8
                MOV 33H,#8
                MOV 32H,#8
                MOV 31H,#8
                MOV 30H,#8
                LJMP DONE
NEX5:           CJNE A,#06H,NEX6
                MOV 35H,#8
                MOV 34H,#8
                MOV 33H,#8
                MOV 32H,#8
                MOV 31H,#8
                MOV 30H,#8
                LJMP DONE
NEX6:           CJNE A,#07H,NEX7
                MOV 36H,#8
                MOV 35H,#8
                MOV 34H,#8
                MOV 33H,#8
                MOV 32H,#8
                MOV 31H,#8
                MOV 30H,#8
                LJMP DONE
NEX7:           CJNE A,#08H,NEX8
                MOV 37H,#8
                MOV 36H,#8
                MOV 35H,#8
                MOV 34H,#8
                MOV 33H,#8
                MOV 32H,#8
                MOV 31H,#8
                MOV 30H,#8
                LJMP DONE
NEX8:           CJNE A,#00H,DONE
                MOV 37H,#10
                MOV 36H,#10
                MOV 35H,#10
                MOV 34H,#10
                MOV 33H,#10
                MOV 32H,#10
                MOV 31H,#10
                MOV 30H,#10
LL:             LJMP DONE
DONE:           RETI
TABLE:          DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H
                END
7.C语言源程序
#include
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,
                               0x66,0x6d,0x7d,0x07,
                               0x7f,0x6f,0x77,0x7c,
                               0x39,0x5e,0x79,0x71,0x00};
unsigned char dispbitcode[]={0xf8,0xf9,0xfa,0xfb,
                             0xfc,0xfd,0xfe,0xff};
unsigned char dispbuf[8]={16,16,16,16,16,16,16,16};
unsigned char dispbitcnt;
unsigned int t02scnt;
unsigned char t5mscnt;
unsigned char u;
unsigned char i;
void main(void)
{
  TMOD=0x02;
  TH0=0x06;
  TL0=0x06;
  TR0=1;
  ET0=1;
  EA=1;
  while(1);
}
void t0(void) interrupt 1 using 0
{
  t5mscnt++;
  if(t5mscnt==4)
    {
      t5mscnt=0;
      P0=dispcode[dispbuf[dispbitcnt]];
      P1=dispbitcode[dispbitcnt];
      dispbitcnt++;
      if(dispbitcnt==8)
        {
          dispbitcnt=0;
        }
    }
  t02scnt++;
  if(t02scnt==1600)
    {
      t02scnt=0;
      u++;
      if(u==9)
        {
          u=0;
        }
      for(i=0;i<8;i++)
        {
          dispbuf[i]=16;
        }
      for(i=0;iO:P>
        {
          dispbuf[i]=8;
        }
    }
}

关键字:拉幕式  数码管  显示技术 引用地址:拉幕式数码管显示技术原理与分析

上一篇:基于89C52的电子钟设计
下一篇:基于51的电子琴设计

推荐阅读最新更新时间:2024-03-16 15:51

AVR单片机课程设计程序
//AVR单片机课程设计程序 //名称:电压表 //硬件:AVR-ATMEGA16 实验板 8MHz 晶振 //编写人:李春起 //修改日志: #include iom16v.h #include macros.h //-------------位拉高宏-------------------------------------------- #define ADC0_H PORTA|=BIT(PA0) #define ADC1_H PORTA|=BIT(PA1) #define LEDLK_H PORTA|=BIT(PA2) //流水灯选通 #define SEGLK_H PORTA|=BIT(PA3) //数码管段码选通
[单片机]
51单片机学习之路(二)-数码管显示
写在前面:以下涉及到的程序及电路图不保证为最优方案,会存在很多不足之处,望谅解。 正文 学习目标:使用51单片机实现数码管的显示。 学习内容: 了解数码管的静态显示 实现数码管动态显示 程序一:点亮数码管-静态数码管显示 根据数码管的结构,可以将数码管理解为数码管是由8个LED灯组成,并且这8个LED灯按照一定顺序排列且具有一个公共端。根据这样的结构,我们可以像点亮LED灯一样,将数码管点亮并显示所需内容。数码管又分为共阴和共阳,在这里使用的是共阴数码管。 源程序 #include reg52.h typedef unsigned char uchar; typedef unsigned int uint;
[单片机]
51单片机学习之路(二)-<font color='red'>数码管</font>显示
4*4矩阵键盘制作电路+键盘扫描法89c52c程序驱动数码管
这里介绍最常用的4*4矩阵键盘,其他的更多键在此基础上拓展。 一般我们用的电路就如下,此图我随手画下,看懂意思就好了 如果你有兴趣可以按照此电路制作,下面附上焊接实物图 矩阵键盘的识别方法一般有扫描法,线反转法 扫描法: 矩阵式键盘结构:输出行线锁存器,输入列线缓冲器。 工作过程: 1.CPU先使行线P1.0为低,其余行线为高 2.CPU读入输入缓冲器的状态,以确定哪条列线为0状态,若此时P1.7为0,则 C 键按下;若P1.5为0,则 E 键按下 3.若输入缓冲器(列线)状态全部为1,说明P1.0行没有键盘按下,CPU急继续使P1.1为0,其余行线为高,再读入输入缓冲器的状态,以确定哪条列线为0
[单片机]
LED显示屏的选择与显示技术的比较
随着数字化、信息化的发展,大屏幕在各种场合得到了越来越多的应用,而各种显示技术也应运而生。从早期的CRT,到现在的LCD显示屏、PDP、FED、DLP等,平板显示技术呈现出多元化发展的趋势。下面将就LED屏的选择,及其与背投、LCD、PDP的比较展开讨论。 一 led屏是否适合自身运用 以下列出两个简单问题,可以帮你决定LED屏是否适合你的具体应用: 1. 你选择的安装环境的亮度如何? 如果是环境很明亮,则请优先选用LED或背投。 2. 你的显示屏需要多大的尺寸? 如果你想要一个60英寸以上、无缝的大显示屏,那你可以选择前投、背投或LED显示屏。 二 LED视频显示屏可为室外告示和广告市场提供最大的投资回报 现代的
[电源管理]
【51单片机】静态与动态点亮数码管
静态: span style= font-family:Microsoft YaHei;font-size:18px; #include reg52.h sbit dula=P2^6; //数码管寄存器 sbit wela=P2^7; //位寄存器 void main() { wela=1; P0=0xf8; wela=0; //确定几位数码管亮,且使其状态保持 dula=1; P0=0x3f; //显示的数字 dula=0; while(1); //保持常亮 } /span 动态: span style= font-family:Microsoft YaHei;font-si
[单片机]
共阴共阳数码管
本质就是发光二极管 LED 的连接方式,多个 LED 摆成 日 的形状就叫数码管,共阴共阳就是一端统一接地或者统一接 VCC。 1、具体参数: 好像少了个⑨ 2、连接方法: 注:数码管本来就是 10 引脚:7 个字形,1 个小数点,2 个电源(为嘛是 2 个,没有考证过 )
[单片机]
共阴共阳<font color='red'>数码管</font>
74hc595芯片数码管显示
/*74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。 74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。时钟线sck在上升沿将数据输入(即由低电平编导高电平), 数据在si的上升沿输入,在si的上升沿进入到存储寄存器中去。如果两个时钟连在一起,则 移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds), 和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的, 具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。    8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。 */
[单片机]
大尺寸数码管的动态驱动和保护电路设计
引 言 LED数码管是单片机系统常用的显示器件,1英寸以上的LED数码管的每个字段都是由多个发光二极管串、并联组成,在此称为大尺寸数码管。大尺寸数码管虽然不能显示汉字等复杂字符,但数字显示效果好,可视距离远,成本低,符合人的视觉习惯,有着广泛的用途。其结构特性要求驱动电路提供较高的电压和电流,可用动态和静态方式驱动。笔者设计的“广电播控机房大尺寸综合显尔器”就是用动态驱动大尺寸数码管的方式实现的,本文给出的都是实际使用的电路。 1 大尺寸数码管特性 图1是深圳佳美公司JM-S40O11D4英寸共阳高亮红色数码管各字段的组成。A~G7个段都是由8只发光二极管串、并联而成;DP是小数点,由2只发光二极管串联而成。单个发
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved