我用89C51单片机单片机按键控制数码管管四位的共阳的。为什么要把对应的位选和段选对应的引脚全部置于低电平数码管才亮

用AT89S51单片机做数字温度计的问题,用DB18S20和四位共阳数码管,请问数码管和单片机之间要加上拉电阻吗_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
用AT89S51单片机做数字温度计的问题,用DB18S20和四位共阳数码管,请问数码管和单片机之间要加上拉电阻吗
在实际的电路焊接中!单片机与四位共阳数码管之间需要加电阻吗?阻值该为多少?段选与位选要加的电阻一样吗?下面是电路仿真图
他的作用是什么呢??这个是他的电路图
我有更好的答案
最好是加呀,加了显示更加稳定,相当于是从VCC供电起到驱动数码管的作用呀,阻值在1K左右差不多,加段选就行了,位选不用加
在按照上面这个新图(段位加了510欧的电阻和电源,位选没有加电阻和电源)焊接器件时,等我焊接完成后,接电源后,发现数码管没有显示正常的温度,而是显示四个8及点号,请问这是什么问题啊
你确定你的数码管是什么极性,焊接没有问题,程序没有问题?
程序没有问题,都用protues仿真过来,没有什么问题。焊接应该没有问题,数码管是共阳的,引脚我也很清楚,你感觉什么地方有问题,程序是在电脑上编译好的,也仿真了没有问题,烧了后!也成功啊
采纳率:16%
看图说话,共阳比较麻烦的,共阴的话单片机吸收电流可以直接驱动数码管,但是共阳,呵呵
一般上拉电阻为了提高带负载能力,我一般用a472j排阻,好像是4700殴,带圆点的是公共端
实际中最好是加一下吧,5v加一个5k1的上拉电阻。
其他4条回答
为您推荐:
其他类似问题
您可能关注的内容
数字温度计的相关知识
换一换
回答问题,赢新手礼包51单片机在LED数码管显示中的应用_李正浩_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机在LED数码管显示中的应用_李正浩
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢1156人阅读
51单片机(12)
这篇博文,将对数码管进行介绍和驱动,与之所关联的芯片,亦是前面所讲的74HC138译码器、74HC02或非门、74HC573锁存器,所用的 I/O 口,依然是11个——P2.5P.6P2.7以及P0~P7。
首先,什么是数码管?
数码管是由多个发光二极管封装在一起,而组成的“8”字型元器件。一般开发板上所用到的是四位共阳极(或者共阴极)的数码管,也就是说,是将数码管四个四个的连在一起,并将引脚引出。下面附上四位一体的数码管以及单个数码管的原理图:
其实物图如下所示:
可见,四位一体的数码管,只是将四个数码管封装在一起,同时将所有数码管的段选引脚一起引出,位选引脚仍然单独引出而已(什么是段选?位选?接下来会介绍)。
上面说到了共阳极,那自然会有共阴极吧?是的!那什么是共阳极和共阴极呢?让我们看看他们的内部原理图就一目了然了!
其中a,b,c,d,e,f,g,dp即为数码管中每个 LED 灯(共8个),COM口是位选端。单个数码管(一位数码管)的COM口有两个(可以起到分流以及让引脚分布均匀的作用,因为元器件的引脚分布多为偶数个)。
再来看下,数码管显示的工作状态:静态数码管和动态数码管。
静态数码管:当多位数码管连接在一起时,它们的“位选”是可单独控制的,但是他们的“段选”都是连接在一起的(比如说,我们控制四位数码管的“a”灯亮,假如我们位选是选择了四位,那么四个数码管的“a”灯都会亮)。所以当我们将所有的位选一起控制时的数码管显示的模式即为“静态数码管”,此时所有的数码管显示的值都相同。
动态数码管:数码管工作时,让数码管显示出来的数值不尽相同(意思就是,我们不把所有数码管的位选一起控制)。但是这里我们会想到,明明段选是在一起的,为什么会显示的不一样呢?这里我们利用数码管的余晖效果以及人眼视觉的暂时停留现象,使人们感觉各位数码管同时再显示。而实际上,我们每次单独对一位数码管操作,再给出段选,本质上是一位一位轮流显示的,只是速度十分快,我们看不出来而已。当然,假如时不时控制位选和段选,就会造成一起不清晰的现象——这样就是我们所说的“鬼影”。所以我们在使用数码管工作时,时常要注意的操作就是“消影”。意思是每次操作完一个数码管的位选和整个数码管的段选后,操作所有的数码管进行短暂的“熄灭”。这里在后面的代码会有有分析。
下面看一下,开发板上对应的数码管的原理图(所用的是共阳极数码管):
可见,我们仍是通过138和或非门,锁存器进行控制。其中箭头所指的是网络标号的连接处,锁存器输出端的“abcdefgdp”并不是直接连接数码管的段选的“abcdefgdp”。
下面,将数码管动态显示的部分代码给出:(P2口控制数码管位选和段选的选择,P0口负责往数码管送相应的位选和段选码)
#define unsigned char
uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
uchar dspbuf[]={10,10,10,10,10,10,10,10};
uchar dspcom = 0;
void display()
P2 = (P2 & 0x1f)|0xE0;
P0 = 0xff;
P2 &= 0x1f;
P2 = (P2 & 0x1f)|0xC0;
P0 = (1 && dspcom);
P2 &= 0x1f;
P2 = (P2 & 0x1f)|0xE0;
P0 = tab[dspbuf[dspcom];
P2 &= 0x1f;
if(++dspcom == 8)
dspcom = 0;
由上可见,每次通过P0 = (1
&& dscom)选中数码管一位,经过dspcom加1后,再选中下一位数码管(1左移dspcom位,1后面的二进制数都是0,例如 1 && 5,即为 ;1 && 2 ,即为 )。
而一直以来未被操作的数码管(未被位选)的段码值一直默认为“tab[dspbuf[10]]”,也就是0xff(熄灭状态),这也是一开始就把dspbuf[]数组全部赋值为“10”的原因。
例如我们这样这样写:
void main()
dspbuf[0] = 1;
dspbuf[1] = 2;
dspbuf[2] = 3;
dspbuf[3] = 10;
dsobuf[4] = 4;
dspbuf[5] = 5;
dspbuf[6] = 6;
display();
则,以上现象便是让数码管第1~3位分别显示“0、1、3”,第四位熄灭,第5~8位分别显示“4、5、6、7”。
而静态数码管,一般用的很少,它的存在只是为了引出动态数码管。对于它的操作,那需要把位选全部选中,再控制段选即可。当然,这样下来我们也不需要“消影”的处理了。
未完待续……
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:39915次
排名:千里之外
原创:17篇
评论:12条
(2)(1)(6)(7)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'51单片机at89s52的位选和段选咋回事?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
51单片机at89s52的位选和段选咋回事?
有四个共阴极数码管,但不知道咋控制啊,谁能帮我?
段选和位选是指单片机在控制数码管的时候,有2个部分,一个是位选,选择哪一位数码管可以通电(一般数码管都是有多位的)既被选中,二是段选,每一位都有8个段(一个数码管是由8个段构成的,一个段可以看成是一个小灯)段选控制被位选选中的这个数码管需要显示的数字。数码管要有显示需要两个条件,既一,位选被选中,二,有段选值(需要显示的图案或数字)。如图 LED1-8是位选,LCD0-7是段选 。
采纳率:72%
2&quot数码管一般有7段或者8段;&4& &quot,那么这位数码管才能显示段选端口控制的信号。一般要有数码管“字表”,下面的是共阳的,共阴的话自己另外找下TAB: DB 0C0H;8& &&7& &quot,0FFH;共阳段码表 &0&quot,90H;6& &quot,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,“8”字形每一条边算一段,只要选择某些段点亮就能显示要求的数字了。而位选,每一个数码管就是数字的一位。只要位选端口置位,80H;5& & 1& & 3& &quot
本回答被提问者采纳
那么这位数码管才能显示段选端口控制的信号。控制上很简单:如在第一位显示一个数字,则先在段选端口上输出需要的段选信号,数码管一般有7段,“8”字形每一条边算一段先说段选,只要选择某些段点亮就能显示要求的数字了。再说位选,每一个数码管就是数字的一位。只要位选端口置位,然后置位第一位的位选端口使其第一位置位就可以了
位选就是你选择那个数码管,段选就是你选择这个数码管a,b,c,d,e,f,g,h这 八段中的哪一段
书上的参考电路很多网上也有很多,找下吧
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
51单片机的相关知识
换一换
回答问题,赢新手礼包君,已阅读到文档的结尾了呢~~
四位共阳数码管的使用
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
四位共阳数码管的使用
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 单片机控制数码管闪烁 的文章

 

随机推荐