• 大小: 1.01MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2024-01-31
  • 语言: 其他
  • 标签:

资源简介

以应用实例的方式说明dmx512接收和发送的指令流程,包含应用方案的原理图文件很说明书。

资源截图

代码片段和文件信息

/************************************************************************
*keycnc_1.c
*作者:吴芳福
*2009.03.16
*按键程序文件
/************************************************************************/

#include  “Head File/extern_symbol.h“

/***********************************************************************
*keydll_2
***********************************************************************/ /*
//按键处理
void keydll_2(void)
{
INT8U key_2 = 0; //记录按键值
static bit F_KeyPressing_2  = 0;//记录按键状态:0为没有按键按下,1为有按键按下
static INT8U longkeycount_2 = 0;//记录长按处理的次数
////////////////////////////////////////////////////
if((!KEYIN0_MAIN) || (!KEYIN1_MAIN) || (!KEYIN2_MAIN)) //按键值读取
{
if(!KEYIN0_MAIN)
{key_2 = 0x01;}// 0x03;}//
if(!KEYIN1_MAIN)
{key_2 = 0x02;}
if(!KEYIN2_MAIN)
{key_2 = 0x03;}//0x01;}//
}
if(Key_long_flag)  //允许长按事件发生
{
if((key_2 == 2)||(key_2 == 3)) //需要长按处理的键添加到这里 //需要长按处理的键添加到这里
{
longkeycount_2++;
if(longkeycount_2 >= 60) //有效长按时间
{
longkeycount_Space_flag = 1;
}
if(longkeycount_Space_flag) 
{
  longkeycount_Space++;
  if(longkeycount_Space >= 7)//要长按处理的间隔
{key_count_flg = 1;longkeycount_Space = 0;}
}
}
}  
///////////////////////////////////////////////////
if(key_2 != 0 && F_KeyPressing_2 == 0 || key_count_flg)//longkeycount_2 != 0)
{
key_count_flg = 0;
////////////////////////////////////////////////////
if((!KEYIN0_MAIN) || (!KEYIN1_MAIN) || (!KEYIN2_MAIN))  //按键值读取
{
if(!KEYIN0_MAIN)
{key_2 = 0x01;}//0x03;}//
if(!KEYIN1_MAIN)
{key_2 = 0x02;}
if(!KEYIN2_MAIN)
{key_2 = 0x03;}//0x01;}//
}
////////////////////////////////////////////////////
if(key_2 == 0) //抖动
{
longkeycount_2 = 0;
return;  //抖动不处理,返回
}
if(F_KeyPressing_2 == 0) //如果之前没有按键按下
{
F_KeyPressing_2 = 1; //设置按键已经按下标志
}
switch(key_2)

          case  0x00  : {} break;
          case  0x01  : {
Key3_1_flag = ~Key3_1_flag;
} break;
case  0x02  : {
Key3_2_flag = 1;
} break;
case  0x03  : {
Key3_3_flag = 1;
} break;
default     :  break;
}
}
else
{
if((!KEYIN0_MAIN) || (!KEYIN1_MAIN) || (!KEYIN2_MAIN))
{
if(!KEYIN0_MAIN)
{key_2 = 0x01;}//0x03;}//
if(!KEYIN1_MAIN)
{key_2 = 0x02;}
if(!KEYIN2_MAIN)
{key_2 = 0x03;}//0x01;}//
}
if(key_2 == 0) //如果当前没有按键按下
{
if(F_KeyPressing_2) //如果之前有按键按下
{
longkeycount_Space_flag = 0;
longkeycount_2 = 0;  //恢复长按计数为0,即表示没有长按发生
F_KeyPressing_2 = 0; //恢复按键状态标志为0,即没有按键按下
}
}
}
}
/***********************************************************************
*KeyTransfer  //3键模式按键扫描
***********************************************************************//*
void KeyTransfer(void)
{
if(!keycnc_flg)  
{
if((!KEYIN0_MAIN) || (!KEYIN1_MAIN) || (!KEYIN2_MAIN))
{
keycnc_flg = 1;
Clk20ms = 0;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2467  2009-03-31 00:28  dmx512led-加协议0405_40\5404_Uv2.Bak

     文件       2613  2009-03-31 19:52  dmx512led-加协议0405_40\dmx512led.Uv2

     文件       2745  2009-03-31 19:52  dmx512led-加协议0405_40\dmx512led.Opt

     文件    1097728  2009-03-12 18:43  dmx512led-加协议0405_40\HW-LED011A.doc

     文件       6376  2005-03-22 15:22  dmx512led-加协议0405_40\STARTUP.A51

     文件      29736  2009-03-12 22:38  dmx512led-加协议0405_40\主板原理图.sch

     文件      17207  2009-04-05 15:04  dmx512led-加协议0405_40\5404.plg

     文件        749  2009-04-05 15:04  dmx512led-加协议0405_40\STARTUP.OBJ

     文件      14049  2009-04-05 15:04  dmx512led-加协议0405_40\STARTUP.LST

     文件       3072  2009-04-05 15:04  dmx512led-加协议0405_40\5404.Opt

     文件      88740  2009-04-05 15:04  dmx512led-加协议0405_40\MAIN_MODE.lst

     文件       8340  2009-04-05 15:04  dmx512led-加协议0405_40\INTERRUPT_MODE.lst

    .......      3020  2009-04-05 14:26  dmx512led-加协议0405_40\5404_Opt.Bak

     文件      64403  2009-04-05 15:04  dmx512led-加协议0405_40\5404

     文件       4859  2009-04-02 00:13  dmx512led-加协议0405_40\新建 文本文档.txt

     文件       3516  2009-04-02 00:13  dmx512led-加协议0405_40\新建 文本文档.txt.bak

     文件       2497  2009-03-31 19:57  dmx512led-加协议0405_40\5404.Uv2

     文件        108  2009-04-05 15:04  dmx512led-加协议0405_40\5404.lnp

     文件      47410  2009-04-05 15:04  dmx512led-加协议0405_40\5404.M51

     文件       9310  2009-04-05 15:04  dmx512led-加协议0405_40\5404.hex

     文件      41421  2009-04-05 15:04  dmx512led-加协议0405_40\MAIN_MODE.obj

     文件          0  2009-04-04 22:59  dmx512led-加协议0405_40\新建 文本文档 (2).txt.bak

     文件       6729  2009-04-03 23:05  dmx512led-加协议0405_40\目标文件备份\5404.hex

     文件       3365  2009-03-18 08:43  dmx512led-加协议0405_40\Source File\deycnc_1.c

     文件       3647  2009-04-05 03:52  dmx512led-加协议0405_40\Source File\INTERRUPT_MODE.c

     文件      35357  2009-04-05 14:59  dmx512led-加协议0405_40\Source File\MAIN_MODE.c

     文件       5308  2009-04-05 14:26  dmx512led-加协议0405_40\Source File\StirTheCodeRead.c

     文件       2808  2009-03-17 15:49  dmx512led-加协议0405_40\Source File\Untitled.c

     文件       7439  2009-03-04 10:47  dmx512led-加协议0405_40\Source File\Untitled.cwg

     文件      16133  2007-03-24 15:51  dmx512led-加协议0405_40\Other File\c8051F340.h

............此处省略16个文件信息

评论

共有 条评论

相关资源