找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4907|回复: 1
收起左侧

PC机与单片机通信(RS232 协议)程序

[复制链接]
ID:407795 发表于 2019-3-13 14:36 | 显示全部楼层 |阅读模式
这有PC 机与单片机通信(RS232 协议)的资料希望对大家有用
[C语言源程序]
#include"reg52.h" //包函8051 内部资源的定义
unsigned char dat;//用于存储单片机接收发送缓冲寄存器SBUF里面的内容
sbit gewei=P2^4;//个位选通定义
sbit shiwei=P2^5;//十位选通定义
sbit baiwei=P2^6;//百位选通定义
unsigned char codetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,}; //1~10
voidDelay(unsigned int tc) //延时程序
{
while( tc != 0 )
{unsigned int i;
for(i=0; i<100;i++);
tc--;}
}
void LED() //LED显示接收到的数据(十进制)
{
gewei=0;P0=table[dat%10]; Delay(10); gewei=1;
shiwei=0;P0=table[dat/10]; Delay(10); shiwei=1;
baiwei=0;P0=table[dat/100]; Delay(10); baiwei=1;
}
///////功能:串口初始化,波特率9600,方式1/////////
voidInit_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赋与dat
RI=0; //RI 清零。
SBUF = dat; //在原样把数据发送回去(接收数据为发送数据的ASCII码,如发送q显示为113)
}
LED(); //显示接收到的数据
}
}
///这一个例子是以扫描的方式编写的,还可以以中断的方式编写,请大家思考//////

部分内容

部分内容

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

181 KB, 下载次数: 55, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:793342 发表于 2020-7-1 15:01 | 显示全部楼层
为什么老是目标未创建呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表