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

📄 角度传感器.i

📁 avr基础程序大全
💻 I
字号:
#line 35 "D:\PROGRA~1\AVR\include\AVRdef.h"
unsigned char FlashReadByte(unsigned char ramp, unsigned addr);
unsigned FlashReadWord(unsigned char ramp, unsigned addr);
unsigned long FlashReadLWord(unsigned char ramp, unsigned addr);
void FlashReadBytes(unsigned char ramp, unsigned addr, unsigned char *buf, int n);



unsigned char EDataReadByte(unsigned char ramp, unsigned addr);
unsigned EDataReadWord(unsigned char ramp, unsigned addr);
unsigned long EDataReadLWord(unsigned char ramp, unsigned addr);
void EDataReadBytes(unsigned char ramp, unsigned addr, unsigned char *buf, int n);

void EDataWriteByte(unsigned char ramp, unsigned addr);
void EDataWriteWord(unsigned char ramp, unsigned addr);
void EDataWriteLWord(unsigned char ramp, unsigned addr);
void EDataWriteBytes(unsigned char ramp, unsigned addr, unsigned char *buf, int n);






















void _StackCheck(void);
void _StackOverflowed(char);

#line 14 "E:\AVR自编程序\11avr实验板\22角度~1\12864.h"
void delay()
{
 asm("nop");
 asm("nop");
}
void delay_us(unsigned int i)
{
 while(i--)
 {;}
}
void delay_ms(unsigned int i)
{
 unsigned int a;
 for(;i;i--)
 {
 for(a=0;a<672;a++);
 }
}
void wr_bit(unsigned char n,unsigned char data)
{
 for(;n;n--) 
 {
 if(data&0x80) 
 {(*(volatile unsigned char *)0x35) |= (1 << (6));}
 else
 {(*(volatile unsigned char *)0x35) &= ~(1 << (6));}
 data=data<<1; 
 delay();
 (*(volatile unsigned char *)0x35) |= (1 << (7)); 
 delay();
 (*(volatile unsigned char *)0x35) &= ~(1 << (7));
 }
}
void write_shuju(unsigned char a,unsigned char b)
{
 (*(volatile unsigned char *)0x35) &= ~(1 << (7));

 wr_bit(5,0xFF); 

 wr_bit(1,0x00); 

 if(a==0) 
 wr_bit(1,0x00); 
 else
 wr_bit(1,0x80); 

 wr_bit(1,0x00); 

 wr_bit(4,b); 

 wr_bit(4,0x00); 

 wr_bit(4,(b<<4)); 

 wr_bit(4,0x00); 

 (*(volatile unsigned char *)0x35) |= (1 << (6)); 
}
void lcd12864_init()
{
 write_shuju(0,0x30); 
 delay_us(200);
 write_shuju(0,0x30); 
 delay_us(80);
 write_shuju(0,0x0C); 
 delay_us(80);
 write_shuju(0,0x40); 
 delay_us(200);
 write_shuju(0,0x01); 
 delay_ms(100);

}
void write_hz(char *s)
 {
 while(*s)
 {
 write_shuju(1,*s);
 s++;
 }
}
void locate(unsigned char x,unsigned char y)
{
 switch(x)
 {
 case 1:write_shuju(0,(0x80+y-1)); break;
 case 2:write_shuju(0,(0x90+y-1));break;
 case 3:write_shuju(0,(0x88+y-1));break; 
 case 4:write_shuju(0,(0x98+y-1));break;
 default:break; 
 }
}
void cls()
{
 delay_us(200);
 write_shuju(0,0x01); 
 delay_ms(20);
}
#line 4 "E:\AVR自编程序\11avr实验板\22角度~1\角度传感器.c"
unsigned char tempRece;
#pragma interrupt_handler uart0_rx_isr:12
#pragma interrupt_handler uart0_tx_isr:14
unsigned char dis[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
char i=0;








void IO_init(void)
{
 (*(volatile unsigned char *)0x31) =0X22; 
 (*(volatile unsigned char *)0x32)=0XFF;
}
void uart0_rx_isr(void) 
{
tempRece=(*(volatile unsigned char *)0x2C);
(tempRece==''){i=0;}
dis[i]=tempRece;
i++;if(i==16)i=0; 
}
void uart0_tx_isr(void) 
{
}






void main(void)
{
 unsigned char temp;
 IO_init();
 asm("sei"); 
 Usart_init();
 while(1){}
}
void Usart_init(void)
{
 (*(volatile unsigned char *)0x2B)=0X02; 
 (*(volatile unsigned char *)0x2A)|=(1<<7)|(1<<6)|(1<<4)|(1<<3); 
 (*(volatile unsigned char *)0x40)|=(1<<7)|(1<<2)|(1<<1); 
 (*(volatile unsigned char *)0x29)=12; 
}

void Usart_Transmit(unsigned char i)
{
 while(!((*(volatile unsigned char *)0x2B)&(1<<5))); 
 (*(volatile unsigned char *)0x2C)=i; 

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -