PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!
PC与51单片机串口通信
串行通信是计算机和外设进行通讯、对外设进行监控并获取由外设采集到的监测数据的一个非常重要的手段。由于其所用的传输线少,成本低,实现起来方便易行,因而得到广泛的应用。STC89C52RC有一个可编程的全双工串行通信接口,可以方便的实现PC机与其之间的串行通信。
一、总体方案
系统中采用STC89C52RC/STC89C54RD+单片机作为下位机,PC机为上位机,二者通过CH340将PC的USB口转成RS232的串行口接收或上传数据。单片机部分的程序采用C语言编程,用Keil uVision4编译后产生HEX文件下载到单片机内,从而实现数据收发。PC端采用一个串口调试助手(sscom4.2)或MATLAB GUI实现数据的收发。
二、具体方案
1、简单通信测试程序
本程序为了测试通信方式是否合适,以便于下一步增加程序的内容。
(1)利用STC提供STC-ISP-V4.83软件检查MCU选项
MCU Type is: STC89C54RD+ MCU Firmware Version: 3.2C Chinese:MCU 固件版本号: 3.2C
Double speed / 双倍速: 12T/单倍速 振荡放大器增益: full gain 下次下载时 P1.0/P1.1 与下载无关
内部扩展AUX-RAM: 允许访问(强烈推荐) 下次下载用户应用程序时将数据Flash区擦除: NO 用户软件启动内部看门狗后: 复位关看门狗 ALE pin 仍为 ALE
内部时钟频率:11.061806M 外部时钟频率:11.061806M
(2)串行口初始参数设定
串行口工作方式为方式1(10位异步收发),波特率为9600bps,用定时器1作波特率发生器,选用定时器模式2,其它详见程序及说明。