当前位置:首页 » 课程大全 » 单片机课程设计流水灯

单片机课程设计流水灯

发布时间: 2020-11-27 17:32:20

『壹』 单片机16路流水灯课程设计

程序和流程图写着麻烦,给你个思路吧分别以P0,P1做两个单八路流水等先P1全灭,让P0单流水并计数,8次后P0全灭,让P1单流水并计数,8次后返回循环.找我的话到 www.ahut.org,论坛中有我的电子制作实验室版块

『贰』 单片机用at89c51来制作一个16个灯的流水灯

用一个 16 位的变量,每隔一会,就把内容变化一下,
再输出到接口,即可。

『叁』 AT89C51单片机控制流水灯课程设计

/*******************************************************************************
* 标题: ME300系列单片机开发系统演示程序 - LED流水灯 *
;* 硬件: ME300A,ME300S,ME300A+,ME300B *
* 文件: wl001.C *
* 日期: 2004-1-5 *
* 版本: 1.0 *
* 作者: 伟纳电子 - Freeman *
* 邮箱: [email protected] *
* 网站: http://www.willar.com *
********************************************************************************
* 描述: *
* LED流水灯 *
* *
********************************************************************************
* 跳线设置: *
* ME300A+ JP1 全部短接,JP2短接在3-4端 *
* ME300B JP1 短接,JP2短接在3-4端 *
* *
* *
********************************************************************************
* 【版权】 Copyright(C)伟纳电子 www.willar.com All Rights Reserved *
* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
*******************************************************************************/

#include<reg51.h>
#include <intrins.h>

void delayms(unsigned char ms)
// 延时子程序
{
unsigned char i;
while(ms--)
{
for(i = 0; i < 120; i++);
}
}

main()
{
unsigned char LED;
LED = 0xfe;
P0 = LED;

while(1)
{
delayms(250);
LED = _crol_(LED,1); //循环右移1位,点亮下一个LED
P0 = LED;
}
}

『肆』 51单片机流水灯用C语言编写的设计程序

/*********************************************************************************************
程序名: 8路流水灯
编写时间:年5月13日
硬件支持:STC12C4052AD外部12MHZ晶振
接口说明:8个LED彩灯接P1口
修改日志:
NO.1-2009年5月14日 在程序前面加入参数定义项
/*********************************************************************************************
说明:
根据参数设置产生流水LED效果。

/*********************************************************************************************/

#include <REG51.h> //51头文件

/*********************************************************************************************/

#define DY_PORT P1 //设置LED连接的I/O组
#define DY_SPEED 100 //设置每一个明亮级的停留时间(值域:0~65535)

/*********************************************************************************************

bit [自定义名] ; //定义一个位(位的值只能是0或1)例:bit LED
#define [代替名] [原名] //用代替名代替原名(可以方便修改常改或调试的值)例:#define LED P1
sbit [自定义名] = [系统位名] ; //自定义系统位名。例:sbit Add_Key = P3 ^ 1;
unsigned char [自定义名] ; //定义一个0~255的整数变量.例:unsigned char a;
unsigned int [自定义名] ; //定义一个0~65535的整数变量

/*********************************************************************************************/
void delay (unsigned int a){ // 1ms延时程序
unsigned int i;
while( --a != 0){
for(i = 0; i < 600; i++);//STC单片机在外部晶振为12MHz时i值上限为600
} //AT89C51单片机在外部晶振为12MHz时i值上限为125
}
/*********************************************************************************************/
void main(void){
unsigned int i;
unsigned int temp;
while(1){
temp=0x01;
for(i=0;i<8;i++){ //8个流水灯逐个闪动
DY_PORT=~temp;
delay(DY_SPEED); //调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++){ //8个流水灯反向逐个闪动
DY_PORT=~temp;
delay(DY_SPEED); //调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++){ //8个流水灯依次全部点亮
DY_PORT=temp;
delay(DY_SPEED); //调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++){ //8个流水灯依次反向全部点亮
DY_PORT=temp;
delay(DY_SPEED); //调用延时函数
temp>>=1;
}
}
}
/*********************************************************************************************/

『伍』 单片机流水灯C语言程序(8个灯,依次点亮每个灯,延时500MS)

单片机流水灯C语言程序的源代码如下:

#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++);

}

(5)单片机课程设计流水灯扩展阅读

51单片机流水灯的源代码如下

#include<reg51.h>

#include<intrins.h>

voiddelay(inta)

{

inti;

while(a--)for(i=0;i<110;i++);

}

main()

{

inti;

while(1)

{

P0=0xfe;

for(i=0;i<8;i++)

{

P0=_crol_(P0,1);

delay(500);

}

}

}

『陆』 如何用单片机简单制作一个流水灯

  1. 工具:STC系列51单片机、串口转换器(USB转TTL 或232转TTL)

  2. 材料:实验板一块(可以买现成的,也可以买面包板自己搭建),电阻、LED灯 若干,5V电源等。

  3. 以下程序可以直接用Keil C 直接编译执行。

//可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。


//具体实现方法可以参考如下程序:


#include<reg51.h>

#include<intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

voiddelay(uinta);

voidmain()

{

P1=0xfe;

while(1)

{

//向左循环点亮LED

for(i=0;i<7;i++)

{

P1=_crol_(P1,1);//左移一位,点亮下一位LED

delay(55);

}

//向右循环点亮LED

for(i=0;i<7;i++)

{

P1=_cror_(P1,1);//右移一位,,点亮上一位LED

delay(55);

}

}

}

//延时函数,延时a毫秒

voiddelay(uinta)

{

uintx,y;

for(x=a;x>0;x--)

for(y=110;y>0;y--);

}

『柒』 单片机流水灯课程设计

功能:先保持全灭一段时间,然后顺序点亮8个灯,全亮后再保持一段时间,然后从从头开始

SS2:
MOV A,#0FFH ;全部熄灭
MOV P1,A ;送显示
ACALL DELAY1S ;延时一段时间,保持全灭1S
SS1:
RL A ;循环左移1位
CLR ACC.0 ;将最低位置0,点亮1个等
MOV P1,A ;送显示
ACALL DELAY100ms ;延时一段时间,感觉上100ms比较合适,根据情况自己调整一下
JNZ SS1 ;A不等于0,说明还有灯未点亮,循环继续下一个
ACALL DELAY1S ;A=0,保持全部点亮1S钟
JMP SS2 ;再次开始

延时子程序我就不写了,你应该会的。
建议:牵涉到延时,最好用定时中断实现,实际运用中ms级的延时一般都会使用中断实现,否则CPU的资源就浪费了。如果是作业就算了,如果你想学些东西最好用中断的方式再尝试一下。

『捌』 学习单片机流水灯的步骤

先用c语言入门,学得差不多时可以学习单片机汇编,这样对理解单片机内部工作原理非常有帮助,跟着郭天祥<十天学会单片机> 的视频来,相信你很快就能入门的

『玖』 单片机课程设计,按键控制6个LED流水灯设计:按下K1,执行A,按下K2,执行B,

你好,请问每次变换两个灯是不是亮1,2;亮0.5S,熄灭,亮3,4,;以此类推 ?

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919