点击以简体中文方式浏览 点击以繁体中文方式浏览
  用户登录-Burnon国际
   

首页 / 技术资料 /  技术文章 / 贝能科技专题之PIC微控制器系列(五)
贝能科技专题之PIC微控制器系列(五)
2008-05-15

如何利用软件实现PIC16F5X异步串行口
贝能科技  曾淑叶

1. 概述 
         PIC16F5X微控制器为Microchip公司生产的一系列低成本、高性能、8 位、全静态和基于闪存的CMOS 单片机。本文将详细介绍如何使用PIC16F5X实现异步串行I/O口。
系统设计中通常需要完成片对片的数据串口通信,虽然PIC16F5X系列微控制器没有片上串行口,但是可以通过软件模拟串口实现通信,即一个I/O口作为输入,用于接收数据,另一个I/O口作为输出,用于发射数据。当考虑到批量应用时,通过软件模拟实现的串行I/O口成本更低。

2. 实现原理 
         文中通过两个程序模拟全双工RS-232通信和半双工通信。半双工通信时,使用8MHz作为输入时钟,波特率可以达到19200;全双工通信时,8MHz晶振时波特率可达到9600,20MHz晶振时可达到19200。通讯数据格式为一个或两个停止位、7个或8个数据位、没有奇偶位,可以通过LSb或MSb发送或接收。输入时钟越高时,分辨率相应会越好。用户须根据通信改变头文件;软件不提供握手协议,用户使用XON/XOFF可合并软件握手;对于硬件握手,使用RTS和CTS作为另外的两个数字I/O口即可。
         串口发送和接收的流程图分别如图1和图2所示,在传输过程中,起始位通过传送数据位DX发送数据,DX=0时持续B秒;当DX置1或清0时,每隔B秒则相应回应数据位一次。


图1  发送流程图


图2  接收流程图

下一页



   产品 | 注册登录 | 获取支持 | 联系我们 | 论坛 Copyright 2007-2008 贝能, All Rights Reserved   闽ICP备05003850号