51单片机 编写4个LED数码管同时循环显示0—9的数字 的程序。
编写一个程序,其中4 个LED数字管也可以通过0到9 的数字进行,可以使用5 1 个微控制器实现。程序中定义了一个数组CODELEDTAB,以将十六进制编码从0到9 节省。
这些编码用于控制数字LED管以显示某些数字。
该程序还定义了用于控制周期时间的可变时间,扫描和TIAO,以扫描LED数字管并调整显示速度。
代码中定义了延迟功能以创建延迟。
此功能使用循环实现延迟。
通过更改循环变量的值,可以设置延迟的时间长度。
通过CodeLedTab数组,我们可以将数字从0到9 转换为相应的LED数字管格式。
每个数字对应于数组中的一个值,例如0x3 f,1 0x06 等的值。
在程序中,我们必须使用一个循环显示0到9 的数字。
它可以用一个循环实现。
可以通过更改循环变量的值来控制显示的数字。
传递与电数相对应的CODELEDTAB值,即数字LED管,以匹配相应的电数。
为了同时实现4 个LED数字管的显示,可以在程序中使用扫描显示。
通过快速切换显示的LED数字管道,观察者可以创建一种幻觉,同时显示所有数字管。
在每个循环中,在显示电数后,将数字管切换为下一个,然后继续循环。
在实际应用中必须考虑显示的亮度和速度。
可以通过调整延迟功能中的延迟时间来控制显示速度。
同时,可以通过充分提高或降低亮度来提高显示效果。
可以在各种数字显示设备(例如计时器,口袋计算机,温度计等)中使用此类程序的编写。
通过更改代码中的数字和延迟时间可以轻松实现不同的功能。
51单片机4位数码管显示数字
静态显示,动态显示等。1 静态显示:对于静态显示,可以将带有IO连接的相应数字编码直接发送到数字管道的段选择笔。
将P0端口设置为0x3 F以显示数字0。
2 动态显示:动态显示有两种常见方法。
应提高茶点频率,以使人眼无法区分并创建指标。
另一个选项是首先使用锁定设备,首先将其阻止到数字管上,然后显示下一个数字。
如何使用单片机at89c51驱动4位8段数码管,如果用到芯片来驱动的,电路图如何连接?
这取决于您将四个数字数字管连接到微控制器的启动端口组。例如,5 1 个微控制器通常具有四个组,其中有八位数的入口I/O端口P0,P1 ,P2 和P3 通常,P0端口在三态I/O中,必须连接到上拉电阻。
不必将拉动对手连接到其他接口。
通常,1 K〜4 K7 用于选择拉动对手,以确保每个棍子的当前输出小于5 00mA。
我去看的图片。
尽管六位数的数字管具有常规阴极(但不会影响原理),因为它已连接到5 1 个微控制器,但您只需要连接拉动 - up阻力(排除)即可。
该电路图使用两个afters U1 和U2 来控制数字管道的位选择和芯片选择信号(读取中的WEI1 -WEI6 是位选择信号,A-G等是段选择信号)。
闩锁U2 和U1 是相同的模型。
在图中使用WELA和DUA(高和低水平)来控制和存储位选择和段选择。
这样,一组I/O端口可以操作数字管。
保存硬件开销。
希望它能帮助您!祝你好运
用单片机控制一个8段数码管,其循环显示数字0到9,每位数字显示时间为一秒,定时功能用单片机中断显示
有同样的问题。好的,我将使用四位数的数字管以您的研究来发布我编写的程序的另一份副本,以显示模拟时钟。
此外,我还将给您一个数字的数字,即您需要的类型。
两者都使用微控制器计时器中断来生成第二个信号。
下面的一个是四位数的数字管,底部是一个带有图形的数字管。
If the ports are different, please change it yourself / ***************************************************************************** *******************************************************************. sbitaxs = p1 ^ 3 ; SBITBXS = P1 ^ 2 ; sbitcxs = p1 ^ 1 ; sbitdxs = p1 ^ 0; //数字管公鸡端口到学校端口的选择[1 0] = {0xc0.0xf9 .0xa4 .0xb0.0x9 9 .0x9 2 .0x9 2 .0x8 2 0xf8 .0x8 0.0x9 0}显示代码代码代码code code code code nocignEdinth,m,s,s,s,t,t,t,t n;/**********************************************************************************************************************************************************************************/voidys(charhs)// for (; HS> 0; HS-) {for (HK = 2 00; HK> 0; HK-);}}/**************************************** ***************************************************************************************** ******************************************************************************************************** ******************************************************************************************************** ********************************************************************** ********************************************************************** ********************************************************************** *******************************************************************。
******************************************************************************************************** ******************************************************************************************************** ********************************************************************** ********************************************************************** ********************************************************************** *******************************************************************。
******************************************************************************************************** ******************************************************************************************************** ******************************************************************************************************** ******************************************************************************************************** ******************************************************************************************************** ******************************************************************************************************** ** / Voidxs (intxh, intxm)//显示子功能{chard1 ,d2 ,d3 ,d4 ; D1 =(XH / 1 )%1 0; D2 =(XH / 1 0)%1 0; //分离时间d3 =(xm / 1 )%1 0; D4 =(XM / 1 0)%1 0; //分离分钟p0 =表[D1 ]; ble [d2 ]; dxs = 0; YS(1 0); dxs = 1 ; //时间十分数字p0 = table [d3 ]; axs = 0; YS(1 0); axs = 1 ; //分钟到单个图p0 =表[D4 ]; BXS = 0; YS(1 0); BXS = 1 ; //十分钟分区P0 = 0x7 f; p1 = 0xfd; YS(1 0); p1 = 0xff; //小数点} / ****************************************************************************************************************。
tmod = 0x01 ; EA = 1 ; ET0 = 1 ; tr0 = 1 ; // whi计时器(1 )//主循环的初始化{if(p2 0 == 0){ys(1 0);如果(p2 0 == 0){h ++; if(h> 2 3 ){h = 0;}} while(!p2 0){xs(h,m);}} if(p2 1 == 0){ys(1 0); if(p2 1 == 0){m ++; if(m> 5 9 ){m = 0;}} while(!p2 1 ){xs(h,m);}} xs(h,m); // Call the display function of the digital tube}} / **************************************************************************************** {TH0 = (6 5 5 3 6 -1 000) / 2 5 6 ; TL0 =(6 5 5 3 6 -1 000)%2 5 6 ; n ++; T ++; if(t> 5 00){t = 0; LED = 〜LED;} // LED FLASH如果(n> 1 000){n = 0; s ++;} //如果到达第二秒,请添加第二个是(S> 5 9 ){S = 0; M ++;} //如果达到一个点,请添加一分钟为(M> 5 9 ){m = 0; H ++; One hour is if (h> 2 3 ) {h = 0;} // if 2 4 hours are reached, the time will be Cleared}/***************************************************************************************** *************************************************************************************************** ************************************************************************************** ********************************************************************************** ********************************************************************************** ***************************************************************************************。
************************************************************************************** ********************************************************************************** **************************************************************************************************************************************************************************************************************************************************************************************。
************************************************************************************** ********************************************************************************** **************************************************************************************************************************************************************************************************************************************************************************************。
************************************************************************************** ********************************************************************************** **************************************************************************************************************************************************************************************************************************************************************************************。
************************************************************************************** ********************************************************************************** **************************************************************************************************************************************************************************************************************************************************************************************。
************************************************************************************** ********************************************************************************** **************************************************************************************************************************************************************************************************************************************************************************************。
************************************************************************************** ********************************************************************************** **************************************************************************************************************************************************************************************************************************************************************************************。
********/#包括
tmod = 0x01 ; EA = 1 ; ET0 = 1 ; tr0 = 1 ; //计时器的初始化,而(1 )//主循环{p0 = table E [m]; axs = 0; YS(1 0); axs = 1 ; // time figures}}} / *********************************************************************************************** if(n> 1 000){n = 0; m ++;} // if one second is reached, add one second if (m> 9 ) {m = 0;} // if one hour is reached, add onee HOUR}/******************************************************************************************
51单片机数码管的问题
六个两个数字管,四分之四,是4 位数字管,左右一根数字管。每个设备都有1 2 个引脚,DCDEFG+DP和7 个数字管的七个段也被称为8 个段。
DP是小数点,即8 针,而4 位数字管具有4 个常见的末端,因此,8 +4 = 1 2 针。
该图中有8 个数字管道。
带有电阻的引脚是8 个片段。
两个相同的引脚连接到A,B等。
ABCDEFGH网络的符号添加到左线,H是小数点DP。
其余的8 个引脚是每个数字管的市政当局的常见端,左线由COM1 ,COM2 标记