📄 sy2.c
字号:
//PB port as led data port
#define LED_DATA_DDR DDRB
#define LED_DATA_PORT PORTB
#define LED_DATA_PIN PINB
//PD port as led select port
#define LED_ADD_DDR DDRD
#define LED_ADD_PORT PORTD
#define LED_ADD_PIN PIND
#include <avr/io.h>
#include <inttypes.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include "Key.h" //此文件包含上面的Keyboard()函数
uint8_t ledcode[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67,0x77,0x7C,0x58,0x5E,0x79,0x71};
void Initi_Device(void)
{
LED_ADD_DDR=0xFF;
LED_ADD_PORT=0xFE;
LED_DATA_DDR=0xFF;
LED_DATA_PORT=0x3F;
}
SIGNAL(SIG_OVERFLOW0)
{ static uint8_t Keynum=16;
TCNT0=0xB2;
Keynum=Keyboard(); //读取键盘值
if(Keynum<16)
LED_DATA_PORT=ledcode[Keynum];
}
int main(void)
{Initi_Device();
DDRC=0x0F;
PORTC=0xFF;
DDRD=0xFF;
PORTD=0x00;
DDRB=0xFF;
PORTB=0x00;
TCCR0=5;
TCNT0=0xB2;
TIMSK=(1<<TOIE0);
sei();
for (;;)
{}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -