📄 main._c
字号:
#include "main.h"
unsigned char ReadPin(void)
{
unsigned char i;
/* 定义上拉电阻和设置高电平输出 */
/* 为端口引脚定义方向 */
PORTC = 0XFF;
DDRC = 0X00;
/* 为了同步插入nop 指令*/
_NOP();
/* 读取端口引脚*/
i = PINC;
}
void car_turn(unsigned char mes)
{
switch(mes)
{
case 0x00: forward(); break;
case 0x01: {
back_left();
delay(1000);
// car_stop();
// delay(1000);
for_right();
delay(1000);
}; break;
case 0x02: {
backward();
delay(1000);
for_left();
delay(1000);
}; break;
case 0x03: {
back_left();
delay(1000);
// car_stop();
// delay(1000);
for_right();
delay(1000);
}; break;
case 0x04: {
back_right();
delay(1000);
// car_stop();
// delay(1000);
for_left();
delay(1000);
}; break;
case 0x05: forward(); break;
case 0x06: {
back_right();
delay(1000);
// car_stop();
// delay(1000);
for_left();
delay(1000);
}; break;
case 0x07: {
backward();
delay(1000);
for_left();
delay(1000);
}; break;
case 0x30: for_left(); break;
case 0x28: forward(); break;
case 0x18: for_right(); break;
case 0x20: for_left(); break;
case 0x08: for_right(); break;
case 0x38: backward(); break;
default: forward(); break;
}
}
void main()
{
unsigned char mesg,mesc;
unsigned char pin = 0x00;
init_lcd();
LCD_write_string(0,0,"auto car");
LCD_write_string(0,1,"ATMega 16");
while(1)
{
mesg = 0x00;
mesc = 0x00;
pin = ReadPin();
mesc|= pin&0x07;
mesg|= pin&0x38;
if(mesc)
car_turn(mesc);
else
car_turn(mesg);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -