❶ 51单片机智能小车制作,求通俗易懂的讲解
系统的单片机程序:
#include"reg52.h"
#definedet_Dist2.55//
单个脉冲对应的小车行走距离,其值为车轮周长
/4#defineRD9//
小车对角轴长度。
#definePI3.1415926
#defineANG_9090
#defineANG_90_T102
#defineANG_180189/
全局变量定义区。
/sbitP10=P1^0;//
控制继电器的开闭sbitP11=P1^1;//
控制金属接近开关。
(1)单片机智能小车编程扩展阅读:
控制器部分:接收传感器部分传递过来的信号,并根据事前写入的决策系统(软件程序),来决定机器人对外部信号的反应,将控制信号发给执行器部分。好比人的大脑。
执行器部分:驱动机器人做出各种行为,包括发出各种信号(点亮发光二极管、发出声音)的部分,并且可以根据控制器部分的信号调整自己的状态。
对机器人小车来说,最基本的就是轮子。这部分就好比人的四肢一样。 传感器部分:机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关。好比人的眼睛、耳朵等感觉器官。
❷ 基于51单片机的智能循迹小车如何实现小车的速度不会随电池的电量而变化.(程序)
1、电池电压高的话可以用稳压的办法,如将12V电池稳压至9V用,当降到9V就要换电池或充电,保证电机驱动供电电压9V不变
2、或者就是速度闭环了,取一个低速作为目标值,保证低压时也能达到该速度
❸ 我用51单片机做个智能小车四驱的!想要实现差速转向,怎么做!要pwm控制!需要几个定时器!一个可以
电子差速从几年前就有人投入了研究,分主动差速和被动差速。被动差速是控制两个电机严格的按照等转矩或等功率运转,主动差速是根据要求控制两个电机按一定的差速比闭环调速运转。
51系列单片机指令周期太长,不适合做电机驱动,无法实现电子差速的要求,建议使用性能更好单片机来完成,比如dsPIC,STM32,AVR系列等。
❹ 51单片机智能两路循迹小车程序,检测到黑线直走,检测不到黑线就左转或右转都可以,需要程序代码麻烦了
别想那么复杂。
首先,你把检测黑线的传感器就当一普通开关。因为,当照射在黑线上时,光线反射能力弱,输出低电平。照在黑线外,则输出高电平。只有高低两种电平,所以,你只需要把它当一个普通开关看待。
然后,既然是普通开关,写代码时只需要位声明以及设置gpio为双向或强拉模式,51单片机都不用设置gpio。
最后,程序里,检测到高电平然后io口电平取反就行。
❺ 大神,请问51单片机控制的智能小车识别铁片后进入外部中断,停车2秒,然后继续前进。程序该怎么写
你在中断里面把flag=1;进入主函数后flag一直保持1,而你中断的判断条件是if(flag==0&&P32==0),它就进不了中断了。你要想这么写的话可以改成这样看看:
void INT_0() interrupt 0
{
flag==0;
if(flag==0)
{
P2=0x00; //小车停车
delayms(2000); //延时两秒
flag=1;
}
}
或者干脆把if判断去了得了,(仅代表自己看法,我也不怎么懂啊)。自己多调试调试,肯定能做好的。
❻ 51单片机如何使用
使用51单片机需要达到以下基本条件:
1、至少要搭建一个最小系统;
2、你需要编制一个51的控制程序;
3、你需要将程序编译连接成HEX或BIN格式的代码并下载或烧录到51单片机。
这样你就可以使用这款51单片机了。
❼ 基于51单片机,用霍尔传感器测算智能小车行走的距离!谁有汇编程序,贴上来我学习学习。
ORG 0000H
SJMP MAIN
MAIN:
MOV TMOD,#05H
MOV TH0,#0
MOV TL0,#0
SETB EA
MOV P0,#0FFH
SETB TR0
ST:
MOV A,TL0
MOV 30H,A
LCALL BTOD
LCALL DISP
SJMP ST
BTOD:
MOV A,30H
MOV B,#100
DIV AB
MOV 20H,A
MOV A,B
MOV B,#10
DIV AB
MOV 21H,A
MOV 22H,B
RET
DISP:
MOV DPTR,#SEG7
MOV A,21H
MOVC A,@A+DPTR
MOV P0,A
CLR P3.0
LCALL DELAY
SETB P3.0
MOV A,22H
MOVC A,@A+DPTR
MOV P0,A
CLR P3.1
LCALL DELAY
SETB P3.1
RET
DELAY:MOV R7,#20
D00:MOV R6,#100
D11:DJNZ R6,D11
DJNZ R7,D00
RET
SEG7: DB 0C0H,0F9H,0A4H,0B0H
DB 99H,92H,82H,0F8H
DB 80H,90H,88H,83H
DB 0C6H,0A1H,86H,8EH
END
用单片机的p3.4口 数码管显示p0口 共阳极数码管动态显示p3.0和p3.1接com端,我这个程序你得修改一下 根据你的轮子的大小 计算每圈走的距离就可以算出小车行走的距离 祝你成功!
❽ 做智能小车,该用什么单片机开发板
做智能小车就是自动控制自动化专业范围的,这个专业的最基本的专业课不是C语言也不是汇编语言。而是《电子技术》(模拟电子技术和数字电子技术都要学),就是如何分析和设计电路的专业课。如果你连模拟电子都不懂,我给你个驱动小车电机的H桥电路图你也看不懂也不会用。而且做小车基本是做电机控制(直流电机伺服电机或者步进电机)这都是《电机与拖动》或者《电机学》里学到的。不要以为电机就是像小孩子玩的车模哪么简单。如果要测量并控制它的转速和方向,学问大了去了。
而且,看你的说明,你似乎对编程语言还不是太了解。C语言是基本上统一的,有标准的。而汇编则不是。汇编语言说白了就是微处理器(计算机用的CPU的学名)和微控制器(单片机、ARM、DSP等芯片的学名)芯片的指令集。而各个不同厂家的芯片有不同的内部结构,也就有不同的汇编语言。
比如说现在计算机用的汇编基本是x86架构的,学的最基础的就是8086芯片的汇编语言,其中它的数据传送指令有三个MOV、MOVSX、MOVZX。而8051架构的单片机,则有MOV、MOVX、MOVC三种。同样是单片机,但PIC架构的单片机的数据传送指令则是MOVWF、MOVF、MOVLW。看似一样,其实他们的区别是根据芯片内部结构决定的。
所以说,不要着急,一步一步来,先了解了微机原理,然后再学单片机原理。用什么开发板不重要,重要的你用什么单片机你学什么单片机,什么样的单片机就有什么样的开发板。 你现在读大二,要学什么单片机要看你们学校开什么单片机的课程,中国的大学基本上是学51系列架构的单片机。我上学的时候也是用51单片机做智能避障小车。而我没买过任何开发板,自己买的电容电阻万用板,自己焊的。这样做虽然弯路多点,但能从中学到很多东西。有的同学四年自动化专业毕业,焊电路板都不会……
❾ 我有单片机最小系统,两个步进电机,步进电机驱动怎么制作智能小车,特别想自己做一个,请高手指点,,
参照说明连接起来就行了啊,不过步进电机如果是减速步进电机的话,做小车的动力源估计会很火大,要么用变速箱提速要么就干脆换成直流电机驱动
❿ 单片机遥控小车怎么做
首先确定要实现的功能,然后选择硬件,如小车是四驱还是双驱,要不要舵机
遥控发射/接收模块的选择,单片机型号选择,然后编程,并进行实验
当然要分步实施 ,先会驱动舵机 ,会使用电机驱动模块L298N,会无线模块的收发
最后组合一块才行
我选的小车是2 个驱动电机带舵机 电机驱动模块是L298N,无线模块是NRF24L01,单片机STC12C5A32S2,小车上用的是51最小系统板,遥控发射用的是TX-1C51单 片机开发板,小车电源用的是充电宝,NRF24L01供电是靠5V经二个二极管降压得到,模块与单片机接口直接连,基本成功
不过小车体积还是太小了,虽然长度达260mm,但前面是舵机要转 向,放不下东西 ,充电宝放不上去,实验时充电宝拖地运行,或专门手拿充宝随着小车跑,另外舵机回零时有抖动现象
5V供电行走速度较慢,如果换成电压高的电源供电,还需给单片机和舵机降压,麻烦
舵机转向瞬间电流较大, 但控制脉冲可以由单片机直接输出不需放大