📄 main.c
字号:
#include "main.h"
int main()
{
SPCR=0x51;//SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);主/使能/16分频
DDRB=0x2C;//(1<<DDRB5)(1<<DDRB3)|(1<<PB2);PB2,PB3和PB5为输出;
DDRC=0<<DDC3;
PORTC=1<<PC3;
while(1)
{
QDD();
if(AJ==1)//按键
{
key++;
show1();
}
else
{
show1();
}
}
}
void QDD()//检测有键按下并去抖动
{
char i,k;
k=PINC;
if((k&0x08)==0)//有键按下
{
for(i=0;i<10;i++)
{
if((k&0x08)!=0)//无键按下
{
AJ=0;
return;
}
}
AJ=1;
}
else
{
AJ=0;
}
}
void show1()
{
int i,j,k;
k=(key%10);//0-9循环
for(i=0;i<180;i++)
{
PORTB=PORTB&(~4);
in(b[0]);//选择LED
for(j=0;j<3;j++)
{
in(a[k]);//显示的数字
}
PORTB=PORTB|4;
_delay_ms(1);
}
}
void in(char data )
{
SPDR=data;//传数据
while(!(SPSR & (1<<SPIF)))//等待数据传完
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -