eecs-bsp-test-code/8/main.c

64 lines
1.2 KiB
C

#include "STC15F2K60S2.H"
#include "adc.h"
#include "displayer.h"
#include "sys.H"
#include "Key.H"
#include "universal_decode_table.h"
code unsigned long SysClock = 11059200; //必须。定义系统工作时钟频率(Hz),用户必须修改成与实际工作频率(下载时选择的)一致
char lPos=4,rPos=3;
// change the i-th bit of char to t
char change_bit(char i,char t,char c)
{
char temp;
temp=c;
if(t==0)
temp&=~(1<<i);
else
temp|=(1<<i);
return temp;
}
void navigate()
{
char l,r;
l=GetAdcNavAct(enumAdcNavKeyLeft);
r=GetAdcNavAct(enumAdcNavKeyRight);
if(l==enumKeyPress)
{
lPos=(lPos+1)%8;
}
if(r==enumKeyPress)
{
rPos=rPos-1;
if(rPos<0)
rPos=7;
}
}
void displayLed()
{
char led=0x00;
led=change_bit(lPos,1,led);
led=change_bit(rPos,1,led);
LedPrint(led);
}
void main()
{
DisplayerInit();
AdcInit(ADCincEXT);
SetDisplayerArea(0, 7);
Seg7Print(10, 10, 10, 10, 10, 10, 10, 10);
LedPrint(0x00);
SetEventCallBack(enumEventNav, navigate);
SetEventCallBack(enumEventSys10mS,displayLed);
MySTC_Init();
while (1)
{
MySTC_OS();
}
}