资源简介
智能小车寻迹(含霍尔测速)程序,用L5261602液晶动态显示速度,路程
代码片段和文件信息
#include
#include
/////////////////////////////////////////////////////////////////////
#define U8 unsigned char
#define U16 unsigned int
////////////////电机运动方式定义////////////////////////////////////
#define Zrun {int1=1;int2=0;int3=1;int4=0;} //直走
#define Rz {int1=0;int2=0;int3=1;int4=0;} //左转
#define Lz {int1=1;int2=0;int3=0;int4=0;} //右转
/*-----------------------端口命名------------------------*/
sbit rs=P1^0; //LCD的数据/命令选择端
sbit rw=P1^1; //LCD的读写选择端
sbit lcdcs=P1^2;//LCD的使能信号端
sbit int1=P2^0;
sbit int2=P2^1;
sbit int3=P2^2;
sbit int4=P2^3;
sbit in1 =P2^4;
sbit in2=P2^5;
sbit in3=P2^6;
sbit in4=P2^7;
///////////////函索声明///////////////////////////////////////////
void DelayMs(U8 ms);
void xz();
/*-------------------------------------------------------*/
/*-----------------------定义参数------------------------*/
U16 ijzzhuanmsecx=0s=0; //定义参数
U8 display[]={“ Vs= cm/500ms“}; //定义显示参数
U8 display1[]={“ s= cm“}; //定义显示参数
/*-------------------------------------------------------*/
////////////////////主函数入口////////////////////////////
sfr CCON = 0xD8; //PCA控制寄存器
sfr CMOD = 0xD9; //PCA模式寄存器
sfr CCAPM0 = 0xDA; //PCA模块0模式寄存器 //模块0对应P1.3/CEX0/PCA0/PWM0(STC12C5A60S2系列)
sfr CCAPM1 = 0xDB; //PCA模块1模式寄存器 //模块1对应P1.4/CEX1/PCA1/PWM1(STC12C5A60S2系列)
sfr CL = 0xE9; //PCA 定时寄存器 低位
sfr CH = 0xF9; //PCA 定时寄存器 高位
sfr CCAP0L = 0xEA; //PCA模块0的 捕获寄存器 低位
sfr CCAP0H = 0xFA; //PCA模块0的 捕获寄存器 高位
sfr CCAP1L = 0xEB; //PCA模块1的 捕获寄存器 低位
sfr CCAP1H = 0xFB; //PCA模块1的 捕获寄存器 高位
sfr PCA_PWM0 = 0xF2; //PCA PWM 模式辅助寄存器0
sfr PCA_PWM1 = 0xF3; //PCA PWM 模式辅助寄存器1
sbit CF = 0xDF; //PCA计数溢出标志位
sbit CR = 0xDE; //PCA计数器 运行控制位
sbit CCF1 = 0xD9; //PCA模块1中断标志
sbit CCF0 = 0xD8; //PCA模块0中断标志
//* CCAPOH = CCAPOL = 0XC0; //模块0输出 占空因数为25%
//* CCAPOH = CCAPOL = 0X80; //模块0输出 占空因数为50%
//* CCAPOH = CCAPOL = 0X40; //模块0输出 占空因数为75%
/*-----------------------毫秒延时------------------------*/
void DelayMs(U8 ms) //在12M晶振下,stc10f系列(单周期指令)的ms级延时
{
U16 i;
while(ms--)
{
for(i=0;i<850;i++);
}
}
void delay(U8 ms)
{
U8 ij; //为延时引入ij两参数
for (j=0;j for (i=0;i<120;i++); //延时第二循环
}
/*-------------------------------------------------------*/
/*--------------------向LCD1602写命令--------------------*/
void write_command(U16 command)
{
rs=0; //选择写命令
P0=command; //向LCD写命令
lcdcs=1; //信号使能端高电平
lcdcs=0; //信号使能端低电平
}
/*-------------------------------------------------------*/
/*--------------------向LCD1602写数据--------------------*/
void write_data(U16 data0)
{
rs=1; //选着写数据
P0=data0; //向LCD写数据
lcdcs=1; //信号使能端高电平
lcdcs=0; //信号使能端低电平
}
/*-------------------------------------------------------*/
/*-------------------外部中断0计数程序-------------------*/
void counter(void) interrupt 0
{
EX0=0; //关外部中断0
//初始化计数
z++; //转圈计数加1
- 上一篇:485门禁例程
- 下一篇:基于51单片机的数字频率计课程设计
相关资源
- 智能寻迹机器人源程序及pcb图
- 全国电子设计大赛自动寻迹小车论文
- 基于图像处理的智能车寻迹算法设计
- 51单片机智能小车花式,寻迹,红外,
- 五路寻迹模块+寻迹传感器+循迹模块
- 基于两个红外传感器的寻迹小车程序
- 2016年江苏省电子设计大赛-自动寻迹小
- stm32智能寻迹避障小车代码
- stm32的小车红外寻迹加超声波避障
- 光电寻迹模块电路设计图原理图和P
- 智能小车黑白线识别寻光寻迹电机驱
- opencv视觉导航小车寻迹
- 基于stm32摄像头寻迹小车程序
- 基于STM32的CCD智能寻迹小车源代码
- 基于FPGAVerilog的寻迹避障小车
- 基于STM32的智能寻迹小车,利用32的库
- 智能小车 原理图 程序 寻迹 超声波
- 基于单片机的智能寻迹小车设计
- STM32智能车舵机控制,电磁寻迹,带滤
- 基于单片机控制的寻迹小车设计 含设
- 基于STM32F104的寻迹避障小车设计源码
- 摄像头寻迹+stm32平衡车
- 11-智能小车红外寻迹 超声波避障小车
- 51单片机 红外寻迹 + 蓝牙 + 超声避障
- 自动寻迹电动小车测控系统设计
- 基于51单片机的智能小车循迹寻迹避障
- 循迹小车龙人宝贝五角星寻迹程序Q
- 基于51单片机-智能红外遥控寻迹避障
- 基于模糊控制的AGV寻迹算法
- 寻迹小车代码
评论
共有 条评论