C51单片机与PC串口通信的单片机部分程序

发布者:灵感火花最新更新时间:2015-12-31 来源: eefocus关键字:C51单片机  PC  串口通信 手机看文章 扫描二维码
随时随地手机看文章
注意波特率是9600

功能:电脑通过串口给单片机发一个字节,单片机收到后又给电脑发回去

#include
#define uchar unsigned char
#define uint unsigned int

uint temp;
bit flag;
void init_ser1();
main()
{
init_ser1();
while(1)
{
if(RI==1)
{
   P1=SBUF;
   RI=0;
}
if(flag==1)
{
   ES=0;//暂时关闭接收
   flag=0;
   SBUF=temp;
   while(!TI);//等待发送完毕
   TI=0;
   ES=1;
}
}
}

void sel() interrupt 4
{
RI=0;
P1=SBUF;
temp=SBUF;
flag=1;
}

void init_ser1()
{

REN=1;
SM0=0;
SM1=1;
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
EA=1;
TR1=1;
ES=1;
}

 


//======声明======
#include
unsigned char Read_Keyboard();
void RS232_SendData(unsigned char Sdata);
//======延迟函数======
void delay(unsigned int t)
    
        for(;t>0;t--);     //延迟循环
}
//======UART初始化函数=====
void RS232_Init()
    
        SCON=0x50;       //0101 0000 UART工作模式1,REN=1(本位为串行接收启用位1:开始接收 0:停止接收)
        TMOD=0x20;      //0010 0000 Timer1 工作模式2
        PCON=0x80;       //SMOD1=1
        TH1=0xfa;      //波特率9600 bps at 11.0592MHZ
        TL1=0xfa;      //波特率9600 bps at 11.0592MHZ
         TR1=1;
}
//======主函数============
void main()
 
     unsigned char Keyboard_Status=0xff;            //定义按键
     RS232_Init();                                          // 初始化UART
     while(1)
       
          Keyboard_Status=Read_Keyboard()|0xf0;     //读取按键值(屏蔽高4位)
          //
          switch(Keyboard_Status)
           
              case ~0x01:RS232_SendData('A');break;
              case ~0x02:RS232_SendData('B');break;
              case ~0x04:RS232_SendData('C');break;
              case ~0x08:RS232_SendData('D');break;
              default:RS232_SendData('X');break;
                                                       
     }
}
//===========发送数据函数========
void RS232_SendData(unsigned char Sdata)
  
       SBUF=Sdata;                  //发送数据
       while(TI==0);                //等待发送结束
       TI=0;                           //清除发送结束标志
}
//========读取按键函数==========
unsigned char Read_Keyboard()
 
      unsigned char Keys_Value;      //定义按键变量
      unsigned char Keys_Temp;    
      do
      
            P1=0xff;                      //P2口置高,准备读取按键状态
            Keys_Temp=P1;           //读取按键状态
            delay(150);                  //消抖延时
            P1=0xff;                      //P2口置高,准备读取按键状态
            Keys_Value=P1;           //读取按键状态
      }
      while(Keys_Value!=Keys_Temp);     //如果读状态不一致,则重复读取键值
      return Keys_Value;                       //返回按键状态值
}


关键字:C51单片机  PC  串口通信 引用地址:C51单片机与PC串口通信的单片机部分程序

上一篇:IO口做输入(按键控制想要的灯亮(共四个灯))
下一篇:C51单片机与PC串口通信的单片机部分程序

推荐阅读最新更新时间:2024-03-16 14:42

51单片机串口通信
基本介绍 单片机通信是指单片机和单片机 或者 单片机和计算机的相互通信,一般比较多都是单片机(下位机)和计算机(上位机)作为通信。 串行通信其实用的还是挺多的,就比如我们在调试程序时,可以通过串行口来调试程序。像什么蓝牙模块、语音模块等等也挺多是用串行通信。 一般通信方式为两种:并行通信 和 串行通信。 通信制式 一共为3种: 单双工: 一个只能发送,一个只能接收。(相当于两个人,一个只能说话,一个只能听) 半双工:都可以发送和接收,但是同一时刻不能发送和接收同时进行。相当于一般的对讲机 你说话的时候 你是接收不了对方说的话的。 全双工:就是可以同时发送或者接收。相当于现在我们的手机打电话一样。可以两个人互骂哈哈
[单片机]
51单片机<font color='red'>串口通信</font>篇
英特尔参展CES:押注低能耗PC和手机芯片
    腾讯科技讯(晁晖)北京时间1月8日消息,据国外媒体报道,英特尔当地时间周一在国际消费电子展(以下简称“CES”)上宣布交付新款低能耗芯片,并展示了新一代超极本和变形本,以证明困难重重的PC产业仍然有着光明的前途。 英特尔在CES上表示,已经可以提供面向平板电脑和笔记本的新款低能耗处理器,称新款芯片将更好地支持语音识别等功能,大幅延长未来笔记本的电池续航时间。 在谈到Haswell处理器时,英特尔PC客户端集团副总裁、总经理柯克·史考根(Kirk Skaugen)说,“未来的笔记本电池续航时间将达到一整天,用户将无需再随身携带电源。” 尽管数个季度以来宏观经济问题影响了PC销售,平板电脑和智能手机的日趋普及也被认为是
[手机便携]
揭开倍福北美新总部面纱 建筑采用PC自动化控制
    当德国倍福自动化公司(Beckhoff)主管GerdHoppe于1998年来到明尼苏达州时,他肩负着为公司筹建北美总部的使命。没有岗位描述,没有指挥系统,全凭“亲身经验”来建立公司。现这一占地4.45万平方英尺、仓库面积达1.5万英尺的新总部已在明尼苏达州萨维奇市落成,是倍福在海外建设的第一座建筑。   在带领访客参观新总部时,Hoppe表示建设新总部显示出公司对北美市场的信任;当前美国市场占据倍福销售额的十分之一左右,未来还有很大的成长空间。明尼苏达总部也是公司在全球设立的三个维修中心之一。   Hoppe解释道,公司大多数产品均在德国进行生产,这些产品价格低廉且人工成本仅占产品售价相对较低的一部分,因此除非为了更好地
[手机便携]
PC、移动互联网出现后,下一个标准化设备有可能是机器人
第六届世界互联网大会上,猎豹移动CEO傅盛在演讲中指出,PC、移动互联网出现后,下个标准化设备有可能是机器人。 傅盛表示,互联网的本质是数据驱动,“不是因为马云、马化腾有‘三头六臂’,而是因为互联网本身是生长出来的,不是靠决策完成的”。他认为,如今很多场景数据化,面临的问题是:部署昂贵、数据缺失和搜索缺失。“我认为,PC、移动互联网出现后,下个标准化设备有可能是机器人”,傅盛称,他对机器人的定义是“以AI能力为核心的,有软件+服务+硬件的设备。核心就是无需学习的交互方式,它的视觉语言就可以跟你沟通,为你服务”。
[嵌入式]
美国芯片进口加速转向东南亚:戴尔等要完全停用中国造芯片、PC
据TechRitual报道,美国人口普查局公布的数据显示,自今年年初以来,美国从泰国、越南、印度和柬埔寨进口的芯片产品大幅增加,其中亚洲进口占比高达83%。 这些迹象表明,美国一直在通过将制造商从传统市场转移到新兴市场,实现电子产品供应链的多元化。东南亚各国因具备完善的环境和基础设施,越来越受到全球芯片行业的重视。 其实在这之前,戴尔早已行动。据《工商时报》最新报道称,虽然有不少供应链试图劝阻戴尔可以暂缓去中国化,但是从目前情况看,这些所谓的建议没有任何用。 在戴尔看来,桌面电脑、笔记本电脑与周边产品的供应链“去中国化”自2025年启动,而如果届时相应的市场出现了一定损失,他们则有美国市场来补给。 在供应链看来,戴
[家用电子]
全新超极本:PC平板二合一
最近,同事给我换上一台全新一代超极本,这是前所未有的设备,将PC和平板合二为一。它全新的体验,让我再次为超极本的发展而振奋。 这是英特尔的参考设计样机,黑色金属外壳,相当薄而酷;拿起来也很轻,便携性非常棒;机器启动特别快,关机也只需3秒钟。最新酷睿i7处理器带来的旗舰性能,让我能高效工作。最让我兴奋的是触控功能,它把精彩的平板体验集成了进来。过去几周我天天用它早晨读新闻、看报纸,发现它内容整合得比我的新iPad更好,能一站式获得所有新闻内容,阅读体验更加平滑流畅,视觉效果亮丽得令人震撼。超极本屏幕比我的新iPad更大,窗口切换也更好,有了它,我几乎不再用新iPad了。 我一直喜欢体验新设备。记得iPad刚推出我就买了一部,不可
[家用电子]
Andigilog推出首款SST总线温度传感器,面向PC系统管理
智能型热管理半导体组件设计公司Andigilog日前推出首批专为下一代个人计算机SST(Simple Serial Transport)总线而设计的高精确度远程数字温度传感器。SST总线可在个人计算机内以更快速度传送温度和电压等系统控制与管理信息。 英特尔产品营销工程师Eric Ingersoll表示:“新一代平台会在个人计算机内的更多不同位置传送温度等重要信息以加强热管理和可靠性,高精确度的温度传感器可以让个人计算机提供更好的使用经验。” aSC7521 SST远程数字温度传感器提供±1℃测量精确度和-40至125℃操作范围,它能测量本身的温度,以及控制中央处理器内部的二极管或者监控因温度突然变化的其它的电子元件。温度数据会
[新品]
基于S3C2410的嵌入式串口通信设计
1S3C2410硬件平台简介 S3C2410是韩国三星公司生产的新一代高性能微处理器,它是基于ARM920T内核的16/32位RISC处理器.主要应用于嵌入式系统中。 S3C2410拥有强大的数据处理能力.又有着低成本.低功耗等优点.在各种手持及移动设备上的应用越来越广泛,基于其平台的程序功能也越来越复杂。于是,在其平台上架构多线程的操作系统已成为越来越多系统设计者的诉求,本文介绍多线程在S3C2410上的具体实现过程。 2 系统结构分析 串行端口的本质功能足作为CPU和串行设备问的编码转换器,一般微机内都配有通信适配器,使计算机能够与其他具有RS232C串口的计算机或设备进行通信。本系统主要目的是实现宿主机与目标
[单片机]
基于S3C2410的嵌入式<font color='red'>串口通信</font>设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved