循迹小车程序_第1页
循迹小车程序_第2页
循迹小车程序_第3页
循迹小车程序_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.ORG 0000HLJMP MAINORG 000BHLJMP FUNORG 0040HMAIN: MOV SP ,#60HMOV TH0 ,#0D8H ; 定时10msMOV TL0, #0F0HMOV TMOD, #01HMOV IP, #02HMOV IE ,#82HMOV 08H ,#0FHMOV 31H ,#00HSETB TR0MOV P1 ,#87H ;初始化小车,使得小车一开始左转;MOV P3 ,#0F0H ;传感器清零,复位键置1SJMP $ORG 00A0HFUN: PUSH ACCPUSH PSWMOV PSW ,#8MOV TH0, #0D8HMOV TL0 ,#0

2、F0H; DJNZ 30H, TSTDEC R0CJNE R0 ,#00H ,FRUEETMOV R0 ,#0FHSJMP TSTFRUEET: CJNE R0 ,#0AH ,CMPCMP: JC TSTMOV 30H ,#02HMOV A ,P3CPL A ;取反p3 口的数据,使得信息和给予分析的一致ANL A ,#1FHJB ACC.4 ,ST ;由于p3 口的取反,使得原来的“0”信号变为“1”信号判断CJNE A ,#00H, NEXT0 ;判断及调用功能SJMP LEFTNEXT0: CJNE A ,#01H ,NEXT1SJMP UPNEXT1: CJNE A ,#02H, NE

3、XT2SJMP LEFTNEXT2: CJNE A ,#03H, NEXT3SJMP LEFTNEXT3: CJNE A ,#04H ,NEXT4SJMP STNEXT4: CJNE A ,#05H ,NEXT5SJMP UPNEXT5: CJNE A ,#06H, NEXT6SJMP LEFTNEXT6: CJNE A ,#07H ,NEXT7SJMP LEFTNEXT7: CJNE A ,#08H ,NEXT8SJMP RIGHTNEXT8: CJNE A ,#09H, NEXT9SJMP RIGHTNEXT9: CJNE A ,#0AH, NEXTASJMP LEFTNEXTA: CJN

4、E A ,#0BH, NEXTBSJMP STNEXTB: CJNE A ,#0CH, NEXTCSJMP RIGHTNEXTC: CJNE A ,#0DH, NEXTDSJMP RIGHTNEXTD: CJNE A, #0FH, STMOV P1, 31HSJMP OUTLEFT: MOV P1 ,#0A7HSJMP OUTRIGHT: MOV P1 ,#9BHSJMP OUTUP: MOV P1 ,#97HSJMP OUTST: MOV P1 ,#00HMOV 31H, P1SJMP OUTTST: MOV P1, #80HOUT: SETB P3.4POP PSWPOP ACCRETIE

5、ND L293D是步进电机驱动芯片 L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。这种双极型脉冲调宽方式具有很多优点,如电流连续;电机可四角限运行;电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区:低速平稳性好等。L293D通过内部逻辑生成使能信号。H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整(PWM)。另外,L293D将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12是使能信号,IN1、IN2为电机转动方向控制信号,IN

6、1、IN2分别为1,0时,电机正转,反之,电机反转。选用一路PWM连接EN12引脚,通过调整PWM的占空比可以调整电机的转速。选择一路I/O口,经反向器74HC14分别接IN1和IN2引脚,控制电机的正反转main() P1=0x40; P3=0xff; high = 80; low = 30; flag = 0; time = 50; Start(); while(1) P3|= 0x0f; Run(); Start() char exit,key; exit =1; while(exit) key = P1; if(key & 0x40)=0) exit=0; Run() char sensors; sensors = (P3 &=0x0f); if(sensors & 0x04)=0) TurnRight(); flag = 1; else if(sensors & 0x02)=0) TurnLeft(); flag = 2; else if(s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论