简单的51串口通讯(通过判断中断标志位实现)

发布者:温暖的拥抱最新更新时间:2015-10-16 来源: eefocus关键字:串口通讯  中断标志位 手机看文章 扫描二维码
随时随地手机看文章
#include

unsigned int flag=0,i=0,b,a[5]={0,1,2,3,4};

void delay()
{
 unsigned char i,j;
 for(i=0;i<100;i++)
  for(j=0;j<100;j++);
}
void main()
{

 TMOD=0x20;//设置定时器1为工作方式2
 TH1=0xfd;
 TL1=0xfd;
 TR1=1;
 SCON=0x52;
 PCON&=0x7f;
 TI=0;
// EA=1;
// ES=1;
   while(1)
  {
        for(i=0;i<5;i++)
   
      while(!RI);
    
         
      a[i]=SBUF;
      
      RI=0;
       
      flag=1;
    
      
       }
   
   delay() ;
   if(flag==1)
 
    {
    // ES=0;
   
     flag=0;
    
          
      for(i=0;i<5;i++)
    SBUF=a[i];
    
     delay() ;
     while(!TI); 
     TI=0; }
    // SBUF='2';//28; 
    // while(!TI); 
    // TI=0;
    // SBUF='3';//28; 
    // while(!TI); 
    // TI=0;
    // ES=1;
    }
  }
}

//void ser() interrupt 4
//{
// RI=0;
// P1=SBUF;
// a=SBUF;
// flag=1;
//}

关键字:串口通讯  中断标志位 引用地址:简单的51串口通讯(通过判断中断标志位实现)

上一篇:简单的51与pc的串口通讯(用串口中断实现
下一篇:51定时器和外部中断

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

MCS-51单片机汇编中的“指针”
111条单片机指令中让我想起高级语言中的指针的功能。 数据传送类指令中的 指针 1)MOV A,@Ri 2)MOV direct,@Ri 3)MOV @Ri,A MOV @Ri,direct MOV @Ri,#data8 4)MOVX A,@Ri MOV A,@DPTR 5)MOVX @Ri,A 6)MOVX @DPTR,A @:指向的意思。
[单片机]
基于单片机89C51产生PWM信号来控制直流电机调速程序
利用2051的T0产生双路PWM信号,推动L293D或L298N为直流电机调速,程序已通过调试。 /* =======直流电机的PWM速度控制程序======== */ /* 晶振采用11.0592M,产生的PWM的频率约为91Hz */ #include reg51.h #include math.h #define uchar unsigned char #define uint unsigned int sbit en1=P1^0; /* L298的Enable A */ sbit en2=P1^1; /* L298的Enable B */ sbit s1=P1^2; /* L298的Input 1 */ s
[单片机]
基于AT89C51和DSl8820的数字温度计电路设计
  随着现代信息技术的飞速发展和传统工业改造的逐步实现.能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。选用AT89C51型单片机作为主控制器件,DSl8820作为测温传感器通过4位共阳极LED数码管串口传送数据,实现温度显示。通过DSl8820直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在O℃~100℃最大线性偏差小于0.1℃。该器件可直接向单片机传输数字信号,便
[电源管理]
基于AT89C<font color='red'>51</font>和DSl8820的数字温度计电路设计
基于51单片机的电子车速里程表实现方案
1 概述 传统的汽车转速里程表的功能有两个,一是用指针指示汽车行驶的瞬时车速,二是用机械计数器记录汽车行驶的累计里程。现代汽车正向高速化方向发展,随着车速的提高,用软轴驱动的传统车速里程表受到前所未有的挑战,这是因为软轴在高速旋转时,由于受钢丝交变应力极限的限制而容易断裂,同时,软轴布置过长会出现形变过大或运动迟滞等现象,而且,对于不同的车型,转速里程表的安装位置也会受到软轴长度及弯曲度的限制。凡此种种,使得基于非接触式转速传感器的电子式转速里程表得以迅速发展。 2 里程累计实现原理 车速里程表的速比表示的是:车速里程表转轴(软轴)在汽车行驶一公里时所转过的转数。 基于单片机的车速里程表采用霍尔型非接触式转速传感器。这种车速
[单片机]
基于<font color='red'>51</font>单片机的电子车速里程表实现方案
51学习第二天--二、流水灯设计、蜂鸣器发声
二、流水灯设计、蜂鸣器发声 1.简单延时程序: 利用while()循环达到一个延时的效果 #include reg52.h void main() { sbit D1=p1^0;//表示声明变量,令p0口等于D1 int=a; while(1)//这是一个死循环 { a=500;//表示时间延迟 D1=0;//表示是低电平即灯灭 while(a--);//表示a自减到0执行下面程序 a=500; D1=1; while(a--); } } 2. 子程序调用: 先设计一个延迟函数,然后直接调用! #include reg52.h #d
[单片机]
使用经济振荡器为8051微处理器提供时钟
使用基于8051的微控制器时,必须谨慎选择外部时钟基准,以确保满足控制器串行接口的时序要求。通常,8051串行端口与RS-232发射器/接收器一起使用,以提供到另一个处理器或主机处理器的串行通信链路。RS-232规范具有特定的时序要求,必须满足这些要求才能保证与使用此协议的所有其他设备的通信。基于 8051 的处理器使用外部时序参考(晶体或时钟)和内部可编程分频器链的组合生成其串行端口时序。本应用笔记演示了如何使用EconOscillator满足外部时钟要求,并为8051内部串行端口控制寄存器的编程提供了计算帮助。 介绍 经济振荡器具有提供基本频率的内部振荡器,它们使用内置分频链将基本频率降低到所需速率。每个器件号可以划分四个
[单片机]
使用经济振荡器为80<font color='red'>51</font>微处理器提供时钟
51单片机播放音乐(一):蜂鸣器
蜂鸣器 蜂鸣器分为有(震动)源的和无源的,有源的无法控制频率,所以用无源的才能播放音乐。无源蜂鸣器需要自己控制输入变化的信号才能发声,最简单的就是输入方波信号了,通过单片机控制方波的频率就能发出不同音调的声音 这是发出50%占空比方波的代码: int i; while (1) { for (i = 0; i 10; ++i); // 改变循环次数可以改变方波频率 P1_0 = 1; for (i = 0; i 10; ++i); P1_0 = 0; } 乐谱转成循环次数 首先要有蜂鸣器乐谱,就是用频率和持续时间表示一个音符的乐谱,至于如何获取蜂鸣器乐谱可以看我上一篇文章。由于单片机的运行速度很慢,如果在单片
[单片机]
<font color='red'>51</font>单片机播放音乐(一):蜂鸣器
基于51单片机的无线心电监护系统设计
1 引言 随着经济的快速发展和人们生活水平的不断提高,健康已成为人们关注的焦点。心脏疾病是危害人类健康的一大杀手,其偶然性与突发性的特点使得心电监护系统具有重要的临床应用价值。由于传统的心电监护仪不能进行远距离的实时监护,所以便携式无线心电监护系统显得更加重要。无线医疗监护系统主要由生理信息与数据采集、无线数据通信、控制和显示等单元组成。目前国内已有用于临床的无线心电监护产品,但其采用的方案大都是“采集器+发送器(PDA或手机)”,从成本上看其价格昂贵;从无线传输方面看,大多是将心电数据以模拟信号传输,这必然导致信号在传输过程中发生失真。此外,由于人体电阻差异导致心电信号在1~10 mV之间变动,固定放大倍数系统缺乏适应性。
[单片机]
基于<font color='red'>51</font>单片机的无线心电监护系统设计
热门资源推荐
热门放大器推荐
  •  pdf文件独辟蹊径品内核: Linux 内核源代码导读
  •  pdf文件硅光子设计(从器件到系统)
  •  pdf文件控制系统设计指南 (埃利斯)
  •  pdf文件纳机电系统
  • 系统发生错误

    系统发生错误

    您可以选择 [ 重试 ] [ 返回 ] 或者 [ 回到首页 ]

    [ 错误信息 ]

    页面错误!请稍后再试~

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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