单片机综合方案设计书开关状态显示控制.docx
《单片机综合方案设计书开关状态显示控制.docx》由会员分享,可在线阅读,更多相关《单片机综合方案设计书开关状态显示控制.docx(20页珍藏版)》请在冰豆网上搜索。
单片机综合方案设计书开关状态显示控制
设
计
报
告
指导老师:
XXX
学生:
XX
学号:
1000111111
桂林电子科技大学机电工程学院
《微机综合设计》设计报告
一、设计题目
二、设计内容与要求
三、设计目的意义
四、系统硬件电路图
五、程序流程图与源程序
六、系统功能分析与说明
七、设计体会
八、参考文献
1、?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8051?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
A?
?
8?
?
?
?
?
?
B?
?
8?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8?
?
?
?
?
?
?
?
?
?
?
三、?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
四、?
?
?
?
?
?
?
五、?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
ORG0000H
LJMPMAIN
MAIN:
LOOP:
LCALLDELAY5MS;?
?
MOVDPTR,#0FBFFH;8255?
?
?
MOVA,#01000001B
MOVX@DPTR,A
MOVDPTR,#0F9FFH;?
PB?
?
?
?
?
?
?
?
?
?
MOVXA,@DPTR
LCALLDELAY
MOVXA,@DPTR
XRLA,#0FFH
MOVDPTR,#0F8FFH
JNZCOM;?
?
?
?
?
?
MOVX@DPTR,A
SJMPLOOP
COM:
MOVX@DPTR,A
LCALLDELAY5MS;?
?
?
?
?
?
?
?
?
?
SJMPLOOP
DELAY5MS:
;?
?
?
?
MOVR5,#2
MOVR6,#1
MOVR7,#25
L5:
L6:
L7:
NOP
NOP
DJNZR7,L7
DJNZR6,L6
DJNZR5,L5
RET
DELAY:
MOVR1,#1
MOVR2,#25
L1:
L2:
NOP
NOP
DJNZR2,L2
DJNZR1,L1
RET
END
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
六、?
?
?
?
?
?
?
?
?
18255?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(MicrocontrollerUnit),?
?
?
?
?
?
?
?
?
MCU?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
I/O?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
Intel?
?
?
?
?
?
?
?
?
?
I/O?
?
?
?
?
3?
8?
?
?
I/O?
?
?
?
3?
?
?
3?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(40?
?
)?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
A?
B?
C?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
3?
?
?
:
?
CPU?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
139?
?
?
CS?
?
?
A0,A1?
?
?
?
PA,PB,PC,D?
(?
?
?
?
?
),?
?
?
?
?
?
?
?
?
?
D?
?
?
PA,PB,PC?
?
?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
A?
B?
C?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
3?
?
?
:
?
CPU?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1.1?
CPU?
?
?
?
?
?
?
?
8255?
?
?
?
?
8?
?
?
?
?
?
?
?
?
?
8?
D0~D7?
?
?
8255?
?
3?
?
?
A?
B?
C,?
?
?
?
?
?
?
?
?
?
?
?
?
A?
B?
C?
?
?
?
?
?
?
?
?
?
?
?
?
?
A0~A1?
?
?
CPU?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
(1)?
?
?
?
DB:
?
?
?
D0~D7,?
?
8255?
CPU?
?
8?
?
?
?
(2)?
?
?
?
AB:
?
?
?
A0~A1,?
?
?
?
A?
B?
C?
?
?
?
?
?
?
?
(3)?
?
?
?
CB:
?
?
?
?
?
?
?
?
?
RST?
?
?
?
?
?
?
?
?
?
CPU?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
1.2?
?
?
?
?
?
?
?
?
?
?
8255?
3?
?
?
A?
B?
C?
?
?
?
?
?
?
?
?
?
?
8?
?
?
?
?
?
?
?
?
8255?
?
?
24?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
24?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
(1)A?
:
?
?
?
PA0~PA7,?
?
8255?
?
?
?
?
?
?
8?
?
?
?
?
?
(2)B?
:
?
?
?
PB0~PB7,?
?
8255?
?
?
?
?
?
?
8?
?
?
?
?
?
(3)C?
:
?
?
?
PC0~PC7,?
?
8255?
?
?
?
?
?
?
8?
?
?
?
?
?
8255?
?
?
?
?
I/O?
?
?
C?
?
?
?
?
?
?
?
?
?
?
1.3?
?
?
?
?
?
?
8255?
3?
?
?
?
?
?
?
?
PA0~PA7?
PC4~PC7?
?
A?
PB0~PB7?
PC0~PC3?
?
B?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
A?
?
?
?
?
B?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
(1)A?
?
?
?
:
?
?
A?
?
?
C?
?
?
?
?
?
?
?
(2)B?
?
?
?
:
?
?
B?
?
?
C?
?
?
?
?
?
?
?
?
1.8255?
?
?
?
1.48255?
?
?
(1)?
?
?
?
?
?
/?
?
?
8255?
?
?
?
?
?
I/O?
?
?
?
?
CPU?
?
?
?
?
?
?
?
.
(2)?
?
24?
?
?
?
?
?
?
I/O?
?
3?
8?
?
I/O?
?
PA?
PB?
?
PC?
.?
?
?
?
?
?
?
?
12?
?
I/O?
A?
?
?
A?
?
C?
(?
4?
PC4~PC7),B?
?
?
B?
?
C?
(?
4?
PC0~PC3).A?
?
?
?
?
?
?
?
I/O?
?
?
(STROBE)?
I/O?
?
?
?
?
I/O3?
?
?
;B?
?
?
?
?
?
?
?
I/O?
?
?
?
I/O?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
.
?
28255?
?
?
?
?
1.58255?
?
?
?
?
RESET:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(?
?
?
?
?
?
?
)?
?
?
?
?
?
I/O?
?
?
?
?
?
?
?
?
?
CS:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
/CS=0?
?
?
?
?
?
?
?
?
?
8255?
CPU?
?
?
?
;/CS=1?
8255?
?
?
CPU?
?
?
?
?
.
RD:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
/RD?
?
?
?
?
?
?
?
/CS=0?
?
?
8255?
?
?
?
?
?
?
CPU?
?
?
?
?
?
?
?
?
?
CPU?
8255?
?
?
?
?
?
?
?
WR:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
/WR?
?
?
?
?
?
?
?
/CS=0?
?
?
CPU?
?
?
?
?
?
?
?
?
8255?
D0~D7:
?
?
?
?
?
?
?
?
8255?
CPU?
?
?
?
?
?
?
?
CPU?
?
?
?
?
?
?
?
?
?
?
?
?
?
8?
?
?
?
?
/?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
PA0~PA7:
?
?
A?
?
?
?
?
?
?
8?
?
?
?
?
?
?
?
?
/?
?
?
?
?
8?
?
?
?
?
?
?
?
?
?
PB0~PB7:
?
?
B?
?
?
?
?
?
?
8?
?
I/O?
?
?
?
?
8?
?
?
?
?
?
?
?
?
?
PC0~PC7:
?
?
C?
?
?
?
?
?
?
8?
?
?
?
?
?
?
?
?
/?
?
?
?
?
8?
?
?
?
?
?
?
?
?
?
?
?
C?
?
?
?
?
?
?
?
?
?
?
?
?
2?
4?
?
?
?
?
?
4?
?
?
?
?
?
?
?
4?
?
?
?
?
?
?
?
?
?
A?
?
?
B?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1.68255?
?
?
(1)8255?
?
/?
?
?
?
?
?
?
?
?
?
?
?
?
0————?
?
?
?
?
?
?
?
;
?
?
1————?
?
?
?
/?
?
?
;
?
?
2————?
?
?
?
?
?
/?
?
?
?
;
(2)?
?
?
?
?
?
?
?
?
A1=0,A0=0?
PA?
?
?
?
;
?
A1=0,A0=1?
PB?
?
?
?
;
?
A1=1,A0=0?
PC?
?
?
?
;
?
A1=1.A0=1?
?
?
?
?
?
?
?
?
.
(3)8255?
?
?
?
?
?
?
?
?
?
:
D7D6D5D4D3D2D1D0
D7:
1?
?
?
?
?
?
?
?
?
?
D6D5:
?
?
A?
?
?
?
?
00--?
?
0,01--?
?
1,1X--?
?
2
D4:
?
?
A?
?
?
?
?
?
?
1--?
?
0--?
?
D3:
?
?
C?
?
?
?
?
?
?
?
1--?
?
0--?
?
D2:
?
?
B?
?
?
?
?
00--?
?
0,01--?
?
1
D1:
?
?
B?
?
?
?
?
?
?
1--?
?
0--?
?
D0:
?
?
C?
?
?
?
?
?
?
?
1--?
?
0--?
?
?
?
/?
?
?
?
?
:
D7D6D5D4D3D2D1D0
D70?
?
?
?
/?
?
?
?
?
D6D5D4?
3?
?
?
?
?
?
000
D3D2D1?
3?
?
?
000PC0,001PC1,010PC2…….111PC7
D00?
?
1?
?
?
?
?
PCi?
?
0?
?
?
1(i?
?
0?
7)
2?
?
?
8051?
?
?
?
?
?
2.1?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
70?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
CPU?
RAM?
ROM?
I/O?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
80?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2.2?
?
?
?
MCS-51?
?
?
?
40?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
----?
?
?
?
?
?
:
8051?
?
lP0.0~P0.7P0?
8?
?
?
?
?
(?
?
?
?
39~32?
?
?
)?
lP1.0~P1.7P1?
8?
?
?
?
?
(?
?
?
?
1~8?
?
?
)?
lP2.0~P2.7P2?
8?
?
?
?
?
(?
?
?
?
21~28?
?
?
)?
lP3.0~P3.7P3?
8?
?
?
?
?
(?
?
?
?
10~17?
?
?
)?
?
4?
I/O?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2.3I/O?
P0?
?
?
?
?
?
1?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(?
?
1?
?
D0~D7?
?
?
?
?
?
?
)
2?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(?
?
1?
?
A0~A7?
?
?
?
?
?
?
)
3?
?
?
?
?
?
?
?
?
?
I/O?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
P1?
?
?
I/O?
?
?
:
?
?
?
?
?
?
?
?
?
P2?
?
?
?
?
?
1?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2?
?
?
?
I/O?
?
?
?
?
?
?
?
?
?
?
;
P3?
?
?
?
?
?
?
?
?
?
I/O?
?
?
(?
?
?
?
?
?
?
?
),?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
EPROM?
?
?
?
?
?
(?
?
8751),?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
:
30?
(ALE/PROG)
?
?
?
?
(25V):
31?
(EA/Vpp)
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
9?
(?
RST/VPD)?
?
?
?
?
?
?
RAM?
?
?
?
?
?
?
?
?
(?
:
?
?
?
?
?
?
?
?
?
?
9?
?
?
?
?
?
?
?
“?
?
?
2004?
”?
?
?
?
?
?
?
?
?
?
?
)
?
?
?
?
?
?
?
?
?
?
I/O?
?
?
?
?
?
?
“?
?
?
?
”?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;?
?
?
?
P0?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ALE/PROG?
?
?
?
?
?
?
?
?
?
?
?
?
?
ALE?
?
?
?
?
P0?
?
?
?
?
8?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8051?
?
EEPROM?
?
?
?
?
ALE?
74LS373?
?
?
?
G?
?
?
?
CPU?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
P0?
?
?
?
ALE?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ALE?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ALE?
?
?
?
?
(?
?
?
?
?
)?
P0?
?
?
8?
?
?
?
?
?
?
?
?
?
?
?
ALE?
?
?
?
?
P0?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ALE?
1/6?
?
?
?
?
?
?
?
(?
6?
?
),?
?
?
?
?
?
?
?
?
1/12?
?
?
?
?
?
(12?
?
)?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ALE?
?
1/6?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
PORG?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8051?
?
?
?
?
?
?
?
4KB?
8KB?
?
?
?
?
?
(ROM),ROM?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ROM?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
PROG?
PSEN?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
ROM?
PSEN?
?
?
?
?
?
?
?
?
?
ROM?
?
?
?
?
?
?
1?
?
?
ROM?
?
?
PSEN?
?
?
;
2?
?
?
ROM?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;
3?
?
?
RAM?
?
?
?
?
PSEN?
?
?
?
?
?
?
?
?
;
4?
?
?
ROM?
?
ROM?
OE?
?
?
?
?
?
?
2—(8051?
?
2KBEEPROM?
?
?
?
?
PSEN?
?
?
ROM?
OE?
?
?
)
EA/VPP?
?
?
?
?
?
?
?
?
?
?
1?
?
?
?
?
?
:
CPU?
?
?
?
?
?
?
?
?
(ROM)
?
?
?
?
ROM:
?
?
?
?
?
?
?
?
?
?
?
?
0FFFH(8051)1FFFH(8052)?
?
?
?
?
?
?
ROM?
2?
?
?
?
?
?
:
CPU?
?
?
?
?
?
?
?
?
(ROM)?
?
?
?
?
?
?
?
?
?
?
?
?
8031?
?
?
?
?
?
?
?
ROM?
?
?
?
?
?
8031?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3?
8751?
?
?
?
EPROM?
?
?
?
?
?
?
21V?
?
?
?
?
?
RST?
?
?
?
:
?
?
?
?
?
?
?
?
2?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
PC=0000H,?
?
?
?
?
?
?
?
?
?
?
?
0000H?
?
?
?
?
?
?
?
?
?
?
XTAL1?
XTAL2?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
;?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
VCC:
?
?
+5V?
?
VSS:
GND?
?
?
AVR?
pic?
?
?
8051?
?
?
?
?
8?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
CISC?
?
?
?
8051,?
?
?
?
RISC?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8051?
?
?
?
?
?
PIC?
8?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
ARM?
?
?
?
?
32?
?
?
?
?
?
?
?
?
?
?
(?
?
?
?
?
?
?
?
)?
8051?
PIC?
AVR?
?
?
?
?
?
?
?
?
?
CPU?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
DSP?
?
?
?
?
?
?
?
?
?
?
?
?
?
8?
?
32?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
CPU?
?
?
?
?
?
?
?
?
32?
?
DSP?
?
?
?
?
?
?
?
?
?
?
?
?
?
32?
?
?
32?
?
?
?
?
?
?
32?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2.4?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
1?
?
?
?
?
?
?
?
?
128?
?
?
?
?
(00H-7FH)2?
?
?
?
?
;3?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
?
PC?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3?
?
?
?
?
?
?
3.1ALTIUMDESIGNER
AltiumDesigner?
?
Protel?
?
?
?
?
Altium?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Windows?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
PCB?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
AltiumDesigner?
?
?
?
?
?
?
?
Protel99SE?
ProtelDXP?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
FPGA?
?
?
?
?
SOPC?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
FPGA?
PCB?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
AltiumDesigner?
?
?
?
?
Protel?
?
?
?
?
?
?
?
?
?
?
FPGA?
?
?
?
?
?
?
?
?
?
?
?
?
?
AltiumDesigner?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
:
1?
?
?
?
?
2?
?
?
?
?
?
?
3FPGA?
?
?
4?
?
?
?
?
?
?
3.2keilc51
?
?
8051?
?
?
?
?
?
?
?
?
Keil?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
KeilC51?
?
?
ARM?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
KeilC?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
251?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
KEILC51?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
uVisionIDE?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8051?
?
?
KeilµVision?
?
?
?
?
?
?
?
8051?
?
?
?
?
?
?
?
?
(IC?
CAN?
UART?
SPI?
?
?
?
I/O?
?
?
A/D?
?
?
?
D/A?
?
?
?
PWM?
?
)?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
MON51?
MON390?
NONADI?
?
?
FlashMON51?
?
?
?
?
?
ISD51In-System?
?
?
?
ULINKUSB-JTAG?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
3.3AVR_fighter
?
?
?
?
?
?
?
?
?
?
?
?
?
AVR单片机编译及下载环境简介
AVR单片机的编译环境为ICCAVR,使用的语言为CC++系统基本兼容CC++的语法,但有个别例外,如不允许中途声明变量,通过编译错误提示一般可以查出。
启动界面如图。
具体用法可参考视频教程“1
天学会AVR和C语言”(有点夸张,但大致如此,前提是掌握了基本的C或C++编程)。
编译成功后会出现和下图类似的提示。
同时在objs文件夹(当建立一个工程项目后,系统会在相同的目录下产生两个文件夹BACKUP和objs)中生成与工程同名的hex文件。
注意:
程序文件必须和工程文件在同一个根目录下,在工程中添加该程序文件后才能正确编译,否则会出现如下图类似的出错提示!
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
flash?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
flash?
?
?
?
?
?
?
AVR_FIGHTER?
?
?
?
?
?
D:
\USB_ASP-?
?
?
?
?
\AVR_FIGHTER?
?
?
?
?
?
?
?
?
?
?
(?
?
?
hex?
?
?
?
?
?
?
?
?
?
?
?
),?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
“?
?
?
?
”?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
“?
FLASH”,?
?
“?
?
-?
?
?
?
”?
?
?
?
objs?
?
?
(?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
BACKUP?
objs.)?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
(?
?
?
?
?
hex)?
?
?
?
?
?
?
?
?
?
?
USB?
?
?
?
?
?
?
?
?
?
?
?
“?
?
”,?
?
?
?
?
“?
?
?
?
?
?
?
USB?
?
”?
?
?
?
?
?
“?
?
”?
?
?
?
?
?
?
?
?
?
?
?
?
flash?
?
?
?
?
?
?
?
:
1..?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
2.?
?
?
?
?
?
?
?
?
?
?
?
(?
?
?
?
)?
?
?
?
?
?
16?
?
?
?
?
?
?
?
?
?
?
3.AVRSTUDIO?
?
?
?
?
?
?
?
?
?
?
4.?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
4?
?
?
?
4.18051?
8255?
?
?
51?
?
?
?
8255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255A?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8255A?
?
?
?
?
?
?
?
?
?
?
?
A1,A0?
?
?
8051?
P2.0?
P2.1,P2.2?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
“1”?
?
?
8255?
A,B,C?
?
?
?
?
?
?
?
F8FFH,F9FFH,FAFFH,FBFFH?
?
?
?
?
?
?
?
?
?
?
?
8255?
?
?
?
?
8051?
?
?
?
?
?
?
?
?
8051?
?
?
?
?
?
8051?
P0?
?
8255?
?
?
?
?
?
?
(?
?
PCB?
?
?
?
?
?
?
?
?
?
?
?
?
)
8255?
A0,A1,CS?
?
?
?
8051?
P2.0,P2.1,P2.2?
?
8255?
WR,RD?
8051?
WR,RD?
?
8255?
RESET?
8051?
RESET?
?
4.28255?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
PA?
?
8?
?
?
?
?
?
PB?
?
8?
?
?
?
?
4.38051?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
8051?
XTAL1?
XTAL2?
?
?
?
?
?
?
?
?
?
?
?
12.000MHz?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
Y2?
?
?
?
?
?
?
?
?
?
C1?
C2?
?
?
Y2?