与串口助手交互实现控制LED灯

简介: 与串口助手交互实现控制LED灯宏定义与预处理初始化引脚初始化串口串口数据控件led灯数据中断主函数


宏定义与预处理



#include<iocc2530.h>
#include<string.h>
#define uchar unsigned char
#define uint unsigned int
#define LED1 P1_0
#define LED2 P1_5
#define LED3 P1_4
#define LED4 P1_3
uchar c;
uchar temp;
uchar Data[30]={0};
uint count=0;


初始化引脚



void Init_LED()
{
  P1SEL &=~0X39;
  P1DIR |= 0X39;
  P1 &=~ 0X39;
}


初始化串口



void Init_UART()
{
 CLKCONCMD &= 0x80;
 U0CSR |= 0X80;
 P0SEL |= 0X0C;
 U0GCR =10;
 U0BAUD =216;
 U0CSR |= 0X40;
 URX0IF = 0; 
 UTX0IF = 0;
 IEN0 |= 0X84;
}


串口数据控件led灯



void UART_Control_Led()
{
  if(Data[0]=='d'||Data[0]=='A')
  {
    if(Data[0]=='d')
    {
      if(Data[1]=='1')
        LED1 =1;
      else if(Data[1]=='2')
        LED2 =1;
      else
        LED1=LED2=LED3=LED4=0;
    }
    if(Data[0]=='A')
    {
      if(Data[1]=='0')
        LED1 = LED2 = 1;
      else if(Data[1]=='1')
        LED1 = LED2 = 0;
      else
        LED1=LED2=LED3=LED4=0;
    }
  }
}


数据



void Send_Data(uchar *Data,uint len)
{
   int j;
  for(j=0;j<len;j++)
  {
    U0DBUF = *Data++;
    while(UTX0IF == 0);
    UTX0IF = 0;
  }
  UART_Control_Led();
}


中断




#pragma vector=URX0_VECTOR
__interrupt void UART0_ISR(void)
{
  URX0IF=0;
  temp = U0DBUF;
  if((temp != '#')&& count < 30)
  {
    Data[count++]=temp;
    temp=0;
  }
  else
    Send_Data(Data,count);
}


主函数



 main()
{
  Init_LED();
  Init_UART();
  while(1)
  {
  }
}
相关文章
|
6月前
Rockchip系列之LED状态灯 串口收发数据流程以及控制状态显示(3)
Rockchip系列之LED状态灯 串口收发数据流程以及控制状态显示(3)
137 0
|
6月前
|
芯片
毕业设计 基于51单片机的手机蓝牙控制8位LED灯亮灭设计
毕业设计 基于51单片机的手机蓝牙控制8位LED灯亮灭设计
|
3月前
|
机器人 异构计算 SoC
实例2:树莓派GPIO控制外部LED灯闪烁
本文是一个关于使用树莓派GPIO控制外部LED灯闪烁的实验教程,介绍了树莓派的基本概念、GPIO接口的使用、RPi.GPIO库的基本操作,以及通过Python编程实现LED灯周期性闪烁的详细步骤和代码示例。
90 1
实例2:树莓派GPIO控制外部LED灯闪烁
|
3月前
|
机器人 Linux 异构计算
实例1:控制树莓派板载LED灯闪烁
本文是一个关于如何使用Python编程控制树莓派板载LED灯闪烁的实验教程,涵盖了树莓派的基本概念、LED控制文件的读写操作、Python `open()` 和 `sleep()` 函数的使用方法,以及具体的实验步骤和代码实现,目的是让读者通过实践熟悉树莓派操作和Linux文件读写。
74 1
实例1:控制树莓派板载LED灯闪烁
|
6月前
|
传感器
DIY_实现光敏电阻传感器简单控制LED
DIY_实现光敏电阻传感器简单控制LED
341 2
|
4月前
|
数据格式
LabVIEW步进电机的串口控制方法与实现
LabVIEW步进电机的串口控制方法与实现
68 0
|
6月前
|
传感器 物联网 C语言
单片机在智能家居中的应用:以LED灯控制为例
单片机在智能家居中的应用:以LED灯控制为例
195 0
单片机在智能家居中的应用:以LED灯控制为例
LabVIEW控制Arduino LED灯闪烁(基础篇—2)
利用LIAT中的数字I/O函数库,通过LabVIEW控制Arduino Uno控制板上D13管脚上LED灯,实现等间隔闪烁。
|
存储 IDE 物联网
Blinker 语音控制 51单片机 点灯
Blinker 语音控制 51单片机 点灯
301 0
单片机——按钮控制LED的不同效果电亮
单片机——按钮控制LED的不同效果电亮
183 0