《74HC595的应用电路与程序.doc》由会员分享,可在线阅读,更多相关《74HC595的应用电路与程序.doc(10页珍藏版)》请在三一文库上搜索。
1、74HC595 的实际应用与编程(汇编 C语言)74HC595具有一个8位串行输入并行输出的移位寄存器和一个8位输出锁存器。应用电路图:74HC595演示电路板:应用演示程序:;=;74HC595 走马灯演示程序;创作日期:2006/01/02;创作者: gguoqing;=SDATA_595 EQU P1.0 ;串行数据输入SCLK_595 EQU P1.1 ;移位时钟脉冲RCK_595 EQU P1.2 ;输出锁存器控制脉冲;=ORG 0000HLJMP MAINORG 0030H;=MAIN:MOV SP,#60HMOV R0,#0FEHMAIN1:CALL OUT_595CALL DE
2、LAYMOV A,R0RL AMOV R0,AJMP MAIN1;-;输出锁存器输出数据子程序;-OUT_595:LCALL WR_595CLR RCK_595NOPNOPSETB RCK_595 ;上升沿将数据送到输出锁存器NOPNOPNOPCLR RCK_595RET;-;移位寄存器接收数据子程序;-WR_595: MOV R4,#08H ;MOV A,R0WR_LOOP: RLC AMOV SDATA_595,CSETB SCLK_595 ;上升沿发生移位NOPNOPCLR SCLK_595DJNZ R4,WR_LOOPRET;-;延时子程序;-DELAY: MOV R5,#03HDEL
3、0: MOV R6,#0FFHDEL1: MOV R7,#0FFHDJNZ R7,$DJNZ R6,DEL1DJNZ R5,DEL0RET;=END电路图见楼上/*/* */* 74HC595 走马灯演示程序 */* 作者: gguoqing */* 时间: 2006/02/26 */* */*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */* */*/#include /51芯片管脚定义头文件#include /内部包含延时函数 _nop_() ;#define uchar unsigned char#define uint unsigned intuchar code DA
4、T8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f ;sbit SDATA_595=P10 ; /串行数据输入sbit SCLK_595 =P11 ; /移位时钟脉冲sbit RCK_595 =P12 ; /输出锁存器控制脉冲uchar temp ;/*/* */* 延时子程序 */* */*/void delay(int ms)int k ;while(ms-)for(k=0 ; k ;250 ; k+)_nop_() ;_nop_() ;_nop_() ;_nop_() ;/*/* */*将显示数据送入74HC595内部移位寄存器 */* */*/void
5、 WR_595(void)uchar j ;for (j=0 ;j ;8 ;j+)temp=temp ; ;1 ;SDATA_595=CY ;SCLK_595=1 ; /上升沿发生移位_nop_() ;_nop_() ;SCLK_595=0 ;/*/* */*将移位寄存器内的数据锁存到输出寄存器并显示 */* */*/void OUT_595(void)RCK_595=0 ;_nop_() ;_nop_() ;RCK_595=1 ; /上升沿将数据送到输出锁存器_nop_() ;_nop_() ;_nop_() ;RCK_595=0 ;/* * 主程序 * */main()SCLK_595=0 ;RCK_595=1 ;while(1)uchar i ;for (i=0 ; i ;8 ; i+)temp=DAT i ; /取显示数据WR_595() ;OUT_595() ;delay(100) ;