C51单片机和电脑串口通信电路图与源码.docx
《C51单片机和电脑串口通信电路图与源码.docx》由会员分享,可在线阅读,更多相关《C51单片机和电脑串口通信电路图与源码.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接
2、。串口通讯的硬件电路如上图所示 在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错,下图就是MAX232的基本接线图。按图73加上MAX232就可以了。这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。 为了能够在电脑端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里我们利用一个免费的电脑串口调试软件。本
3、串口软件在本网站可以找到 软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。串口选择为COM1,当然将网站提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源。 串口实验的源程序如下所示: ;这是一个S51单片机实验开发板向PC机的串口单向发送数据AF的演示程序 ;采用MAX232专用芯片作RS232/TTL电平转换. ;通讯波特率为4800KBPS,只要按下一次K1(就是P3.6引脚变成低电平) ;就发送一个16进制的AF字符 ORG 0000H MOV SCON,#5
4、0H;设置成串口1方式 MOV TMOD,#20H;波特率发生器T1工作在模式2上 MOV PCON,#80H;波特率翻倍为2400x2=4800BPS MOV TH1,#0F3H;预置初值(按照波特率2400BPS预置初值) MOV TL1,#0F3H;预置初值(按照波特率2400BPS预置初值) SETB TR1;启动定时器T1 ;以上完成通讯初始化设置 WRIT:JB P3.6,$;判断K1是否按下,如果没有按下就等待 ACALL DELAY10;延时10毫秒消触点抖动 JB P3.6,WRIT;去除干扰信号 JNB P3.6,$;等待按键松开 MOV A,#0AFH;将16进制的字符A
5、F发送到串口去 MOV SBUF,A;将AF通过串口发送出去 AJMP WRIT ;10毫秒延时子程序 DELAY10:MOV R4,#20 D2:MOV R5,#248 DJNZ R5,$ DJNZ R4,D2 RET END ;=两机串口通讯程序(主机)= ; 功 能: 使用串行中断,接收数据并显示 ; 硬件环境: 自制单片机实验板 ; 软件环境: 伟福 V3.20 ; Create date: 2004_07_26 ; First Modify: 2004_07_26 ; second Modify: ; Last Modify: 2004_07_26 ; Author: Sujiand
6、e ; ;=预定义= LED0 EQU 40H ;预定义数码管 LED1 EQU 41H ;预定义数码管LED2 EQU 42H ;预定义数码管 LED3 EQU 43H ;预定义数码管 LED4 EQU 44H ;预定义数码管 LED5 EQU 45H ;预定义数码管 LED6 EQU 46H ;预定义数码管 LED7 EQU 47H ;预定义数码管 SDA BIT P0.1 ; 定义数据线引脚定义 SCL BIT P0.0 ; 定义时钟线引脚定义 ;- ORG 0000H ;主程序入口 AJMP MAIN ;跳转到主程序 ORG 0100H ;主程序在ROM中存放位置 ;=主程序= MAI
7、N: MOV LED0,#00H ;赋初值 MOV LED1,#00H MOV LED2,#16 ;赋初值为16, 数码管显示代码为: 灭 MOV LED3,#16 MOV LED4,#16 MOV LED5,#16 MOV LED6,#16 MOV LED7,#16 ;- ;MOV DPTR,#TABLE ; 赋显示代码首地址 MOV R1,#00H ; 给R1赋初值00H ACALL DISPLAY ; 调显示子程序 MOV SP, #30H ; 给堆栈指针赋初值 ;- ; 使用定时器1,作为波特率发生器,设定波特率=9600, ; 定时器初值为:FAH ; 串行控制器设置:SM0=0,S
8、M1=1,SM2=0,REN=1,TB8=0, ; RB8=0,TI=0,RI=0 即0101 0000B ; 波特率加倍 ;- MOV TMOD,#20H ;设置定时器1,工作方式2 MOV TH1,#0FAh ;赋初值: FA MOV TL1,#0FAh ;赋初值: FA MOV SCON, #50h ;设置串行口控制寄存器 MOV PCON, #80h ;设置电源控制寄存器, 让波特率加倍(2X) SETB TR1 ;启动定时 ;*主程序结束* LP8: MOV A,R1 ;将1的数据装到A中 ;- MOV SBUF,A ;将A的数据送到缓冲区 JNB TI,$ ;等待数据发送完毕 CL
9、R TI ;清发送中断标志 ;- INC R1 CJNE R1,#99,LP3 MOV R1,#00H LP3: ACALL SEPERATE ;调拆分程序 ACALL DISPLAY ;调显示子程序 ACALL DELAY_1S ;调延时子程序 AJMP LP8 ;=拆分程序= SEPERATE: ANL A,#0Fh ;与操作得到个位数据 MOV LED0,A ;个位送LED0 MOV A,R1 ANL A,#0F0H ;与操作得到十位数据 SWAP A MOV LED1,A ;十位送LED1 RET ;=显示子程序=DISPLAY: MOV DPTR,#TABLE ; 赋显示代码首地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C51 单片机 电脑 串口 通信 电路图 源码
限制150内