C51单片机和电脑串口通信电路图

上传人:汽*** 文档编号:508079470 上传时间:2023-05-29 格式:DOC 页数:7 大小:52KB
返回 下载 相关 举报
C51单片机和电脑串口通信电路图_第1页
第1页 / 共7页
C51单片机和电脑串口通信电路图_第2页
第2页 / 共7页
C51单片机和电脑串口通信电路图_第3页
第3页 / 共7页
C51单片机和电脑串口通信电路图_第4页
第4页 / 共7页
C51单片机和电脑串口通信电路图_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《C51单片机和电脑串口通信电路图》由会员分享,可在线阅读,更多相关《C51单片机和电脑串口通信电路图(7页珍藏版)》请在金锄头文库上搜索。

1、C51单片机和电脑串口通信电路图与源码51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的1

2、0脚连接,第15脚和单片机的20脚连接。 串口通讯的硬件电路如上图所示 在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错,下图就是MAX232的基本接线图。 授课:XXX按图73加上MAX232就可以了。这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。 授课:XXX为了能够在电脑端看到单片机发出的数据,我们必须借助一个WI

3、NDOWS软件进行观察,这里我们利用一个免费的电脑串口调试软件。本串口软件在本网站可以找到 软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。串口选择为COM1,当然将网站提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源。授课:XXX#include #define BUFFERLEGTH 10/-void UART_init(); /串口初始化函数void COM_send(void); /串口发送函数char str20;char j;/-void main(vo

4、id)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工作在方式1TH1 =0xfA; /实现波特率

5、9600(系统时钟11.0592MHZ)PCON = 0x80;TR1 =1; /启动定时器T1ET1 =0;ES=1; /允许串行口中断PS=1; /设计串行口中断优先级EA =1; /单片机中断允许/-void COM_send(void) unsigned char point = 0; for(point=0;strpoint!=0;point+) /连续发送二十位数据 /把缓存区的数据都发送到串口 SBUF=strpoint; while(!TI); TI=0;/strpoint=0; 授课:XXX/-/-/ 函数名称: com_interrup()串口接收中断处理函数/ 函数功能:

6、 接收包括起始位S在内的十位数据到数据缓冲区/-void com_interrupt(void) interrupt 4 using 3 unsigned char RECEIVR_buffer; bit flag=1; if(RI) /处理接收中断 RI=0; /清除中断标志位 RECEIVR_buffer=SBUF; /接收串口数据 strj=SBUF; if (RECEIVR_buffer = $) ES=0; strj=0; SCON =0x40; /接收不允许 COM_send(); /发送数据 ES=1; j=0; flag=0; SCON=0x50; /接收允许 if(flag) j+; (注:可编辑下载,若有不当之处,请指正,谢谢!) 授课:XXX

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号