51单片机 求大神用C语言 编写花式流水灯程序

要求 P2口0-7 接8个二极管正极 P1.0接一开关K控制流水灯
正常状态下 灯从左到右依次全亮 循环
按一下开关K 从右到左全灭 循环
给了一个不完整的C程序 囧rz=З 求帮忙写完 不求全对 只求架构大致正确

第1个回答  2014-04-17
这个你还的去读开关k吧,然后读到它被按下时,把灯都灭了。还有,你的main中的p2是怎么来的?追问

ORZ P2口接发光二极管 老师给的要求 本人实在笨拙写不出来 要是你有能实现这个功能的程序 给上来也行

追答

我只写过linux系统下的流水灯,单片机的没写过,但是代码应该都差不多。你这个是写0为亮吧,我看你代码没啥问题啊,就是不明白p2在哪得到的。。。

追问

囧rz=З 原本是写的汇编语言 老师要求改写成C语言 瞬间蛋疼了
P2接LED 控制灯亮 tab1只定义了一种状态 还有按下开关的另一种状态tab2 还没写.. linux系统的我不清楚..我想应该是不一样的

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
define uint unsigned int \/\/定义无符号整数 void delay(uint); \/\/声明延时函数 void main(void){ uint i;uchar temp;while(1){ temp=0x01;for(i=0;i<8;i++) \/\/8个流水灯逐个闪动 { P1=~temp;delay(100); \/\/调用延时函数 temp<<=1;} temp=0x80;for(i=0;i<8;i++) \/\/8个...

51单片机c语言编写一个流水灯程序,要求如下(不能用数组,8个led指示灯...
\/\/流水灯#include "reg52.h"#define LED_PORT P3void delay(unsigned char time){ unsigned char i,j,k; for(i=0;i<time;i++) { for(j=0;j<200;j++) { for(k=0;k<200;k++); } }}void main(){ unsigned char i,halfbyteh=0x80,halfbytel=0x01; while(1) { h...

51单片机流水灯用C语言编写的设计程序???
include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int void delay(uint z);main(){ uchar aa;while(1){ aa=0xfe;P1=aa;delay(100);while(1){ aa=_crol_(aa,1);P1=aa;delay(100);} } } void delay(uint z){ uint x,y;for(x=z;x>0;x-...

很简的51单片机C语言流水灯程序
1、51单片机C语言实现循环8个流水灯左移三次,后右移三次。例程:include<reg51.h> \/\/51单片机头文件#include <intrins.h> \/\/包含有左右循环移位子函数的库#define uint unsigned int \/\/宏定义#define uchar unsigned char \/\/宏定义sbit beep=P2^3;void delay(uint z) \/\/延时函数,z...

如何用8051流水灯程序?
一般来说,实现流水灯功能需要以下步骤:首先确定单片机型号和开发环境,并熟悉指令集和寄存器配置。然后确定LED灯的连接方式,并编写程序来控制LED灯的亮灭状态。最后在程序中添加延时函数来实现LED灯的亮灭延迟。在编写程序时,需要注意语法错误和逻辑错误,并进行测试和调试,以确保程序能够正确运行并实现...

用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)_百度...
include<reg51.h> voiddelay(void){ unsignedinti,j;for(i=0;i<200;i++)for(j=0;j<1000;j++);} voidmain(void){ while(1){ P3=0xfe;\/\/第一个灯亮 delay();\/\/延时 P3=0xfd;\/\/第二个灯亮 delay();P3=0xfb;\/\/第三个灯亮 delay();P3=0xf7;\/\/第四个灯亮 delay();P3=0x...

51单片机八个灯的流水灯代码
51单片机八个灯的流水灯代码:1、用精确定时的方法,设置流水灯运行时的时间间隔,延时时间为500MS。2、#include "reg51.h"首先写出单片机的头函数。3、#include "intrins.h"输入位移函数。4、unsigned int count=0,led;定义函数。5、输入主函数,定义单片机的端口,写入延时函数。编辑推荐 对于刚接触...

编写出单片机流水灯程序
编写一个基于8051单片机的流水灯程序,假设我们使用P1口连接了8个LED灯,要实现从第一个LED开始依次点亮,形成流水效果。以下是一个简单的C语言程序示例:```c include void delay(unsigned int ms) { unsigned int i, j;for (i = ms; i > 0; i--)for (j = 110; j > 0; j--); \/...

51单片机16个灯流水循环,C语言
include<reg51.h> \/\/包含单片机寄存器的头文件#include "intrins.h"#define uchar unsigned char#define uint unsigned int sbit CLK=P1^0; sbit IN =P1^1;\/\/uchar code a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uint code w[]={0xfffe,0xfffd,0xfffb,0xfff7,0xffef...

求个用c 语言写的单片机的流水灯程序,灯从左到右依次点亮,速度加快_百度...
unsigned char tick_flag;unsigned char delay_cnt;unsigned char num;void UserInital(){ delay_cnt=0;num=0;TMOD |= 0x01;\/\/T0模式选择:模式1 TH0 = 0xec; \/\/定时5MS(12mhz)TL0 = 0x78;TR0 = 1;\/\/打开定时器T0 ET0 = 1;\/\/T0中断使能 EA=1;} void main(){ UserIn...

相似回答
大家正在搜