?? lesson5._c
字號:
#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
#pragma data:code
const table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0};
void delay(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<1141;j++);
}
}
void show(uchar j,uchar k)
{
PORTA|=BIT(3);
PORTB=table[j];
PORTA&=~BIT(3);
PORTB=0XFF;
PORTB&=~BIT(k);
PORTA|=BIT(4);
PORTA&=~BIT(4);
delay(1);
}
uchar key_press()
{
uchar j;
DDRD|=0X0F;
PORTD|=0X0F;
DDRD&=0XF0;
j=PIND;
j=j&0X0F;//00001111
if(j==0X0F)
{
return 0;
}
else
{
return 1;
}
}
uchar key_scan()
{
uchar key;
delay(10);
if(key_prss())
{
key=PIND;
key&=0X0F;
switch(key)
{
case 0X0E:
key=1;
break;
case 0X0D:
key=2;
break;
case 0X0B:
key=3;
break;
case 0X07:
key=4;
break;
default:
key=16;
}
while(key_press());
}
else
{
key=16;
}
return key;
}
void main()
{
uchar i,l;
DDRA|=0X18;//0001 1000
DDRB=0XFF;
while(1)
{
i=key_press();
if(i)
{
l=key_scan();
show(l,0);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -