单片机8位数码管显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机8位数码管显示相关的知识,希望对你有一定的参考价值。

p2口控制 共阳极数码管显示八个1 怎样传递数据?

给你个程序,可是你的数码管的位选是什么?用的锁存器来选定还是三极管?根据你的意思是只要八个数码管都亮,不需要选择哪个亮哪个灭.

既然是共阳接法,你的阴极应该接的是P2口了,给P2口的八个脚低电平,那么你看这个这个程序吧.

#incluede<reg52.h> //我板子上用的是AT89C52,这是头文件,其实你这个貌似不需要加头文件,头文件里的内容是定义了一些东西,可以包含进来直接用,

void main()

  P2=0xf9; 

我的是八个三极管来选择亮哪个数码管,也是共阳接法.p1口位选(选择是哪个数码管亮),P0口段选(操作P0口来实现是显示0~F),请看我的板子所配的程序.

#inlcude<reg52.h>

void main()

  P1=0;//选种所有的数码管,也就是八个数码管都亮.

  P0=0xf9;//让被选种的数码管都亮"1".

看我的截图,我把三个图截在一起,第一个图说的是共阳数码管的接法,.第二个图说的是数码管的段是如何接的,第三个图是我板子上其中四个三极管控制四数码管的选亮与否,也就是位选.

数码管的段说的是数码管其实是有8段LED接在一起,因此就有所谓的共阳和共阴.

参考技术A 数码管的动态显示涉及到
刷新率

对比度(辉度、亮度),延时是个错误的方法,应该采用定时器刷新。
键盘扫描函数的松手检测,采用死等(while(!key))绝对会让系统瘫痪,应该采用
记录状态的方式。
参考技术B 应该可以分成两种:1.对于自带译码器的数码管可以用p2口都四位送数据(十进制的数据就行了),另外四位对八个数码管进行选择;2.如果数码管不带译码器的话,可以加上一个锁存器,分两步进行,首先送数码管选择的数据,然后再送显示的数据;以上两种方法都可以用扫描的方法进行显示。本回答被提问者采纳

51单片机定时器累加计数+2位数码管(循环显示00-99)+Proteus仿真

51单片机定时器累加计数+2位数码管(循环显示00-99)+Proteus仿真


  • Proteus仿真

实例代码

 #include <reg52.h>
#define uint unsigned int
#define<

以上是关于单片机8位数码管显示的主要内容,如果未能解决你的问题,请参考以下文章

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

51单片机的初了解(10)

画出单片机连接两位LED数码管显示器的硬件电路,说明显示原理。

利用51单片机,4个数码管设计一个计时器,要求在数码管上显示的数据从0开始每1秒钟加1。

基于51单片机利用八个数码管花样显示如下

《蓝桥杯CT107D单片机竞赛板》:数码管模块