您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PIC单片机数码管计数器示例程序 正文
PIC单片机数码管计数器示例程序

PIC单片机数码管计数器示例程序

点击数:7867 次   录入时间:03-04 11:51:55   整理:http://www.55dianzi.com   PIC单片机

PIC 单片机 数码管计数器示例程序

;**************************************************
  __CONFIG 3F39H;设置配置位中振荡方式为XT,其它全部禁止或关闭
;************************************************
PCL       EQU    02H  ;定义程序计数器低字节寄存器地址
STATUS    EQU    03H  ;定义状态寄存器地址
PORTA     EQU    05H  ;定义RA口数据寄存器地址
PORTB     EQU    06H  ;定义RB口数据寄存器地址
PORTC     EQU    07H  ;定义RC口数据寄存器地址
PORTD     EQU    08H  ;定义RD口数据寄存器地址

TRISA     EQU    85H  ;定义RA口方向控制寄存器
TRISB     EQU    86H  ;定义RA口方向控制寄存器
TRISC     EQU    87H  ;定义RC口方向控制寄存器
TRISD     EQU    88H  ;定义RD口方向控制寄存器
ADCON1    EQU    9FH  ;定义ADC模块控制寄存器1的地址
;-----------------------STATUS
C         EQU    0    ;定义进位标志位位地址
Z         EQU    2    ;定义0标志位位地址
RP0       EQU    5    ;定义页选位RP0位地址
;-----------------------
COUNTER   EQU    20H  ;定义计数器寄存器
COUNT0    EQU    21H  ;定义廷时变量计数器
COUNT1    EQU    22H  ;定义廷时变量计数器
COUNT2    EQU    23H  ;定义廷时变量计数器
PORTD_B   EQU    25H  ;定义数码管位选寄存器
;--------------------
          ORG    0000H  
          NOP           ;放置一条ICD必需的空操作指令
          GOTO   MAIN  
          ORG    0008H  
;******************************************************
CONVERT1                ;取数码管位码
           ADDWF PCL,1  ;地址偏移量加当前PC值
TABLE1
           RETLW 07FH   ;第一位数码管
           RETLW 0BFH   ;第二位数码管
           RETLW 0DFH   ;第三位数码管
           RETLW 0EFH   ;第四位数码管
;-------------------- ----------------------------------
CONVERT                         ;取数码管段码
           ADDWF PCL,1          ;地址偏移量加当前PC值
TABLE                                                    
        RETLW 0C0H       ;0
        RETLW 0F9H       ;1                               
        RETLW 0A4H       ;2
        RETLW 0B0H       ;3
        RETLW 99H       ;4
        RETLW 92H       ;5
        RETLW 82H       ;6
        RETLW 0F8H       ;7
        RETLW 80H       ;8
        RETLW 98H       ;9
           RETLW 7FH            ;.
;*******************************************************
MAIN
            CLRF   PORTC            ;初始化IO口
            CLRF   PORTD            ;
    
            BSF    STATUS,RP0        
            MOV LW  00H
            MOV WF  TRISC            ;设置RC,RD口全部为输出
            MOV WF  TRISD
            BCF    STATUS,RP0
;----------------------
LOOPA
            MOV LW  0FFH             ;让数码所有划先熄灭
            MOV WF  PORTC
            MOV LW  00H
            MOV WF  PORTD_B          ;位选寄存器送初值0,让第一位先显示
LOOP1
            MOV FW  PORTD_B          ;取位选码
            CALL   CONVERT1
            MOV WF  PORTD            ;位选码送RD口
            CLRF   COUNTER          ;清段码寄存器,让其先显示1
            CLRW
LOOP2
            CALL   CONVERT          ;取段码
            MOV WF  PORTC            ;段码送RC口显示
            CALL   DELAY            ;

[1] [2]  下一页


本文关键字:单片机  程序  计数器  数码管  PIC单片机单片机-工控设备 - PIC单片机