C51通用串口收发数据C语言程序

发布者:uioo9158最新更新时间:2020-09-01 来源: 51hei关键字:C51  通用串口  收发数据 手机看文章 扫描二维码
随时随地手机看文章

#include         //C51通用串口收发数据C语言程序模块

#define  uchar unsigned char

#define uint unsigned int

uchar shu;


bit i;

sbit  led1=P0^0;

void  delayms(uint xms)         //1ms;

{

   uint i,j;

   for(i=xms;i>0;i--)

       for(j=110;j>0;j--) ;



}

/************************************************************************/

void  UART_init()

{

  TMOD=0X20;//定时器1方式        2

  SCON=0X50;//K串口方式          

  TH1=0XFD;

  TL1=0XFD;

  EA=1;

  ES=1;

  TR1=1;


}



/*********************************

函数:void main(void)

____________________________________

说明:主函数,程序执行从这里开始

********************************/

void main(void)

{


   UART_init();

   while(1 ) ;

          

}


/*********************************

函数:void Inter()         interrunpt 4

____________________________________

说明:串口中断处理程序

********************************/

void Inter() interrupt 4

{

   uchar i=0;

  if(RI)        //判断是否接收完毕

  {

    RI=0; //是则RI清零,准备下一次接收

        shu=SBUF;

        SBUF=shu;

   }

   if(TI) //发送数据回去

   {

             TI=0;

   }

   if(shu== 0x30)   //判断接收到的数据, 并作出相应处理

        {

                 

          led1=1;//LED灯灭

         }

   if(shu == 0x31)        //判断接收到的数据, 并作出相应处理

        {

          led1=0;

        }

       

         if(shu== 0x32)   //判断接收到的数据, 并作出相应处理

        {

           for(i=0;i<10;i++)

          {

           led1=~led1;

           delayms(200);

          }

          

        }


}


关键字:C51  通用串口  收发数据 引用地址:C51通用串口收发数据C语言程序

上一篇:L298N+AT89C52+BT-04A蓝牙控制遥控小车
下一篇:51单片机常用知识点

推荐阅读最新更新时间:2024-11-09 11:47

C51编程7-数码管(工作原理1)
如果将单片机的比喻计算的主机,而按键相当于电脑的输入设备(键盘或者鼠标),那么LED灯可以作为输出设备的显示器;如果8位数据,使用8个LED显示数据表示,相当于是以二进制显示数据,非常不利于阅读。 为了追求成本低,便于阅读,人们生产出数码管,通过控制数码管直接显示对应的数字,如下图所示。 共阴数码管与共阳数码管 数码管实际上是8段LED组成(7段LED+1个圆圈),LED的接线有两种方式,第一种将LED负极接在一起,称为共阴数码管,图1;第二种将正极接在一起,称为共阳数码管,图2。 图1 图2 从上两图可以看出,共阴数码管通过给正极高电平可以导通LED,而共阳数码管通过给负极低电平可以导通点亮LED。
[单片机]
<font color='red'>C51</font>编程7-数码管(工作原理1)
C51单片机对共阳极数码管的控制设计
这是共阳极数码管的电路图,其中JP3接到P0口,JP3的8-1对应数码管的a-dp引脚。 共阳极数码管的编码表如下,注意a---最低位,dp---最高位: 【0---3】0xco,0xf9,0xa4,0xb0, 【4---7】0x99,0x92,0x82,0xf8, 【8---B】0x80,0x90,0x88,0x83, 【C---F】0xc6,0xa1,0x86,0x8e。 C51程序显示数字0-9: #include #define uchar unsigned char void delay(); uchar smg[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,
[单片机]
<font color='red'>C51</font>单片机对共阳极数码管的控制设计
MSP430F169(三) ---- 使用UART实现PC与单片机的数据收发并在1602 液晶显示
本代码需要注意的细节 每次字符串的发送时间至少间隔三秒,发送的字符的数量最好在32个以内,防止数据接收不全。 本代码波特率的设置为1200.如果波特率设置过高,会出现数据接收不全的问题。我试过9600的波特率,会出现问题。读者可以自行修改代码,实现更高的传输速率。 有关的细节会在代码中说明 代码实现 主函数 #include msp430f169.h #include Config.h #include LCD.h #include Init.h #include UART.h //#include stdlib.h 本来想用全局指针来存储接收的数据 // 结果发现自己用不来....
[单片机]
C51 中data, idata, xdata, pdata, code的作用
  从数据存储类型来说,8051系列有片内、片外程序存储器,片内、片外数据存储器。片内程序存储器还分为直接寻址区和间接寻址区。   data:将数据存储在0x00 - 0x7f的128B的RAM空间,可以用acc直接读写,速度最快,生成的代码也最少。   idata:将数据存储在0x00 - 0xff的256B的RAM空间,与data的区别在于访问方式不同,idata数据需要通过间接方式访问。   xdata:将数据存储在外部0x0000 - 0xffff RAM空间,用DPTR访问。   pdata:将数据存储在外部扩展RAM的低256字节空间。   code:将数据存储在ROM区域。   bdata:C51自定义语句,非标准
[单片机]
C51编程19-中断篇(串行通讯3)
MCS-51单片机提供了4种串口的方式,但是我们只有方式1最常用(可变的10位串行通讯方式),下面就方式1的使用进行讲解。 在开始之前先明确一个概念,中断会产生中断标志位,而CPU检测到中断标志位后,如果没有其他更高的中断在执行,CPU会响应该中断,并进入中断服务函数。串行通讯属于中断方式的一种,它服从这个概念。此外串行通讯并不是需要进入串行通讯的时候,会产生中断标志位;而是发送或者接收成功后,会产生中断标志位。 通过中断向量,可以知道串行通讯只有一个中断号4,也就是说当进入无论是发送或者接收成功,都会触发中断服务函数,因此如果需要区分发送与接收需要在中断服务函数中实现区分,可以通过判断中断标志位(TI == 1或者RI
[单片机]
单片机入门教程第22课-串行口应用编程实例
1. 串口方式0应用编程 8051单片机串行口方式0为移位寄存器方式,外接一个串入并出的移位寄存器,就可以扩展一个并行口。 例:用8051串行口外接CD4094扩展8位并行输出口,如图所示,8位并行口的各位都接一个发光二极管,要求发光管呈流水灯状态。 串行口方式0的数据传送可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。串行发送时,可以靠TI置位(发完一帧数据后)引起中断申请,在中断服务程序中发送下一帧数据,或者通过查询TI的状态,只要TI为0就继续查询,TI为1就结束查询,发送下一帧数据。在串行接收时,则由RI引起中断或对RI查询来确定何时接收下一帧数据。无论采用什么方式,在开始通讯之前,都要先对控制
[单片机]
单片机入门教程第22课-串行口应用编程实例
C51单片机学习笔记(二)——花样流水灯的实现
1.单片机引脚、晶振、复位的作用 复位电路:,复位是单片机的初始化操作。单片机启动时都需要先付薇,其作用是“清零”,也就是CPU和其他部件处于一个确定的初始状态,并从这个初始状态开始。 复位实质上是单片机的复位脚保持很短时间的高电平,按键复位就是通过按键接高电平(按一下的时间已经足够) 时钟电路(晶振):产生时间信号,使单片机按照一定的时间规律进行指令,晶振频率越高,时钟信号的周期就小,单片机运行也就越快。 32个I/O口 P1.0 ~ P1.7 对应1 ~ 8 号引脚 P2.0 ~ P2.7 对应21 ~ 28 号引脚 P3.0 ~ P3.7 对应10 ~ 17 号引脚 P0.0 ~ P0.7 对应39
[单片机]
<font color='red'>C51</font>单片机学习笔记(二)——花样流水灯的实现
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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