单片机C语言应用与开发
3.3 定时器/计数器 3.3.3 定时器/计时器的初始化 例3-2 假定某单片机系统的时钟频率为11.0592MHz,要利用该单片机的定时器0产生50ms的定时时间,请计算定时器初值,并确定定时器0的工作方式。 第3章 51单片机的内部资源 定时时间=C×T=50×10-3 T=12×1/(11.0592×106) C=50×10-3×11.0592×106/12=46080=0xB400 由于8位、13位定时器都没这么大的数,只能用16位定时器,因此,定时器只能工作于方式1。 TC=M-C=65536-46080=19456=0x4C00 3.4 串行通信 计算机系统中,CPU和外部设备的通信方式有2种:并行通信和串行通信。 并行通信是指在多根线上同时传输多位数据(一般是一个字节或一个字)。 串行通信,是指在数据在一根线上按顺序一位一位地传送。 8051单片机内部有一个全双工的串行通信口,可实现串行数据的发送和接收。 第3章 51单片机的内部资源 3.4 串行通信 3.4.1 串行接口的工作方式 8051单片机的串行接口共有4种工作方式 工作方式的选择由串行口控制寄存器SCON中的SMO、SM1来进行设置。 1.方式0 方式0是同步移位寄存器输入/输出方式,主要用于扩展并行I/O接口。 移位数据的发送和接收以8位为一组,低位在前,高位在后。 方式0实际上是把串行口变为并行口使用,实现数据的移位输入或输出。 第3章 51单片机的内部资源 3.4 串行通信 3.4.1 串行接口的工作方式 2.方式1 方式1是异步通信方式。TXD为数据发送引脚,RXD为数据接收引脚。 方式1的数据帧依次为起始位1位、数据位8位、停止位1位,共10位数据。 第3章 51单片机的内部资源 第3章 51单片机的内部资源 3.4 串行通信 3.4.1 串行接口的工作方式 3.方式2与方式3 方式2与方式3的数据帧有11位,依次为起始位1位、数据位8位、可编程位1位、停止位1位。 可编程位由SCON的TB和RB决定。 输出时,应由软件置TB位,以启动串行数据的发送。一帧数据发送完,置位SCON的TI。 输入时,串行接口先将前8位数据送SBUF,然后将第9个数据送RB,最后置位SCON的RI。 3.4 串行通信 3.4.2 串行接口控制寄存器 1.串行口控制寄存器(SCON) 专用寄存器SCON用于串行数据通信的控制,其格式为: 第3章 51单片机的内部资源 SM0、SM1。工作方式选择位 SM2。多机通信控制位,用于方式2和方式3的接收控制。 方式0和方式1时,SM2不用,置0。 当SM2 = 0时,不论第9位数据是什么,都将前8位数据送入SBUF中,并产生中断请求。 当SM2 = 1时,只有当接收到的第9位数据为1,才将接收到的前8位数据送入SBUF,并置位RI产生中断请求。 第3章 51单片机的内部资源 3.4 串行通信 3.4.2 串行接口控制寄存器 1.串行口控制寄存器(SCON) REN。允许接收控制位,由软件置位或复位。当REN=0时,禁止接收;当REN=1时,允许接收。 TB8。串行发送数据的第9位,由软件设置。 在双机通信时,TB8一般作为奇偶校验位使用。 在多机通信中,TB8作为区别地址帧和数据帧的标志位。TB8=0为数据帧,TB8=1为地址帧。 第3章 51单片机的内部资源 3.4 串行通信 3.4.2 串行接口控制寄存器 1.串行口控制寄存器(SCON) RB8。串行接收数据的第9位。 TB8和RB8在方式0和方式1时不用。 TI。发送数据中断请求标志位,由硬件置位,软件清0。TI=1表示1帧数据已发送完。 RI。接收数据中断请求标志位,由硬件置位,软件清0。RI=1表示接收到1帧数据。 3.4 串行通信 3.4.2 串行接口控制寄存器 2.电源控制寄存器(PCON) PCON主要是为了80C51的电源控制而设置的专用寄存器,不能进行位寻址。 PCON的最高位SMOD是串行通信波特率的倍增位,其余各位用于电源管理。 在串行通信的方式1、2、3下,SMOD = 1时,波特率倍增; SMOD = 0时,波特率不变。 3.中断允许寄存器(IE) 第3章 51单片机的内部资源 3.4 串行通信 3.4.3 串行接口应用 51系列单片机的工作方式0是同步操作。因此可以通过外接串入-并出或者并入-串出器件实现I/O口的扩展,常用的器件为移位寄存器。 串行接口方式0的应用有两种,即串行接口变为串