📄 1._c
字号:
#include < iom16v.h>
#include <macros.h>
unsigned char disp[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void delayms(void)
{
char a;
for(a=0;a<141;a++)
;
}
void delay(int a)
{
int b;
for(b=0;b<a;b++)
delayms();
}
void Spi_init()
{
DDRB|=(1<<7)|(1<<5)|(1<<4);
SPCR=0x73;
SPSR=0x00;
}
void Spi_Transmit(int a)
{
PORTB&=~(1<<4);
SPCR |= (1<<MSTR); // MSTR有时会被清零,这里强制进入主机模式
SPDR=a;
while(SPSR^0X80);
PORTB|=(1<<4);
}
void main()
{
unsigned char data;
DDRA=0x00;
PORTA=0xFF;
DDRB=0xFF;
PORTB=0xFF;
DDRC=0x00;
PORTC=0x00;
DDRD=0x00;
PORTD=0x00;
Spi_init();
while(1)
{
for(data=0;data<111;data++)
{
delay(1000);
Spi_Transmit(data);
}
if(data>111)
data=0;
//if(a==10) for循环中有了a=0相当于给a赋值0这样就不需要在判断a为10时再置零了
//a=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -