您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PIC单片机与PC机的串行数据交换 正文
PIC单片机与PC机的串行数据交换

PIC单片机与PC机的串行数据交换

点击数:7313 次   录入时间:03-04 11:57:28   整理:http://www.55dianzi.com   PIC单片机

    5PC机支持与PIC16F877进行数据交换的编程

    本文中PC 机可与PIC16F877编程一起完成以下功能:PC机和单片机均可发送和接收数据,由PC机决定是发送还是接收;程序设定当PC机键盘输入发送指令时,PC机分别显示PC机发送的数据和单片机会送的数据;当PC机键盘输入接收指令时,PC机将接收单片机发送过来的数据,并将其数据显示。

    在编程中,必须要注意设置PC 机与PIC16F877单片机在进行数据交换时的数据传输格式相同。通常采用的通讯协议如下:波特率为9 600 bps,8位数据位,1位停止位,无奇偶效验位。PC机发送命令给单片机,键盘输入发送命令时,控制单片机接收数据,当PC机键盘输入接收命令时,控制单片机发送数据给PC机。PC机与PIC16F877单片机进行数据交换的程序编制流程如图2所示。

    30.gif

   



www.55dianzi.com

    PIC16F877编程如下:

    (1)初始化设置部分

    31.gif

    32.gif

   
(2)接收并返回数据部分

    33.gif
34.gif
35.gif



www.55dianzi.com

    要实现单片机与PC 机间的数据通讯,不仅是要连接硬件电路和对单片机进行编程,同时还需要在PC上编写数据收发的程序。通常,对于单片机与PC机间的数据通讯交换调试时,可以借助网上盛行的串口通讯调试工具,同时也可以自己编写调试程序。程序编写好后,再与上述PIC16F877一起进行操作,即可实现简易通讯数据交换。该程序编写流程框图如图3所示。程序为PC机发送数据,在数据发送后,单片机接收后并反发送回PC机。这里要注意的是:当PC机与单片机系统通信时,单片机数据存储区( RAM )内的数据是十六进制,在信号线上传输的是十六进制数的ASCII码的二进制形式;而Windows系统下使用的是ANSI码,ANSI码仅在前126个与ASCII码相同。即在Windows下接收到的是十六进制数的ASCII码的字符串,可先转换为ANSI码后再在Windows下还原为十六进制数。

    三、结束语

    以上的软硬件在实践中均达到了较为理想的效果。通过单片机的使用,大大节省了硬件资源。在实际应用中,还需要在编程中注意数据的校验,这样才能保证数据在交换及输中减小误码,以提高系统的可靠性和稳定性。

    参考文献
[1]MICROChip.PIC16F8X数据手册[Z].MICROCHIP公司,2002.
[2]刘和平.PIC16F87X单片机实用软件与接口技术汇编语言及其应用[M].北京:北京航空航天大学出版社,2002.
[3]王有绪,许杰,李拉成.PIC系列单片机接口技术及应用系统设计[M].北京:北京航空航天大学出版社,2000.
[4]庄志洪,彭树生,赵惠昌.PIC单片机实验教程[M]北京: 机械工业出版社,2002.
[5]谭浩强.C程序设计[M].北京:清华大学出版社,1991.
 



上一页  [1] [2] 


本文关键字:单片机  PIC单片机单片机-工控设备 - PIC单片机