找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5444|回复: 5
打印 上一主题 下一主题
收起左侧

单片机与PC机通讯(C语言)

[复制链接]
跳转到指定楼层
楼主
ID:51707 发表于 2013-7-11 02:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PC机发送数据给单片机,然后单片机将数据返发给PC机!硬件介绍:P0口接LED灯,P3.1与P3.0接串口通讯端!
#include <reg52.h>//头文件
#define uchar unsigned char//宏定义
#define uint unsigned int//宏定义
bit a;//定义一个变量位
uchar yin;//定义一个暂存器

/**************主函数************/
void main()
{
TMOD=0X20;//设置寄存器1工作方式为2
TR1=1;//打开定时器1
TH1=0XFD;//赋值给TH1
TL1=0XFD;//赋值给TL1,波特率为9600
SM0=0;//设置串口工作方式为1
SM1=1;//设置串口工作方式为1
REN=1;//打开允许接收控制端
EA=1;//打开总中断
ES=1;//打开串口中断
while(1)
{
  if(a)//判断位是否为1,若为1就执行下语句
  {
   a=0;//将位置1
   ES=0;//串口中断关掉,防止它发送数据时又会产生中断,造成发送死循环。
   SBUF=yin;//将暂存器数据给SBUF寄存器
   while(TI==0);//判断数据是否发送完成了?
   TI=0;//将发送标志位清0
   ES=1;//将中断打开,以下一次发送数据
  }
}
}

/**************中断服务子程序************/
void yin1() interrupt 4
{
RI=0;//有接收到数据后就清0
P0=SBUF;//将数据给P0
yin=SBUF;//将数据给yin暂存器
a=1;//将标志位置1
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:59867 发表于 2014-4-2 14:56 | 只看该作者
不錯喔
加油
回复

使用道具 举报

板凳
ID:62967 发表于 2014-6-15 14:30 | 只看该作者
参考下                        
回复

使用道具 举报

地板
ID:63039 发表于 2014-6-17 16:37 | 只看该作者
谢谢分享,加油
回复

使用道具 举报

5#
ID:46838 发表于 2014-6-28 18:00 | 只看该作者
参考了
回复

使用道具 举报

6#
ID:63641 发表于 2014-7-5 19:38 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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