单片机编程led灯亮(单片机编程led灯亮度不够)
单片机C语言编程点亮LED灯
可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。 具体实现方法可以参考如下程序: #include #include #define uint unsigned int#define uchar unsigned charvoid delay(uint a);void main(){ P1=0xfe; while(1) { // 向左循环点亮LED for(i=0; i7; i++) { P1=_crol_(P1,1); // 左移一位,点亮下一位LED delay(55); } // 向右循环点亮LED for(i=0; i/ 右移一位,,点亮上一位LED delay(55); } }}// 延时函数,延时a毫秒void delay(uint a){ uint x,y; for(x=a;x0;x--) for(y=110;y0;y--);}
单片机点亮一盏led灯代码
用MCS51单片机汇编语言编写的点亮一只LED灯源程序LED1.ASM,代码如下:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:MOV A,#FEH
MOV P1,A
AJMP $
END
51单片机控制led灯点亮与熄灭
// 51单片机控制八个发光二极管 左右循环。
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
unsigned char TAB[]= {0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff}; // 改变这里 LED 各种花样
uchar t,i;
void main()
{
TMOD=0x10;
TH1=(65535-50000)/256; // 50ms一次
TL1=(65535-50000)%256;
EA=1;
ET1=1;//开定时器1中断
TR1=1;//启动定时器1
t=0;
i=0;
while(1)
{
}
}
void timer1() interrupt 3
{
TH1=(65535-50000)/256; // 50ms一次
TL1=(65535-50000)%256;
t++;
if(t==20)
{
t=0;
P2=TAB[i];
i++;
if(i==18) { i=0;}
}
}
信号变化控制led灯的亮灭,单片机c语言编程
首先要看Led灯和单片机的连接情况,如果你只是控制亮灭,只需要看单片机端口控制即可,关键是配置端口的DDRx方向寄存器和PORTx数据寄存器,比如端口A的0引脚控制一个灯,要配置它的输出高电平或是低电平以达到控制灯的亮灭,那就
灯亮:
DDRA
|=
BIT(0);
//输出
PORTA
|=
BIT(0);//高电平
灯灭:
DDRA
|=
BIT(0);
//输出
PORTA
=
~BIT(0);//低电平
其余的就看你电路如何连接的,每个端口寄存器的每一位控制一个引脚,你可以查查芯片的数据手册,上边有个表格的。
如果你要控制灯的亮暗程度,选择使用PWM输出来控制,你需要看定时计数器。
单片机LED灯从暗到亮编程为什么步长为5
我理解的步长就是闪光的持续时间,时间是5,那么步长就是5。
网上有个叫proteus的软件,可以用于单片机的仿真,就是说你编的程序可以在这个软件里运行,效果挺逼真的,可免费下载。
单片机的编程软件有keil或者wave,推荐前者,可以用c语言编写也可以汇编语言,c语言比较好学,推荐入门学习c语言,(可以买c和汇编语言都有介绍的单片机的书)。
然后用keil编写程序在proteus上跑起来,如果你能点亮经典的单片机流水灯实验,那你就已经入门了。
单片机c语言编程点亮led灯
如下即可:
#includereg52.h
void main()
{
unsigned int i, j;
P1 = 85;
while(1) {
P1 ^= 255;
for(i = 100; i 0; i--) for(j = 800; j 0; j--);
}
}
关于单片机编程led灯亮和单片机编程led灯亮度不够的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~