单片机循迹小车课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循迹小车
介绍:AT89C52单片机为循迹小车的检测和控制中心,实习小车的自动检测路径,正确循迹.系统通过I0口控制小车的前进及转向.循迹是小车在黑色地板上沿着白色线行驶,采用光电二极管进行信号采集,若光敏二极管检测到黑线时输出低电平,当有光时产生高电平,信号传送给单片机,来控制小车的转向,从而达到自动循迹的功能.
SETB ENZ
SETB ENY
SETB ZQ
SETB YQ
SETB TR0
PP:LCALLቤተ መጻሕፍቲ ባይዱDIS
AJMP PP
INTT0:PUSH ACC
PUSH PSW
JNB P3.1,LL1
JNB P3.0,LL2
AJMP EXIT
LL1:CLR ZQ
KK1:JNB P3.0,HOU
JNB P3.0,LL2
POP PSW
POP ACC
RETI
DIS:MOV DPTR,#TAB
MOV A,SL
MOVC A,@A+DPTR
MOV P2,A
CLR P0.2
MOV A,SH
MOVC A,@A+DPTR
MOV P2,A
CLR P0.1
LCALL DEL
SETB P0.1
MOV A,ML
MOVC A,@A+DPTR
MOV P1,00H
SETB ENZ
SETB ENY
MOV P0,00H
CLR P2.0
INT:JB SED,$
LCALL DELAY
JB SED,INT
MOV R5,#05H
TT3:DJNZ R5,TT5
AJMP EXIT1
TT5:MOV DPL,#00H
MOV DPH,#00H
JNB SED,$
CJNE A,#02H,DD2
SETB ZQ
LACALL DELAY
CLRZQ
AJMP INT
DD4: CJNE A,#04H,INT
SETB ZH
SETB YH
LACALL DELAY
CLR ZH
CLR YH
AJMP INT
DELAY:MOV R7,#70
LL:MOV R6,#50
DJNZR6,$
TT6:NOP
NOP
NOP
NOP
INC DPTR
JB SED,TT6
MOV A,DPH
CLR C
SUBB A,KEY
CLR C
RRC A
MOV KEY,A
AJMP TT3
TT7:MOV A,KEY
SETB C
RRC A
MOV KEY,A
AJMP TT3
EXIT1: MOV A,KEY
SWAP A
ANL A,#0FH
N
Y
NY
图3.1系统程序流程图
2 光电检测子程序:
图3.2检测子程序流程图
3 驱动电机子程序:
N
Y
4 LED显示子程序:
六 系统程序清单:
ORG 0H
ENY EQU P1.3
ENZ EQU P1.6
YQ EQU P1.7
ZH EQU P1.5
ZQ EQU P1.4
YH EQU P1.2
SL EQU 30H
采用L293D芯片,L293D通过内部逻辑生成使能信号,H桥电路的输入量可以用来设置马达的转向,使能信号可以用于脉宽的调整(pwm)
电机驱动电路
5电源模块的设计:
LM7805开关电压调节器是降压型电源管理单片机集成电路,能够输出3A的驱动电流同时具有良好的线性和负载调节特性.
四 软件系统的设计:
1系统程序流程图:
SH EQU 31H
ML EQU 32H
KEY EQU 33H
SED EQU P2.7
AJMP MAIN
ORG 03H
AJMP INTT0
ORG 0BH
AJMP TT0
ORG 13H
AJMP INTT1
MAIN:MOV SP,#67H
JNB P0.4,DD1
AJMP YAO
DD1:AJMP DD
YAO:MOV KEY,00H
一设计要求:
(1)循迹:按预先设定的轨迹自动行驶.
(2)完成单片机最小系统的设计.
(3)完成外围应用电路的设计和实现.
(4)完成软件对硬件的检测和调试.
小车行驶路线图:
发车区
二循迹原理:
循迹是小车在黑色地板上演着白线行走,采用光电探测器,系统电路发光二极管发出可见光照射到黑带时,光线被吸收,呈现高阻态,输出为低电平.当照射到白线时,光线被反射回来被光敏二极管检测到,其阻抗会减小,输出高电平.
AJMP EXIT
LL2:CLR YQ
JNB P3.1,HOU
KK2:JNB P3.0,KK2
SETB YQ
AJMP EXIT
HOU:MOV P1,#00H
SETB ZH
SETB YH
CLR EX0
SETB EX1
AJMP EXIT
INTT1:PUSH ACC
PUSH PSW
JNB P3.4,LL8
三系统模块方案的确定:
1 光电传感器进行循迹
2 采用AT89C52单片机作为主控制器
3 L293D作为电机驱动芯片
4 LED作动态显示
四 硬件系统的设计
1单片机最小系统的设计:
2 检测电路的设计:
检测电路用红外发光管和高敏光电二极管将光信号转换成电信号.
3 LED显示电路的设计:
LED显示电路
4 电机驱动电路的设计:
MOV SL,#00H
INC SH
MOV A,SH
CJNE A,#6,EXT
MOV SH,#00H
INC SH
MOV A,SH
CJNE A,#6,EXT
MOV SH,#00H
INC ML
MOV A,ML
CJNE A,#10,EXT
MOV ML,#00H
EXT:MOV TL0,#0AFH
MOV TH0,#3CH
DJNZ R7,LL
RET
DD: CLR A
MOV SL,A
MOV SH,A
MOV ML,A
MOV P1,#00H
MOV TMOD,#01H
MOV TL0,#0AFH
MOV TH0,#03CH
MOV R7,#20
SETB ET0
SETB EX0
CLR EX1
SETB IT0
SETB IT1
SETB EA
JNB P3.5,LL9
AJMP EXIT
LL8:CLR ZH
KK3:JNB P3.4,$
SETB ZH
AJMP EXIT
LL9:CLR YH
KK4:JNB,P3.5,$
SETB YH
AJMP EXIT
EXIT:POP PSW
POP ACC
RETI
DEL:MOV R2,#5
LL5:MOV R3,#80
DJNZ R3,$
DJNZ R2,LL5
RET
DEL1:MOV R4,#10
KK:MOV R5,#100
LCALL DEL
DJNZ R5,$
DJNZ R4,KK
RET
TT0:PUSH ACC
PUSH PSW
DJNZ R7,EXT
MOV R7,#20
INC SL
MOV A,SL
CJNE A,#10,EXT
相关文档
最新文档