资源简介
迷宫小车代码.c
代码片段和文件信息
//示例迷宫信息
/*uchar map[8][8] = {{0x070x050x090x030x010x050x090x0b}
{0x030x050x000x080x0a0x0b0x0a0x0a}
{0x0a0x0b0x0a0x0e0x0e0x020x000x0c}
{0x0a0x020x000x050x050x080x0a0x0b}
{0x060x0c0x0a0x0b0x0b0x0a0x0a0x0a}
{0x030x010x0c0x0a0x020x080x060x08}
{0x0a0x020x050x040x080x020x050x0c}
{0x0e0x060x050x0d0x0e0x060x050x0d}};
uchar map[8][8] = {{0x070x050x090x030x050x050x090x0b}
{0x030x010x080x060x010x0d0x0a0x0a}
{0x0a0x0a0x060x050x000x050x000x0c}
{0x0e0x020x050x0d0x0a0x070x040x09}
{0x070x040x010x0d0x0a0x070x050x08}
{0x030x010x040x050x040x010x0d0x0a}
{0x0a0x0a0x030x050x050x000x050x0c}
{0x0e0x060x040x050x0d0x060x050x0d}};*/
/*
地图默认从左下角为起点,右上角为终点,按照坐标的记忆方式,这样的上下左右是固定的
07 17 27 37 47 57 67 77
06 16 26 36 46 56 66 76
05 15 25 35 45 55 65 75
04 14 24 34 44 54 64 74
03 13 23 33 43 53 63 73
02 12 22 32 42 52 62 72
01 11 21 31 41 51 61 71
00 10 20 30 40 50 60 70
跟数组的方向转了90°
数组的记忆方式是
00 01 02 03 04 05 06 07
10 11 12 13 14 15 16 17
20 21 22 23 24 25 26 27
30 31 32 33 34 35 36 37
40 41 42 43 44 45 46 47
50 51 52 53 54 55 56 57
60 61 62 63 64 65 66 67
70 71 72 73 74 75 76 77
因此示例迷宫信息在看的时候注意将地图信息逆时针旋转90°来观认
注意:“全体代码均按照坐标方式进行记忆和标记,非数组的排列方式 ”
全篇信息记录也可以改做为数组记忆方式,不过得重新确定上下左右的方向以及修改通过A(小车方向)来执行命令的代码
*/
#include
#define uchar unsigned char
#define uint unsigned int
uchar map[8][8] = {0xff}; //地图信息
uint t = 5000; //坐标,定时器时间
uchar x = 0y = 0 i j A = 0 m n flag count;//标记 ,A用于记录方向,0是上,1是右,2是下,3是左
uchar code forw[8] = {0x110x930x820xc60x440x6c0x280x39}; //前进
uchar code tR[8] = {0x110x330x220x660x440xcc0x880x99}; //往左偏
uchar code tL[8] = {0x110x990x880xcc0x440x660x220x33}; //往右偏
char r[8][8] = {0}; //等高表的存储
uchar irC = 0irL = 0irR = 0irLU = 0irRU = 0;//传感器
uchar code table[]={0xc00xf90xa40xb00x990x920x820xf80x800x90};//数码管的显示数字
sfr P4 = 0xe8; //定义P4
sbit beep = P3^7; //蜂鸣器
sbit irR1 = P2^1; //前
sbit irR2 = P2^2; //左前
sbit irR3 = P2^3; //左
sbit irR4 = P2^4; //右
sbit irR5 = P2^5; //右前
sbit well = P4^3; //数码管
sbit welr = P4^2; //数码管
sbit A0 = P4^0;
sbit A1 = P2^0;
sbit A2 = P2^7;
void Delay_ms(uint ms) //延时函数
{
uchar k;
while(ms--)
for(k = 0; k < 114; k++);
}
/*void Display(uint s) //数码管显示
{
uint ab;
a = s/10;
b = s%10;
well=0;
P0=table[b];
Delay_ms(5);
well=1;
welr=0;
P0=table[a];
Delay_ms(5);
welr=1;
}*/
void CorrectR() //向右修正
{
for(m = 0; m < 4; m++)
for(n = 0; n < 8; n++)
{
P1 = tR[n];
Delay_ms(2);
}
}
void CorrectL() //向左修正
{
for(m = 0; m < 4; m++)
{
for(n = 0; n < 8; n++)
{
P1 = tL[n];
Delay_ms(2);
}
}
}
void Forward() //前进一格
{
for(i = 0; i < 105; i++)
{
for(j = 0; j < 8; j++)
{
P1
相关资源
- 超星尔雅小助手答题版本.exe
- Facedetectionfacerecognitiondataset.txt
- 1.2北理工成电东南.pdf
- A2012MCMProblems.pdf
- 2020美赛专用模板-替换成控制号.zip
- testdata.txt
- 集码客户端.rar
- AltiumDesigner19软件安装与破解详细图文
- 浙江省.shp
- SpringSecurity开发安全的REST服务.txt
- dcsssfdf.rar
- C1StudioEnterprise_Keygen1.rar
- CG3.sln
- IC工具客户端(康拓)1551.zip
- GBT7714-2015.ens
- 微信小程序项目.zip
-
app_wheeljack_stax_xm
l - MindjetManager2019.txt
- 数字图像处理视频(冈萨雷斯配套详
- 全中文、可视化易语言编写手机安卓
- 源代码教育经典的ExtJS全套教学视频
- WindowsCE嵌入式开发视频及书籍.txt
- ios-高仿网易新闻.zip
- DarkShell.rar
- 小蓝VC传奇3逆向研究三部曲.txt
- .NET教学管理系统源码合集.txt
- HeadFirst系列电子书合集.txt
- 模拟硬盘物理序列号工具(驱动级)
- XCell绿色版(补丁制作软件).rar
- CAD桩自动编号及坐标提取工具.rar
评论
共有 条评论