单片机流水灯40种花样设计,从右到左依次亮,刚开始全灭,然后依次亮,最后用bcd码表示16

君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
流水灯设计论文[1]
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口《单片机流水灯程序》_优秀范文十篇
范文一:单片机流水灯所有程序#include#define uchar unsigned char //char是字符数组#define unit unsigned intsbit led1=P1^0;void main(){ TMOD=0x01; // 打开工作方式寄存器,选择工作方式1()TH0=()/256;TL0=()%256;EA=1; //开总中断ET0=1; //开定时器0中断TR0=1; //启动定时器0while(1); //程序停止在这里等待中断发生}void T0_time()interrupt 1 {TH1=()/256; //装初值50msTL1=()%256;num++; //num每加一次判断是否到了20次if(num==20) // 20*50ms=1000ms=1s,间隔1s{num=0; //然后把num清0重新再计20次led1=~led1; //让发光管状态取反} } 用定时器使1灯间隔1s闪烁#include#define uchar unsigned char#define unit unsigned int #define ucha unsigned char#define uni unsigned int uchar table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; //????ucha table1[]={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};void delayms(unit);void main(){while(1){for(num=0;num{P1=table[num];delayms(500);}for(a=8;a>0;a--) //改成for(a=0;a>8;a++){P1=table1[a];delayms(500);} }}void delayms(unit xms){ unit i,j;for(i=i>0;i--) for(j=110;j>0;j--);}没有实现理想的流水灯,问题已解决,见下面程序#include#define uchar unsigned char#define unit unsigned int uchar table[]={0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};void delayms(unit);void main(){while(1){for(num=0;num{P1=table[num];delayms(500);}for(num=9;num>0;num--){P1=table[num];delayms(500);} }}void delayms(unit xms){ unit i,j;for(i=i>0;i--) for(j=110;j>0;j--);}用数组实现流水灯循环,依次点亮,然后依次熄灭#include#define uchar unsigned char //char是字符数组#define unit unsigned intuchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 改变数组void delayms(unit);void main(){while(1){for(num=0;num{P1=table[num];delayms(500);}}}void delayms(unit xms){ unit i,j;for(i=i>0;i--) //延迟0.5s,下一灯亮 // 加for语句for(j=110;j>0;j--);}用数组实现流水灯#include#include //包含_crol_函数所在的头文件#define unit unsigned int unit i,j; #define uchar unsigned charvoid delayms(unit);void main(){a=0 //赋给a初值0xfe,即,第一个灯亮while(1){P1=a;delayms(500);a=_crol_(a,1); //循环左移指令或 a=a}}void delayms(unit xms) //自定义毫秒X{unit i,j;for(i=i>0;i--) //延迟Xmsfor(j=110;j>0;j--);}用循环左移指令实现流水灯#include //头文件#define unit unsigned int //宏定义unit i,j; //定义i;jvoid delay1s();sbit led1=P1^0; //连接1灯的是锁存器的P10端口sbit led2=P1^1;sbit led3=P1^2;sbit led4=P1^3;sbit led5=P1^4;sbit led6=P1^5;sbit led7=P1^6;sbit led8=P1^7; void main(){while(1) //循环永不停止{led1=0; delay1s(); //1灯亮1Sled1=1; led2=0 ; //1灯灭,二灯亮delay1s();led2=1;led3=0 ;delay1s();led3=1;led4=0;delay1s();led4=1;led5=0;delay1s();led5=1;led6=0;delay1s();led6=1;led7=0;delay1s();led7=1;led8=0;delay1s();led8=1;led1=0;}}void delay1s(){unit i,j; // for(i=500;i>0;i--) //延迟0.5s,下一灯亮for(j=110;j>0;j--);}流水灯#include #define unit unsigned int unit i,j; void delay1s();sbit led=P1;sbit led1=P1^0; sbit led2=P1^1;sbit led3=P1^2;sbit led4=P1^3;sbit led5=P1^4;sbit led6=P1^5;sbit led7=P1^6;sbit led8=P1^7; void main(){while(1){led1=0; delay1s(); led2=0 ; delay1s();led3=0 ;delay1s();led4=0;delay1s();led5=0;delay1s();led6=0;delay1s();led7=0;delay1s();led8=0;delay1s();led8=1;delay1s();led7=1;delay1s();led6=1;delay1s();led5=1;delay1s();led4=1;delay1s();led3=1;delay1s();led2=1;delay1s();led1=1;delay1s();P1=0;delay1s();P1=0delay1s();}}void delay1s(){unit i,j; for(i=500;i>0;i--) for(j=110;j>0;j--);}依次点亮,一亮二亮----全亮---依次熄灭---全灭------全亮#include #define unit unsigned int unit i,j; void delay1s();sbit led=P1;sbit led1=P1^0; sbit led2=P1^1;sbit led3=P1^2;sbit led4=P1^3;sbit led5=P1^4;sbit led6=P1^5;sbit led7=P1^6;sbit led8=P1^7; void main(){while(1){led1=0; delay1s(); //1灯亮1Sled1=1; led2=0 ; //1灯灭,二灯亮delay1s();led2=1;led3=0 ;delay1s();led3=1;led4=0;delay1s();led4=1;led5=0;delay1s();led5=1;led6=0;delay1s();led6=1;led7=0;delay1s();led7=1;led8=0;delay1s();led8=1;P1=0;delay1s();P1=0}}void delay1s(){unit i,j; for(i=500;i>0;i--) for(j=110;j>0;j--);} 依次亮,全亮,全灭,循环#include#define unit unsigned intunit i,j;void delay1s();sbit LED4=P1^3;sbit LED5=P1^4;sbit dula=P2^1;void main(){while(1){LED4=0;delay1s();LED4=1; LED5=0 ;delay1s();}}void delay1s(){unit i,j;for(i=500;i>0;i--)for(j=110;j>0;j--);}4闪5亮#includesbit LED2=P1^1;sbit dula=P2^6;void main(){ dula=1;LED2=0;dula=0;} 二灯亮#includesbit LED4=P1^3;sbit LED5=P1^4;sbit dula=P2^1;#define unit unsigned intunit i,j;void main(){ while (1){ LED4=0;for(i=1000;i>0;i--)for(j=110;j>0;j--);LED4=1;LED5=0;for(i=1000;i>0;i--)for(j=110;j>0;j--);}dula=1;LED4=0;dula=0;}4闪5亮#include#define unit unsigned intsbit led1=P1^0;void delays(unit);void main(){while(1){led1=0;delay1s();led1=1;delay1s();}}void delay1s(){unit i,j; //使用局部变量可节约单片机内存for(i=500;i>0;i--)for(j=110;j>0;j--);}#includesbit led=P1^0;void main() //主函数{while(1){a=51000;led=0;while(a--);led=1;a=51000;while(a--);}}用while函数实现延迟,延迟0.5s#include#define unit unsigned intsbit led1=P1^0;unit i,j;void main (){ while (1){ led1=0;for(i=1000;i>0;i--)for(j=110;j>0;j--);led1=1;for(i=1000;i>0;i--)for(j=110;j>0;j--);}}一灯亮,延迟1s,灭。循环
范文二:单片机32个IO口流水灯C程序单片机32个IO口流水灯C程序(转)11:37/************************************************************ *89C51、S51单片机32个IO口流水灯测试程序*Flash0、1、2、3分别对应单片机的P0、1、2、3四个口*a程序对应流水灯从全灭到一个一个亮*b程序对应流水灯从全亮到一个一个灭*Author:大灵通* 10:57,OK!*************************************************************/ #include#include#include#define uchar unsigned char#define uint unsigned int#define TimeDelay 60000void delay(uint n);void Flash0a(void);void Flash0b(void);void Flash1a(void);void Flash1b(void);void Flash2a(void);void Flash2b(void);void Flash3a(void);void Flash3b(void);/************************************************************ *Function: 主函数*parameter:*Return:*Modify:*************************************************************/ void main(void){while(1){Flash1b();Flash1a(); delay(TimeDelay);delay(TimeDelay); Flash0b();Flash0a(); Flash2b(); Flash2a(); Flash1b();Flash1a(); Flash3b();Flash3a();}}/************************************************************ *Function: 延时*parameter:*Return:*Modify:*************************************************************/ void delay(uint n){while(n!=0){n--;}}void Flash0a(void){uchar TTemp = 0x80;for(i=0;i{P0 = ~Tdelay(TimeDelay);Temp = Temp >> 1;}P0 = 0}void Flash0b(void){uchar TTemp = 0x80;for(i=0;i{P0 = Tdelay(TimeDelay);Temp = Temp >> 1; }P0 = 0;}void Flash1a(void) {uchar T P1 = 1;Temp = 0x80; for(i=0;iP1 = ~Tdelay(TimeDelay); Temp = Temp >> 1; }P1 = 0}void Flash1b(void) {uchar T P1 = 1;Temp = 0x80; for(i=0;iP1 = T delay(TimeDelay); Temp = Temp >> 1; }P1 = 0;}void Flash2a(void) {uchar T P2 = 1;Temp = 0x80; for(i=0;iP2 = ~Tdelay(TimeDelay); Temp = Temp >> 1; }P2 = 0}void Flash2b(void) {uchar T P2 = 1;Temp = 0x80; for(i=0;iP2 = T delay(TimeDelay); Temp = Temp >> 1; }P2 = 0;}void Flash3a(void) {uchar T P3 = 1;Temp = 0x80; for(i=0;iP3 = ~Tdelay(TimeDelay); Temp = Temp >> 1; }P3 = 0}void Flash3b(void) {uchar T P3 = 1;Temp = 0x80; for(i=0;iP3 = T delay(TimeDelay); Temp = Temp >> 1; }P3 = 0;}
范文三:51单片机流水灯程序使用4组I/O控制心形流水灯,花样多种。已经通过硬件测试,效果不错。(硬件:用32个led做成一个 爱心 ,直接用4组I/O控制)#include //包含单片机寄存器的头文件char code table[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,};//P0123向下合拢char code table1[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,};//P0123向下合拢char code table2[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,};//P0123向上收回char code table3[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,};//P0123向上收回char code table4[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,};//P0123 一个灯走动char code table5[]={0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,};//P0123 两个灯走动char code table6[]={0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,};//P0123 三个灯走动char code table7[]={0xf0,0xe1,0xc3,0x87,0x0f,};//P0123 四个灯走动char code table8[]={0xe0,0xc1,0x83,0x07,};//P0123 五个灯走动char code table9[]={0xc0,0x81,0x03,};//P0123 六个灯走动 char code table10[]={0x80,0x01,};//P0123 七个灯走动 /***************************** 函数功能:延时一段时间 *****************************/ void delay(unsigned int z) { unsigned int n,k; for(n=0;nfor(k=0;k; } /***************************** 函数功能:主函数 *****************************/ void main(void) { char i,j,k; while(1) { P0=0P1=0P2=0P3=0 for(i=0;i{ P0=P0>>1; P1=P1>>1;P2=P2>>1; P3=P3>>1;delay(5); }P0=0P1=0P2=0P3=0for(k=0;k{ P0=P0P1=P1P2=P2P3=P3delay(5); }P0=0P1=0P2=0P3=0for(j=0;j{ P0=table[j]; P1=table1[j];delay(5); }for(j=0;j{ P2=table[j]; P3=table1[j];delay(5); }for(j=0;j{ P2=table2[j]; P3=table3[j];delay(5); }P2=0P3=0for(j=0;j{ P0=table2[j]; P1=table3[j];delay(5); } for(j=0;j{ P0=0 P1=0P2=0 P3=0delay(10);P0=0x55; P1=0x55;P2=0x55; P3=0x55; delay(10); }for(j=0;j{ P0=0x00; P1=0P2=0 P3=0x00;delay(10);P0=0 P1=0x00;P2=0x00; P3=0delay(10); }for(j=0;j{ P0=0x00; P1=0x00;P2=0 P3=0delay(10);P0=0 P1=0P2=0x00; P3=0x00;delay(10); } P0=0P1=0P2=0P3=0for(i=0;i{ P0=P0delay(5); }P0=0x00;for(i=0;i{ P2=P2delay(5); }P2=0x00;for(i=0;i{ P3=P3delay(5); }P3=0x00; for(i=0;i{ P1=P1delay(5); }P1=0x00;P0=0P1=0P2=0P3=0for(i=0;i{ P1=P1>>1; delay(5); }P1=0x00;for(i=0;i{ P3=P3>>1; delay(5); }P3=0x00; for(i=0;i{ P2=P2>>1; delay(5); }P2=0x00;for(i=0;i{ P0=P0>>1; delay(5); }P0=0x00; P0=0P1=0P2=0P3=0for(j=0;j{ P0=table4[j]; P1=table4[j];P2=table4[j]; P3=table4[j];delay(5); }P0=0P1=0P2=0P3=0for(j=0;j{ P0=table5[j]; P1=table5[j];P2=table5[j]; P3=table5[j];delay(5); }P0=0P1=0P2=0P3=0for(j=0;j{ P0=table6[j]; P1=table6[j];P2=table6[j]; P3=table6[j];delay(5); } P0=0P1=0P2=0P3=0for(j=0;j{ P0=table7[j]; P1=table7[j];P2=table7[j]; P3=table7[j];delay(5); } P0=0P1=0P2=0P3=0for(j=0;j{ P0=table8[j]; P1=table8[j];P2=table8[j]; P3=table8[j];delay(5); } P0=0P1=0P2=0P3=0for(j=0;j{ P0=table9[j]; P1=table9[j];P2=table9[j]; P3=table9[j];delay(5); }P0=0P1=0P2=0P3=0for(j=0;j{ P0=table10[j]; P1=table10[j];P2=table10[j]; P3=table10[j];delay(5); } P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay(5);P0=0P1=0P2=0P3=0for(j=0;j{ P0=table4[j]; delay(5); } P0=0for(j=0;j{ P2=table4[j]; delay(5); } P2=0for(j=0;j{ P3=table4[j]; delay(5); } P3=0for(j=0;j{ P1=table4[j]; delay(5); } P1=0for(j=0;j{ P0=table5[j]; delay(5); } P0=0x7f;P2=0delay(5);P0=0for(j=1;j{ P2=table5[j]; delay(5); } P2=0x7f;P3=0delay(5);P2=0for(j=1;j{ P3=table5[j]; delay(5); } P3=0x7f;P1=0delay(5);P3=0for(j=1;j走动{ P1=table5[j]; delay(5); } P1=0for(j=0;j{ P0=table6[j]; delay(5); } P0=0x3f;P2=0delay(5);P0=0x7f;P2=0delay(5);P0=0for(j=0;j{ P2=table6[j]; delay(5); }P2=0x3f;P3=0delay(5);P2=0x7f;P3=0delay(5);P2=0for(j=0;j{ P3=table6[j]; delay(5); } P3=0x3f;P1=0delay(5);P3=0x7f;P1=0delay(5);P3=0for(j=0;j{ P1=table6[j]; delay(5); }P1=0x3f;P0=0delay(5);P1=0x7f;P0=0delay(5);P1=0P0=0xf8;delay(5);for(j=0;j{ P0=table7[j]; delay(5); } P0=0x1f;P2=0delay(5);P0=0x3f;P2=0delay(5);P0=0x7f;P2=0xf8;delay(5);P0=0for(j=0;j{ P2=table7[j]; delay(5); } P2=0x1f;P3=0delay(5);P2=0x3f;P3=0delay(5);P2=0x7f;P3=0xf8;delay(5);P2=0for(j=0;j{ P3=table7[j]; delay(5); } P3=0x1f;P1=0delay(5);P3=0x3f;P1=0delay(5);P3=0x7f;P1=0xf8;delay(5);P3=0for(j=0;j{ P1=table7[j]; delay(5); }P1=0x1f;P0=0delay(5);P1=0x3f;P0=0delay(5);P1=0x7f;P0=0xf8;delay(5);P1=0P0=0xf0;delay(5);for(j=0;j{ P0=table8[j]; delay(5); } P0=0x0f;P2=0delay(5);P0=0x1f;P2=0delay(5);P0=0x3f;P2=0xf8;delay(5);P0=0x7f;P2=0xf0;delay(5);P0=0for(j=0;j{ P2=table8[j]; delay(5); } P2=0x0f;P3=0delay(5);P2=0x1f;P3=0delay(5);P2=0x3f;P3=0xf8;delay(5);P2=0x7f;P3=0xf0;delay(5);P2=0for(j=0;j{ P3=table8[j]; delay(5); } P3=0x0f;P1=0delay(5);P3=0x1f;P1=0delay(5);P3=0x3f;P1=0xf8;delay(5);P3=0x7f;P1=0xf0;delay(5);P3=0for(j=0;j{ P1=table8[j]; delay(5); } P1=0x0f;P0=0delay(5);P1=0x1f;P0=0delay(5);P1=0x3f;P0=0xf8;delay(5);P1=0x7f;P0=0xf0;delay(5);P1=0for(j=0;j{ P0=table9[j]; delay(5); }P0=0x07;P2=0delay(5);P0=0x0f;P2=0delay(5);P0=0x1f;P2=0xf8;delay(5);P0=0x3f;P2=0xf0;delay(5);P0=0x7f;P2=0xe0;delay(5);P0=0for(j=0;j{ P2=table9[j]; delay(5); } P2=0x07;P3=0delay(5);P2=0x0f;P3=0delay(5);P2=0x1f;P3=0xf8;delay(5);P2=0x3f;P3=0xf0;delay(5);P2=0x7f;P3=0xe0;delay(5);P2=0for(j=0;j{ P3=table9[j]; delay(5); } P3=0x07;P1=0delay(5);P3=0x0f;P1=0delay(5);P3=0x1f;P1=0xf8;delay(5);P3=0x3f;P1=0xf0;delay(5);P3=0x7f;P1=0xe0;delay(5);P3=0for(j=0;j{ P1=table9[j]; delay(5); } P1=0x07;P0=0delay(5);P1=0x0f;P0=0delay(5);P1=0x1f;P0=0xf8;delay(5);P1=0x3f;P0=0xf0;delay(5);P1=0x7f;P0=0xe0;delay(5);P1=0for(j=0;j{ P0=table10[j]; delay(5); } P0=0x03;P2=0delay(5); P0=0x07;P2=0delay(5);P0=0x0f;P2=0xf8;delay(5);P0=0x1f;P2=0xf0;delay(5);P0=0x3f;P2=0xe0;delay(5);P0=0x7f;P2=0xc0;delay(5);P0=0for(j=0;j{ P2=table10[j]; delay(5); } P2=0x03;P3=0delay(5); P2=0x07;P3=0delay(5);P2=0x0f;P3=0xf8;delay(5);P2=0x1f;P3=0xf0;delay(5);P2=0x3f;P3=0xe0;delay(5);P2=0x7f;P3=0xc0;delay(5);P2=0for(j=0;j{ P3=table10[j]; delay(5); } P3=0x03;P1=0delay(5); P3=0x07;P1=0delay(5);P3=0x0f;P1=0xf8;delay(5);P3=0x1f;P1=0xf0;delay(5);P3=0x3f;P1=0xe0;delay(5);P3=0x7f;P1=0xc0;delay(5);P3=0for(j=0;j{ P1=table10[j]; delay(5); } P1=0P0=0P1=0P2=0P3=0 for(i=0;i{ P0=P0P1=P1>>1;P2=P2>>1; P3=P3delay(5); }P0=0P1=0P2=0P3=0for(k=0;k{ P0=P0>>1; P1=P1P2=P2P3=P3>>1; delay(5); } }}
范文四:单片机流水灯程序)#include #define TH_M0 ()/256 //T0中断初值,#define TL_M0 ()%256unsigned int count =0;int a=0;void delay(unsigned int t);void main(){ P0 =0x01;TMOD = 0x01; // 定时/计数器0,1工作于方式1 TH0 = TH_M0; // 预置定时常数5),产生10ms时基信号 TL0 = TL_M0; EA = 1; // 开总中断 ET0 = 1; // 定时/计数器0允许中断 TR0 = 1; // 开闭定时/计数器0 // delay(1000);while(1){};}/*void delay(unsigned int t){unsigned int i ,j; for(i=0;ifor(j=0;j} */void time0(void) interrupt 1 // T/C0中断服务程序(产生50ms信号) { count++; // 软计数器加1 if(count == 20) // 计数值到20(1s) { count=0;P0++a;if(a>7) {P0=0x01;a=0;}}TH0 = TH_M0; // 重置定时常数 TL0 = TL_M0; }
范文五:单片机流水灯程序分享一种新颖的流水灯程序:通过查表法的流水灯程序,可以自编花样。使用《51单片机流水灯硬件系统》文中的硬件即可组成实际的流水灯系统。ORG 0 ;程序从0地址开始START: MOV DPTR,#TAB ;将DPTR指向编码表位置LOOP: CLR A ;清空ACCMOVC A,@A+DPTR ;根据ACC的内容取出编码表里的编码CJNE A,#0FFH,SHOW ;若ACC的内容不等于0FFH,则跳至SHOW处执行AJMP START ;跳到START处执行SHOW: MOV P2,A ;让P2口输出ACC的内容ACALL DELAY ;调用延时子程序INC DPTR ;将DPTR寄存器的内容加1AJMP LOOP ;跳到LOOP处执行;延时子程序=====================================================DELAY: MOV R5,#2 ;R5寄存器加载2次D0: MOV R7,#250 ;R7寄存器加载250次数D1: MOV R6,#250 ;R6寄存器加载250次数D2: DJNZ R6,D2 ;D2循环执行R6次DJNZ R7,D1 ;D1循环执行R7次DJNZ R5,D0 ;D0循环执行R5次RET ;返回主程序TAB: ;流水灯花样可以任意编写DB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB B DB BDB BDB BDB BDB BDB BDB BDB B DB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB BDB 0FFHEND ;主程序结束原创文章如转载,请注明:转载自萬用電路板 [ http://www.jiangx.net/ ]51单片机经典流水灯程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
51单片机经典流水灯程序
&&51单片机经典流水灯程序
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩58页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 单片机流水灯汇编程序 的文章

 

随机推荐