1、发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,通过LED显示信息,如图2.1。图2.1 串行通信方案一软件部分,通过通信协议进行发送接收,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB16中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。但本次设计要求距
2、离较短,故不采用此方案。方案二:两片8051的TXD、SXD交叉连接,两机共地。此电路可以实现两机点对点短距离间通信,如图2.2。此方案满足设计要求,且电路简单,所以本次设计采用此方案。图2.2 串行通信方案二3. 理论分析与计算3.1 晶振电路晶振是晶体振荡器的简称在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络。电工学上这个网络有两个谐振点以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个
3、负反馈电路中就可以构成正弦波振荡电路。由于晶振等效为电感的频率范围很窄 所以即使其他元件的参数变化很大这个振荡器的频率也不会有很大的变化。晶振有一个重要的参数那就是负载电容值 选择与负载电容值相等的并联电容就可以得到晶振标称的谐振频率。 一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端每个电容的另一端再接到地 这两个电容串联的容量值就应该等于负载电容一般。IC的引脚都有等效输入电容。 一般的晶振的负载电容为15pF或12.5pF,如果再考虑元件引脚的等效输入电容则两个30pF的电容构成晶振的振荡电路就是比较好的选择。因此,晶振电路如
4、图3.1。图3.1 晶振电路3.2 复位电路单片机在启动运行时都需要复位,复位使CPU和系统中的其他部件都处于一个确定的工作状态,并从这个状态开始工作。在系统中,有时也会出现显示不正常,也为了调试方便,需要设计一个复位电路,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。在此系统中单片机的复位靠外部电路实现的,AT89C51单片机有一个复位引脚RST,高电平有效。只要RST保持高电平,单片机便保持复位状态。此时,ALE/PSEN、P0、P1、P2、P3口都输出高电平。RST变成低电平后,退出复位状态,CPU开始正常工作。需要注意的是,复位操作不影响片内RAM的内容。复位电路的基
5、本功能是系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。图3.2为基本RC复位电路,其电路为高电平复位有效, SW1为手动复位开关,可以实现上述基本功能。对于图1中的电阻两端的电压(即复位信号)是一个时间的函数。上电复位时和有以下函数关系 。 按键复位时设t在0之间时SW1合上, 时,SW1断开,则和有以下函数关系,波形图如图2(b)所示。 其中,Vcc为电源电压(+5V)。若晶振稳定时间不超过10ms。上电瞬间R10C电路充电,RESET引脚出现正脉冲。只要RESET端保持10ms以上高电平,就能使单片机复位。为使其可靠复位,RESET引脚上电复位时间应保持20ms以上的高电平,即
6、在选择R10C参数时要保证时间参数R10C大于20ms。按键复位时,R1阻值选择不能过小,那样的话只要碰到就会复位;选择过大时,按键按下去很久才能复位,所以要选择适中的阻值为1 K左右的电阻。复位电路应该具有上电复位和手动复位的功能。VCC上电时,C充电,在10K电阻上出现电压,使得单片机复位;几个毫秒后,C充满,10K电阻上电流降为0,电压也为0,使得单片机进入工作状态。工作期间,按下SW1,C放电。SW1松手,C又充电,在10K电阻上出现电压,使得单片机复位。几个毫秒后,单片机进入工作状态。4. 单元电路设计4.1 供电电路设计单片机开发板的供电一般都采用电脑的 USB 供电,USB 接口
7、的电压就是 5V 的,和单片机的供电系统相适配。USB 供电最大能提供500mV的直流电,能满足开发板上绝大多数元器件的供电要求。USB 供电电路的电路图如图4.2所示,USB 供电的电路简单易懂,与自制的变压器产生的 5V 供电系统相比,USB 供电电压为 5V,更加的安全,并且制作过程要比变压器 5V 供电系统容易的多。 图4.1 USB供电电路USB 母口用于和电脑的 USB 相连接,提供电源,使用时可以用一条公-公的 USB 延长线相连接。10uF电容起到了滤波的作用。6 脚自锁开关的引脚分为两组,两组的连接特性相同。没有按下时每一组中有两个引脚是连通的,按下自锁开关之后,原来连通的引
8、脚断开,换成另外的两个引脚相连,使用时可以用万用表测试一下确定之后再使用。LED 串联一个电阻之后可以用于指示电源是否接通,不能直接把LED 接入电路中,这样会将 LED 烧毁。为了增加亮度,电阻可以选用 330 欧姆,一般不选择比 330 更小的电阻。4.2 LED显示电路单片机P0口驱动LED显示接受到的数据,因为P0口与P1、P2、P3口相比,驱动能力比较大,每位可驱动8个LSTTL输入,而P1、P2、P3口的每一位的驱动能力只有P0口的一半。当P0口的某位为高电平时,可提供400uA的拉电流;当P0口的某位为低电平时,可提供3.2mA的灌电流,如低电平允许提高,灌电流可相应加大。所以,
9、任何一个端口要想获得较大的驱动能力,只能用低电平输出。如果用P0口驱动发光二极管,由于漏极是开路,需要外接上拉电阻。一般选择470欧或510欧的电阻作为上拉电阻。电路如图4.2所示。图4.2 LED显示电路4.3 单片机通信电路计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。51单片机的串行接口是一个全双工的接口,它可以作为
10、UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:(1)数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。(2)串行控制寄存器(PCON)SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如表4.1:表4.1 SCON位格式SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下
11、表4.2:表4.2 串行口的工作方式工作方式功能波特率 08位同步移位寄存器(用于I/O扩展)fORC/12110位异步串行通信(UART)可变(T1溢出率*2SMOD/32)211位异步串行通信(UART)fORC/64或fORC/323SM2:多机通信控制位。REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。TI:发送中断标志。发送完一帧数据后由硬件自动置位,并
12、申请中断。必须要软件清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。(3)输入移位寄存器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。(4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。(5)电源控制寄存器PCON其最高位为SMOD。(6)波特率计算当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。由
13、于是定时方式,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。双机通信电路中左机的RXD,TXD端口分别与右机的TXD,RXD端口相连,两机按共地考虑。电路如图4.3。图4.3 双机通信电路5. 程序设计通过通信协议进行发送接收,主机先发送地址给从机,当从机接收到后,向主机回答。主机收到回应后就循环发送fOH、0fH给从机。从机将数据送P0口。5.1 主机程序设计串行口工作于方式1;用定时器1产生9600bit/s的波特率,工作于方式2。通信协议:主机首先发送连络信号(AAH),从机接收到之后返回一个连络信号(BBH)表示从机已准备好接收。通信过程使用第九位发送奇偶校验
14、位。从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,否则返回FFH。主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。程序流程如图5.1:图5.1 主机程序流程图5.2 从机程序设计从机遵循与主机一样的通信协议。其程序流程如图5.2:图5.2 从机程序图6. 仿真分析使用Proteus软件进行电路仿真分析,Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1