技术热线: 4007-888-234

软件模拟车辆里程表计算程序

更新时间: 2019-03-26
阅读量:4318

;************************************************************************
;<<软件模拟简易车辆里程表>>
;时间:2006.3.5
;程序文件名:“TMR0_led2.asm”
;功能实现:TMR0当作定时器使用,外部脉冲通过T0CKI单片机提供时钟源,每4
;          脉冲为一个指令周期,使计数器加1溢出
;硬件连接:无
;***********************************************************************

 

;***********************************************************************
;定义单片机型号为PIC16F877A
;程序包含文件:P16F877A.INC
;定义配置字
;***********************************************************************
LIST   P=16F877A                  ;定义本程序所使用的芯片为PIC16F877A
INCLUDE "P16F877A.INC"            ;定义本程序包含该文件

__CONFIG  3F72H                  ;晶振配置HS,看门狗禁止,上电延时使能,
                                 ;掉电复位使能,低电压编程禁止,代码不保护
                               

 

TMR0B     EQU     0FFH            ;定义TMR0初始值为255

 


;***********************************************************************
;复位矢量定义(对于16F877A)
;***********************************************************************
          ORG     0000H           ;复位矢量地址

    GOTO    MAIN            ;程序跳转到MAIN主程序
;----------------------------------------------------------------------

 

;***********************************************************************
;主程序区
;***********************************************************************
          ORG     0005H           ;主程序从0005H开始
MAIN
          NOP                     ;空循环
          BSF        STATUS,RP0   ;使当前体为体1
          MOVLW      00H          ;使RC口为输出
          MOVWF      TRISC
          MOVLW      0FFH         ;使RA4口为输入
          MOVWF      TRISA
          MOVLW      30H          ;T0CKI外部引脚输入提供TMR0时钟源,上
          MOVWF      OPTION_REG   ;升沿触发,分频比为12,分配给TMR0
          BCF        STATUS,RP0   ;使当前体为体0
          CLRF       PORTC        ;PORTC口清0
LOOP      BCF        INTCON,T0IF  ;TMR0溢出标志位清零

  MOVLW      TMR0B        ;TMR0初始值为255
          MOVWF      TMR0        
TEST      BTFSS      INTCON,T0IF  ;判断TMR0溢出标志位是否为1,为1则跳到
          GOTO       TEST         ;下一步,否的话继续循环检测
          INCF       PORTC,1      ;PORTC1
          GOTO       LOOP
          END                     ;汇编程序结束
;------------------------------------------------------------------------