单片机循迹小车课程设计.docx
《单片机循迹小车课程设计.docx》由会员分享,可在线阅读,更多相关《单片机循迹小车课程设计.docx(14页珍藏版)》请在冰豆网上搜索。
单片机循迹小车课程设计
单片机循迹小车课程设计
循迹小车
介绍:
AT89C52单片机为循迹小车的检测和控制中心,实习小车的自动检测路径,正确循迹.系统通过I0口控制小车的前进及转向.循迹是小车在黑色地板上沿着白色线行驶,采用光电二极管进行信号采集,若光敏二极管检测到黑线时输出低电平,当有光时产生高电平,信号传送给单片机,来控制小车的转向,从而达到自动循迹的功能.
一设计要求:
(1)循迹:
按预先设定的轨迹自动行驶.
(2)完成单片机最小系统的设计.
(3)完成外围应用电路的设计和实现.
(4)完成软件对硬件的检测和调试.
小车行驶路线图:
3LED显示电路的设计:
LED显示电路
4电机驱动电路的设计:
采用L293D芯片,L293D通过内部逻辑生成使能信号,H桥电路的输入量可以用来设置马达的转向,使能信号可以用于脉宽的调整(pwm)
电机驱动电路
5电源模块的设计:
LM7805开关电压调节器是降压型电源管理单片机集成电路,能够输出3A的驱动电流同时具有良好的线性和负载调节特性.
四软件系统的设计:
1系统程序流程图:
初始化
改变行驶方向
小车是否偏离黑线
正常行驶
自动循迹
N
Y
小车是否偏离黑线
NY
图3.1系统程序流程图
2光电检测子程序:
保护现场
开始
右转
是否左偏
左转
返回
是否右偏
图3.2检测子程序流程图
自动循迹
是否检测到光源
正常行驶
开始
3驱动电机子程序:
N
Y
秒清零,分加一
返回
是否大于60s
定时中断个,十位显示
分秒缓存区
开始
4LED显示子程序:
六系统程序清单:
ORG0H
ENYEQUP1.3
ENZEQUP1.6
YQEQUP1.7
ZHEQUP1.5
ZQEQUP1.4
YHEQUP1.2
SLEQU30H
SHEQU31H
MLEQU32H
KEYEQU33H
SEDEQUP2.7
AJMPMAIN
ORG03H
AJMPINTT0
ORG0BH
AJMPTT0
ORG13H
AJMPINTT1
MAIN:
MOVSP,#67H
JNBP0.4,DD1
AJMPYAO
DD1:
AJMPDD
YAO:
MOVKEY,00H
MOVP1,00H
SETBENZ
SETBENY
MOVP0,00H
CLRP2.0
INT:
JBSED,$
LCALLDELAY
JBSED,INT
MOVR5,#05H
TT3:
DJNZR5,TT5
AJMPEXIT1
TT5:
MOVDPL,#00H
MOVDPH,#00H
JNBSED,$
TT6:
NOP
NOP
NOP
NOP
INCDPTR
JBSED,TT6
MOVA,DPH
CLRC
SUBBA,KEY
CLRC
RRCA
MOVKEY,A
AJMPTT3
TT7:
MOVA,KEY
SETBC
RRCA
MOVKEY,A
AJMPTT3
EXIT1:
MOVA,KEY
SWAPA
ANLA,#0FH
CJNEA,#02H,DD2
SETBZQ
LACALLDELAY
CLRZQ
AJMPINT
DD4:
CJNEA,#04H,INT
SETBZH
SETBYH
LACALLDELAY
CLRZH
CLRYH
AJMPINT
DELAY:
MOVR7,#70
LL:
MOVR6,#50
DJNZR6,$
DJNZR7,LL
RET
DD:
CLRA
MOVSL,A
MOVSH,A
MOVML,A
MOVP1,#00H
MOVTMOD,#01H
MOVTL0,#0AFH
MOVTH0,#03CH
MOVR7,#20
SETBET0
SETBEX0
CLREX1
SETBIT0
SETBIT1
SETBEA
SETBENZ
SETBENY
SETBZQ
SETBYQ
SETBTR0
PP:
LCALLDIS
AJMPPP
INTT0:
PUSHACC
PUSHPSW
JNBP3.1,LL1
JNBP3.0,LL2
AJMPEXIT
LL1:
CLRZQ
KK1:
JNBP3.0,HOU
JNBP3.0,LL2
AJMPEXIT
LL2:
CLRYQ
JNBP3.1,HOU
KK2:
JNBP3.0,KK2
SETBYQ
AJMPEXIT
HOU:
MOVP1,#00H
SETBZH
SETBYH
CLREX0
SETBEX1
AJMPEXIT
INTT1:
PUSHACC
PUSHPSW
JNBP3.4,LL8
JNBP3.5,LL9
AJMPEXIT
LL8:
CLRZH
KK3:
JNBP3.4,$
SETBZH
AJMPEXIT
LL9:
CLRYH
KK4:
JNB,P3.5,$
SETBYH
AJMPEXIT
EXIT:
POPPSW
POPACC
RETI
DEL:
MOVR2,#5
LL5:
MOVR3,#80
DJNZR3,$
DJNZR2,LL5
RET
DEL1:
MOVR4,#10
KK:
MOVR5,#100
LCALLDEL
DJNZR5,$
DJNZR4,KK
RET
TT0:
PUSHACC
PUSHPSW
DJNZR7,EXT
MOVR7,#20
INCSL
MOVA,SL
CJNEA,#10,EXT
MOVSL,#00H
INCSH
MOVA,SH
CJNEA,#6,EXT
MOVSH,#00H
INCSH
MOVA,SH
CJNEA,#6,EXT
MOVSH,#00H
INCML
MOVA,ML
CJNEA,#10,EXT
MOVML,#00H
EXT:
MOVTL0,#0AFH
MOVTH0,#3CH
POPPSW
POPACC
RETI
DIS:
MOVDPTR,#TAB
MOVA,SL
MOVCA,@A+DPTR
MOVP2,A
CLRP0.2
MOVA,SH
MOVCA,@A+DPTR
MOVP2,A
CLRP0.1
LCALLDEL
SETBP0.1
MOVA,ML
MOVCA,@A+DPTR
MOVP2,A
CLRP0.0
LCALLDEL
SETBP0.0
RET
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
五参考文献:
1郭文川.MCS-51单片机原理.接口及应用.电子工业出版社,2012年
2宋文年.自动检测技术.北京:
高等教育出版社,2004年
3杨素行.模拟电子技术简明教程.北京:
高等教育出版社,2003年
4余孟尝.数字电子技术基础简明教程.北京:
高等叫出版社
5211TC中国电子网
6万方数据资源统一服务系统