本文目录一览

1,单片机流水灯程序设计

//LED_IO,SW_IO unsigned char i; i = 0; while(1) { while(SW_IO);//switch LED_IO = 0xfe<<i; i++; if(i>=8) i = 0; wait1ms(1000); } 剩下的自己写吧

单片机流水灯程序设计

2,单片机流水灯实验程序

关于这个问题,这个你得清楚C51的基本框架,这种很容易的,当按键按下去之后,你就进行一个循环,00000001~~10000000循环赋值给对应的二极管的端口,并且最还有一个延时函数,效果会明显写,要不然看不到理想的效果,并且最好消抖一下,免得有干扰,还有当按钮再按一次的时候你就在的全部赋值00000000就可以了,自己在大学里面最好还是多学点东西吧
#include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charuchar a;void delay(uint);void main() a = 0xfe; while(1) P0 = a; delay(1000); a = _crol_(a,1); }}void delay(uint s) uint i,j; for(i=s;i>0;i--) for(j=110;j>0;j--); }

单片机流水灯实验程序

3,单片机流水灯程序

用的什么单片机? --------------------看了电路图,就知道了。既不是32个串口,也根本不使用串口;32个LED显示初始化: MOV P0, #3FH MOV P1, #3CH MOV P2, #2AH MOV P3, #47H;循环移位:_LOOP: MOV A, P0 RRC A MOV A, P1 RRC A MOV P1, A MOV A, P2 RRC A MOV P2, A MOV A, P3 RRC A MOV P3, A MOV A, P0 RRC A MOV P0, A LCALL _DELAY1S SJMP _LOOP;延时子程序:_DELAY1S:………… RET
楼主的意思可能是指51的32个IO口都用吧,对不?程序和普通的没什么区别啊
流水灯程序 #include#include unsigned char a; void main() { int i, j; a = 0xfe; while(1) { a = _crol_(a, 1); p0 = a; for(i = 250; i > 0; i--) for(j = 1000; j > 0; j--); } }
能说的更清楚一点吗?比如32个串口是怎么理解?(单片机哪来的32个串口),你的电路图是如何设计的?(硬件不同,程序当然不一样)

单片机流水灯程序

4,51单片机流水灯程序

程序4102错1653误回#include <reg51.h>#define uchar unsigned char;#define uint unsigned int;void delay(uint x) uchar i; while(x--) for(i=0;i<120;i++); }}void main() uchar a=0xfe; while(1) P0=0xfe; for(i=0;i<7;i++) P0=_crol_(P0,1); delay(150) ; } if(a==0xff) 答 a=0xfe; }
#include //52系列单片机头文件#include //_crol_ 字符循环左移#define uint unsigned int //宏定义#define uchar unsigned char//宏定义void delayms(uint); //声明子函数uchar a; //定义uchar类型的变量avoid main() //主函数a=0xfe; //赋初值11111110 while(1) //大循环 p1=a; delayms(500); //延时500毫秒a=_crol_(a,1); //将a循环左移1位后再赋给a } }void delayms(uint xms) //延时函数 uint i,j; for(i=xms;i>0;i--) //i=xms即延时约xms毫秒 for(j=110;j>0;j--);}学习单片机,还需要结合实际硬件电路来编程

5,基于单片机的流水灯程序设计

// 功能 :p0口八个灯作3路跑马灯 // 日期 :2007.10.28 // 程序 :阿辉 // 互动 : http://group.ednchina.com/329/ 有问题可进小组讨论 // 我们将随时关注小组问题及时为你答疑 // #include #define uchar unsigned char #define uint unsigned int #define led_data P0 //数据口定义 //延时程序 void delay(uint a) { uint i,j; for(i=a;i>0;i--) { for(j=4000;j>0;j--) ; } } //主程序 void main() { while(1) { led_data=0xdb; delay(5); //延时一段 led_data=0x6d; delay(5); //延时一段 led_data=0xb6; delay(5); //延时一段 } } ;* 功能 :p0口八个灯作3路跑马灯 ;* 日期 : 2007.10.28 ;* 程序 :阿辉 ;* 互动 : http://group.ednchina.com/329/ 有问题可进小组讨论 ;* 我们将随时关注小组问题及时为你答疑 LED_DATA EQU P0 ;数据口定义 ORG 0000H LJMP MAIN ORG 030H MAIN: MOV LED_DATA,#0DBH ;11011011--零为亮 ACALL DELAY ;延时一段 MOV LED_DATA,#06DH ;01101101 ACALL DELAY ;延时一段 MOV LED_DATA,#0B6H ;10110110 ACALL DELAY ;延时一段 AJMP MAIN ;跳转回主程序 DELAY: MOV R7,#255 ;延时子程序 D1: MOV R6,#255 D2: DJNZ R6,D2 DJNZ R7,D1 RET END

6,求一流水灯的单片机程序

#include#include #define uint unsigned int uint a,b; void delay(uint b); void main() { a=0xfe; while(1) { delay(50000); a=_crol_(a,1); P1=a; } } void delay(uint b) { while(b--); } 还有很多其它方法 要的话私聊
#include#include #define uchar unsigned char #define uint unsigned int sbit longtime=p3^2; //增加灯的时间 按键 sbit shorttime=p3^3; //减少灯的时间 按键 uchar i,a; uint num; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void init() { num=10; p0=0xfe; a=p0; } void keyscan() { if(longtime==0) { delay(5); if(longtime==0) while(!longtime); num=num+200; } if(shorttime==0) { delay(5); if(shorttime==0) while(!shorttime); if(num>=200) num=num-200; else num--; if(num==0) num++; } } void main() { init(); while(1) { for(i=0;i<8;i++) { keyscan(); a=_crol_(a,1); p0=a; delay(num); } } } 上面这个程序~按键可调节亮度~ #include #include #define uchar unsigned char #define uint unsigned int uchar temp,num; uchar code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; void delay(uint a) { uint x,y; for(x=a;x>0;x--) for(y=300;y>0;y--); } void main() { temp=0xfe; for(num=0;num<8;num++) { p1=temp; temp=_crol_(temp,1);//左移 delay(400); } temp=0x7f; num=0;//清零 for(num=0;num<8;num++) { p1=temp; temp=_cror_(temp,1); //右移 delay(400); } p1=0xff; num=0; for(num=0;num<6;num++) //闪三下 { p1=~p1; delay(400); } p1=0xff; num=0; for(num=0;num<8;num++)//衣次闪 { p1=table[num]; delay(400); } p1=0xff; delay(400); p1=0x00; delay(400); while(1); } 上面这个程序控制p1口的8个led发光管可实现先左移,在右移,然后全亮,在全灭,连续闪烁三次,在从右开始,依次点亮一个led灯、2个led灯、3个led灯......最后全部点亮,在全亮全灭闪烁一次。

7,单片机流水灯设计程序图带开关的

开关可以装在电源上,按下电源接通! /*************************************************************51单片机流水灯C语言源程序文件名称:led.c文件说明:流水灯C程序编写人员:编写日期:程序说明:MCU采用AT89S51,外接12M晶振,P1口输出版权标注:*************************************************************/#include //51系列单片机定义文件#define uchar unsigned char //定义无符号字符#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个流水灯反向逐个闪动P1=~temp;delay(100); //调用延时函数temp>>=1;}temp=0xFE;for(i=0;i<8;i++) //8个流水灯依次全部点亮P1=temp;delay(100); //调用延时函数temp<<=1;}temp=0x7F;for(i=0;i<8;i++) //8个流水灯依次反向全部点亮P1=temp;delay(100); //调用延时函数temp>>=1;}}}void delay(uint t) //定义延时函数register uint bt;for(;t;t--)for(bt=0;bt<255;bt++);}
开关可以装在电源上,按下电源接通! /************************************************************* 51单片机流水灯c语言源程序文件名称:led.c文件说明:流水灯c程序编写人员:编写日期: 程序说明:mcu采用at89s51,外接12m晶振,p1口输出版权标注: *************************************************************/#include //51系列单片机定义文件#define uchar unsigned char //定义无符号字符#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个流水灯反向逐个闪动p1=~temp;delay(100); //调用延时函数temp>>=1;}temp=0xfe;for(i=0;i<8;i++) //8个流水灯依次全部点亮p1=temp;delay(100); //调用延时函数temp<<=1;}temp=0x7f;for(i=0;i<8;i++) //8个流水灯依次反向全部点亮p1=temp;delay(100); //调用延时函数temp>>=1;}} }void delay(uint t) //定义延时函数register uint bt;for(;t;t--)for(bt=0;bt<255;bt++);}

文章TAG:流水  水灯  单片机  程序  流水灯单片机程序  
下一篇