遥控器按下什么键数码管就显示什么的51单片机红外c程序,最好能给一下程序注释
在此程序中,通过红外遥控器接收主信号,该数字显示在数字管上。该程序定义数字管显示中使用的段代码值以及红外接口和数据端口。
该程序首先将外部中断0和计时器0初始化以接收红外信号和计时。
当接收红外信号时,程序记录每个级别的持续时间以确定0或1 当接收到完整的红外信号代码时,程序处理数据并将其转换为相应的数字管显示值。
在主要功能中,该程序继续检查是否通过循环接收完整的红外信号。
如果已收到,则该程序调用IRCORDPRO函数来处理数据,然后将结果存储在Ircord数组中。
处理IRCORD安排时,程序调用IR_Work函数并根据IRCORD数组的值显示数字。
该程序的1 0个段代码值分别为0到9 接收到密钥信号后,程序会根据段代码值显示数字。
该程序包含一些辅助功能,例如tim0init和ex0init,用于初始化计时器和外部中断。
这些功能允许该程序正确接收和处理红外信号。
整个程序中都使用多个中断处理和循环结构,因此该程序可以有效接收和处理红外信号并在数字管中显示该数字。
该程序显示了如何使用5 1 个微控制器和红外遥控器来获得简单的数字显示功能。
该程序不仅可以接收红外信号,而且还可以将接收的信号转换为数字,并在数字管上显示其以提供后续开发的良好参考。
该程序的计时器和外部中断处理机制使您可以实时接收和处理红外信号,以确保系统的实际时间和可靠性。
同时,该程序的段代码值和数字管显示机制使显示数字易于提供实际应用程序。
该程序不仅实现了红外遥控器的数字显示功能,而且还可以学习如何使用5 1 微控制器进行实际时间处理和显示工作。
这是使用红外遥控器开发电子产品的参考值。
简而言之,该程序显示了如何通过5 1 个微控制器和红外信号实现数字显示功能,并具有典型的红外远程数字显示应用程序。
该计划的各个部分相互配合,以确保系统的可靠性和实际时间特征。
该程序使您可以更好地了解红外遥控器和数字管显示的基本原理,从而为后续开发提供了良好的基础。
51单片机八位数码管原理图
以下三个数字是开发委员会的计划图。该开发委员会使用两个7 4 HC5 7 3 寄存器,可以减少微控制器IO端口的使用。
伦敦U8 用于控制位选择,即控制数字管。
U9 控制部分选择,
51单片机控制的数码管原理是什么?
数字管实际上是由发光的二极管组成的,这些二极管分为普通阴极和共同阳极。对于共同的阳极,数字管由8 个二极管组成,它们的阳极连接到 + 5 V电源,每个阴极连接到某个端口,例如8 个P1 销。
当引脚从低水平出现时,与数字管相对应的二极管非常出色。
问题补充:因为人眼是滞后,如果您给出数字管的时间为0.3 秒,则另一个是0.3 秒,那么几个数字管依次不断连接0.3 秒。
由于人眼是滞后,因此您需要显示的数字显示。
当然,特定的连接时间取决于数字管和其他条件中数字的数量。
关于51单片机用8050驱动共阳数码管
5 1 个微控制器使用8 5 5 0(8 05 0)运行常见的阳性数字管。该电路的计划如下:Aadhaar电流通过有限的抑制剂连接到微控制器IO端口,然后将收集器连接到数字管,然后将发射器接地。
当相关的IO输出0时,收集器和发射极会打开,收集器也会发送0次数。
keil51单片机数码管滚的显示
1 LED数字管的原理暴露了数字管的光发射原理实际上是七部分LED灯(小数点除外)或由八个LIT扇区组成的LED灯的结果。八个段落是a,b,c,d,e,f,g,dp(代表点)。
LED数字管是常见的显示器,可以在许多情况下看到,例如警报手表,用于家用电器,站点等的显示功能。
我们以“ 8 ”形式看到的数字管,数字管分为两种类型:常见的和常见的阴极。
1 公共阴极:它是数字管的阴极(负电极)分为八个阶段,需要在高水平上进行点亮。
如下图2 所示。
共同的阳极:意味着将(正)Anudi连接到由八个部分(+5 V)组成的数字管,并且应该以低级别的亮度点亮。
如下图3 所示。
数字管的特定显示①公共负数数字管的照明,以使不同的字母出现在数字管的不同切片中,LED灯应从不同的部门运行并停止以实现这一目标。
对于通用阴极的数字管,您只需要给出高级别的LED灯来照明,并且相应的代码断裂将被点亮。
损坏的代码将以低级别关闭。
以“ 0”优惠为例,例如,您只需要给出“ DP”和“ G”级别即可将其关闭。
打破代码的布置是:dpgfedcba“ 0”中的十-hexi:3 fh其他字母打破了符号,因此:如下表所示,如下表所示,常见的正数数字管照明是在数字管的不同片段中显示不同字母的数字管,来自不同零件的LED灯,直到它们运行并实现了这一目标。
对于常见的数字管,您只需要给出低级别的LED灯来照明,并且相应的代码断裂将被点亮。
图标将被关闭高水平。
以“ 0”优惠为例,您只需要给出高水平的“ DP”和“ G”即可阻止它们。
打破代码的安排是:dpgfedcba1 1 000000000000000000“ 0”:c0h其他字母打破了符号等:如下表2 所示。
动态数字管(完成)的想法:创建位符号,并在Sub -Branch的结构中创建一个位符号,并在Sub -Branch的结构中设计一个延迟。
这个想法通常用于显示变量字母。
显示状态(左传输屏幕,类似于常见的广告面板)3 计划方案(原生动模拟方案)4 它需要一种方式数字管照明在显示位符号的联合过程的多个过程中的设计以及阐明位符号的符号(在低级别上有效):表示数字管的位置是点亮的。
断裂代码(如上所述):数字管的任何部分都必须点亮,举例说明:如果您想缩小上述六个数字管之间的第一个数字管,让他显示“ 1 ”,首先确定其位置是第六个。
在八个双边表示中,最低数为0,最高位为7 ,其位图标为:1 1 1 1 1 1 1 0(低级别级别),符号为0x06 其他人等等。
首先,应该构建数字管动态屏幕。
下图是用于打破符号的源代码:#包含#包含#defineucharunSignedChar#defineuintunsignedsbitduan = p2 ^6 ; sbitwei = p2 ^7 ; uc harcodetab [1 8 ] = {0x3 f,0x06 ,0x5 b,0x4 f,0x6 6 ,0x6 d,0x7 d,0x07 ,0x7 f,0x6 f,0x7 7 ,0x7 c,0x3 9 ,0x5 e,0x3 9 ,0x5 e,0x7 9 ,0x00 x00 x00 x00 x00 x00,0x4 0}; //公共阴极,数字管扇区的时间表,uCharidadis_buf [6 ] = {1 7 ,1 7 ,1 7 ,1 7 ,1 7 ,1 7 ,1 7 }; {uintj; for(; i> 0; i-)for(j = 1 2 0; j> 0; j-){;}} voidMain()//主函数{uchaark,m,n,n,bitcode,segcode;同时(1 ){for(n = 0; n <1 7 ; n ++){dis_buff [0] = dis_buff [1 ]; //移动数据dis_buf [1 ] = dis_buf [2 ]; dis_buf [2 ] = dis_buf [3 ]; dis_buf [3 ] = dis_buff [4 ]; dis_buf [4 ] = dis_buf [5 ]; dis_buf [5 ] = n;对于(m = 1 00; m ++)。
for(k = 0; k