?? 角度傳感器.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 + -