课程设计(论文)用纸
图3.1 硬件电路整体框图
3.2 单片机外围电路
1).晶振的原理及作用:晶振是电路中常用用的时钟元件,全称是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。
第 6 页
课程设计(论文)用纸
图3.2 晶振电路原理图
2).复位电路原理
复位电路的作用:在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。
图3.3 复位电路
3).单片机的外部中断 5 1单片机一般有两个外部中断输入端,并允许外部中断源以低电平或负边沿两种触发方式输入中断请求信号。本设计就是利用一只按钮,在按下时产生的负边沿触发外部中断。将一只按钮接在外部中断输入0即12口。
3.3 电路连接框图及接口
本次课程设计中我们采用一块MAX3221芯片,把从AT89C51中过出的信号进行电平转换后输出到PC,把从PC发过来的信号发送给AT89C51,设计中的RS-232接口电路连接方式如图3.4所示:
第 7 页
课程设计(论文)用纸
图3.4 RS-232接口电路连接方式
其中我们运用的接口是RS-232——个人计算机上的通讯接口,
由电子工业协会所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输.
第 8 页
课程设计(论文)用纸
第四章:软件设计
PC机上的串行接口采用RS-232C串行通信标准接口,其逻辑1电平为-5V~-15V,表示传号状态;其逻辑0电平为+5V~+15v,表示空号状态;其逻辑电平与TTL;CMOS电平不兼容。因此,RS232驱动器与TTL电平连接必须经过电平转换。MAX232是RS232转换芯片。
4.1串行通信基本原理
4.1.1串行口的工作方式
串行口分四种工作方式,由SM0、SM1二位决定,其定义如下表:
表4.1 串行口的工作方式
SM0 0 0 1 1
SM1 0 1 0 1 工作方式 方式0 方式1 方式2 方式3 功能描述 8位移位寄存器 10位UART 11位UART 11位UART 波特率 Fosc/12 可变 Fosc/64或fosc/32 可变
(1)方式0:串行口的工作方式0为移位寄存器I/O方式,可外接移位寄存器,一扩展I/O口,也可外接同步I/O设备。 发送操作:当执行一条“MOV SBUF,A”指令时,启动发送操作,由TXD输出移位脉冲,由RXD串行SBUF中的数据。发送完8位数据后自动置TI=1.请求中断。要继续发送时,TI必须有指令清零。 接收操作:REN是串行口接收允许控制位。REN=0时禁止接收;REN=1时允许接收。当软件将REN置“1”时,即开始从RXD端口以fosc/12波特率输入数据,当接收到8位数据时,将中断标志RI置“1”。再次接收数据之前,必须用软件将RI清0
(2)方式1:串行口位10位通用异步接口。发送或接收一帧数据信息为10位,包括1位起始位“0”、8位数据位、1位停止位“1”。 发送数据:数据从TXD端口输出,当数据写入发送缓冲器SBUF时,就启动发送器发送。发送完一帧数据后,置中断标志TI=1,申请中断,通知CPU可以发送下一个数据了。 接收数据:首先使REN=1(允许接收数据),串行口从RXD接收数据,当采样到1至0跳变时,确认是起始位“0”,就开始接收一帧数据,当接收完一帧数据
第 9 页
课程设计(论文)用纸
时,置中断标志RI=1,申请中断,通知CPU从SBUF取走接收到的数据
(3)方式2:串行口为11位异步通信接口。发送或接收一帧信息包括1位起始位“0”、8位数据位、1位可编程位、1位停止位“1”。 发送数据:发送前,先根据通信协议由软件设置TB8为“奇偶校验位”或“数据标识位”,然后将要发送的数据写入SBUF,即能启动发送器。发送过程是由执行任何一条以SBUF为目的寄存器的指令而启动的,把8位数据装入SBUF,同时还把TB8装到发送移位寄存器的第9位上,然后从TXD(P3.1)端口输出一帧数据。 接收数据:先置REN=1,使串行口为允许接收状态,同时还要将RI清“0”。然后再根据SM2的状态和所接收到的RB8的状态决定此串行口在信息到来后是否置R1=1,并申请中断,通知CPU接收数据。当SM2=0时,不管RB8为“0”还是为“1”,都置RI=1,此串行口将接收发送来的信息。当SM2=1时,且RB8=1,表示在多机通信情况下,接收的信息为“地址帧”, 此时置RI=1, 串行口将接收发来的地址。当SM2=1时,且RB8=0,表示在多机通信情况下,接收的信息为“数据帧”, 但不是发给本从机的,此时RI不置为“1”,因而SBUF中接收的数据帧将丢失。
(4)方式3:为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余方式都与方式2相同。
本设计中单片机串行口工作在方式1(波特率可变10位异步通信方式),T1为波特率发生器,以TXD为发送端,RXD为接收端,根据给定的波特率可以计算计数初值。
4.1.2波特率
波特率(Baud rate)即调制速率,指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号。
串口波特率设置说明:波特率不要设置太高,波特率设置过高会导致传输数据不稳定,会出现丢包的现象。 由图可知,本设计的波特率为9.6K..
表4.2 常用波特率与定时器/计时器1各参数关系(T1*12/AUXR.6=0)
第 10 页