李建:基于单片机的云台控制系统设计
GATE是选通门,当GATE=1时,只有INT0或INT1引脚为高电平且TR0或TR1置1时,相应的定时/计数器才被选通工作。C/T是计数器/定时器方式选择位。MO和M1是操作模式选择位。
1;TCON寄存器的高四位为定时/计数器T0、T1的控制寄存器和定时/计数溢出中断标志。
2;IE寄存器用于开放或屏蔽单片机各个中断。
3;SCON寄存器用于设置串口的工作方式和查询接收、发送中断产生标志。
4;SBUF串行数据缓冲器用于存放串口中预发送或接收的数据,它由两个独立的寄存器构成,一个发送缓冲器,一个接收缓冲器,他们公用一个地址。当从SBUF取数据时,访问接收缓冲器,当写数据时,访问发送缓冲器。
4.1.3 AT89C52串口通信
单片机系统设计中,经常需要使用串口与外部进行通信,因此,串口通信部分是单片机功能模块中极为重要的一部分。
串口通信时通过串口来进行的,串口不同于并口,它的数据和控制信息是一位接一位串行地传送下去。与并口相比,虽然速度慢,但是传送距离较并口会更长,因此常用于需要常距离通信而对速度又要求不高的场合。
异步通信以帧的形式发送字符数据,每一帧信息由起始位、数据位、奇偶校验位和停止位构成。异步通信中,每传输一个字节就要使用起始位和停止位,因此传输速度有限,常用于低速场合。同步通信使用数据块传送信息,而不是字节,省去了每个字节的起始位和停止位等数据,提高了通信的速率。同步通信的每个数据块的开始使用同步字符,使接受和发送同步。与异步通信相比,同步通信发送的数据量大、速度快,常用于传输速率要求较高的场合。
AT89C52内部的串口是一个标准的全双工串口,支持四种工作方式。波特率是可变的,可由软件设置。对89C52串口的访问和设置是通过访问其相关的特殊寄存器进行的,与89C52串口相关的特殊寄存器共有3个:SCON、PCON和SBUF。 串口控制寄存器SCON
串口控制寄存器SCON只要用于设置串口的工作模式和串口中断的查询。其格式如下:
15
四川理工学院本科毕业(设计)论文
D7 SM0 D6 SM1 D5 SM2 D4 REN D3 TB8 D2 RB8 D1 TI D0 RI SM0、SM1:用于设置串口的工作方式。
SM2:串口多机通信控制位。
REN:允许串行接收控制。将其置为1时允许接收。
TB8: 用于设置串口工作方式2和方式3情况下要发送的第9位数据,有软件置位或复位。
RB8: 用于保存串口工作方式2和方式3情况下要接收到的第9位数据。 TI: 串口中断发送标志。当串口数据发送完毕时置位TI,同时向CPU发送串口中断请求。
RI: 串口中断接收标志。当串口数据接收到一个数据时置位TI,同时向CPU发送串口中断请求。 特殊功能寄存器PCON
特殊功能寄存器PCON仅有最高位与串口有关,SMOD,波特率选择位,SMOD的设置可以影响波特率设置的精度。 发送/接收缓冲器SBUF
串口中的发送/接收缓冲器SBUF实际上共有两个,分别为发送缓冲器和接收缓冲器,他们在物理上是完全独立的,因此可以同时进行发送和接收。两个缓冲器公用一个内存地址99H。
4.1.4 AT89C52中断系统
程序在执行过程中,允许外部或内部事件通过硬件中断程序的执行,使其转向出来外部或内部事件的中断服务中去,完成中断服务程序后,CPU继续与原来被中断的程序,这样的过程称为中断过程。能产生中断的外部或内部事件叫中断源。
1.中断源
80C52有6个中断源,它们是:
INT0:外部中断0.当IT0(TCON.0)=0时,低电平有效; IT0(TCON.0)=1时,下降沿有效。
16
李建:基于单片机的云台控制系统设计
INT1:外部中断1.当IT1(TCON.2)=0时,低电平有效; IT1(TCON.2)=1时,下降沿有效。 TF0:定时/计数器T0益处中断。 TF1:定时/计数器T1益处中断。 TF3:定时/计数器T2益处中断。
RX,TX:串行中断。 2.中断相关寄存器IE和IP
51单片机有两种中断优先级,其中每一个中断源的优先级都可以有程序设定。中断源的中断要求能否得到响应,受允许中断寄存器IE中各位的控制。它们的优先级由中断优先级寄存器IP的各位确定,同一优先级内的各中断源同时要求中断时,以内部的查询逻辑来确定响应次序。
允许中断寄存器IE的各位定义如下:
MSB LSB
EA — ET2 ES ET1 EX1 ET0 EX0 EA 是总中断允位。EA=0时,禁止所有中断;EA=1时,则每个中 断源被允许还是被禁止,由各自的允许位确定;
ET2:是定时器2中断允许位。ET2=0,禁止定时器2中断;
ES:是串行口中断允许位。ES=0,禁止串行口中断; ET1:是定时器1中断允许位; EX1:是外部中断1允许位;
ET0: 是定时器0中断允许位; EX0: 是外部中断0允许位。
中断优先级寄存器IP的各位定义如下:
MSB — — PT2 PS PT1 PX1 PT0 LSB PX0 PT2: 是定时器2中断优先级设定位; PS:是串行口中断优先级设定位; PT1:是定时器1中断优先级设定位; PX1:是外部中断1优先级设定位;
17
四川理工学院本科毕业(设计)论文
PT0:是定时器0中断优先级设定位; PX0:是外部中断0优先级设定位。
4.2 单片机系统
本设计的所用的单片机系统其实就是单片机最小系统,所谓最小系统就是
能是单片机正常工作的最少配置。本此设计的单片机系统由AT89C52单片机、复位电路、时钟电路和电源电路组成,如图4-2所示。
图4-2 单片机最小系统
4.2.1 复位电路
复位操作完成单片机片内电路的初始化,是单片机从一种确定的状态开始运行。当单片机的复位引脚RET出现5ms以上的高电平时,单片机就完成了复位操作。复位操作通常有2中基本形式:上电复位、开关复位。常用的上电且开关复位电路如图4-2中所示。上电后,由于电容充电,使RET持续一段高电平时间。当单片机已在运行中时,按下复位键也能使RET持续一段时间的高电平,从而实现上电且开关复位的操作。
4.2.2 时钟电路
单片机的时钟信号用来提供单片机内各种操作的时间基准。单片机的时钟信
18
李建:基于单片机的云台控制系统设计
号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器,振荡方式所得的时钟信号比较稳定,所以在本设计中就是采用内部振荡方式。晶振选用11.0592MHz。内部振荡方式如图4-2中所示。
4.2.3 电源电路
电源设计部分如图4-3所示。因为单片机需要的是5V的电源,而输入的是9-12V的电源,所以需要这个稳压电路把9-12V稳压到5V,电源电路设计为采用7805线性稳压,图中电容是起到滤波的作用,一个发光二极管作电源指示灯。
+5VR11K1C2+104pFVINGNDVOUT7805C116V470uF23POWERDCIN+5VPOWERC3C4104pF16V470uFFR1
图4-3 电源原理图
4.3 ULN2003A驱动电路
该器件为步进电机的驱动,本设计使用两台相同的步进电机,所以其驱动电路也完全一样。驱动电路如图4-4所示。
ULN2003A是高压大电流达林顿晶体管阵列集成电路,内部由七个硅NPN 达林顿管组成,ULN2003的每一对达林顿串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003A采用DIP-16或SOP-16塑料封装,如图4-5所示。
19