« 单片机串行口介绍LED数码管静态显示与编程 »

单片机串行口通信程序

分类: 单片机指令和编程 发布: admin 浏览: 日期: 2017年12月27日

用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 ;循环

相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 文雅单片机. Some Rights Reserved.