本文目录一览

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,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--);}学习单片机,还需要结合实际硬件电路来编程

51单片机流水灯程序

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

// 功能 :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

5,单片机的各种编程程序 比如流水灯

//实例:使用P0口流水点亮8位LED #include<reg51.h> //包含单片机寄存器的头文件/*******************************************************函数功能:主函数 ********************************************************/void main(void) while(1) P0=0xfe; //第一个灯亮 delay(); //调用延时函数 P0=0xfd; //第二个灯亮 delay(); //调用延时函数 P0=0xfb; //第三个灯亮 delay(); //调用延时函数 P0=0xf7; //第四个灯亮 delay(); //调用延时函数 P0=0xef; //第五个灯亮 delay(); //调用延时函数 P0=0xdf; //第六个灯亮 delay(); //调用延时函数 P0=0xbf; //第七个灯亮 delay(); //调用延时函数 P0=0x7f; //第八个灯亮 delay(); //调用延时函数 } }
那可多了去了,例如车的种类
就怎么闪,硬件上用595吸纳电流点亮LED,单片机随便选51,PIC,AVR,对于你们新生最好还是选51吧,虽然他的性能不咋样,但对于你这个项目戳戳有余。补充一点:对常亮的“道”字的LED建议分组级联,比如有12V电压,每个LED的压降为2V则,12V上可串联的LED个数最多为5个,限流为I(你的这个项目最好取10mA),限流电阻为R,那么限流电阻 R=(12-2x5)/I.然后按这样的方法将N个灯组并联即可,若果有220V直流(可用1N4007桥式电路将220V交流变直流)可按上述方法来搭,一次就可串联60~100个LED,注意不同颜色的LED压降不同,普亮的LED红黄蓝绿白分别为1.8V,2.3V,2.4V,2.4V,2.4V,而超高LED红黄蓝绿白分别2V,3V,3V,3V,3V。
如下即可实现流水灯: org 0000h mov tmod, #01h setb tr0 mov a, #0fehnx: mov p0, a mov r0, #50lp: mov tl0, #0efh mov th0, #0d8h jnb tf0, $ clr tf0 djnz r0, lp rl a ljmp nxend
楼主邮箱多少?我给你发本书。很经典的。各种简单有趣的单片机 实验

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

开关可以装在电源上,按下电源接通! /*************************************************************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:流水灯单片机程序  单片机流水灯程序设计  
下一篇