图4.4 时钟产生电路
XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容。在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种机械振动又会产生交变电场,上述物理现象称为压电效应。一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。这一特定频率就是石英晶体的固有频率,也称谐振频率。即用来连接8051片内OSC的定时反馈回路,如图4.4所示。石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使MCS-51片内的OSC电路按石英晶振相同频率自激振荡。通常,OSC的输出时钟频率 为0.5MHz-16MHz,典型值为12MHz或者11.0592MHz。电容C可以帮助起振,典型值为30pF,调节它们可以达到微调 的目的。
2 单片机复位电路
图4.5为单片机复位电路。单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位后是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态复位。MCS-51单片机的RST引脚是复位信号的输入端。例如:若MCS-51单片机时钟频率为12MHz,则复位脉冲宽度至少应该为2μs。
图4.5 开机复位电路
(二)单片机串口电路
8051 串行接口是一个可编程的全双工串行通信接口。它可用作异步通信方式(UART),与串行传送信号的外部设备的外部设备相连接,或用于通过标准异步通信协议进行全双工的8051多机系统,也可以通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口。
8051单片机通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界通信。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。他们有相同名字和地址空间,但不会出现冲突,因为一个只能被CPU读出数据,一个只能被CPU写入数据。
1.串行口的控制与状态寄存器
串行口控制寄存器SCON
用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如下所示。
D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 T1 R1
SM0、SM1:串行口工作方式选择位,其定义如表4.2所示。
表4.2 串行口工作方式选择位
SM0 SM1 工作方式 功能描述 比特率
0 0 方式0 8位移位寄存器 fosc/12
0 1 方式1 10位UART 可变
1 0 方式2 11位UART fosc/64或fosc/32
1 1 方式3 11位UART 可变
其中fosc为晶振频率。
SM2:多机通信控制位。在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,R1才置1。在方式2或方式3中,当(SM2)=1且接收到的第9位数据RB=0时,R1才置1。
REN:接收允许控制位。由软件置位以允许接收,又由软件的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通信中作为区别地址帧或数据帧的标志位。
TB8:是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通信中作为区别地址帧或数据帧的标志位。
RB8:接收到数据的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8为接收到的停止位。
TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其他方式的发送停止位前,由硬件置位。T1置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。T1必须用软件清0。
RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其他方式中,在接收到停止位的中间时刻由硬件置位。RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清0。
1. 特殊功能寄存器PCON
PCON是为了在CHMOS的80C51单片机上实现电源控制而附加的。其中最高位是SMOD—波特率倍增位。当SMOD-1时波特率提高一倍,复位后,SMOD=0,波特率恢复。
2.串行口的工作方式
8051单片机的全双工串行口可编程为4种工作方式,现分述如下。
(1) 工作方式0
方式0为移位寄存器输入/输出方式。也可外接同步输入/输出设备。8位串行数据则是从RXD输入或输出,TXD用来输出同步脉冲。
输出:串行数据从RXD引脚输出,TXD引脚输出移位脉冲。CPU将数据写入发送寄存器时,立即启动发送,将8位数据以fos/12的固定比特率从RXD输出,低位在前,高位在后。发送完一帧数据后,发送中断标志T1由硬件置位。
输入:当串行口以方式0接收时,先置位允许接收控制位REN。此时,RXD为串行数据输入端,TXD仍为同步脉冲移位输出端。当(RI)=0和(REN)=1同时满足时,开始接收。当接收到第8位数据时,将数据移入接收寄存器,并由硬件置位RI。
(2) 工作方式1
方式1为波特率可变的10位异步通信接口方式。发送或接收一帧信息,包括1个起始位0,8位数据位和1个停止位1。
输出:当CPU执行一条指令将数据写入发送缓冲SBUF时,就启动发送。串
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>