矩陣鍵盤實驗程序
void DigDisplay()
{
unsigned char i;
unsigned int j;
wei = wei1[i]; //發(fā)送位選
duan = duan1[ge]; //發(fā)送段碼
j = 10; //掃描間隔時間設(shè)定
while(j--);
duan = 0x00; //消隱
}
void s(unsigned char xms)
{
unsigned char x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
void keys()
{
P1=0x7f;
temp=P1;
if(temp!=0x7f)
{
s(5);
temp=P1;
if(temp!=0x7f)
{
temp=temp&0x0f;
switch(temp)
{
case 0x07:ge=0;break;
case 0x0b:ge=1;break;
case 0x0d:ge=2;break;
case 0x0e:ge=3;break;
}
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
DigDisplay();
}
}
}
P1=0xbf;
temp=P1;
if(temp!=0xbf)
{
s(5);
temp=P1;
if(temp!=0xbf)
{
temp=temp&0x0f;
switch(temp)
{
case 0x07:ge=4;break;
case 0x0b:ge=5;break;
case 0x0d:ge=6;break;
case 0x0e:ge=7;break;
}
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
DigDisplay();
}
}
}
P1=0xdf;
temp=P1;
if(temp!=0xdf)
{
s(5);
temp=P1;
if(temp!=0xdf)
{
temp=temp&0x0f;
switch(temp)
{
case 0x07:ge=8;break;
case 0x0b:ge=9;break;
case 0x0d:ge=10;break;
case 0x0e:ge=11;break;
}
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
DigDisplay();
}
}
}
P1=0xef;
temp=P1;
if(temp!=0xef)
{
s(5);
temp=P1;
if(temp!=0xef)
{
temp=temp&0x0f;
switch(temp)
{
case 0x07:ge=12;break;
case 0x0b:ge=13;break;
case 0x0d:ge=14;break;
case 0x0e:ge=15;break;
}
while(temp!=0x0f)
{
temp=P1;
temp=temp&0x0f;
DigDisplay();
}
}
}
關(guān)鍵詞:
矩陣鍵盤實驗程
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號放大器
評論