51
单片机教程:单片机串行口通信程序设计
1
.串行口方式
0
应用编程
8051
单片机串行口方式
0
为移位寄存器方式,
外接一个串入并出的移位寄存器,就能扩展一个并行口。
单片机串行口通信程序设计硬件连接图
例:用
8051
单片机串行口外接
CD4094
扩展
8
位并行输出口,如图所示,
8
位并行口的各位都接一个发光二极管,要求发光管呈流水灯状态。
串行口方
式
0
的数据传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借
助于
TI
或
RI
标志。串行发送时,能靠
TI
置位(发完一帧数据后)引起中断申
请,在中断服务程序中发送下一帧数据,或者通过查询
TI
的状态,只要
TI
为
0
就继续查询,
TI
为
1
就结束查询,发送下一帧数据。在串行接收时,则由
RI
引起中断或对
RI
查询来确定何时接收下一帧数据。无论采用什么方式,在开
始通信之前,都要先对控制寄存器
SCON
进行初始化。在方式
0
中将,将
00H
送
SCON
就能了。
-----------------
单片机串行口通信程序设计列子
--------------------------
ORG 2000H
START: MOV SCON,#00H ;
置串行口工作方式
0
MOV A,#80H ;
最高位灯先亮
CLR P1.0 ;
关闭并行输出(避象传输过程中,各
LED
的暗红现象)
OUT0: MOV SBUF,A ;
开始串行输出
OUT1: JNB TI,OUT1 ;
输出完否
CLR TI ;
完了,清
TI
标志,以备下次发送
SETB P1.0 ;
打开并行口输出
ACALL DELAY ;
延时一段时间