设为首页
加入收藏
联系站长
首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 
您现在的位置: 电子爱好者 >> 文章中心 >> 单片机应用 >> PIC单片机应用 >> 正文 用户登录 新用户注册
[组图]PIC16系列单片机与PC机串行通信的软硬件实现          【字体:
PIC16系列单片机与PC机串行通信的软硬件实现
作者:未知    文章来源:世纪新锐    点击数:    更新时间:2005-5-6
 

西安第四军医大学生物医学工程系

电子学教研室(710032)焦纯陈马丁李洪义



  摘要介绍一种运用PIC16F84单片机实现与PC机串行通信的方法,并给出其硬件接口电路及通信源程序。

  关键词  异步串行通信  发送与接收   VB4Win95串口查询法

 

1前言

  美国Microchip公司的PIC16系列单片机是一种新型的CMOS工艺的8位单片机。其中,PIC16FXX单片机的程序存储器为电可擦除闪速存储器(flash),可多次修改程序,甚至可以在线编程。PIC16F83和PIC16F84片内数据存储器除RAM外,还有64字节的EEPROM,可以当作一般的或非易失性的数据存储器使用,简单方便。它还具有片内上电复位、延时电路、看门狗电路等。另外,PIC16系列单片机功耗极低,因而是一种非常适合在各种便携式设备中使用的高性价比的单片机,并已经得到了越来越广泛的应用。
  但是在许多需要大量计算的运用中,还必须借助微机的强大数据处理能力。这样必须通过通信电路实现PIC单片机与微机间的可靠数据传输。有的PIC16单片机内并没有提供串行口,所以串行通信必须通过自己设计的硬件电路和通信软件来实现。
  下面介绍用查询法实现异步串行通讯的方法。同时给出了用PIC16F84单片机的两个I/O口模拟2线串行口的硬件接口电路、程序流程框图、单片机内通信程序以及微机内的通信程序等。

2硬件实现方法与电路

  PIC16F84的程序存储器由1K×14的闪速(flash)存储器构成,它只有13条I/O口,1个定时器,为了尽量节省单片机的软硬件资源,采用下述异步串行通信的实现方法。
  如图1所示,PIC16F84在4MHz时钟下,采用半双工方式,可实现9600波特率的异步串行数据通信,1位停止位,8位数据位,无校验位。接收和发送以低位在先(一般模式),采用软件延时。为节省篇幅,单片机内的通信程序中未提供任何握手协议,用户可根据自己的需要在软件中加入握手方式。

  由于PIC16F84本身没有专门的串行口,这里用其I/O口来模拟串行口的功能。
  PC机的串行接口是符合EIARS-232C规范的外部总线标准接口。RS-232C采用的是负逻辑,即逻辑“1”:-5V至-15V;逻辑“0”:+5V至+15V。而CMOS电平为:逻辑“1”:4.99V,逻辑“0”:0.01V;TTL电平的逻辑“1”和“0”则分别为2.4V和0.4V。因此在用RS-232C总线进行串行通信时需外接电路实现电平转换。在发送端用驱动器将TTL或CMOS电平转换为RS-232C电平,在接收端用接收器将RS—232C电平再转换为TTL或CMOS电平。
  这里选用了MAXIM公司的MAX202E来作电平转换。MAX202E属于MAXIM公司的通用串行接收/发送驱动器芯片。其外围电路简单,只需外接四个0.1μF的电容即可,如图1所示。

jc.GIF (2374 bytes)

图1接口原理图

3PIC16F84单片机内通信程序的设计

 

jc1.GIF (4938 bytes)

图2接收子程序框图  图3发送子程序框图

文章录入:admin    责任编辑:admin 
  • 上一篇文章: PIC16C55控制多用电子钟

  • 下一篇文章: PS7219的PIC单片机接口程序
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
       最新热点    最新推荐    相关文章
  • 51单片机TCP/IP开发板

  • 【本站学习光盘列表】

  • 单片机C语言视频教程

  • 本站最新推出试验板图片展

  • Atmega及SD卡的数据采集存储…

  • 逻辑加密存储卡AT88SC1604的…

  • 智能煤气表的思路与原理

  • 用51单片机控制RTL8019AS实现…

  • AT88RF256射频卡读写器

  • 能防止多次试探密码的单片机…

  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)  
    {$PopAnnouceWindow(400,440)}