您的位置 首页 电路

51单片机系列连载3—数码管静态显现

今天主要介绍一下数码管,实际上在学完发光二极管的基础上,数码管一点都不难理解,因为这二者本来就是一脉相通的。首先,我们看一下实物图

今日首要介绍一下数码管,实际上在学完发光二极管的基础上,数码管一点都不难理解,因为这二者原本便是一脉相通的。首要,咱们看一下实物图,根本人人都很了解:

它的内部结构便是由8个发光二极管组成的,仅仅要区别共阳极与共阴极,这个跟之前的二极管原理相同。当然,在摆放时要注意次序,一般都是a到h。

那么什么是动态显现与静态显现呢?看一下官方的回答。所谓静态显现,便是每一个数码管的段码都要独占具有锁存功用的输出口,CPU把要显现的字码送到输出口上,就可以使数码管显现对应的字符, 直到下一次送出别的一个字码之前,显现的内容一向不会消失;动态扫描是把一切显现器的8个段码中的A-dp的各个相同段衔接在一起,接到一个公共的输出口上,而数码管的位端别离接在别的的输出口上,经过这两个输出口的两组信号相互作用来发生显现作用。即让各位数码管依照必定次序轮番显现,只需扫描频率足够高,因为人眼的“ 视觉暂留”现象,就能接连安稳的显现。

接下来,写几个程序让它亮一下:

1、一个数码管亮

#include

sbitduan=P2^2;

sbitwei=P2^3;

voidmain()

{

wei=1;

P0=0x00;

wei=0xbf;(此条句子成果为第7位数码管亮,显现4)

duan=1;

P0=0x66;

duan=1;

while(1);

}

2、多个数码管静态显现

#include

#defineuintunsignedint

#defineucharunsignedchar

sbitduan=P2^2;

sbitwei=P2^3;

ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

voiddelay(uintz);

voidmain()

{wei=1;

P0=0xea;

wei=0;

while(1)

{uintnum;

for(num=0;num<16;num )

{

duan=1;

P0=table[num];

duan=0;

delay(1000);

}

}

}

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x–)

for(y=110;y>0;y–);

}

以上便是对数码管静态显现的简略剖析,动态的稍后介绍,在数码管这块,首要处理一点,便是位锁存与段锁存,把这个理解了,剩余的便是简略地c言语编程了,其实真的不难!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/dianlu/257453.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部