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

PIC16F876A 64X16点阵显示

点击数:7613 次   录入时间:03-04 11:44:18   整理:http://www.55dianzi.com   PIC单片机
   clrf TRISA   ; bit<0> 用于红色移位数据输出, bit<1>用于绿色. bit<2>为移位脉冲,bit<3>为锁存脉冲

   return     ; 返回

;******************************************************************************
;*                                                                            *
;*                          将一个字节移入列寄存器                            *
;*                                                                            *
;*  入口参数:                 *
;*     AX 中为移位数据               *
;*       BX 中为起始位0=D7,1=D6,...            *
;*       CX 中为移动计数               *
;*  出口参数:                 *
;*     无                *
;*                                                                            *
;******************************************************************************
SHIFT_BYTE:
    MOV f BX,f   ; 是从D7开如写入列寄存器?
   skpnz
   goto SHIFT_BYTE_2 
SHIFT_BYTE_1:      
   rlf  AX,f   ; 从AX中移去多余的数据位
   decfsz BX,f
   goto SHIFT_BYTE_1

SHIFT_BYTE_2:
   BANKSEL PORTA   ; 选择端口A的所在页面
SHIFT_BYTE_3:
    MOV lw 0x03   ; 预置,红、绿都为亮
   rlf  AX,f   
   skpc
    MOV lw 0x00   ; 红、绿都为灭
   andwf ctrl_byte,w  ; 确定显示的颜色
   andlw 0x03   ; 屏蔽多余的位
    MOV wf PORTA   ; 数据输出到移位总线上,PORT A的BIT<0:1>

   nop
   nop
   nop
   iorlw 0x04   ; 在PORT A的BIT<2>上生成一个上升沿移位脉冲,将数据移入列寄存器
    MOV wf PORTA   ; 置PORT A的BIT<2>为高电平
   nop
   nop
   nop
   andlw 0x03
    MOV wf PORTA   ; 置PORT A的BIT<2>为低电平
   nop      ; 完成移位脉冲输出
   nop
   nop

   decfsz CX,f   ; 是否输出了所有的数据位
   goto  SHIFT_BYTE_2 ; 继续下一位输出
   
   return     ; 完成一个字节的移位输出,返回

;******************************************************************************
;*                                                                            *
;*                          将列寄存器的内容输出显示                          *
;*                                                                            *
;*  入口参数:                 *
;*     无                *
;*  出口参数:                 *
;*     无                *
;*                                                                            *
;******************************************************************************
LATCH_REGISTER:
   BANKSEL PORTA   ; 选择端口A的所在页面  

    MOV lw 0x00   ; 在PORT A的BIT<3>上生成一个↑上升沿锁存脉冲 ,将移位数据打入锁存器
    MOV wf PORTA
   nop

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


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