设计一个8个流水灯的单片机控制程序,功能如下:

按下按键1后,流水灯从右往左每秒移动1位(1个周期以后循环),按下按键2后,流水灯从右往左每秒移动1位(1个周期以后循环),按下按键3后流水灯熄灭。

第1个回答  2012-06-01
用protues仿真一个单片机最小系统 用keil C编个小程序 自己练手吧 真的很简单的
建议自学啊 找本C51的书看看。你会感兴趣的。
第2个回答  2012-05-31
这就单片机最基础的实验,想学就自己动手吧。
第3个回答  2012-05-31
同意楼上的
第4个回答  2012-06-02
自己慢慢写吧,只有这样才能慢慢锻炼自己的能力,从最基本的做起。

8路流水灯汇编语言程序的写法
;假设1:D1~D8八个彩灯接在P1口,输出低电平发光 ;假设2:系统晶振为12MHz ;假设3:N = 5 ;程序如下:ORG 0000H MOV R3, #5 ;N=5 LOOP0:MOV A, #0FFH MOV P1, #0FFH ;开始时全灭 ;---逐个点亮 MOV R2, #8 LOOP1: CLR C RLC A MOV P1, A CALL DL500MS DJNZ R...

单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)
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...

用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)_百度...
P3=0xfe;\/\/第一个灯亮 delay();\/\/延时 P3=0xfd;\/\/第二个灯亮 delay();P3=0xfb;\/\/第三个灯亮 delay();P3=0xf7;\/\/第四个灯亮 delay();P3=0xef;\/\/第五个灯亮 delay();P3=0xdf;\/\/第六个灯亮 delay();P3=0xbf;\/\/第七个灯亮 delay();P3=0x7f;\/\/第八个灯亮 delay();}...

51单片机汇编控制8个流水灯
} }}void main(){ unsigned char i=0,j=0; PData=0x00;\/\/全灭状态 for (i=8;i>0;i--){\/\/控制常亮的位置,先从最高位开始,依次循环到最低位 for (j=0;j<i-1;j++){\/\/从最低位循环到不是常亮的最高位 P1=~(PData+(1<<j));\/\/第i位亮 delay(500); ...

设计8个流水灯灯从中间依次向两边闪烁的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的...

单片机课程设计8个流水灯程序
代码如下:好好研究,很有用的。可以改成按键控制多种花样流水灯,原理是一样的#include#include#defineLED_PORT1P1unsignedcharcodetable1[8]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e};voidtime(unsignedintucMs);voidmain(void){unsignedcharucTimes;#defineDELAY_TIME200while(1){for(ucTimes=0...

怎么利用单片机控制八个led灯?
1:首先设定一个变量i,可以是从0到3循环的变化,2:再检测一个经过消抖处理的按键,按一下,即i+1 3:当i值为各个值时,执行相应的变换花样。流水灯参考程序 include include define uchar unsigned char uchar j,tmp;void deay(unsigned int ms){ uchar t;while(ms--)for(t=0;t<12;t++...

C语言控制单片机,控制八个流水灯从左到右依次亮,最后又从右到左依次亮...
假设P1接8 个LED,高电平时LED点亮,主程序如下:void main(void){ uchar i;while(1){ for(i=0;i<7;i++){ P1=1<<i;delay_ms(500);} for(i=0;i<7;i++){ P1=0x80>>i;delay_ms(500);} } }

单片机8个流水灯依次亮的c程序流程图
流程:1.点亮1个灯;2.延时100毫秒 3.灭第一个灯,点亮第二个灯;4延时100毫秒;。。。依次类推,直到灭第8个灯,再返回到1,重新开始。

51单片机开发板八个led灯依次点亮(就是流水灯)然后再全部
以下是实现LED流水灯效果的代码:首先,定义了一系列宏和位定义:include define uint unsigned int define uchar unsigned char 接下来,定义了延时函数delay:void delay(uint);然后定义了控制LED的位:sbit D0=P1^0;sbit D1=P1^1;sbit D2=P1^2;sbit D3=P1^3;sbit D4=P1^4;sbit D5=P1^...

相似回答