毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

基于AT89S51单片机自动往返小车系统设计 第4页

更新时间:2010-2-23:  来源:毕业论文
基于AT89S51单片机自动往返小车系统设计 第4页
*************************************
    主 程  序       
*************************************
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道转JUDGE1
       LCALL  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       ;返回

************************************
     停车控制程序      
************************************
STOP:     MOV  23H,#00H    ;跑道计数单元清0
       CPL   P3.6     ;反向驱动(刹车)
       CPL   P3.7     ;反向驱动(刹车)
       LCALL  DS50MS     ;刹车时间
       LCALL  DS50MS     ;刹车时间(可调整)
       SETB  P1.0     ;关电机电源
       SETB  PT1       ;定时器T1为高优先级
       LCALL  DS10S     ;停车10秒
       CLR   PT1     ;恢复T1为低优先级
       SETB  P1.6     ;开7.5V电源(高速)
       CLR   P1.7     ;关4.3V
       CLR   P1.0     ;电机电源开
       CPL   30H     ;停车点位置判断标志取反
       JB   30H,STREN    ;为1(中途停车)转STREN
       LCALL  CLR00     ;是终点,调复0程序
 STREN:    RET      ;返回

*********************************
    计时清0程序     
*********************************
CLR00:      MOV  70H,#00H     ;计时单元清0
         MOV  71H,#00H     ;计时单元清0
         MOV  72H,#00H     ;计时单元清0
         MOV  73H,#00H     ;计时单元清0
         RET        ;返回

*************************************
     外中断1程序,里程计数用   
  20H、21H、22H、24H作计数器  
************************************
INTEX1:     PUSH  ACC       ;堆栈保护
         PUSH  PSW       ;
         CLR  EX1       ;关外中断1
         INC  20H       ;圈加1
 LLLL:     MOV  A,20H     ;判断是否满6圈
         CJNE  A,#06H,LLL    ;不满6圈转LLL退出
         MOV  20H,#00H     ;满6圈清0进位(6圈为1米)
         INC  21H       ;上位加1
         MOV  A,21H     ;判断是否满10
         CJNE  A,#0AH,LLL    ;不满10转LLL
         MOV  21H,#00H     ; 满10清0进1位
         INC  22H       ; 高位加1
         MOV  A,22H     ; 判断是否满10
         CJNE  A,#0AH,LLL    ; 不满10转LLL
         MOV  22H,#00H     ; 满10清0进1位
         INC  24H      ; 高位加1
         MOV  A,24H     ; 判断是否满10
         CJNE  A,#0AH,LLL    ; 不满10转LLL
         MOV  24H,#00H     ; 满10清0
LLL:       MOV  74H,21H     ; 将里程数移入显示单元(个位)
         MOV  75H,22H     ; 将里程数移入显示单元(十位)
         MOV  76H,24H     ; 将里程数移入显示单元(百位)
IN1RET:     POP  PSW      ;恢复堆栈
         POP  ACC     ;
         SETB  EX1      ;开外中断1
         RETI      ;中断返回

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

基于AT89S51单片机自动往返小车系统设计 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。