?? key.c
字號:
#include<reg51.h>
#include"Config.h"
#include"IOCfg.c"
#include"TimeDLY.h"
#include"Key.h"
//函數:SPI_WriteOneByte()
//功能:向SPI總線寫數據
//說明:寫入的數據長度為1字節
void SPI_WriteOneByte(INT8U Wdata)
{
INT8U i;
for(i=0;i<8;i++)
{
ZLG7289DIO = (bit)(Wdata&0x80);
ZLG7289CLK = 1;
Wdata <<= 1;
nNop(1);
ZLG7289CLK = 0;
nNop(1);
}
}
//函數:SPI_ReadOneByte()
//功能:從SPI總線讀數據
//說明:返回1字節數據
INT8U SPI_ReadOneByte()
{
INT8U i,temp;
ZLG7289DIO = 1; //將I/O切換到輸入狀態
for(i=0;i<8;i++)
{
ZLG7289CLK = 1;
nNop(5);
temp <<= 1;
if(ZLG7289DIO) temp++;
ZLG7289CLK = 0;
nNop(5);
}
return temp;
}
//函數:ZLG7289_Instruc()
//功能:執行ZLG7289純指令
//說明:指令長度為1字節
void ZLG7289_Instruc(INT8U Instruc)
{
INT8U i;
i = IE;
IE &= 0xfa; // Disable external interrupt;
ZLG7289CS = 0;
nNop(5);
SPI_WriteOneByte(Instruc);
ZLG7289CS = 1;
nNop(5);
IE = i;
}
//函數:ZLG7289_Instruc_Data
//功能:執行ZLG7289帶數據指令
//說明:指令長度以及數據長度均為1字節
void ZLG7289_Instruc_Data(INT8U Instruc,INT8U Data)
{
INT8U i;
i = IE;
IE &= 0xfa;
ZLG7289CS = 0;
nNop(5);
SPI_WriteOneByte(Instruc);
nNop(5);
SPI_WriteOneByte(Data);
ZLG7289CS = 1;
nNop(5);
IE = i;
}
//函數:ZLG7289_ReadKey()
//功能:執行ZLG7289讀鍵盤指令
//說明:返回1字節的按鍵號
// 按鍵號的范圍為:0 ~ 63(即0x0 ~ 0x3f)
// 若沒有按按鍵被按下了,返回255(即0xff)
INT8U ZLG7289_ReadKey()
{
INT8U Key;
ZLG7289CS = 0;
nNop(10);
SPI_WriteOneByte(0x15);
nNop(5);
Key = SPI_ReadOneByte();
nNop(1);
ZLG7289CS = 1;
nNop(5);
return Key;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -