串口I/O口共有四种工作方式,它的工作方式的控制主要靠串口控制寄存器SCON中的第七位SM0和第优尔位SM1来控制。SCON寄存器的结构如表4.1所示
表4.1 SCON存储器结构表
Mnemonic    Add    7    6    5    4    3    2    1    0
SCON    98H    SM0    SM1    SM2    REN    TB8    RB8    TI    RI
四种方式如下表4.2所示SM0.SM1:工作方式控制位(其中fosc为晶振频率)
 表4.2 串口工作方式表
SM0    SM1    工作方式    说   明    波特率
0    0    0    同步移位寄存器    fosc/12
0    1    1    10位异歩收发    由定时器1控制
1    0    2    11位异步收发    fosc/32或fosc/64
1    1    3    11位异步收发    由定时器1控制
方式0 用同步的方式串行出入或输出数据,但并非真正的同步通信。在该方式下,由TXD引脚发送出同步位移脉冲,由RXD引脚送出或接受串行数据。串行数据的形式是8位数据,同步脉冲的宽度也是固定的为该单片机时钟频率的1/12(相当于一个机器周期)。
方式1 10位异步接收发送方式,此方式为经常使用的工作方式,串行数据位由TXD引脚传出,由RXD引脚将对方发来的串行数据接收进来。该方式下的波特率由定时控制器1所控制,通信双方因约定所使用的波特率。
方式2 11位异步接收发送方式,与方式1不同的是该方式可以在字符格式的最后长如第九位数据用于一些指令或奇偶校验等。
方式3 也是11为异步接收发送模式,字符格式与方式二相同,不同的是其波特率受定时器控制,并借用电源控制寄存器(PCON)的SMOD(表4.3)位来设置波特率的倍数。
表4.3 SMOD串行口波特率加倍位
Mnemonic    Add    7    6    5    4    3    2    1    0
PCON    87H    SMOD    SMOD0                        
串行口波特率的配置是串行接口应用中最为关键的一步,它直接影响到串行口能否正常通信。表4.2中方式2存在2种选择,以下给出其波特率计算公式(4-1)。
                              4-1
对于方式1和方式3,波特率都是由定时器1的溢出率来决定的,而在实际的串行通信时定时器经常要采用定时器方式2(与上文串口方式2不同,这是定时器的工作方式,下面定时器中会提到如何设置)。也就是8位重装计数方式,采用对应的公式(4-2):
                            4-2

本系统中用串口完成数据通信,可以通过串口将接收到的数据显示。
(3)    内部定时/计数器
从串口波特率设定中可以看出,当串口工作为1或3时,定时器1的溢出率是一个本质的参数,下面说明如何控制该溢出率。
c51中有两个计数/定时器T1 和T0;每个计数器都有两个八位寄存器,即是十优尔位的寄存器。TH1、TL1分别是计数器T1的高八位和低八位存储区,TH0、TL0分别是计数器0的高八位和低八位存储区。在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。TMOD(表4.4)和TCON(表4.6)是寄存器的名称,在写程序时就可以直接用这个名称来指定它们。
上一篇:中小企业web服务器的的负载均衡集群方案设计+脚本代码
下一篇:Android平台手机文本阅读软件的开发与设计

基于Apriori算法的电影推荐

PHP+IOS的会议管理系统的设计+ER图

数据挖掘在电子商务中的应用

数据挖掘的主题标绘数据获取技术与实现

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

医院财务风险因素分析及管理措施【2367字】

中国学术生态细节考察《...

公寓空调设计任务书

志愿者活动的调查问卷表

C#学校科研管理系统的设计

10万元能开儿童乐园吗,我...

神经外科重症监护病房患...

承德市事业单位档案管理...

国内外图像分割技术研究现状

AT89C52单片机的超声波测距...