专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

PIC单片机数码管程序

作者:佚名   来源:本站原创   点击数:  更新时间:2012年09月29日   【字体:
   #INCLUDE"P16F877.inc"
   ORG  000H
   GOTO A1
   ORG  0CH
A1   MOVLW 1;位1显示数
   MOVWF 50H; 
   MOVLW 2;位2显示数
   MOVWF 51H;
   MOVLW 3;位3显示数
   MOVWF 52H;
   MOVLW 4;位4显示数
   MOVWF 53H;
   MOVLW 4;显示位数
   MOVWF 40H;
   MOVLW B'00000001';位码
   MOVWF 41H;
   MOVLW 50H;
   MOVWF FSR ;间接寻址
   
A2   BSF  STATUS,RP0;体1
   BCF  STATUS,RP1;
   MOVLW 0;
   MOVWF TRISB;RB口设为输出口
   MOVWF TRISD;RD口设为输出口
   BCF  STATUS,RP0;体0
   BCF  STATUS,RP1;
   MOVLW 0FFH;
   MOVWF PORTB;RB口输出高电平
   MOVLW 0
   MOVWF PORTD;RD口输出低电平起清屏作用
   
   MOVFW INDF;间接寻址显示数据  
   CALL Q1;查数据表
   MOVWF PORTB;显示断码输出到RB口
   INCF FSR,1;间接寻址地址加1
   MOVFW 41H ;位码
   MOVWF PORTD;位码输出到RD口
   RLF  41H,0;处理C
   RLF  41H,1;左移位码
   CALL M001;延时
   DECFSZ 40H,1;判断是否显示完4位
   GOTO A2;否则继续显示
   GOTO A1;是返回
;*********************************************
;    延时子程序
;*********************************************
M001
   MOVLW 2
   MOVWF 30H
M002  MOVLW 250
   MOVWF 31H
   DECFSZ 31H,1
   GOTO $-1
   DECFSZ 30H,1
   GOTO M002
   RETURN
;********************************************
;    数据表
;********************************************      
Q1   ADDWF  PCL,1  
    RETLW     00C0H        ;0
       RETLW     00F9H        ;1
        RETLW     00A4H        ;2
        RETLW     00B0H        ;3
      RETLW     0099H        ;4
      RETLW     0092H        ;5
      RETLW     0082H        ;6
      RETLW     00F8H        ;7
      RETLW     0080H        ;8
      RETLW     0090H        ;9
      RETLW     0088H        ;A
      RETLW     0083H        ;B
      RETLW     00C6H        ;C
      RETLW     00A1H        ;D
      RETLW     0086H        ;E
      RETLW     008EH        ;F
   END 
关闭窗口

相关文章