百韵网 >>  正文

51单片机彩灯控制C语言程序:请问灯光叠加闪动32位的程序如何写,知道的师傅请指教,最好用数组写法 51单片机彩灯控制C语言程序:请问灯光叠加闪动32位的程序如...

来源:www.baiyundou.net   日期:较早时间
类似以下的程序,把所有需要点亮的灯所对应的的数值都放到数组中,然后读取送端口就可以了

//文件名shiyan1.c
#include "reg51.h"
#define uchar unsigned char
void delay05s(void)
{
unsigned char i,j,k;
for(i=5;i>0;i--)
for(j=200;j>0;j--)
for(k=248;k>0;k--);
}
void main(void)
{
uchar b;
const unsigned char design[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,
0x7F,0xBf,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,
0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,
0xE7,0xDB,0xBD,0x7E,0xFF};
while(1)
{
for(b=0;b<32;b++)
{
P2=design[b];
delay05s();
}
}
}

51单片机彩灯控制C语言程序:请问灯光叠加闪动32位的程序如何写,知道的师傅请指教,最好用数组写法~

值是不确定的,不同的编译器会用不同的值填充未知的内存区域,而且你确实不必在意到底的是什么值,毕竟数组越界本身就不该发生

首先要查看电路的连接,看看输入连接到单片机的哪个引脚(比如p1.0),led灯连接到哪个引脚(比如p2.0)。然后看是高电平有效还是低电平有效(也就是高电平时led灯亮,还是低电平时led灯亮)。
如果是高电平灯亮的话,程序如下:
p2.0=p1.0;

相关要点总结:

13799024605:51单片机16路流水灯怎么用C语言写,并求每个步骤的讲解
熊封答:擅长:编程语言 魔兽世界 C/C++ 向TA提问 私信TA 展开全部 我给你个简单的例子: #include <AT89X51.H> //预处理文件里面定义了特殊寄存器的名称如P1 口定义为P1 void main(void) { //定义花样数据 const unsigned char design[32]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F, 0x7F,0x...

13799024605:单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED...
熊封答:1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include<reg52.h> //定义单片机的头文件sbit led=P2^0; //定义单片机的管脚,void main(void) //主函数{ while(1) //无限循环 {led=0x1f; //点亮前面三个灯。这里...

13799024605:用51单片机写程序,4个按键灯控制8个彩灯切换九种灯光效果?
熊封答:P1口接8个LED灯,P3口接4个按键K1~K4,用于控制流水灯的四种效果,仿真图如下。

13799024605:要求用汇编语言设计一个节日彩灯,51单片机 求大神,好了继续加分_百度知 ...
熊封答:;循环 DL1S: ;延时一秒子程序 MOV R5, #100 ;修改这些数字,可以控制延时时间 D1: MOV R6, #100 D2: MOV R7, #100 ;题目,没有给出晶振频率 DJNZ R7, $ ;所以,延时时间,请自行调整 DJNZ R6, D2 DJNZ R5, D1 RET END ...

13799024605:51单片机c语言编程:编写一段程序,P1.0控制LED,P1.1控制LED的亮和灭...
熊封答:P1.0、P1.1,都是控制 LED 的?试试下面的程序:include <reg51.h> sbit led = P1^0;sbit key = P1^7;void main(){ while(1) led = key;} P1.1,不知道怎么用。

13799024605:51单片机设计跑马灯的程序用(c语言)编写
熊封答:|P1口接8个发光二极管共阳 include <AT89X51.H> unsigned char i;unsigned char temp;unsigned char a,b;void delay(void){ unsigned char m,n,s;for(m=20;m>0;m--)for(n=20;n>0;n--)for(s=248;s>0;s--);} void main(void){ while(1){ temp=0xfe;P1=temp;delay();for(...

13799024605:51单片机,c语言编程 一个按键控制6盏灯 第一下所有灯灭(不管灯亮灭...
熊封答:include<reg51.h>#define u16 unsigned int#define u8 unsigned charsbit key=P2^0;u8 count=0;u8 sk(){static u8 ms;if(key==0){if(ms<10)ms++;if(ms==5){return 0;}}return 1;}void main()//主函数{while(1){if(sk()==0){count++;switch(count){case 1:P1=0xff;break;...

13799024605:求单片机c51的C语言编程:设当开关为1时,控制2个led交替闪烁,闪烁时间...
熊封答:include#defineucharunsignedcharuchartimes,led;sbitkey1=P1^0;sbitkey2=P1^1;voidt0isr()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;times++;}voidrolled(){P0=led;led=(led>>1)|0x80;if(led==0xff)l

13799024605:我想用51单片机写一个流水灯的C语言程序,要求是灯从最右边一个一个地...
熊封答:P1=0xfe;temp=P1;for(i=1;i<8;i++){ temp=temp<<1;P1=temp;} 我假设led灯是共阴极接法,且接在P1口

13799024605:51单片机的按键控制小灯亮灭的问题(程序类型:c语言)
熊封答:= 0,灯亮。*/ delay(500); /*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*/ } } } void delay(uint z) //延时函数 { uint x, y;for(x=85; x>0; x--)for(y=z; y>0; y--);} 可下载到单片机验证。

(编辑:本站网友)
相关推荐
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图
@ 百韵网