PC 机与单片机通信(RS232 协议).doc

上传人:李** 文档编号:48536058 上传时间:2022-10-06 格式:DOC 页数:3 大小:91.50KB
返回 下载 相关 举报
PC 机与单片机通信(RS232 协议).doc_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《PC 机与单片机通信(RS232 协议).doc》由会员分享,可在线阅读,更多相关《PC 机与单片机通信(RS232 协议).doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、十二PC 机与单片机通信(RS232 协议)实验任务单片机串口通信的应用,通过串口,我们的个人电脑和单片机系统进行通信。个人电脑作为上位机,向下位机单片机系统发送十六进制或者ASCLL码,单片机系统接收后,用LED显示接收到的数据和向上位机发回原样数据。硬件电路图实验原理RS-232是美国电子工业协会正式公布的串行总线标准,也是目前最常用的串行接口标准,用来实现计算机与计算机之间、计算机与外设之间的数据通讯。RS-232串行接口总线适用于:设备之间的通讯距离不大于15m,传输速率最大为20kBps。RS-232协议以-5V15V表示逻辑1;以+5V15V 表示逻辑0。 我们是用MAX232芯片

2、将RS232电平转换为TTL电平的。 一个完整的RS-232接口有22根线,采用标准的25芯插头座。我们在 这里使用的是简化的9芯插头座。注意我们在这里使用的晶振是11.0592M的,而不是12M。因为波特率的设置需要11.0592M的。“串口调试助手V2.1.exe” 软件的使用很简单,只要将串口选择CMO1波特率设置为9600 数据位为 8 位。打开串口(如果关闭)。然后在发送区里输入要发送的数据,单击手动发送就将数据发送出去了。注意,如果选中十六进制发送那么发送的数据是十六进制的,必须输入两位数据。如果没有选中,则发送的是ASCLL码,那么单片机控制的数码管将显示ASCLL码值。数字二进

3、制Px0Px7Abcdefg p十六进制00011111100000011111111000xco10000011010011111011000000xf920101101100100101110110100xa430100111100001101111100100xb040011011010010011011011000x9950110110101001001101101100x9260111110101000001101111100x8270000011100011111111000000xf880111111100000001111111100x809011011110000100111

4、1101100x90A111011100x88B0x83C0xc6D0xa1E0x86F0x8eC语言源程序#include reg52.h /包函8051 内部资源的定义unsigned char dat; /用于存储单片机接收发送缓冲寄存器SBUF里面的内容sbit gewei=P26; /个位选通定义sbit shiwei=P25; /十位选通定义sbit baiwei=P24;unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0

5、x40,;void Delay(unsigned int tc) /延时程序while( tc != 0 )unsigned int i;for(i=0; i100; i+);tc-;void LED() /LED显示接收到的数据(十进制)shiwei=0; P0=tabledat/10; Delay(10); shiwei=1;gewei=0; P0=tabledat%10; Delay(10); gewei=1;baiwei=0; P0=tabledat/100; Delay(10); baiwei=1;/功能:串口初始化,波特率9600,方式1/void Init_Com(void)TMOD = 0x20;PCON = 0x00;SCON = 0x50;TH1 = 0xFd;TL1 = 0xFd;TR1 = 1;/主程序功能:实现接收数据并把接收到的数据原样发送回去/void main()Init_Com();/串口初始化while(1) if ( RI ) /扫描判断是否接收到数据,dat = SBUF; /接收数据SBUF赋与datRI=0; /RI 清零。SBUF = dat; /在原样把数据发送回去LED(); /显示接收到的数据/这一个例子是以扫描的方式编写的,还可以以中断的方式编写,请大家思考/

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁