📄 main.bak
字号:
/**********************************************************************************************
main.c file
ADuC7027的第五个实验——按键处理
作者:Computer-lov
建立日期:2006-4-11
修改日期:2006-4-11
版本:V1.0
版权所有,盗版必究。
任何技术问题可到我的博客上留言: http://computer00.21ic.org
Copyright(C) Computer-lov 2006-2016
All rights reserved
**********************************************************************************************/
#include <../My_type.h>
#include <ADuC7027.H>
#include <../LED.H>
#include "KEYS.h"
/*********************************************************************************************/
void SysClkInit(void)
{
PLLKEY1=0xAA;
PLLCON=0x01; //PLL配置
PLLKEY2=0x55;
POWKEY1=0x01;
POWCON=0x00; //CPU时钟配置为41.78MHz
POWKEY2=0xF4;
// while(!(PLLSTA & 0x01));
}
///////////////////////////////////////////////////////////////////////////////////////////////
/*********************************************************************************************/
void DelayXms(uint32 x)
{
uint32 i;
while(x--)
{
i=5300;
while(i--);
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
/*********************************************************************************************/
void main(void)
{
SysClkInit();
KEYBoardInit();
EN_LED4();
EN_LED5();
EN_LED6();
EN_LED7();
OFF_LED4();
OFF_LED5();
OFF_LED6();
OFF_LED7();
while(1)
{
DelayXms(10); //延迟10mS,即每隔10mS扫描一次键盘。
ScanKey(); //也可以将将键盘扫描程序放到10mS的定时中断中,这样主程序就可以安心干活了
if(Key.Value) //如果有按键按下
{
switch(Key.Value)
{
case KEY1: //短按键或者按住键2秒不放的自动按键,则开、关LED
if(GP3DAT & (1<<(16+LED4)))ON_LED4();
else OFF_LED4();
break;
case KEY2:
if(GP3DAT & (1<<(16+LED5)))ON_LED5();
else OFF_LED5();
break;
case KEY3:
if(GP3DAT & (1<<(16+LED6)))ON_LED6();
else OFF_LED6();
break;
case KEY4:
if(GP3DAT & (1<<(16+LED7)))ON_LED7();
else OFF_LED7();
break;
case KEY1L: ON_LED4();break; //长按键,打开LED
case KEY2L: ON_LED5();break;
case KEY3L: ON_LED6();break;
case KEY4L: ON_LED7();break;
}
Key.Value=0;
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -