51单片机实现的485通讯程序
时间:11-11
来源:互联网
点击:
流水灯状态。串行口方式0的数据
传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。串行发送时,能靠TI置位(发完一帧数据后)引起中断申请,在中断服务程序中发送
下一帧数据,或者通过查询TI的状态,只要TI为0就继续查询,TI为1就结束查询,发送下一帧数据。在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。
无论采用什么方式,在开始通信之前,都要先对控制寄存器SCON进行初始化。在方式0中将,将00H送SCON就能了。
-----------------单片机串行口通信程序设计列子--------------------------
ORG2000H
START:
MOVSCON,#00H;置串行口工作方式0
MOVA,#80H;最高位灯先亮
CLRP1.0;
关闭并行输出(避象传输过程中,各LED的"暗红"现象)
OUT0:
MOVSBUF,A;
开始串行输出
OUT1:
JNBTI,OUT1;
输出完否
CLRTI;
完了,清TI标志,以备下次发送
SETBP1.0;
打开并行口输出
ACALLDELAY;
延时一段时间
RRA;
循环右移
CLRP1.0;
关闭并行输出
JMPOUT0;
循环
说明:DELAY延时子程序能用前面我们讲P1口流水灯时用的延时子程序,这里就不给出了
传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。串行发送时,能靠TI置位(发完一帧数据后)引起中断申请,在中断服务程序中发送
下一帧数据,或者通过查询TI的状态,只要TI为0就继续查询,TI为1就结束查询,发送下一帧数据。在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。
无论采用什么方式,在开始通信之前,都要先对控制寄存器SCON进行初始化。在方式0中将,将00H送SCON就能了。
-----------------单片机串行口通信程序设计列子--------------------------
ORG2000H
START:
MOVSCON,#00H;置串行口工作方式0
MOVA,#80H;最高位灯先亮
CLRP1.0;
关闭并行输出(避象传输过程中,各LED的"暗红"现象)
OUT0:
MOVSBUF,A;
开始串行输出
OUT1:
JNBTI,OUT1;
输出完否
CLRTI;
完了,清TI标志,以备下次发送
SETBP1.0;
打开并行口输出
ACALLDELAY;
延时一段时间
RRA;
循环右移
CLRP1.0;
关闭并行输出
JMPOUT0;
循环
说明:DELAY延时子程序能用前面我们讲P1口流水灯时用的延时子程序,这里就不给出了
51单片机485通 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)