接收PC端的信息控制LED灯(中断法)

简介: 接收PC端的信息控制LED灯(中断法)宏定义初始化中断主函数


宏定义


#include<iocc2530.h>
#define LED1 P1_5
#define LED2 P1_0
#define LED3 P1_4
#define LED4 P1_3
#define uchar unsigned char
#define uint unsigned int
uchar c;


初始化


/********************************
*函数名称:Initial_Light
*函数功能:初始化LED端口
*入口函数:无
*出口函数:无
*返回值: 无
********************************/
void Initial_Light(void)
{
  P1SEL &= ~0X39;
  P1DIR |= 0X39;
  LED1= LED2= LED3= LED4=0;
}
/********************************
*函数名称:Init_UART
*函数功能:初始化串口
*入口函数:无
*出口函数:无
*返回值: 无
********************************/
void Init_UART(void)
{
  CLKCONCMD &= 0X80;//频率为32MHZ
  U0CSR |= 0X80;//设置为UART模式
  P0SEL |= 0X0C;
  U0GCR |= 10;
  U0BAUD |= 216;
  URX0IF = 0;//中断标志,打开接收器
  U0CSR |= 0X40;
  URX0IE = 1;//使能URX0中断
  EA = 1;
  //IEN0|=0X84;
}


中断



/*********中断服务子程序***********/
#pragma vector = URX0_VECTOR
__interrupt void URX0_INT(void)
{
  URX0IF = 0;//使URX0中断标志赋值0,因为已经进入中断函数,故赋值0
  c = U0DBUF;
  switch( c )
  {
  case '1': LED1 = 1;
   LED2 =LED3 =LED4 =0;
   break;
  case '2': LED2 = 1;
   LED1 =LED3 =LED4 =0;
   break;
  case '3': LED3 = 1;
   LED2 =LED1 =LED4 =0;
   break;
  case '4': LED4 = 1;
   LED2 =LED3 =LED1 =0;
   break;
   case '0': 
   LED4 = LED2 =LED3 =LED1 =0;
   break;
  //default:LED1 =LED2 =LED3 =LED4 = 0;
  }
}
/**********************下面这种方法也可以****************************/
  /*if(c == '0')
  {
    LED1 =LED2 =LED3 =LED4 = 0;
  }
  if(c == '1')
  {
   LED1 = 1;
   LED2 =LED3 =LED4 =0;
  }
   if(c == '2')
  {
   LED2 = 1;
   LED1 =LED3 =LED4 =0;
  }
   if(c == '3')
  {
   LED3 = 1;
   LED2 =LED1 =LED4 =0;
  }
   if(c == '4')
  {
   LED4 = 1;
   LED2 =LED3 =LED1 =0;
  }
}*/


主函数


/********************************
*函数名称:main
*函数功能:调用自定义函数
*入口函数:main
*出口函数:无
*返回值: 无
********************************/
main()
{
 Initial_Light();
 Init_UART();
 while(1)
 {
 }
}
相关文章
|
6月前
Rockchip系列之LED状态灯 串口收发数据流程以及控制状态显示(3)
Rockchip系列之LED状态灯 串口收发数据流程以及控制状态显示(3)
137 0
|
算法 芯片 异构计算
通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
|
6月前
win10 蓝牙开关消失 设备管理器“设备描述符请求失败”
win10 蓝牙开关消失 设备管理器“设备描述符请求失败”
143 1
win10 蓝牙开关消失 设备管理器“设备描述符请求失败”
|
6月前
Rockchip系列之LED状态灯 CAN收发数据流程以及控制状态显示(4)
Rockchip系列之LED状态灯 CAN收发数据流程以及控制状态显示(4)
146 3
|
6月前
|
Linux
Rockchip系列之LED状态灯 以太网收发数据包流程以及控制状态显示(2)
Rockchip系列之LED状态灯 以太网收发数据包流程以及控制状态显示(2)
97 1
|
6月前
|
C语言
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
独立按键控制LED亮灭、独立按键控制LED状态、独立按键控制LED显示二进制、独立按键控制LED移位——“51单片机”
I/O设备与主机信息传送的控制方式以及什么是中断
I/O设备与主机信息传送的控制方式以及什么是中断
251 0
51单片机--利用独立按键控制LED
51单片机--利用独立按键控制LED
284 0
|
监控 开发者 内存技术
各个复位标志解析,让我们对MCU的程序的健康更有把控
各个复位标志解析,让我们对MCU的程序的健康更有把控
190 0
各个复位标志解析,让我们对MCU的程序的健康更有把控
独立按键控制LED亮灭及状态
独立按键控制LED亮灭及状态
240 0