单片机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接在一起,因此就有所谓的共阳和共阴.
刷新率
跟
对比度(辉度、亮度),延时是个错误的方法,应该采用定时器刷新。
键盘扫描函数的松手检测,采用死等(while(!key))绝对会让系统瘫痪,应该采用
记录状态的方式。 参考技术B 应该可以分成两种:1.对于自带译码器的数码管可以用p2口都四位送数据(十进制的数据就行了),另外四位对八个数码管进行选择;2.如果数码管不带译码器的话,可以加上一个锁存器,分两步进行,首先送数码管选择的数据,然后再送显示的数据;以上两种方法都可以用扫描的方法进行显示。本回答被提问者采纳
51单片机定时器累加计数+2位数码管(循环显示00-99)+Proteus仿真
以上是关于单片机8位数码管显示的主要内容,如果未能解决你的问题,请参考以下文章
画出单片机连接两位LED数码管显示器的硬件电路,说明显示原理。