×
单片机 > 单片机程序设计 > 详情

51单片机串行口通信程序设计例子

发布时间:2020-08-25 发布时间:
|

串行口方式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 ;延时一段时间

RR A ;循环右移

CLR P1.0 ;关闭并行输出

JMP OUT0 ;循环

说明:DELAY延时子程序能用前面我们讲P1口流水灯时用的延时子程序,这里就不给出了。


关键字:51单片机  串行口通信 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
8051单片机的函数发生器的设计