0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用实现单片机动态数码显示的详细说明

Wildesbeast 来源:单片机教程网 作者:单片机教程网 2020-05-05 14:12 次阅读

如图所示,AT89S51单片机 P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关,当开关接高电平时,显示“12345”字样;当开关接低电平时,显示“HELLO”字样。

2. 电路原理

3. 系统板上硬件连线

(1. 把“单片机系统”区域中的P0.0/AD0-P0.7/AD7用8芯排线连接到“动态数码显示”区域中的a-h端口上;

(2. 把“单片机系统”区域中的P2.0/A8-P2.7/A15用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;

(3. 把“单片机系统”区域中的P1.7端口用导线连接到“独立式键盘”区域中的SP1端口上;

4. 程序设计内容

(1. 动态扫描方法

动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。

(2. 在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。

(3. 对于显示的字形码数据我们采用查表方法来完成。

5. 程序框图

图4.13.2

6. 汇编源程序

ORG 00H

START: JB P1.7,DIR1

MOV DPTR,#TABLE1

SJMP DIR

DIR1: MOV DPTR,#TABLE2

DIR: MOV R0,#00H

MOV R1,#01H

NEXT: MOV A,R0

MOVC A,@A+DPTR

MOV P0,A

MOV A,R1

MOV P2,A

LCALL DAY

INC R0

RL A

MOV R1,A

CJNE R1,#0DFH,NEXT

SJMP START

DAY: MOV R6,#4

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

TABLE1: DB 06H,5BH,4FH,66H,6DH

TABLE2: DB 78H,79H,38H,38H,3FH

END

7. C语言源程序

#include 《AT89X51.H》

unsigned char code table1[]={0x06,0x5b,0x4f,0x66,0x6d};

unsigned char code table2[]={0x78,0x79,0x38,0x38,0x3f};

unsigned char i;

unsigned char a,b;

unsigned char temp;

void main(void)

{

while(1)

{

temp=0xfe;

for(i=0;i《5;i++)

{

if(P1_7==1)

{

P0=table1[i];

}

else

{

P0=table2[i];

}

P2=temp;

a=temp《《(i+1);

b=temp》》(7-i);

temp=a|b;

for(a=4;a》0;a--)

for(b=248;b》0;b--);

}

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44501

    浏览量

    632286
  • 键盘
    +关注

    关注

    4

    文章

    858

    浏览量

    39556
  • 数码管
    +关注

    关注

    32

    文章

    1874

    浏览量

    90883
收藏 人收藏

    评论

    相关推荐

    基于51单片机实现动态数码显示

    一体的共阴数码管,接下来我们就来介绍下如何使用51 单片机控制动态数码显示。本教程所要实现的功
    发表于 07-17 14:29 1.3w次阅读
    基于51<b class='flag-5'>单片机</b><b class='flag-5'>实现</b><b class='flag-5'>动态</b><b class='flag-5'>数码</b>管<b class='flag-5'>显示</b>

    关于51单片机动态显示

    菜鸟一只,在学习51单片机动态显示时碰到一些问题:当动态显示时的delay时间间隔较高数码管时能够一个一个按顺序清楚显示同时数数,可是delay时间间隔一旦降到几ms时【方波频率很高】
    发表于 07-24 16:24

    单片机动态显示相关资料推荐

    单片机动态显示(多个数码管)这只是简单的连接,没有涉及到电阻之类的多个数码管在显示过程中,最重要的是考虑位码和断码位可以参考参考图片“12345678”表示的就是位选码,而“ABCDE
    发表于 11-25 09:23

    单片机动态数码管消影的问题及原因

    零基础入门(8-3)实战:在数码管任意位置显示数字----单片机动态数码管实战—附源代码我讲到了在数码管任意指定的位置,
    发表于 01-17 07:42

    单片机动态数码管实战

    单片机零基础入门(8-3)实战:在数码管任意位置显示一个数字----单片机动态数码管实战一、上节回顾:二、需求描述及分析:1、需求:2、分析
    发表于 01-27 06:41

    51单片机动态LED显示电路编程实例

    51单片机动态LED显示电路编程实例:上一节我们讲述了单只LED与单片机的接口电路及编程实例,目的在于让初学者了解LED在单片机中的应用原理,单只LED
    发表于 08-12 16:39 151次下载

    基于单片机实现动态静态LED(数码管下边)的显示

    基于单片机实现动态静态LED(数码管下边)的显示
    发表于 01-06 14:29 15次下载

    单片机的指令大全详细说明

    本文档的主要内容详细介绍的是单片机的指令大全详细说明
    发表于 12-26 11:39 24次下载
    <b class='flag-5'>单片机</b>的指令大全<b class='flag-5'>详细说明</b>

    使用STM32F103RB单片机实现ADC实验的资料详细说明

    本文档的主要内容详细介绍的是使用STM32F103RB单片机实现ADC实验的资料详细说明
    发表于 04-07 08:00 7次下载
    使用STM32F103RB<b class='flag-5'>单片机</b><b class='flag-5'>实现</b>ADC实验的资料<b class='flag-5'>详细说明</b>

    使用STM32F103RB单片机实现外部中断实验的资料详细说明

    本文档的主要内容详细介绍的是使用STM32F103RB单片机实现外部中断实验的资料详细说明
    发表于 04-07 08:00 0次下载
    使用STM32F103RB<b class='flag-5'>单片机</b><b class='flag-5'>实现</b>外部中断实验的资料<b class='flag-5'>详细说明</b>

    PIC单片机实现数码管的动态显示和PROTEUS仿真资料免费下载

      本文档的主要内容详细介绍的是使用PIC单片机实现数码管的动态显示和PROTEUS仿真资料免费下载。
    发表于 08-25 17:03 28次下载
    PIC<b class='flag-5'>单片机</b><b class='flag-5'>实现</b><b class='flag-5'>数码</b>管的<b class='flag-5'>动态显示</b>和PROTEUS仿真资料免费下载

    使用单片机实现数码显示动态数据的C语言实例免费下载

    本文档的主要内容详细介绍的是使用单片机实现数码显示动态数据的C语言实例免费下载。
    发表于 11-12 17:57 13次下载

    使用单片机实现数码动态显示的C语言实例免费下载

    本文档的主要内容详细介绍的是使用单片机实现数码动态显示的C语言实例免费下载。
    发表于 04-02 10:28 24次下载

    单片机萌新——单片机动态显示(多个数码管)

    单片机动态显示(多个数码管)这只是简单的连接,没有涉及到电阻之类的多个数码管在显示过程中,最重要的是考虑位码和断码位可以参考参考图片“12345678”表示的就是位选码,而“ABCDE
    发表于 11-17 10:06 10次下载
    <b class='flag-5'>单片机</b>萌新——<b class='flag-5'>单片机动态显示</b>(多个<b class='flag-5'>数码</b>管)

    单片机零基础入门(8-4)实战:单片机动态数码管消影---附源代码

    零基础入门(8-3)实战:在数码管任意位置显示数字----单片机动态数码管实战—附源代码我讲到了在数码管任意指定的位置,
    发表于 01-17 12:11 10次下载
    <b class='flag-5'>单片机</b>零基础入门(8-4)实战:<b class='flag-5'>单片机动态</b><b class='flag-5'>数码</b>管消影---附源代码