资源描述:
《小车的转向的反馈机制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、内容分三部分:1.小车的转向的反馈机制2.单片机的简单介绍3.小车的编程思想小车展示认识元件元件包括:51单片机,稳压块7805,电阻,电容,三极管,二极管,车体,电机,轮子,万向轮等等在机器人协会的博客里有元件的清单,在百度搜索南昌航空大学机器人协会就能搜到博客。MCU红外对管L1(左)红外对管L2(右)电机M1电机M2红外对管L1(左)红外对管L2(右)MCU小车转向的机制1.对管下方是黑线,电平为高,反之,为0.2.电机M1电机M2小车转向的机制1.对管下方是黑线,电平为高,反之,为0.2
2、.左转:LI遇到黑线M2全速运转,同时M1减速运转(PWM)3.右转:L2遇到黑线M1全速运转,同时M2减速运转(PWM)4.直走:LIL2遇到反光M1全速M2全速小车简图8051单片机:8051单片机最早由Intel公司推出,其后,多家公司购买了8051的内核,使得以8051为内核的MCU系列单片机在世界上产量最大,应用也最广泛,有人推测8051可能最终形成事实上的标准MCU芯片.LG公司生产的GMS90系列单片机,与IntelMCS-51系列,Atmel89C51/52,89C2051等单片
3、机兼容,CMOS技术,高达40MHZ的时钟频率,应用于:多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各种计费器,各种IC卡装置,DVD,VCD,CD-ROM.ATMEL公司的AVR单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便.AVR单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力.AVR单片机工作电压为2.7~6.
4、0V,可以实现耗电最优化.AVR的单片机广泛应用于计算机外部设备,工业实时控制,仪器仪表,通讯设备,家用电器,宇航设备等各个领域.MicroChip单片机:MicroChip单片机的主要产品是PIC16C系列和17C系列8位单片机,CPU采用RISC结构,分别仅有33,35,58条指令,采用Harvard双总线结构,运行速度快,低工作电压,低功耗,较大的输入输出直接驱动能力,价格低,一次性编程,小体积.适用于用量大,档次低,价格敏感的产品.在办公自动化设备,消费电子产品,电讯通信,智能仪器仪表,
5、汽车电子,金融电子,工业控制不同领域都有广泛的应用,PIC系列单片机在世界单片机市场份额排名中逐年提高.发展非常迅速.基于ARM芯核的32位单片机主要是指以ARM公司设计为核心的32位RISC嵌入式CPU芯片的单片机。由于ARM公司自成立以来,一直以IP(IntelligenceProperty,知识产权)提供者的身份向各大半导体制造商出售知识产权,而自己从不介入芯片的生产销售,加上其设计的芯核具有功耗低、成本低等显著优点,因此获得众多的半导体厂家和整机厂商的大力支持,在32位嵌入式应用领域获得
6、了巨大成功,目前已经占有75%以上的32位RISC嵌入式产品市场。在低功耗、低成本的嵌入式应用领域确立了市场领导地位。现在设计、生产ARM芯片的国际大公司已经超过50多家。目前非常流行的ARM芯核有ARM7TDMI,ARM720T,ARM9TDMI,ARM922T,ARM940T,ARM966T,ARMl0TDMI等。程序讲解#includeunsignedchart,flag;sbitgz=P1^6;//L1对管sbitgy=P1^7;//L2对管sbitENA=P1^2;s
7、bitENB=P1^5;sbitji2_1=P1^3;//右轮sbitji2_2=P1^4;//右轮sbitji1_1=P1^0;//左轮sbitji1_2=P1^1;//左轮voidinit(){TMOD=0x01;TH0=(65536-100)/256;TL0=(65536-100)%256;EA=1;ET0=1;TR0=1;}zhizou(){ji1_1=1;//左轮M1ji1_2=0;//左轮M1ji2_1=1;//右轮M2ji2_2=0;//右轮M2}pwm_z()//M2全速,M1减
8、速,左转{t=0;while(t!=80);ji1_1=0;while(t!=160);t=0;ji1_1=1;}pwm_y()//M1全速,M2减速,右转{t=0;while(t!=100);ji2_1=0;while(t!=160);t=0;ji2_1=1;}panduan(){if(gz)//L1对管是否为1?黑线为1{flag=1;//标志位设置左转gz=0;//清零}elseif(gy)//L2对管是否为1?黑线为1{flag=2;//标志位设置右转gy=0;}elseflag=0;}