基于单片机应用系统的串行通信设计

发布者:SereneGardener最新更新时间:2011-08-25 来源: EEWORLD关键字:单片机 手机看文章 扫描二维码
随时随地手机看文章

 1 引 言

  在红外成像技术的电力设备状态检测系统中,基于AT89C51单片机的应用系统,采用美国雷态公司的型号为3iLRL3的非接触式红外测温仪。该测温仪采用的是RS232C串行通信标准接口,该接口在很多通信设备中通用,目前与PC机的直接串行通信也是RS 232C接口。尽管RS232C性能指标并非很好,但还是有广泛的市场支持。就可以方便的在2个数字设备之间进行信息的交换,实现全双工的传送数据,硬件成本低。而且通用性好。

  2 串行通信的硬件设计

  串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。

  在所开发的系统中。红外测温仪将检测电力没备的工作和环境温度,通过RS 232C串口传给单片机,同时由单片机控制检测装置的在线工作组态,红外检测装置的工作组态的制订和选择是由上位PC机来完成的,这样,以单片机为核心组成的控制电路是数据的中转站,上位PC机下传红外测温仪的在线工作组态。在这里单片机与PC机的串行通信接口还是RS 232C的标准通信。AT89C51单片机仅有一个串口,这就要解决另一个串口外扩问题,系统利用的通用串行通信接口芯片8251A来扩展。该系统的串行通信的硬件电路如图1所示。

  RS-232是EIA(Electronics Industries Association)电平。信号电平采用负逻辑,逻辑"1"=一12V,逻辑"0"=+12 V。这与单片机的TTL信号电平不兼容,所以RS232C与89C51单片机的串口RXD(串行接收口)和TXD(串行发送口)不能直接连接,需要跨接一个转换器在RS232C与TTL电路之间进行电平转换。输出RS 232C电平。MC1489是接收RS 232C电平,输出TTL电平,该电平转换接口的不便之处是需要±12 V工作电压,并且功耗较大。不适用于低功耗的系统。

  在系统中,红外测温仪与PC机2个串行口,而89C51只有1个串口,利用可编程通用串行接口芯片8251A实现与上位Pc机通信,由于8251A串口芯片的片选端CS接到74LS138译码器的Y2.因此8251A的口地址为OA000H,RXCLK和TXCLK接收和发送时钟都连接51的T1口,利用T1作为波特率发生器[1]。

  3 软件设计

  AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

  主要特性:

  ·与MCS-51 兼

  128×8位内部RAM

  ·32可编程I/O线

  ·两个16位定时器/计数器

  ·5个中断源

  ·可编程串行通道

  ·低功耗的闲置和掉电模式

  ·片内振荡器和时钟电路

  红外测温仪的串口通过MAX232直接与89C15连接,所以红外扫描传感头按给定的扫描策略扫描电力设备,读入温度扫描信号,做最大值、最小值、平均值及异常剔除处理,单片机记录扫描时间和温度值,等待PC机命令。向PC机发送数据,发送数据流程如图2所示。红外传感器通过Pc机下传的在线工作组态控制检测电力设备的状态,其接收数据的流程如图3所示。单片机与PC机之间的串行通信通过825lA,所以在通信程序中首先对825lA进行初始化编程,设置串口通信方式,确定通信协议。这些是通信程序设计的关键点。

 

  (1)串口的工作方式设置

  通过对单片机的串口控制寄存器(SCON)的设置来完成,由于采用一帧11位的数据格式,所以89C51的串口的工作方式只能设置成方式2和方式3,数据传输的波特率有定时器控制,本系统采用方式3,单片机的串行接收的l帧数据中,奇偶校验位由SCON的TB8和RB8(第9位数据)来完成校验功能。

  (2)串口波特率的设定

 

  通过此公式的计算可以进一步验证在设计系统选用的晶振的频率为11.0592 MHz时计算出来的T1初值没有误差。

  (3)握手信号的规定

  请求信号定为FFH、应答信号定为FEH、错误信号定为FDH、结束信号定为FCH。

  (4)数据传送方式

  利用RS 232C的2根传输线实现全双工的发送和接收数据。

  (5)通信方式

  异步通信方式,以字为单位传送数据,由于发送与接收双方使用各自的时钟,所以在异步通信中严格规定数据帧的格式。

  (6)数据帧的格式

  一帧数据为11位,包括起始位、数据位、奇偶检验位、停止位,数据格式如下[2]:

  所以8251A初始化方式控制字为7DH。

  PC机采用Visual basic编程,VB支持面向对象的程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件,而且可以十分简便地做出良好的人机界面。在标准的串口通信方面,在发送或接收数据的过程中触发onComm事件,通过编程访问CommEvent属性了解通信事件的类型,分别各自的处理。VB串行初始化通信软件如下[3]:


  4 结 语

  串行通信技术目前在很多测控系统中广泛被使用,而且远距离的通信使用的更为突出,本系统的RS 232C只是用于近距离的通信,在改进的系统中使用RS 485可以扩大传输距离,并是系统稳定性增强。


关键字:单片机 引用地址:基于单片机应用系统的串行通信设计

上一篇:基于单片机控制的程控有源滤波器电路
下一篇:基于单片机应用系统的串行通信设计

推荐阅读最新更新时间:2024-03-30 21:48

一种应用于足浴器的温控器的研制
足浴器的设计难点在于成本控制和温度控制系统的设计。近年来,开关电源技术的逐渐成熟,为小功率电源供电提供了一个高效率且低成本的方案,摒弃了传统的变压器降压、整流、三端稳压的低效率供电方式。而通过软件算法完善,例如PID算法的运用,可减少部分硬件开销,降低成本及系统复杂度,提高系统的稳定性。设计结合以上技术,着眼于成本最小化,性能最大化,实现了LED温度显示,双按键目标温度调节,高精度温控功能。由于主控芯片AT89C2051只有两组共16个IO引脚,2 kB的内存,因此需合理运用IO资源,程序设计简洁,合理分配内存空间。 1 系统结构设计 系统由供电、采样、按键、显示及单片机部分组成。 传感器负责采集温度值,传递给MC
[单片机]
一种应用于足浴器的温控器的研制
关于STM32系列微控制器的几点认识
STM32系列微控制器是意法半导体旗下的产品,凭借着自身的高性能,低功耗,丰富的数字外围设备和强大的电气处理能力等优势,广泛地应用在工业控制及自动化,消费类电子产品,智能硬件等领域。很多院校和嵌入式培训机构都选用此系列微控制器作为典型的教材! 此系列微控制器采用ARM CORTEX-M处理器内核,关于ARM架构的优势,毋庸置疑是最优秀的架构之一,其CORTEX-A系列微处理器几乎垄断整个移动设备领域!在ARM内核基础上,ST加上自己的数字外围设备,使其具备处理复杂电气问题的能力,例如通过定时器的PWM功能控制电机,通过普通输出端口控制外部继电器,通过片上AD获得外部模拟信号等等,以此系列微控制器为主控的产品不计其数,例如伺服电机
[单片机]
关于STM32系列<font color='red'>微控制器</font>的几点认识
51单片机按键控制舵机
#include reg52.h #define Stop 0 //宏定义,停止 #define Left 1 //宏定义,左转 #define Right 2 //宏定义,右转 sbit ControlPort = P1^0; //舵机信号端口 sbit KeyLeft = P1^1; //左转按键端口 sbit KeyRight = P1^2; //右转按键端口 sbit KeyStop = P1^3; //归位按键端口 unsigned char TimeOutCounter = 0,LeftOrRight = 0; //TimeOutCounter:定时器溢出计数 LeftOrRigh
[单片机]
单片机按键与数码管试验程序 Proteus仿真
最近温习一下单片机,通过proteus 7.8仿真了一下,感觉效果不错。 单片机程序如下: /* 51单片机 按键与数码管实验,用proteus 7.8仿真通过。 通过点按键, K1:数码管数字加一,0~F,加上F后再从0开始。 K2:数码管数字减一,F~0,减到0后再从F开始减 K3:复位这零. */ #include reg52.h //#include stdio.h unsigned char RunMode; unsigned char code SegCode = { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, //共阳 0x80,0x90
[单片机]
<font color='red'>单片机</font>按键与数码管试验程序 Proteus仿真
32位单片机PIC32MX270F256B设置UART的两种方法
开发IDE:MPLAB X 5.25 下载/DEBUG工具:MPLAB ICD 3/PICKIT 3 MCU:PIC32MX270F256B 编译器:XC32 V2.30 晶振:外部晶振4M,system pll 倍频到48M作为sys clock 首先是库函数方法配置UART1 #include UART.h void UART1_Init() { //关联引脚 U1MODEbits.STSEL = 0; //1 STOP BIT U1MODEbits.PDSEL = 0; //00 = 8 位数据,无奇偶校验 U1MODEbits.BRGH = 0; //0 = 标准速度模式—— 使能16 倍波特率时钟
[单片机]
Atmel单片机应用技巧
功能强大的时钟中断   在程序设计中,设置一个好的时钟中断,可大大方便和简化程序的编制,提高系统的效率与可操作性。下面以6MHz时钟的89C51系统为例,说明时钟中断的应用。   定时器初值与中断周期。 时钟中断的时间间隔一般取20ms(50Hz),如需要百分之一秒的时基信号,可取10ms(100Hz)。这里取20ms。T0工作于16位定时器方式(方式1),每过一个机器周期T0自动加1,计至0FFFFh的下一个机器周期,T0溢出产生中断,由硬件设置相应的标志位供软件查询。即中断启动后经过N+1个机器周期,T0产生中断。所以,只要先在T0中存入一个比0FFFFh小N的数,然后启动定时器,便会在N+1个机器周期后产生中断,这个数便是
[单片机]
51单片机I/O端口的结构和工作原理
1.概述 单片机的I/O端口是输入信号和输出信号的通道。8051单片机有P0、P1、P2、P3四组I/O 端口,每组端口有8个引脚。 2.P0端口 2.1 概述 P0端口有P0.0~P0.7共8个引脚,这些引脚除了可用作输入引脚和输出引脚外,在外接存储器时,还可用作地址/数据总线引脚。P0端口每个引脚的内部电路结构都相同,其内部电路结构如图1所示。 图1 P0端口的内部电路结构图 2.2 P0端口用作输出端口的工作原理 下面讲解单片机需要从P0.x 引脚输出高电平“1”。如图1所示,单片机内部相关电路通过控制线送出“0(低电平)”到与门的一个输入端和电子开关的控制端,控制线上的“0”一方面使与门
[单片机]
51<font color='red'>单片机</font>I/O端口的结构和工作原理
应用MSP430F149单片机的超低频波形发生器
    摘要: 介绍了应用MSP430F149芯片开发超低频波形发生器的设计原理及其在生理滤波器调试中的应用。     关键词: MSP430F149芯片 单片机 波形发生器 滤波系统 在载人运输系统振动分析仪中常用超低频波形发生器作为仿真的信号源。要求在0.1Hz~100Hz范围内稳定工作,波形失真小,且能以0.1Hz为步长细调。传统超低频波形发生器设计中存在着很多的不足:(1)应用通用电路,元器件多,尤其是电容的体积大,且波形的稳定性差、失真大,调节上极不方便;(2)应用专用电路,如ICL8038、MAX038,其失真和稳定性方面有明显提高,但在超低频应用上仍不合适。而且电路调节器件多,对电源的要求较高,代
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved