您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PIC16F876A 64X16点阵显示 正文
PIC16F876A 64X16点阵显示

PIC16F876A 64X16点阵显示

点击数:7613 次   录入时间:03-04 11:44:18   整理:http://www.55dianzi.com   PIC单片机
;*                                                                            *
;******************************************************************************
   org     0x004         ; 

    MOV wf   w_temp          ; 保护现场
    MOV f STATUS,w             
    MOV wf status_temp          
    MOV f PCLATH,w       
    MOV wf pclath_temp      

     ; 此处编写自已的中断处理程序

    MOV f pclath_temp,w ; 恢复现场
    MOV wf PCLATH       
    MOV f    status_temp,w       
    MOV wf STATUS              
   swapf   w_temp,f
   swapf   w_temp,w            
   retfie                        

;******************************************************************************
;*                                                                            *
;*                               主程序执行入口                               *
;*                                                                            *
;******************************************************************************
MAIN:
   call INIT_PORT  ; 初始化PORTA, PORTB, PORTC口寄存器
MAIN_1:  
   banksel base_ptr
    MOV lw low(Hz_TABLE_1) ; 置显示数据基准指针
    MOV wf base_ptr
    MOV lw high(HZ_TABLE_1)
    MOV wf base_ptr+1
    MOV lw 0x03   ; 置显示控制字,红绿色,静止,居左显示
    MOV wf ctrl_byte
    MOV lw 0x08   ; 置总显示列宽度,4个汉字,8个字节
    MOV wf row_bytes
MAIN_2:
    MOV lw 0x00   ; 置显示列偏移值为0
    MOV wf col_offset
    MOV lw 0x00   ; 置起启显示行从Y0..Y15循环
    MOV wf row_cnt  
    MOV f    base_ptr,w
    MOV wf cur_ptr
    MOV f base_ptr+1,w
    MOV wf cur_ptr+1 
MAIN_3:
    MOV fw row_bytes
    MOV wf col_cnt
MAIN_4:
   call GET_DATA  ;获得一个字节数据  

    MOV wf AX
    MOV f col_offset,w
    MOV wf BX
    MOV lw 0x08
    MOV wf CX
   call SHIFT_BYTE

   decfsz col_cnt,f
   goto MAIN_4
   
   call LATCH_REGISTER

   banksel PORTB
    MOV f row_cnt,w
    MOV wf PORTB

   call SLEEP_MS

   incf row_cnt,f
   btfss row_cnt,4
   goto MAIN_3
MAIN_5: 
   goto  MAIN_2
;******************************************************************************
;*                                                                            *
;*                             初始化PORT寄存器                               *
;*                                                                            *
;******************************************************************************
INIT_PORT:
   BANKSEL TRISB
   clrf TRISB   ; PORT B寄存器的bit<0:3>用于行计数输出
      BANKSEL PORTB
    MOV lw 0x10   ; PORT B的 BIT4=1 ,关闭所有LED显示
    MOV wf PORTB

      BANKSEL ADCON1   ; 设置PORTA寄存器为数字I/O
       MOV lw 0x10
    MOV wf ADCON1
   BANKSEL TRISA   ; 设置PORTA为数字输出寄存器

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


本文关键字:暂无联系方式PIC单片机单片机-工控设备 - PIC单片机