⑴ 51系列单片机驱动多个数码管
用六片 595,即可静态显示时、分、秒。
但是,这时分秒的公共端,还要用一位接口来控制。
类似于动态显示的位选。
当换另一个位时,再让这六片 595,显示年、月、日。
当换另一个位时,再让这六片 595,显示星期、温度、湿度。
当换另一个位时,再让这六片 595,显示某某节日的倒计时,或农历。
595 用单片机的三条引线,位选,用四条。共七个引脚,即可驱动 24 位数码管。
并且,仅仅是四位的动态显示,因此,毫无闪烁的现象。
单片机,使用仅有 15 个 IO 引脚的 AT89C2051,即可够用。
⑵ 51单片机如何连接4个二位数码管,只有p0口和P20-P23可以使用了。
用4个二位数码管,可以用一个8位一体的共阴数码管画仿真图更简单。用P0口和P2.0~P2.2就可以接成8位动态显示电路。方法一:用两片74HC573锁存器,这是比较典型的显示电器,用是比较多,用P0口输出数据,两片锁存器分别锁存段码和位码。如下图。
⑶ 89C52单片机怎么连接让P3口控制8个数码管
只想用P3口的话,必须另加控制元件。
1一种方法是用两个锁存器来锁存数码管的段码和位码,进行动态扫描显示。
2另一方法是,用P3口的4位接一个BCD译码器控制数码管的段码,再P3口的3位接一个3-8译码器来控制数码管的位进行动态扫描。
3再就是可以用P3口的两根串行线接串并转换IC,来驱动数码管。
⑷ 单片机驱动数码管显示问题
前不久刚弄的类似显示程序,调整了下给你,看看有用不。电路图是4位显示的,程序已经改成了2位显示。
;单片机内存分配申明!
TEMPER_LEQU28H;用于保存计数值
A_BITEQU20H;数码管个位数存放内存位置
B_BITEQU21H;数码管十位数存放内存位置
ORG0000H
LJMPMAIN
ORG0040H
MAIN:
MOVSP,60H
MOVA,#00H
MOVP2,A
STAR:
MOVTEMPER_L,#0;初始化计数器,从0开始
stlop:
ACALLDISPLAY;调用显示子程序
INCTEMPER_L;对计数器加1
MOVA,TEMPER_L
CJNEA,#100,NEXT;判断计数器是否满100?
MOVTEMPER_L,#0;满100就清零
NEXT:LJMPstlop;不满就循环执行
DISPLAY:
MOVA,TEMPER_L
MOVB,#10;10进制/10=10进制
DIVAB
MOVB_BIT,A;十位在a
MOVA_BIT,B;个位在b
MOVDPTR,#NUMTAB;指定查表启始地址
DPL1:MOVR7,#250;显示250次,数越小,显示频率越高,递增的越快。
DPLOP:MOVA,A_BIT;取个位数
MOVCA,@A+DPTR;查个位数的7段代码
MOVP0,A;送出个位的7段代码
SETBP2.3;开个位显示
ACALLD1MS;显示1ms
CLRP2.3
MOVA,B_BIT;取十位数
MOVCA,@A+DPTR;查十位数的7段代码
MOVP0,A;送出十位的7段代码
SETBP2.2;开十位显示
ACALLD1MS;显示1ms
CLRP2.2
DJNZR7,DPLOP;250次没完循环
RET
;1MS延时(按12MHZ算)
D1MS:MOVR5,#80
DJNZR5,$
RET
;7段数码管0~9数字的共阳显示代码
NUMTAB:DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
⑸ 单片机与数码管的连接
如果22位数码管共用7段来驱动,显示效果很差,太暗!而且单片机直接驱动运行起来也费力。你可以计算一下就知道了:如果想显示没有闪烁感,显示刷新周期就要超过50HZ,也就是每20mS这22位数码管都要显示一次,那么每个数码管每次只能显示20mS÷22=0.91mS,而且单片机在这么短的时间内就没有太多的时间处理其它的任务了。
要解决这个问题,你必须用专用的LED显示驱动IC,而且要保证每个数码管显示的占空比要超过1/8才会有足够的亮度,如果是室外使用最好是1/4或1/3。
如果占空比选用1/6,那么你要在同一时间每次点亮22/6(4)个数码管,你可以看看TM1629A、B、C、D显示驱动IC,可以用2块驱动IC,每个IC同时点亮2个数码管,每个IC驱动11个数码管。
用这种IC比用74系列的芯片的好处是:只有在需要改变显示内容时,单片机才发送数据到驱动IC,平时不必发送数据,这样MCU就可以把时间用于处理其它任务了。
具体的电路你看IC资料就行了。
⑹ 采用静态连接方法,8051单片机最多可以控制几个数码管
不考虑供电的话,用51单片机可以接24个,8个口断选,24个口位选。
数码管在生活中经常见到,它是重要的显示用电子元件,也经常用单片机控制其显示,需要在掌握其功能原理、结构特点的基础上掌握其控制方法。
⑺ 如何用最少的单片机端口驱动多个数码管
最好的办法是用串转并的芯片如74HC164或595,只要二根线就可以驱动多个数码管,且是静态的,程序也方便编制,不用象动态显示那样不停地刷新。、
附图是用PIC16单片机驱动6个数码管的PROTEUS仿真的情况,实物也运行了,没问题。理论上可以驱动无穷多个数码管,实际上用十几二十个没问题。
北航《PIC16系列单片机C程序设计与PROTEUS仿真》书中有这个完整的线路图和程序,附光盘中有所有的线路图和程序代码。
⑻ 单片机做万年历数码管太多,扫描显示最后一位数总显示不对
是不是最后一位数码管没有设置延时关闭啊?单片机运行完数码管扫描程序后,运行其它程序,比如计算时间等等,如果最后一位数码管延时后没有关闭它的片选,就会出现最后一位显示时间长亮度高的现象,如果数码管的段选信号还有复用功能的话,肯定会引起显示乱码了。
你是怎么驱动数码管的?直接动态扫描驱动还是164芯片静态级联驱动啊?
⑼ 52单片机的P0口接一片74LS244作为驱动扩展,然后接8位的数码管,做多能接几个能驱动16个吗
74Ls244技术参数
最小 典型 最大
VCC 4.25V 5V 5.25V
高电平输出电流 -15mA
低电平输出电流 24mA
工作温度 0℃ 70℃
根据参数,一般同一时刻只点亮一个管子,因此建议用动态显示模式。至于数量,1片8个是没问题的,如果1路带两个管,恐怕太暗,达不到满意效果。
⑽ 51单片机驱动 多个 2.3寸数码管 问题
给你推荐几个常用的串口转并口,IO扩展芯片吧,你找找他们的资料,有典型电路的。
下面一图是74HC595的典型电路,图上是三个级联,还可以四个等多个级联,一个可以控制一个数码管,三个级联就可以控制三个数码管。
还有一个常用的芯片:74LS164,用法和595差不多。
另外一个功能比较强大的芯片:SM1617,可以驱动多个数码管,还可以挂接按键,可以扫描16个按键,具体资料你看下面的连接。
言尽于此,加油吧。