欢迎来到天天文库
浏览记录
ID:36613417
大小:227.23 KB
页数:3页
时间:2019-05-13
《串行通信程序的设计要素》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、维普资讯http://www.cqvip.com文/谢永宁在很多应用场合下,我们都希望工作方式3)。要由定时器1的计数位数不同所决定。单片机应用系统能够与其它系统(计不同的工作方式还具有不同的波2.串行通信程序的设计要素算机、PLC或另一个单片机应用系统)特率,串行口以方式0工作时,波特率51单片机串行通信程序的设计包进行通信,51单片机内部集成了一个固定为振荡器频率的1/12。为方式2括4项基本内容:异步串行通信口(UART),应用这个时波特率为振荡器频率的1/64或1/◆初始化程序UART,我
2、们可以很方便地与一切具32。它取决于特殊功能寄存器PCON通过对特殊功能寄存器SCON和有UART接口的其它系统进行通信。中的SMOD位的状态。如果SMOD=0PCON的设置,来选择串行口的工作要在两个不同的系统中进行通信,(复位时SMOD=0),波特率为振荡器方式,设置通信的波特率。如果通信必须保证它们具有相同的通信协议和频率的1/64。如果SMOD=1,波特率采用中断方式,则还要对中断系统进相同的波特率,而且能够按照通信的为振荡器频率的1/32。行设置。协议发送和接收数据,为此需要设计方式1和
3、3的波特率由定时器1的◆发送数据的程序串行通信程序。溢出率所决定。当定时器1作波特率发51单片机串行口发送数据的条件1.单片机的哪接口生器时,波特率由下式确定:是串行口已准备好,此时标志位TI的51单片机的UART接口是一个全波特率=(定时器1溢出率)/n状态为“1”,串行口发送数据的方法双工的串行接口,它能同时发送和接式中:定时器1溢出率=定时器很简单,只要由一条写SBUF指令收数据。51单片机的UART接口有41的溢出次数/秒,1"1为32或16,取(例:MOVSBUF,A)将待发数据传种工作
4、方式,需要通过对特殊功能寄决于特殊功能寄存器PC0N中的送到发送数据缓冲器SBUF,即启动存器SCON的设置来定义串行口的操SMOD位的状态,若SMOD=0,则一次发送。作方式和控制它的某些功能。n=32,若SMOD=I,则力=16。◆接收数据的程序SM0SM1:00为移位寄存器方对于定时器的不同工作方式,得51单片机串行口接收数据的条件式(串行口工作方式0),SM0到的波特率的范围是不一样的,这主是SCON中的REN为“1”,接收时,SMI:01为8位UART方式(串行口在接收控制逻辑的作用下,
5、按确定的工作方式1),SM0SM1=10为9位波特率进行移位操作。将RXD脚输入UART方式(串行口工作方式2),SM0的状态逐位移入移位寄存器中,待接SM1:11为9位UART方式(串行口收完一个字节的数据后,自动将其并行地装入接收缓冲寄存器SBUF中,位D7同时将SCON中的RI置“1”。标志位RI的状态为“1”,表明串行口已经收到一个字节的数据,此时用一条读SBUF指令(例:MOVA,SBUF)即可取得收到的数据。◆通信控制程序用来控制发送与接收的进行,一般将其融合在收发程序中。3.初始化程
6、序的设计图1串行口控制寄存器SCON在51汇编集成开发环境下,初始442008.-c:1~,f52811·w/vv~/.r~dio.corr1.cn维普资讯http://www.cqvip.com图3串行口的初始化设置采用查询方式发送数据之前,必串行口在可靠接收一个字节的数化程序的设计可以借助于其中的辅助须查询标志位TI的状态,当TI=0时,据后,会自动将SCON中的RI置“l”,工具很方便地完成。从[辅助工具1-[初表明串行口未准查询程序就是查询RI中的内容,在l始化设置卜[波特率设置】我们可以
7、打开备好,不可以发送RI=I时,将接收到的数据(SBUF中l读取待发送的数据l这个辅助工具(见图3)。数据l当TI=I时,的内容)保存到指定的地址。在接收你只要设置好晶振频率;选择工表明串行口已准一个数据块时,其数据块的字节数一作方式1或工作方式3;设定好所需的备好,可以发送数般有两种方式确定,一种是事先约定波特率,就自动地选择好了定时器1的据。在发送数据好的固定字节数,另一种是在数据块国工作方式,计算出了初值,并给出了前,必须将TI复的开始处用两个字节来指明字节数。参考的初始化程序。你只要将这个
8、参位。基本流程见图.下例程序是采用查询方式接收一考程序复制到你的应用程序中就可以4个数据块的子程序,其入口条件是接了。下例程序是采用查询方式发送一收数据存放的起始地址在DPTR中,我们假定单片机系统的晶振频率个数据块的子程序,其入口条件是:待接收数据的字节数事先约定好存放在为6MHz,选择串行口的工作方式为发送数据的起始地址在DPTR中,发R6R7中,数据采用偶校验。方式1(8位UART,由定时器1作为送数据的字节数在R6R7中,数据采接收入口:CLRC波特率发生器),数据传输的波
此文档下载收益归作者所有