第一章 畅学多功能实验箱LED单色流水灯开放源码

来源:本站
导读:目前正在解读《第一章 畅学多功能实验箱LED单色流水灯开放源码》的相关信息,《第一章 畅学多功能实验箱LED单色流水灯开放源码》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《第一章 畅学多功能实验箱LED单色流水灯开放源码》的详细说明。

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

程序功能:花样流水灯

开发环境:Keil4

硬件环境:eeskill多功能开发学习板/实验箱(2017版),STC12C5A60S2,11.092M晶振

接线说明:使用杜邦线连接P1口与底板单色流水灯模块的JP15 ,具体接法:P10-I1,P11-I2,P12-I3,P13-I4,P14-I5,P15-I6,P16-I7,P17-I8.

跳线说明:无

实验现象:8个流水灯采用查询法,从L1到L8依次点亮,然后由L1到L8依次熄灭;

然后,采用循环法,分别从从L8到L1和L1到L8依次点亮,只亮一次。

最后同时闪烁3次

技术支持:http://www.ippipp.com

淘宝店铺:http://cepark.taobao.com

作者:eeskill

时间:2017-07-01

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

#include "REG52.h"

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

查表表格

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

unsigned char code table[]={0xfe,0xfc,0xf8,0xf0,

0xe0,0xc0,0x80,0x00,

0x01,0x03,0x07,0x0f,

0x1f,0x3f,0x7f,0xff,

}; //rom允许情况可以无限添加

void Delay(unsigned int); //延时函数

void main(void)

{

unsigned char i; //定义一个无符号字符型局部变量 i 取值范围 0~255

while(1)

{

for(i=0;i<16;i++) //查询法依次点亮和熄灭8个LED

{

P1=table[i];

Delay(1000);

}

P1=0x7f; //赋初始值

for(i=0;i<8;i++) //循环右移点亮LED

{

Delay(800);

P1>>=1;

P1=P1|0x80; //右移后,最左端自动赋值0,所以需要该语句赋值1

}

P1=0xfe; //赋初始值

for(i=0;i<8;i++) //循环左移点亮LED

{

Delay(800);

P1<<=1;

P1=P1|0x01; //左移后,最右端自动赋值0,所以需要该语句赋值1

}

for(i = 0;i<3;i++) // 8个LED同时闪烁

{

P1 = 0x00; // 八个灯全亮

Delay(1000); // 延时一段时间

P1 = 0xff; // 八个灯全灭

Delay(1000); // 延时一段时间

}

}

}

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

函数名称:Delay

函数功能:延时函数

入口参数:uiCount-延时参数,每加1增加0.5ms

返回值:无

备注:无

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

void Delay(unsigned int uiCount)

{

unsigned char j = 244;

for(;uiCount > 0;uiCount--) while(--j);

}

提醒:《第一章 畅学多功能实验箱LED单色流水灯开放源码》最后刷新时间 2024-03-14 01:00:42,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《第一章 畅学多功能实验箱LED单色流水灯开放源码》该内容的真实性请自行鉴别。