内容太多,中间省略部分
6接口板中发送微处理器软件设计
6.1软件功能设计
本软件卞要用于从双口RAM内读数据,并通过串行口发数据到显示屏。单
始状态监测另一单片机发出的控制信号。监测的控制信号后,控制单片机与显
的微处理器进行硬件交握。交握结束后,从双口RAM内读数据,并通过串行口
到显示屏内的微处理器。检测到数据读完后,与显示屏内的微处理器解除交握
返回到监测另一单片机发出的控制信号状态t27]。
6.2软件流程图
说明:同接收单片机时钟和波特率相同;串行口波特率为9.6K。
流程如图6.1所示如下:
等等待接收单片机信号号
与与人屏幕处理器交握握
从从双口RAM读数据并发送送
与与人屏幕解除交握握
图6.1软件流程
F196.1proeedureofthesoftware
重庆大学硕十学位论文
6.3用C语言编写的软件
#inelude(regsl.h)
#defineueharunsignedehar
#defineuintunsignedint
、匕1tpl_O二工,1“0:
sbitpl_1=Pl‘1:
sbitpl_2=Pl‘2:
sbitvl_3=PI‘3:
sbitpl_4=Pl一4:
Voidmain(void)
{
uc士1七一ri:
ucharxdata*p;
Pl_O“O:
Pl_2=O:
Pl_1=1:
//以下为初始化单片机状态
Pl_3=1:
Pl_4==l:
PCON=OxOO;
SCON=Ox50;
TMOD==0x20;
THI=oxfd;
TLI=Oxfd;
TRI二1;
whi!。(l)
(
L
P=oxO00O;
loop:while(pl_4==0):
for(i=0;i(50;i++);
if(pl_4==O)
gotolooP:
Pl_O=1:
while(pl_1==O):
PI_2=1:
whi]e(pl_3==O):
while(1)
{
//等待接收单片机控制信号
刀去干扰延时
//与显示屏的微处理器进行交握
f(*p“=0)//判断是否读完
45
重庆大学硕士学位论文
break;
SBUF=*P;
while(Tl===0):
Tl=O;
p++:
{
pl_()二0:
Pl_2==O:
}
飞
J
//从RAM中读数据并发送
刀通知显示屏的微处理器发送结束
//返回等待发送单片机的控制信号
本软件经Franklin仿真,运行正常〔24〕
6.4用汇编语言编写的软件
汇编语
一
言程序如下
0000
0002
0004
0006
0008
OOOA
000D
0010
0013
0016
0019
OOIB
OOIB
001C
OOIE
0020
0020
0023
0025
0025
0027
OOZA
OOZD
OOZF
O02F
C29O
C292
D291
D293
D294
758700
759850
758920
758DFD
758BFD
D28E
Pl_0
PI_2
PI_1
PI_3
Pl_4
PCON,#000H
SCON,#050H
TMOD,#020H
THI,#OFDH
TLI,#OFD
TRI
刀以下为初始化单片机
n氏nK
E4
F500
FSOO
CLR
CLR
SETB
SETB
SETB
MOV
MOV
MOV
MOV
MOV
SETB
?WHILE6:
CLR
M0V
MOV
A
P,A
P+01H,A
3O94FD
7A32
Pl_4,?WH1LE7
RZ,#032H
//等待控制信号
DAFE
750032
209402
SOFI
?W111LE7:
JNB
MOV
?NXT13:
DJNZ
RMOV
JB
SJMP
?NXT14:
SETB
RZ,?NXT13
i,#032H
Pl_4,?NXT14
?WHILE7
D290Pl_0刀和显示屏的微处理器进
重庆大学硕士学位论文
0031
0031
0034
0036
0036
0039
0039
OO3C
OO3F
0040
0042
0044
0044
0047
OO4A
OO4B
OO4D
OO4D
0050
0052
0054
0056
0058
O05A
OOSC
OOSC
OOSE
0060
3O91FD
D292
Pl_l,?WHILES
Pl_2
3O93FDPI_3,?WHILEg
850083
850082
EO
7002
8018
DPH,P
DPL,P+01H
A,@DPTR
?NXT18
?NXT17
//从RAM中读数据
850083
850082
EO
卜599
?WH1LES:
JNB
SETB
?WHILEg:
JNB
?WHILE10:
RMOV
RMOV
MOVX
JNZ
SJMP
?NXT18:
RMOV
RMOV
MOVX
MOV
?WH1LEll:
JNB
CLR
RINC
RMOV
JNZ
RINC
SJMP
?NXT17:
CLR
CLR
SJMP
DPH,P
DPL,P+01H
A,@DPTR
SBUF,A//从串行口发送数据
3O99FD
C299
0500
ES()O
7OEI
0500
只ODD
Tl,?WHILEll
T工
P+olH
A,P+01H
?WHILE10
P
?WHILE10
C29O
C292
SOBg
Pl_0
Pl_2
?WH1LE6//返回等待控制信号
本软件经Franklin仿真,运行正常。