单片机控制流水灯

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

79
78
71
70
69
68
61
60
59
58
51
50
49
48
41
40
39
38
31
30
29
28
21
20
19
18
11
10
09
08
01
00
单片机应用技术
高128个单元
特殊功能寄存器
☆离散分布有21个 特殊功能寄存器SFR。
☆ 11个可以进行 位寻址。
☆特别提示:对 SFR只能使用直接 寻址方式,书写时 可使用寄存器符号, 也可用寄存器单元 地址。
软件设计
单片机应用技术
思考一下程序如何编写,首先看电路图中的8个单色灯, 从上到下分别是L0~L7,我们首先应该点亮L0,然后熄 灭L0;接着点亮L1,然后熄灭L1,以此类推,最后点亮L 7,再熄灭L7,周而复使继续下去。
单片机应用技术
具体程序如下:
#include “reg51.h”
void delay()
程序存储器资源分布
(2)数据存储器
FFFFH
(64K)
(高128B)
FFH 80H
7FH
(低128B) 00H
专用 寄存器
内部
RAM
0000H
外部
数据存储器
单片机应用技术
1 1 第3区 1 0 第2区 0 1 第1区 0 0 第0区 RS1 RS0 寄存器区
工作寄存器区选择位RS0、RS1
18H~1FH 10H~17H 08H~0FH 00H~07H 片内RAM地址
2C
25
24
1D
1C
15
14
0D
0C
05
04
LSB
7B
7A
73
72
6B
6A
63
62
5B
5A
53
52
4B
4A
43
42
3B
3A
33
32
2B
2A
23
22
1B
1A
13
12
0B
0A
03
02
注意: 一个单元地址对应有8个位地址 MSB——Most Significant Bit (最高有效位) LSB ——Least Significant Bit (最低有效位)
{
unsigned int i;
for(i=0;i<10000;i++) ;
}
void main()
{
for(;;)
{
P1^0 = 0;
delay(); P1^0 = 1; P1^1 = 0;
delay();
//点亮L0灯 //延时一小段时间,让人的肉眼能够看清 //熄灭L0灯 //点亮L1灯 //延时一小段时间,让人的肉眼能够看清
3
26
4
25
5
24
6
23
7
22
8
21
9
20
10 2764 19
11
18
12
17
13
16
14
15
1
28
2
27
EPROM
3
26
4
25
5
24
6
23
7
22
8
21
9
20
10 2764 19
11
18
12
17
13
16
14
15
单片机应用技术
(1)程序存储器
中断入口地址
FFFFH
(64K)
0FFFH (4K)
0000H
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
10 11 12 13 14 15 16 17
1
28
2
27
4K
1
40
2
39
3
38
4
37
3
26
4
25
5
24
6 7
RAM
23 22
8 6264 21
9百度文库
20
10
19
11
18
12
17
13
16
14
15
5
36
存 储
6 7
片80内31
35 34
8 R8O75M1 33
单片机应用技术
思考:前面的实验我们都是直接用一个P1 口的,那么能不能对P1口的某一个引脚来 操作呢?
任务3:
单片机应用技术
流水灯----单片机内部结构
单片机应用技术
功能要求:
流水灯指的是单色灯一只一只的亮,一只 一只的灭,每次亮的灯只有一个,而且是按 照一个方向顺序向前或向后走动。
硬件设计
硬件方案确定 ––系统电路图
P1^1 = 1; P1^2 = 0;
delay(); P1^2 = 1; P1^3 = 0;
C1
20pF
C2
20pF
R1 C31k
D1
22uF
D2
LED-GREEN
D3
LED-GREEN
D4
LED-GREEN
D5
LED-GREEN
D6
LED-GREEN
D7
LED-GREEN
D8
LED-GREEN
LED-GREEN
X1
CRYSTAL
RN1
9
8
10
7
11
6
12
5
13
4
14
3
15
2
16
1
470
U1
2EH
77
76
2DH
6F
6E
2CH
67
66
2BH
5F
5E
2AH
57
56
29H
4F
4E
28H
47
46
27H
3F
3E
26H
37
36
25H
2F
2E
24H
27
26
23H
1F
1E
22H
17
16
21H
0F
0E
20H
07
06
位地址
7D
7C
75
74
6D
6C
65
64
5D
5C
55
54
4D
4C
45
44
3D
3C
35
34
2D
9
32

10 11
8051
31 30
12
29
13 89C51 28
14 片内 27
15 16
RAM
26 25
17
24
1
28
2
27
3
26
4
25
5
24
6 7
RAM
23 22
8 6264 21
9
20
10
19
11
18
12
17
13
16
14
15
18
24
19
22
20
21
256B(字节)
单片机应用技术
1
28
2
27
EPROM
7FH
30H 2FH 7F 78
20H 07 00
1FH R7 3区 18H R0
17H R7 2区 10H R0
0FH R7 1区
08H R0
07H R7 00H R0
0区
数据缓冲区/堆栈区 可位寻址区
工作寄存器区
内部RAM存储器
单片机应用技术
RAM位寻址区位地址表
单元地址 MSB
2FH
7F
7E
39 38 37 36 35 34 33 32
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
21 22 23 24 25 26 27 28
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
内部
EA=1
外部
EA=0 0000H
0FFFH (4K)
0000H
程序存储器
0FFFH
0FFEH ...
002BH
中断5
0023H
中断4
001BH
中断3
0013H
中断2
000BH
(PC)
0003H 0002H 0001H 0000H
中断1
8位
串行口中断
定时器1中断
外部中断1
定时器0中断
外部中断0 0000H是程序执行的起始单元, 在这三个单元存放一条 无条件转移指令
19 XTAL1 18 XTAL2
9 RST
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89C52
单片机应用技术
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
相关文档
最新文档