74HC595走马灯演示程序的实际编程案例

描述

74HC595具有一个8位串行输入并行输出的移位寄存器和一个8位输出锁存器。74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7‘输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存人到8位并行输出缓存器。

;================================================
;74HC595 走马灯演示程序

;创作日期:2007/08/012
;创作者:  给我一支烟
;================================================

SDATA_595  EQU  P1.0   ;串行数据输入
         SCLK_595   EQU  P1.1   ;移位时钟脉冲
         RCK_595    EQU  P1.2   ;输出锁存器控制脉冲
         
;================================================

ORG  0000H
               LJMP  MAIN
               ORG  0030H

;================================================
  MAIN:
                MOV  SP,#60H
                MOV  R0,#0FEH
  MAIN1:
                CALL OUT_595
                CALL  DELAY
                MOV  A,R0
                RL  A
                MOV  R0,A
                JMP  MAIN1
;---------------------------------------------------------------
;输出锁存器输出数据子程序
;---------------------------------------------------------------
OUT_595:
                LCALL WR_595
                CLR  RCK_595
                NOP
                NOP
                SETB RCK_595      ;上升沿将数据送到输出锁存器
                NOP
                NOP
                NOP
                CLR  RCK_595
                RET
;--------------------------------------------------------------
;移位寄存器接收数据子程序
;--------------------------------------------------------------
WR_595:         
                MOV R4,#08H         
                MOV A,R0
WR_LOOP:        
                RLC A
                MOV SDATA_595,C
                SETB SCLK_595       ;上升沿发生移位
                NOP
                NOP
                CLR SCLK_595
                DJNZ R4,WR_LOOP
                RET
;--------------------------------------------------------------
;延时子程序
;--------------------------------------------------------------
DELAY:          
                MOV  R5,#03H
DEL0:         
                MOV  R6,#0FFH
DEL1:          
                MOV  R7,#0FFH
                DJNZ  R7,$
                DJNZ  R6,DEL1
                DJNZ  R5,DEL0
                RET
;---------------------------------------------------------------
                END

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分