📄 main.c
字号:
#define Speech_1 0
#define DAC1 1
#define DAC2 2
#define Ramp_UpDn_Off 0
#define Ramp_UpDn_On 3
#define Auto 1
#include "s480.h"
#include "hardware.h"
unsigned int ironnum;
unsigned int ironflag;
unsigned int timenum;
unsigned int i;
unsigned int uiIOA;
unsigned int *p;
unsigned int m,j,k;
int Light_Flag;
main()
{
ironnum=0;
ironflag=0;
timenum=0;
SP_Init_IOA(0xff00,0xff00,0x00ff);//A口高8位接LED8码输出,低8位传感器输入
SP_Init_IOB(0xffbf,0xffff,0x0000);//B口低8位同相输出
F_MoterAtoC();
//F_Delay10ms();
while (1)
{
p=0x7000;
uiIOA=*p;
uiIOA=uiIOA&0x0070;
switch(uiIOA)
{
case 0x0070:
SP_Export(Port_IOB_Data,0x2e00); //前进
break;
case 0x0010:
SP_Export(Port_IOB_Data,0x0e00); //左拐
F_Delay10ms();
break;
case 0x0030:
SP_Export(Port_IOB_Data,0x0e00); //左拐
F_Delay10ms();
break;
case 0x0040:
SP_Export(Port_IOB_Data,0x2600); //右拐
F_Delay10ms();
break;
case 0x0060:
SP_Export(Port_IOB_Data,0x2600); //拐
F_Delay10ms();
break;
default:
break;
}
if(ironflag==1)
{
ironflag=0;
SACM_S480_Initial(1);
SACM_S480_Play(Speech_1, DAC1+DAC2, Ramp_UpDn_On); //放音
while(SACM_S480_Status()&0x01)
{
SACM_S480_ServiceLoop();
}
}
i=ironnum;
F_Show(1,i);
if(i==4)
break;
}
// Get_aim:
SP_Export(Port_IOB_Data,0x0005);
//r1=0x05 //直行
F_Delay2s();//延时0。5m
p=0x7000;
m=*p;
//m=*P_IOA_Data;
m=m&&0x0002;
while (m=1) //检测前面障碍物
{
//case 0x0007: //1表示无障碍
SP_Export(Port_IOB_Data,0x0005) ;//此处须修改IOB8~IOB15为电机的控制信号
F_Delay10ms() ;
p=0x7000;
m=*p;
m=m&&0x0002;
}
SP_Export(Port_IOB_Data,0x0004) ;//左传
F_Delay10ms();
//F_TurnLeftCtr();
SP_Export(Port_IOB_Data,0x0005); //直行
F_Delay10ms() ;
p=0x7000;
j=*p;
j=j&&0x0004;//j=0有章碍物
//j=~j;
while (j=0)
{
SP_Export(Port_IOB_Data,0x0005); //直行
F_Delay10ms() ;
p=0x7000;
j=*p;
j=j&&0x0004;
}
SP_Export(Port_IOB_Data,0x0001) ;//右传
F_Delay10ms();
SP_Export(Port_IOB_Data,0x0005); //直行
F_Delay2s();
check_light:
p=0x7000;
//k=~k;
k=*p;
k=k|0xfff7; //IOA3为控制,地点平有效
k=k&&0x0008;
while (k=1)
//if(i=0) //检测Light——Flag
{
SP_Export(Port_IOB_Data,0x0001) ;//右传
F_Delay10ms() ;
p=0x7000;
k=*p;
k=k||0xfff7; //IOA3为控制,地点平有效
k=k&&0x0008;
// Light_Flag=1
}
SP_Export(Port_IOB_Data,0x0005) ;
F_Delay2s() ;
SP_Export(Port_IOB_Data,0x0000);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -