自动往返行驶小汽车的设计 第4页

自动往返行驶小汽车的设计 第4页
三.光电特性:(Ta=25℃)
项目 符号 测试条件 最小 典型 最大 单位
输入 正向压降 Vf If=20mA - 1.25 1.5 V
 反向电流 Ir VR=3V - - 10 uA
输出 集电极暗电流 Iceo Vce=20v - - 1 uA
 
集电极亮电流 
Il 
Vce=5V
If=8mA L3 0.30 - - mA
    L4 0.40 - - mA
    L5 0.50 - - mA
 饱和压降 Vce If=8Ma Ic=0.5mA - - 0.4 V
传输
特性 响应时间 Ir 
If=20m AVc=5V
Rc=100 - 10 - uS
  If  - 10 - uS
注:集电极亮电流IL﹑饱和压降VCE﹑电流比﹑响应时间是红外光电传器前面与检测面距离7mm处测得,其数椐受亮检测面的表面光洁度及平平整度影响.
第五章 系统软件设计
软件设计采用模块化设计结构。本系统软分为主程序、检测子程序、显示子程序、路程计算子程序等模块。程序设计流程图如图6所示。
             
图6程序设计流程图
源程序:
ORG     0000H   ;程序执行起始
LJMP    START ;跳至START
ORG     0003H   ;外中断0入口
LJMP    INTEX0 ;跳至INTEX0中断服务程序
ORG     000BH   ;定时器T0中断入口
RETI    ;中断返回
ORG     0013H   ;外中断1入口
LJMP    INTEX1 ;跳至INTEX1中断服务程序
ORG     001BH   ;定时器T1中断入口
LJMP    INTT1 ;跳至INTT1中断服务程序
ORG     0023H   ;串口中断入口
RETI    ;中断返回
ORG     002BH   ;定时器T2中断入口
RETI    ;中断返回
初始化程序
CLEARMEMIO:        MOV   R0,  #70H      ;清70H-76H显示单元
MOV   R7,  #07H      ;循环次数
ML0:              MOV   @R0, #00H      ;清0INC   R0         ;下一地址
DJNZ  R7,  ML0       ;未完再循环
MOV   TMOD,#10H        ;T1为16位定时器
MOV   R4,#14H       ;1秒定时用(50毫秒20次)
MOV   TL1,#0B0H     ;50毫秒定时用初值
MOV   TH1,#3CH       ;
MOV     20H,#00H        ;清0操作
MOV     21H,#00H       ;
MOV     22H,#00H       ;
MOV     23H,#00H       ;
MOV    24H,#00H      ;
CLR     30H            ;清停车标志
SETB    ET1            ;开T1中断
SETB    EX1            ;开外中断1
SETB    IT1            ;外中断1采用边沿触发
SETB    IT0            ;外中断0优先级为1(最高)
SETB    EX0            ;开外中断0
SETB   EA             ;开总中断允许 SETB   TR1         ;开启定时器T1RET                  ;子程序返回
主程序
START:          LCALL   CLEARMEMIO      ;上电初始化SETB    P1.6         ;选择7.5V输出
CLR     P1.7         ;选择7.5V输出
SETB    P3.7         ;前进状态CLR     P3.6         ;前进状态
CLR     P1.0         ;电机供电开始
MAIN:           LCALL   DISP         ;LED显示一次
LJMP MAIN         ;转MAIN循环
NOP                  ;PC值出错处理
NOP
LJMP    START        ;重新初始化
外中断0服务程序,用作跑道位置处理 23H作跑道计数器
INTEX0:       PUSH    ACC         ;堆栈保护
PUSH    PSW         ;
CLR     EX0         ;关中断
LCALL   DISP         ;LED显示一次(延时抗干扰)
JB     P3.2,IN0RET        ;P3.2为1退出(干扰)
INC     23H         ;跑道计数器加1
MOV     A,23H         ;数据入A
CJNE    A,#06H,JUDGE1     ;不是第6道转JUDGE1LCALL   STOP         ;是第6道,停车
LJMP    IN0RET         ;转中断退出
JUDGE1:       CJNE    A,#03H,JUDGE2     ;不是第3道转JUDGE2
LCALL   STOPSLOW        ;是第3道,变慢车
LJMP    IN0RET         ;转中断退出
JUDGE2:       CJNE    A,#04H,JUDGE3     ;不是第4道转JUDGE3
LCALL   FAST         ;是第4道,变快车
LJMP    IN0RET         ;转中断退出
JUDGE3:       CJNE    A,#05H,IN0RET     ;不是第5道转INORET退出
LCALL   STOPSLOW        ;是第5道,变慢车
IN0RET:       CLR     IE0         ;清外中断0中断标志
POP     PSW         ;恢复现场
POP     ACC         ;
LCALL   DL7MS         ;延时7毫秒(抗干扰)
SETB    EX0         ;开外中断0
RETI              ;中断返回
慢车控制子程序
STOPSLOW:      CLR     P1.6         ;关7.5V电源
CPL     P3.6         ;反向驱动(刹车)
CPL     P3.7         ;反向驱动
LCALL   DS50MS        ;刹车时间(可根据试车情况调整)
LCALL   DS50MS        ;
LCALL   DS50MS        ;
CPL     P3.6         ;正向驱动
CPL     P3.7         ;正向驱动
SETB    P1.7         ;开4.3V电源
RET            ;返回
快车控制子程序
FAST:          CLR     P1.7         ; 关4.3V电源
SETB    P1.6         ; 开7.5V电源
RET             ;返回

上一页  [1] [2] [3] [4] [5] [6] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有