⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1._c

📁 AVR mega16双机通讯实验 从机接受数据并发送到lcd1602上显示
💻 _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 + -