appmain.c
来自「在EPSON开发平台上实现键盘控制 并通过外部LED显示出来」· C语言 代码 · 共 112 行
C
112 行
#include "main.h"
#include "16timer.h"
#include "common.h"
#include "int.h"
#include "presc.h"
extern void vInitKey(void);
void vInitLED(void);
extern void init_ledtimer(void);
extern unsigned char gucKeyCode;
void main(void)
{
vInitLED();
init_ledtimer();
vInitKey();
*( volatile unsigned char * )0x402D1 |= 0x0f; //关闭LED
while(1)
{
switch( gucKeyCode )
{
case 29:
*( volatile unsigned char * )0x402D1 &=~0x04; //light_led(1);
*(volatile unsigned char *)T16P_PRUN0_ADDR |= T16P_PRUN_RUN;//开启定时器
*(volatile unsigned char *)INT_EP0_EK_ADDR &= ~0x10; // 关闭键盘,确保键盘不会打断定时过程
gucKeyCode = NULL;
break;
case 37:
*( volatile unsigned char * )0x402D1 &=~0x02;//light_led(2);
*(volatile unsigned char *)T16P_PRUN0_ADDR |= T16P_PRUN_RUN;//开启定时器
*(volatile unsigned char *)INT_EP0_EK_ADDR &= ~0x10; // 关闭键盘,确保键盘不会打断定时过程
gucKeyCode = NULL;
break;
case 28:
*( volatile unsigned char * )0x402D1 &=~0x01;//light_led(3);
*(volatile unsigned char *)T16P_PRUN0_ADDR |= T16P_PRUN_RUN;//开启定时器
*(volatile unsigned char *)INT_EP0_EK_ADDR &= ~0x10; // 关闭键盘,确保键盘不会打断定时过程
gucKeyCode = NULL;
break;
case 35:
*( volatile unsigned char * )0x402D1 &=~0x08;//light_led(4);
*(volatile unsigned char *)T16P_PRUN0_ADDR |= T16P_PRUN_RUN;//开启定时器
*(volatile unsigned char *)INT_EP0_EK_ADDR &= ~0x10; // 关闭键盘,确保键盘不会打断定时过程
gucKeyCode = NULL;
break;
default:
gucKeyCode = NULL;
break;
}
/*
if(gucKeyCode == 29)
{
*( volatile unsigned char * )0x402D1 &=~0x04; //light_led(1);
*(volatile unsigned char *)T16P_PRUN0_ADDR |= T16P_PRUN_RUN;//开启定时器
*(volatile unsigned char *)INT_EP0_EK_ADDR &= ~0x10; // 关闭键盘,确保键盘不会打断定时过程
}
else if(gucKeyCode == 37)
{
*( volatile unsigned char * )0x402D1 &=~0x02;//light_led(2);
*(volatile unsigned char *)T16P_PRUN0_ADDR |= T16P_PRUN_RUN;//开启定时器
*(volatile unsigned char *)INT_EP0_EK_ADDR &= ~0x10; // 关闭键盘,确保键盘不会打断定时过程
}
else if(gucKeyCode == 28)
{
*( volatile unsigned char * )0x402D1 &=~0x01;//light_led(3);
*(volatile unsigned char *)T16P_PRUN0_ADDR |= T16P_PRUN_RUN;//开启定时器
*(volatile unsigned char *)INT_EP0_EK_ADDR &= ~0x10; // 关闭键盘,确保键盘不会打断定时过程
}
else if(gucKeyCode == 35)
{
*( volatile unsigned char * )0x402D1 &=~0x08;//light_led(4);
*(volatile unsigned char *)T16P_PRUN0_ADDR |= T16P_PRUN_RUN;//开启定时器
*(volatile unsigned char *)INT_EP0_EK_ADDR &= ~0x10; // 关闭键盘,确保键盘不会打断定时过程
}
else
gucKeyCode = NULL;
*/
}
}
void vInitLED( void )
{
*( volatile unsigned char * )0x402D0 &= 0x0F0;
*( volatile unsigned char * )0x402D2 |= 0x0F;
*( volatile unsigned char * )0x402D1 &= ~0x0F;
}
/*
void delay()
{
int i,j;
for (i = 0;i<20000;i++)
j += (i >1000)?i/2 *3 +10: i;
}
*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?