单片机控制LED灯程序设计总结300字(急!!)
C语言实现LED灯闪烁控制配套51单片机开发板。
#include //包含单片机寄存器的头文件
/****************************************函数功能:延时一段时间
*****************************************/
void delay(void) //两个void意思分别为无需返回值,没有参数传递。
{
unsigned int i; //定义无符号整数,最大取值范围65535。
for(i=0;i<20000;i++) //做20000次空循环。
; //什么也不做,等待一个机器周期。
}
/*******************************************************
函数功能:主函数 (C语言规定必须有也只能有1个主函数)。
********************************************************/void main(void)
{
while(1) //无限循环。
{
P0=0xfe; //P1=1111 1110B, P0.0输出低电平。
delay(); //延时一段时间。
P0=0xff; //P1=1111 1111B, P0.0输出高电平。
delay(); //延时一段时间。
}
}
单片机驱动LED灯的源程序:
#include //头文件。
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P1^7; //位定义。
void delay_ms(uint);//mS级带参数延时函数。
void main()
{
while(1)
{
LED1=0;
delay_ms(1000);
LED1=1;
delay_ms(1000);
}
}
void delay_ms(uint z) //延时子程序
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
扩展资料:
单片机应用分类:
通用型:
这是按单片机(Microcontrollers)适用范围来区分的。例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线型:
这是按单片机(Microcontrollers)是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接。
另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型:
这是按照单片机(Microcontrollers)大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型。
通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。
参考资料来源:百度百科-单片机
/***32灯流水——火柴天堂作品-20130520***/
/***52单片机,12MHz晶振,P0-P3 接32颗LED,低电平驱动***/
#include"REG52.h"//包含52头文件
#define TRUE 1//定义布尔量'1':真
#define FALSE 0//定义布尔量'0':假
#define uchar unsigned char//定义 无符号字符型数据 简称
#define uint unsigned int//定义 无符号整型数据 简称
#define th0 0xb1
#define tl0 0xe0//20ms at 12MHz Fosc in Model 1
#define LED_Port1 P0
#define LED_Port2 P1
#define LED_Port3 P2
#define LED_Port4 P3
#define LED_AllOff LED_Port1=LED_Port2=LED_Port3=LED_Port4=0xff
#define LED_AllOn LED_Port1=LED_Port2=LED_Port3=LED_Port4=0
#define LED_Status 43//1步全亮+32步单亮+10步闪烁
#define LED_Marquee 32
bit T20msFlag=0;
void Timer0() interrupt 1
{
TL0=tl0;
TH0=th0;
T20msFlag=TRUE;
}
void TimerInit()
{
TMOD=0x01;
TH0=th0;
TL0=tl0;
TR0=1;
ET0=1;
EA=1;
}
void LED_Out()
{
static uchar led_status=0;
if(T20msFlag)
{
T20msFlag=FALSE;
led_status=++led_status%LED_Status;
}
if(led_status && led_status<=LED_Marquee)
{
LED_AllOn;
switch((led_status-1)>>3)
{
case 0:LED_Port1=1<<((led_status-1)%8);break;
case 1:LED_Port2=1<<((led_status-1)%8);break;
case 2:LED_Port3=1<<((led_status-1)%8);break;
case 3:LED_Port4=1<<((led_status-1)%8);break;
default:led_status=0;break;
}
}
else
{
if(!led_status && led_status%2) LED_AllOn;
else LED_AllOff;
}
}
void main()
{
TimerInit();
while(1)
{
LED_Out();
}
}
首先是控制LED的意义:(通常初学单片机的人控制LED是用并口,也就是掌握IO口输入输出功能、相应的寄存器等等,简单了解一下单片机,以及对于单片机每个功能模块的学习应该怎么入手等等。当然控制LED并不是只能用并口,用串口、红外等等通讯方式都可以)
其次是控制LED的方法:(还是以IO口控制为例,其实法方是死的,可以有很多,比如:1、每个IO直接赋值;2、用移位等等方式处理)
再其次是控制LED的用途:(通常一般仪器设备上的LED都是作为指示灯,比如电源指示啊,通讯啊等等或者只是为了美观好看,其实点阵也是指示的一种吧!这个可以自己想了)
最后是控制LED学到了什么:(其实这个就是写废话了,自己随便想,结合上面的几点)
备注:以上只是突然看到这个提问随便写的,也没考虑得太多,可能不够完善,不喜勿喷!
单片机控制LED灯程序设计总
ZHEG
什么是LED电子显示屏?
显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,恒舞动卡主要是播放动画的;电源系统负责将输入电压电流转为显示屏需要的电压电流。 LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶...
单片机led流水灯方向如何改变?
单片机中流水灯控制: 硬件连接很简单,只要将8个LED指示灯接在P1口上 另一端通过220欧姆的电阻接+5V电源上,就可以了。 主要靠软件控制,简单的可以使用左移或右移指令,将低电平0 逐渐移入寄存器中,即控制LED指示灯逐渐一个一个地点亮或一个一个地熄灭。 复杂点: 可以进行花式流水控制。 例如:...
LED投射灯控制形式是怎么样的呢?
大功率LED投射灯有外控和内控两种控制方式,内控无需外接控制器可以内置多种变化模式(最多可达六种),而外控则要配置外控控制器方可实现颜色变化,市面上的应用也是以外控居多。它的基本结构是一块电致发光的半导体材料芯片,用银胶或白胶固化到支架上,然后用银线或金线连接芯片和电路板,然后四周...
单片机工作总结
第一步(熟悉的过程):买了一款51单片机开发板,然后就开始了我的学习之旅,刚开始的时候没有去看视频教程,而是对着一本实验教材进行学习,那本实验教材的名字记不清楚了,但是其内容就是围绕单片机的led灯进行控制,将51单片机内部的各个功能部件全部都使用到了,这样就能使我在很短的时间内,通过控制led灯的亮、灭熟...
制作一位LED灯控制电路所需原件清单?
制作一位LED灯控制电路所需原件清单? 我来答 1个回答 #话题# 劳动节纯纯『干货』,等你看!打下大虾的大侠 高粉答主 2020-09-26 · 实施顾问 打下大虾的大侠 采纳数:5713 获赞数:44965 向TA提问 私信TA 关注 展开全部 第1步:零件我有一份我在亚马逊下面使用过的零件清单。随意点击链接...
led灯珠封装的流程及注意事项
2、扩片机对其扩片 由于LED芯片在划片后依然排列紧密间距很小,不利于后工序的操作。我们采用扩片机对黏结芯片的膜进行扩张,是LED芯片的间距拉伸到约0.6mm. 也可以采用手工扩张,但很容易造成芯片掉落浪费等不良问题。3、点胶 在LED支架的相应位置点上银胶或绝缘胶。工艺难点在于点胶量的控制, 在...
有机灯光片是什么意思?
有机灯光片是指使用有机材料作为基板来制造的高亮度LED灯光片。相对于传统的LED灯光片,有机灯光片的亮度更高,寿命更长,而且可以制造成各种形状和颜色,更具有设计性和装饰性。有机灯光片可以广泛应用于建筑装饰、室内照明、汽车照明、广告展示等领域。在建筑装饰方面,有机灯光片可以用于建筑外墙的装饰...
主板led显示屏显示的代码的含义
主板上通常都会有led灯的,根据上面显示的代码可以判断电脑故障的原因。请问谁能告诉我详细的代码对应的故障原因吗?谢谢!!!我的主板系磐正8KDA3I,主板led等显示c1,并且不断长响... 主板上通常都会有led灯的,根据上面显示的代码可以判断电脑故障的原因。请问谁能告诉我详细的代码对应的故障原因吗?谢谢!!!我的主板...
玩客云刷armbian CasaOS LED灯控制 QBitTorrent 内网穿透 青龙 Home As...
四、玩客云控制LED灯与安装其他应用 使用命令控制LED灯,例如令蓝灯常亮,绿灯和红灯常亮的命令类推。参考论坛用户“lanwairen123”在《玩客云灯光问题》中的回复。安装应用,参考论坛用户“zhuboa”的《玩客云折腾记录之刷Armbian_23.11.0+CasaOS+qb+青龙+Alist+Samba》。五、玩客云安装Samba与Cpolar 安装...
【led显示屏控制系统 led控制系统】
形象宣传片、产品广告播放,塑造医院品牌形象。 健康生活理念宣传,倡导良好的生活习惯,达到公益宣传的作用。 风光片或其他对患者有益的节目播放,调节患者情绪,营造良好就诊氛围。4、营业厅led显示屏控制系统 营业厅通常指规模大、数量多、分布范围广的营业网点,如联通移动等大型运营商分布在全国范围内的...
吕狄风湿: 八个灯接在单片机的P1口(P0,P2,P3,P4都一样) while(1) { delay(你想要延时的时间); P1=0xff; delay(你想要延时的时间); P1=0; } 注意led最好加驱动,不然单片机会坏的.
环翠区18119953325: 怎么设计单片机控制LED闪烁,并且可以组成一个"LED"灯字! - ?
吕狄风湿: 可以这样子,把所有LED并联起来,直接接单片机随便哪个IO口,然后再加个1K上拉电阻,用51单片机可以实现,具体程序为 #include"reg51.h" sbit LED=P1^0;//把LED灯接在P1.0口就行 void delay(int ms); void main() {while(1){LED=~...
环翠区18119953325: 我用单片机控制LED灯的亮度,应该怎样设计控制电路?为什么要用到三极管????
吕狄风湿: 三极管的基极接单片机的I/O口,集电极接LED和限流电阻、电源,发射级接地,这样可以很好的驱动LED,不过控制LED的亮度最好是用PWM来控制会更好.
环翠区18119953325: 单片机编程是怎样控制led灯的? - ?
吕狄风湿: 1、建立一个project,我们称之为工程文件 2、匹配单片机的型号,或者同样内核的相似属性的型号 3、配置编译器,汇编代码还是C代码 4、在工程目录下建立代码文档,此文档必须包含该单片机的头文件 5、配置I/O口:方向、类型.有些古老型号的单片机无需配置,直接写一写零即可 6、捕捉外部变化(中断或者循环扫描外部输入)来对被控对象所占的I/O写1或0进行控制. 7、定时控制,计算单片机的指令周期(由晶振决定),做软件定时控制(不推荐、容易有误差)、或者定时器中断控制被控对象. 8、编译工程,生成单片机所认识的机器码文件,并将其通过烧录工具烧进单片机
环翠区18119953325: 单片机C语言按键控制LED灯 - ?
吕狄风湿: 其实是一样的,也没什么哪个规范这一说,这个看个人习惯了首先if(SW13==0)是判断此引脚是否为0 (按键按下)然后一个delay用于按键防抖动 没被注释的那部分是靠if在次判断是否为0按下按下后执行LED_ON函数使LED亮然后通过while...
环翠区18119953325: 单片机控制一个led灯亮灭C编程 - ?
吕狄风湿: #include <reg52.h> //52系列单片机头文件 #define uint unsigned int //宏定义 sbit led1=P1^0; //声明单片机P1口的第一位 void delay1s(); //声明子函数 void main() //主函数 {while(1) //大循环{led1=0; /*点亮第一个发光二极管*/delay1s...
环翠区18119953325: 信号变化控制led灯的亮灭,单片机c语言编程 - ?
吕狄风湿: 首先要看Led灯和单片机的连接情况,如果你只是控制亮灭,只需要看单片机端口控制即可,关键是配置端口的DDRx方向寄存器和PORTx数据寄存器,比如端口A的0引脚控制一个灯,要配置它的输出高电平或是低电平以达到控制灯的亮灭,那就 灯亮:DDRA |= BIT(0); //输出 PORTA |= BIT(0);//高电平 灯灭:DDRA |= BIT(0); //输出 PORTA &= ~BIT(0);//低电平 其余的就看你电路如何连接的,每个端口寄存器的每一位控制一个引脚,你可以查查芯片的数据手册,上边有个表格的.如果你要控制灯的亮暗程度,选择使用PWM输出来控制,你需要看定时计数器.
环翠区18119953325: 51单片机如何控制8个led程序 - ?
吕狄风湿: #include<reg51.h> 包含单片机专用头文件 #include<intrins.h> 这个是什么俺也不知道,但这个程序不需要这个头文件 void Delay10ms(unsigned int c); 自定义的延时函数声明 main() 主函数 {unsigned int LED; 建立一个数值型变量,变量名...
环翠区18119953325: 51单片机控制LED灯 - ?
吕狄风湿: 首先要查看电路的连接,看看输入连接到单片机的哪个引脚(比如P1.0),LED灯连接到哪个引脚(比如P2.0).然后看是高电平有效还是低电平有效(也就是高电平时LED灯亮,还是低电平时LED灯亮).如果是高电平灯亮的话,程序如下:P2.0=P1.0;
环翠区18119953325: 求一段51单片机用按键控制LED的程序. - ?
吕狄风湿: while(1) { if(num>=20) //num==20最好改成 >=20 防止由于按銉延时而错过num==20的机会而使程序出现长时的混乱 { num=0; led1=~led1; led2=~led2; } if (key==0)//按键是否按下 { 延时10-20ms; while(key==0);//按键是否抬起 if (tr0==1)tr0=0: else tr0=1: } } 也可以用开关中断来实现 如果按键不听使唤,在if (key==0)后大括号里的延时语句后再加一次if (key==0)判断