技术热线: 4007-888-234
设计开发

专注差异化嵌入式产品解决方案 给智能产品定制注入灵魂给予生命

开发工具

提供开发工具、应用测试 完善的开发代码案例库分享

技术支持

从全面的产品导入到强大技术支援服务 全程贴心伴随服务,创造无限潜能!

新品推广

提供新的芯片及解决方案,提升客户产品竞争力

新闻中心

提供最新的单片机资讯,行业消息以及公司新闻动态

共阴数码管显示从0显示到9的程序

更新时间: 2019-03-23
阅读量:8519

十年专注单片机方案开发的方案公司英锐恩,分享共阴数码管显示从0显示到9的程序。英锐恩现提供服务产品涉及主控芯片:8位单片机、16位单片机、32位单片机及各类运算放大器等。

一个共阴数码管显示从0显示到9。

 

;****************************************************************
;一个共阴数码管显示的程序
;       喜欢单片机
;          05.08.22
;       FILE    LED1
;****************************************************************
LIST P=16F84A,R=DEC    ;定义器件为16F84,默认数制为十进制
;-----------------------------------------------
__CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC
                                              ;没有代码保护
                                              ;看门狗关闭
                                              ;上电廷时器开启
                                              ;振荡器模式为XT
;---------------------

PCL        EQU 02H            ;变量单元定义
STATUS    EQU 03H
PORTA     EQU 05H
PORTB     EQU 06H

 


TRISA     EQU 5H
TRISB     EQU 6H
;-----------------------STATUS
RP0        EQU 5
Z          EQU  2
;-----------------------
SUBDATA0      EQU 10H   
SUBDATA1      EQU 11H
SUBDATA2      EQU 12H
SUBDATA3      EQU 13H
TABADD    EQU 14H
ABC       EQU 15H
;--------------------
     ORG 0000H

NOP
     GOTO  MAIN
MAIN
     CLRF     PORTA
     CLRF     PORTB          ;初始IO口
     BSF STATUS,RP0      ;设置数据寄存器体1
     MOVLW 00000000B     ;设置RB、RA口全部为输出
     MOVWF TRISA
     MOVWF TRISB 
     BCF STATUS,RP0      ;恢复数据寄存器体0
     CLRF     SUBDATA0   ;清除数显缓存器内容
     CLRF     SUBDATA1
     CLRF     SUBDATA2
     CLRF     SUBDATA3
     CALL     DISPLAY
     MOVLW    00H
DISPLAY
     MOVLW     00H
     MOVWF     PORTB
LOOP 

MOVF    SUBDATA0,W
     CALL    CABIAO
     MOVWF   PORTB
     CALL    DELAY1S
     INCF    SUBDATA0
     MOVLW   .10
     SUBWF    SUBDATA0,W
     BTFSS    STATUS,Z
     GOTO     LOOP
     GOTO     MAIN
CABIAO
     ADDWF    PCL,F
     RETLW    3FH    ;0
     RETLW    06H    ;1
     RETLW    5BH    ;2
     RETLW    4FH    ;3
     RETLW    66H    ;4
     RETLW    6DH    ;5
     RETLW    7DH    ;6
     RETLW    07H    ;7
     RETLW    7FH    ;8
     RETLW    6FH    ;9
DELAY1S
     MOVLW     06H

   MOVWF     20H
DELAY1_1
     MOVLW     0EBH
     MOVWF     21H
DELAY1_2
     MOVLW     0ECH
     MOVWF     22H
DELAY1_3
     DECFSZ    22H,1
     GOTO      DELAY1_3
     DECFSZ    21H,1
     GOTO      DELAY1_2
     DECFSZ    20H,1
     GOTO      DELAY1_1
     RETURN
  END