电脑串口控制单片机驱动继电器的例子.docx

上传人:b****6 文档编号:3487706 上传时间:2022-11-23 格式:DOCX 页数:9 大小:507.71KB
下载 相关 举报
电脑串口控制单片机驱动继电器的例子.docx_第1页
第1页 / 共9页
电脑串口控制单片机驱动继电器的例子.docx_第2页
第2页 / 共9页
电脑串口控制单片机驱动继电器的例子.docx_第3页
第3页 / 共9页
电脑串口控制单片机驱动继电器的例子.docx_第4页
第4页 / 共9页
电脑串口控制单片机驱动继电器的例子.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

电脑串口控制单片机驱动继电器的例子.docx

《电脑串口控制单片机驱动继电器的例子.docx》由会员分享,可在线阅读,更多相关《电脑串口控制单片机驱动继电器的例子.docx(9页珍藏版)》请在冰豆网上搜索。

电脑串口控制单片机驱动继电器的例子.docx

电脑串口控制单片机驱动继电器的例子

电路图说明:

  这个电路非常典型,串行口(也称RS232)接口集成电路MAX232与单片机AT89S51引脚P3.0(RXD)\P3.1(TXD)连接,构成与主机的通讯接口电路。

AT89S51引脚P0、P2口连接达林顿管阵列驱动IC  uln2803,通过它控制继电器动作。

相关基础知识简要说明:

      1、串行口(也称RS232接口)是用途最广的一种通讯接口,一般电脑主机上都有这个接口,缺点是传输距离短,市场上也有很多USB-RS232转换接口卖。

            **常用的通讯接口还有RS485、RS422、LPT打印接口、CAN总线接口、网卡接口等等,与RS232比较接近的通讯接口是RS485,它的通讯距离较远,广泛用于工业控制。

      2、串行口(也称RS232)接口集成电路MAX232,接口芯片种类繁多,MAX232只是其中的一种,可以说是串行接口集成电路的代表型号,图纸上一般都标MAX232,但实际使用时,可以选用更多兼容的芯片,其中一个理由,兼容芯片更便宜。

      3、达林顿管阵列驱动IC  uln2803,TTL输入(0-5v),可以同时驱动8个继电器,内部不仅封装了达林顿管阵列,并且含有钳位二极管,连接继电器时,不需要再连接保护二极管,使用非常方便,因而用途广泛。

相同功能的芯片有ULN2003,只是它只有7个输出口。

          内部电路如图所示:

发送图片到手机,此主题相关图片如下:

        接口IC  ULN2083内部有反相缓冲器(参见技术手册),简单来说,输入高电平,输出为低电平;输入低电平,则输出高电平。

如图所示:

发送图片到手机,此主题相关图片如下:

        ULN2803数据手册下载:

          注:

一般单片机输入、输出电流有限,无法驱动继电器等大电流外围部件,因此需要有驱动电路,常用的是三极管驱动(如2SD8050)和IC驱动(如ULN2803)。

              上拉电阻的问题:

              1、51单片机的P0口内部没有上拉电阻,其他P1、P2、P3口内部也只是弱上拉,为了在高电平输出时得到较高的输出电流,提高驱动能力,有必要在P0口与+5v间连接上拉电阻(通常取值在1k-4.7k左右)。

见AT89C51数据手册第4页。

  此主题相关图片如下:

  AT89C51数据手册下载:

  

点击浏览该文件        

51源程序详解:

  源程序主要分三个部分:

初始化程序、串口中断程序、协议解析或叫解码程序。

初始化程序:

  初始化是单片机通电后首先执行的一部分程序,主要是对单片机中的寄存器做一些必要的设置(即写入值):

  1、设置串口  波特率为9600 串行口设置MODE1,SM1=0,REN=1,SMOD=1

  2、由于电路上晶振采用11.0592M(最常用),定时器1设置初值为0FDH

;常用串口波特率对应初值(11.0592M晶振)

;FD  9600

;FA  4800

;F4  2400

;E8  1200

        3、启动定时器1、允许串口中断、允许总中断

相关代码:

MOVSCON,#50H

MOVTMOD,#00100001B  ;TIM1在模式2  TIM0在模式1

MOVTH1,#0F4H;设置定时时间

SETBTR1;启动定时器1

SETBES  ;允许串口中断

SETBEA  ;允许总中断

需要注意:

1、波特率越高,通讯速度越快,但也更容易出错,一般来说,通讯距离短时,可以用较高的波特率,通讯距离长时,选用较低的波特率可使通讯更为可靠。

2、硬件电路采用不同的晶振,波特率设置时初值是不同的,初值可由公式()取得,通过计算你会发现有些晶振(如10M、12M)计算结果有余数,实质上就是波特率有误差,最终结果就是用了这个晶振的电路,在通讯时会出现无法通讯、时好时坏、误动作等等情况(很多朋友都是这个问题)。

    因此,一般我们在用到串口的单片机电路中,如无特殊需要,晶振都选用最常用的,如11.0592M。

3、提高波特率的方法有二种:

将SM1设为1;或是换一个频率更高的晶振。

        由于接口IC  ULN2083输入输出的反相特性,即输入为高电平,输出为低电平;输入为低电平,则输出为高电平。

同时51单片机上电复位后,其引脚为高电平,这样会引起连接在P0、P2口的继电器全部得电吸合的情况,应此,初始化程序中应对端口作如下设置:

相关代码:

MOVP0,#0;P0、P2输出低电平

MOVP2,#0

由于本例中单片机在初始化后没有其它事情做,我们就让它没事歇着。

相关代码:

JMP$  ;自循环(等待状态)的

串口中断程序:

串口接收数据流程图

发送图片到手机,此主题相关图片如下:

串口接收定长或不定长数据的原理:

如何定义通讯协议:

待续。

发送图片到手机,此主题相关图片如下:

发送图片到手机,此主题相关图片如下:

发送图片到手机,此主题相关图片如下:

发送图片到手机,此主题相关图片如下:

发送图片到手机,此主题相关图片如下:

欢迎您下载我们的文档,后面内容直接删除就行

资料可以编辑修改使用

资料可以编辑修改使用

 

致力于合同简历、论文写作、PPT设计、计划书、策划案、学习课件、各类模板等方方面面,

打造全网一站式需求

 

主要经营:

网络软件设计、图文设计制作、发布广告等,

公司秉着以优质的服务对待每一位客户,做到让客户满意!

感谢您下载我们文档

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1