📄 64_led8.c
字号:
#include<avr/io.h>
#define setclk (PORTA|0x02) //CLK接PA1
#define clrclk (PORTA&0xfd)
#define setsda (PORTA|0x01) //DAT接PA0
#define clrsda (PORTA&0xfe)
const unsigned char DisTab[]=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9,-,全灭 (共阴字段表)
void Delay_ms(unsigned int Time)
{
unsigned char n=0;
while(Time>0)
{
for (n=1;n<187;n++)
{
;
}
Time--;
}
}
void SEND_164(unsigned char c)
{
unsigned char i;
c=DisTab[c];
for(i=0;i<8;i++)
{
if((c&0x80)==0) //模拟串口输出
PORTA=clrsda;
else
PORTA=setsda;
PORTA=setclk;
PORTA=clrclk;
c=c<<1;
PORTC=0X03;
}
}
int main (void)
{
unsigned char h;
DDRA=0xFF;
DDRC=0XFF;
PORTA=0X00;//位选
while(1)
{
for(h=0;h<10;h++) //轮流显示0-9
{
Delay_ms(50);
SEND_164(h);
Delay_ms(500);
PORTC=0X00;
}
h=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -