- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C51单片机和电脑串口通信电路图与源码
51 单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时
要满足一定的条件,比如电脑的串口是 RS232 电平的,而单片机的串口是 TTL 电平的,两者之间必须有一
个电平转换电路, 我们采用了专用芯片 MAX232进行转换,虽然也可以用几个三极管进行模拟转换, 但是还
是用专用芯片更简单可靠。 我们采用了三线制连接串口, 也就是说和电脑的 9 针串口只连接其中的 3 根线:
第 5 脚的 GND、第 2 脚的 RXD、第 3 脚的 TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,
电路如下图所示, MAX232的第 10 脚和单片机的 11 脚连接,第 9 脚和单片机的 10 脚连接,第 15 脚和单片
机的 20 脚连接。
串口通讯的硬件电路如上图所示
在制作电路前我们先来看看要用的 MAX232,这里我们不去具体讨论它,只要知道它是 TTL 和 RS232 电平相
互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换 MAX232,
可以省一点,效果也不错 , 下图就是 MAX232的基本接线图。
按图 7-3 加上 MAX232就可以了。这大热天的拿烙铁焊焊,还真的是热气迫人来呀: P 串口座用 DB9的母
头,这样就可以用买来的 PC 串口延长线进行和电脑相连接,也可以直接接到电脑 com 口上。
为了能够在电脑端看到单片机发出的数据,我们必须借助一个 WINDOWS软件进行观察,这里我们利用一个
免费的电脑串口调试软件。本串口软件在本网站 可以找到
软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为 4800 ,勾选十六进制显示。串口选
择为 COM1,当然将网站提供的 51 单片机实验板的串口也要和电脑的 COM1连接,将烧写有以下程序的单片
机插入单片机实验板的万能插座中,并接通 51 单片机实验板的电源。
#include reg51.h
#define BUFFERLEGTH 10
//
void UART_init(); // 串口初始化函数
void COM_send(void); // 串口发送函数
char str[20];
char j;
//
void main(void)
{
unsigned char i;
UART_init();
j=0; //初始化串口
for(i = 0;i 10 ;i++)
{
COM_send(); // 首先发送一次数据作为测试用
};
while(1);
}
//
//
// 函数名称: UART_init() 串口初始化函数
// 函数功能: 在系统时钟为 11.059MHZ 时,设定串口波特率为 9600bit/s
// 串口接收中断允许,发送中断禁止
//
void UART_init()
{
//初始化串行口和波特率发生器
SCON =0x50; //选择串口工作方式 1,打开接收允许
TMOD =0x20; // 定时器 1 工作在方式 2,定时器 0 工作在方式 1
TH1 =0xfA; //实现波特率 9600 (系统时钟 11.0592MHZ )
PCON = 0x80;
TR1 =1; //启动定时器 T1
ET1 =0;
ES=1; // 允许串行口中断
PS=1;
原创力文档


文档评论(0)