📄 code1.txt
字号:
BYTE KeyBaordSend(BYTE cSend)
{
BYTE ucData;
BYTE i;
BYTE ucPARITY;
// EX1=0; //disable interrupt
mcuClrIntEn();
if (PC_Extern_KeyBoard() == 0x00)
{
MCU_INTENA1A &= 0xEF;
}
ucData = cSend;
KBCLK=1;
if(!KBCLK) //if clk level is low,host disable data transmit,return 0
{
// EX1=1; //enable interrupt
return 0;
}
ucPARITY=Parity(ucData);//caculate the parity bit
//start condition
KBDATA=0;
MCU_Delayxus(12); //delay 16 us
KBCLK=0;
MCU_Delayxus(12); //delay 40 us
//tramsmit 8 bit data
for(i=0;i<8;i++) //send data LSB
{
KBCLK=1;
MCU_Delayxus(10); //delay 16 us
KBDATA=(ucData &0x01);
ucData =ucData >>1;
KBCLK=0;
MCU_Delayxus(12); //delay 16 us
}
//transmit EVEV/ODD parity
KBCLK=1;
KBDATA=ucPARITY; //send Even/ODD parity bit
MCU_Delayxus(12); //delay 16 us
KBCLK=0;
MCU_Delayxus(12); //delay 16 us
//stop condiction
KBCLK=1;
KBDATA=1; //send stop bit
MCU_Delayxus(12); //delay 16 us
KBCLK=0;
MCU_Delayxus(12); //delay 60 us
MCU_Delayxus(12); //delay 16 us
MCU_Delayxus(12); //delay 16 us
KBCLK=1;
MCU_Delayxus(12); //delay 16 us
//EX1=1; //enable interrupt
mcuSetIntEn();
if (PC_Extern_KeyBoard() == 0x00)
{
MCU_INTENA1A |= _BIT4; // enable INT1.4 for external P06 INT
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -