?? ctr.c
字號:
#include "LF2407A.h"
extern unsigned int _nClearKey,_ledx[8],_ledbuf[8],_ledkey[11][8];
#define DELAYTIME 64
void CTRInit()
{
int i;
/* CTRGR=0; CTRDelay(1,0);
CTRGR=0x80; CTRDelay(1,0);
CTRGR=0; CTRDelay(1,0); // 使能CTR
CTRLR=0; CTRDelay(1,0); CTRLR=0x40; CTRDelay(1,0); CTRLR=0x0c0; */
LCDCMD(LCDCMDTURNOFF);
_nClearKey=CTRCLKEY;
LBDS=0;
for ( i=0;i<8;i++ ) _ledx[i]=(i<<4)|8; // 生成顯示列控制字
}
void LCDCMD(unsigned char dbCommand)
{
CTRLCDCMDR=dbCommand; CTRLCDCR=0;
}
void LCDPutString(unsigned int *pData,int x,int y,unsigned int nCharNumber,unsigned color)
{
int i,j,l;
unsigned int k,mcolor;
for ( l=0;l<nCharNumber;l++ )
for ( i=0;i<8;i++ )
{
k=1;
for ( j=0;j<16;j++,k<<=1 )
{
if ( color==2 ) mcolor=2;
else
{
mcolor=( pData[l*8+i]&k )?(1):(0);
if ( color==0 ) mcolor=1-mcolor;
}
LCDPutPixel(x+l*8+i,y-j,mcolor);
}
}
//LCDRefreshScreen();
}
char ConvertScanToChar(unsigned char cScanCode)
{
char cReturn;
cReturn=0;
switch ( cScanCode )
{
case SCANCODE_0: cReturn='0'; break;
case SCANCODE_1: cReturn='1'; break;
case SCANCODE_2: cReturn='2'; break;
case SCANCODE_3: cReturn='3'; break;
case SCANCODE_4: cReturn='4'; break;
case SCANCODE_5: cReturn='5'; break;
case SCANCODE_6: cReturn='6'; break;
case SCANCODE_7: cReturn='7'; break;
case SCANCODE_8: cReturn='8'; break;
case SCANCODE_9: cReturn='9'; break;
case SCANCODE_Plus: cReturn='+'; break;
case SCANCODE_Minus: cReturn='-'; break;
}
return cReturn;
}
void SetLEDArray(int nNumber)
{
int i;
for ( i=0;i<8;i++ )
_ledbuf[i]=~_ledkey[nNumber][7-i];
}
void RefreshLEDArray()
{
int i;
for ( i=0;i<8;i++ )
{
CTRGR=_ledx[i];
CTRLA=_ledbuf[i];
}
}
void CTRDelay(unsigned int nDelay,unsigned int bShowLEDArray)
{
int ii,jj,kk=0;
for ( ii=0;ii<nDelay;ii++ )
{
for ( jj=0;jj<DELAYTIME;jj++ )
{
kk++;
if ( bShowLEDArray )
RefreshLEDArray();
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -