外观
二、跑马灯实验
开发板开源工程链接:https://oshwhub.com/xiezhaoyan/51-dan-pian-ji-diy-kai-fa-ban-97-zhi-cha-jian
1 开发板硬件部分
跑马灯模块有8个LED组成,LED3~LED9,由STC89C52RC单片机的P1端口控制。
2 Proteus仿真电路
跑马灯模块的Proteus仿真电路如图3所示,具体绘制过程,可以参考我的B站视频:B站跑马灯Proteus仿真电路设计视频
3 keil程序
跑马灯程序实现了8种状态LED灯变化形式,每种变化形式的时间间隔变化8次,逐渐变快。
C
/************************************************************
*实验4-LED跑马灯实验
************************************************************/
# include "reg51.h"
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
#define LED P1 //将P1口定义为LED,后面就可以使用LED代替P1口
u8 leddata[8][9]=
{
{0xFE,0xFD,0xFB,0xF7,0xEE,0xDF,0xBF,0x7F,0xFF},
{0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF},
{0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xFF},
{0x7E,0x3C,0x18,0x00,0x00,0x18,0x3C,0x7E,0xFF},
{0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0x0F,0xF0,0xFF},
{0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF},
{0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xFF}
};
/************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数, i=1时,大约延时10us
************************************************************/
void delay(u16 i)
{
while(i--);
}
/************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
************************************************************/
void main()
{
u8 i;
u8 j;
u8 k;
u8 temp=0;
LED=0xFF;
while(1)
{
for(i=0;i<8;i++)
{
for(k=9;k>1;k--)
{
for(j=0;j<9;j++)
{
LED=leddata[i][j]; //temp取反送到P1口
delay(1000*k); //大约延时450ms
}
}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
4 演示视频
电路仿真工程和程序代码请通过一下链接下载。
链接:https://pan.baidu.com/s/1ZUsA9FlCuLNZTh1vjX14vA
提取码:nwp2
具体演示视频,可以参考我的B站视频:B站演示视频
喜欢的话请关注点赞,谢谢!!!