python与单片机如何进行串行口通信_单片机串行口通信程序设计

本文介绍了如何使用8051单片机进行串行口通信,以实现与外部设备如CD4094的连接,形成8位并行输出口的流水灯效果。在串行口方式0下,通信可以采用中断或查询方式,通过对SCON寄存器初始化设置工作模式,并利用TI和RI标志进行数据发送和接收的控制。文中还提供了一个简单的单片机串行口通信程序设计示例,通过循环右移实现LED灯的流水效果,并利用延时子程序确保稳定显示。
摘要由CSDN通过智能技术生成

例:

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

口流水灯时用的延时子程序,

这里就不给出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值