找回密码
 注册
关于网站域名变更的通知
查看: 430|回复: 1
打印 上一主题 下一主题

74HC595驱动控制LED 原理图和单片机代码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-16 10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
74HC595驱动控制LED 原理图和单片机代码
$ m) P9 b& h* j8 {0 f: y' I8 \' L. D$ L/ p
* L7 z$ H, I: b5 [. c. |
51单片机做的74HC595驱动控制LED
/ T8 C& z. |# n/ J: {1 V6 c 3 a& \# i: ]2 ~
. z  x& c6 q3 n# H$ F2 K
单片机代码如下:

: ~; N; D' S; X; {) J9 G0 I#include
2 g1 _7 U) D8 ^* E3 a, A9 }#include
3 L  d  v7 u4 u' f+ Q! m% u2 l/ v! z$ r$ }$ l' A
& n/ V( E2 H/ k  C5 [7 N9 N
sbit SRCLK=P3^6;. d1 e. k- \/ }3 g
sbit RCLK=P3^5;
4 c: T  F7 x! \! ^* tsbit SER=P3^4;
) v1 l- o" U- K& [, w$ G" Nvoid Hc595SendByte(unsigned char dat);+ K. h- H( E. U9 S* E! W% R
void Delay10ms(unsigned int ) ;
# E/ Q* q  Z" w; R2 {% H% G8 B9 pvoid main()
' o6 Y6 x& h9 q/ S0 G$ s% |{
8 A" n, {' M& [! }1 r- R        unsigned char ledNum;+ a! G. b6 ]) T# z/ a  t
        ledNum=0xfe;
) g6 i$ Z1 g) o  C6 {# Q/ p        while(1)) ^* r6 }- `' X, q  }! K
        {
) h$ S0 G; t0 M9 F5 C. D3 T                Hc595SendByte(ledNum);
2 S) V  e+ }. }& S  p                ledNum=_cror_(ledNum,1);
9 [4 i3 W0 H' b2 k( \( D% ]+ j7 l) d                Delay10ms(50);! r  K. A. G0 O* i9 V/ I! U
        }        ! [( a; Z  B8 D1 X/ a' N3 V
}! Z) p" V" f5 e, b9 N5 U( @
/*******************************************************************************5 o4 I2 U4 |# A; _6 l
* 函数名         : Hc595SendByte(unsigned char dat)
- y7 s7 P. P, a, y0 m. }# I$ h8 d* 函数功能                   : 想74H595发送一个字节的数据
, N5 F9 k5 W& k9 G2 p& ~$ I7 `* 输入           : 无$ i, m$ j# Z2 ~- `! L
* 输出                  : 无$ N% x3 H* l8 Z/ e+ V' ?8 O8 l
*******************************************************************************/) H+ h( H1 @9 h4 J
void Hc595SendByte(unsigned char dat)4 J$ X! x) ]& P5 M
{8 F- I& B/ Q( ]) T( g( L! R5 x
        unsigned char a;
& n( ?% b/ E$ [  _        SRCLK=0;
! [" S, D& `) I/ G2 Z/ j        RCLK=0;
' `: E: @2 R& S, |: X8 x        for(a=0;a<8;a++)) W4 \- o8 l9 B5 ?  P1 i
        {* k& q3 I& z5 m9 L6 @4 R
                SER=dat>>7;' v4 w; l7 M& L- X
                dat<<=1;, ^$ O# L8 ]/ Z4 O4 Y

& T; G. ]" J4 ~% G- h

9 Y+ M/ P% n+ V3 X% I                SRCLK=1;
8 p% a8 U* ?8 w2 x                _nop_();
. M$ R4 C& r# |0 L                _nop_();' j# A8 ?' B8 |* M
                SRCLK=0;        ! I1 E9 q6 a- c' E; y5 i# I: `
        }
( p3 a! ?7 A+ {# k* r4 b; B$ ]; @/ p! D$ y4 G. M( w

# g5 }5 ~1 v; ~1 {! o( P% N        RCLK=1;
2 A# E& T7 S: \3 U        _nop_();& \! ]% \4 k7 W$ y
        _nop_();2 Y/ ~% u# G4 _8 m3 z9 T9 m
        RCLK=0;
# f$ B& O2 F' G  |6 S9 z" o- C}
6 S9 Z2 K' s7 p1 V# p/*******************************************************************************) |" }( ^: f) a, u% @
* 函数名         : Delay10ms
. _2 H- Z  n' T: x8 [( ]* 函数功能                   : 延时函数,延时10ms5 e7 t$ j% M3 N4 K# h
* 输入           : c: o1 w5 N9 x7 p* M
* 输出                  : 无: Q& J/ d8 [6 L1 u! P& f% V! P
*******************************************************************************/
+ g2 _6 I4 ~1 K; ]# s$ Fvoid Delay10ms(unsigned int c)   //误差 0us, X( n+ B4 u+ V* C4 a
{
; p- I# `* m: r7 }& T% m    unsigned char a,b;; t# D% |: P+ W( g+ e6 U- s
    for(;c>0;c--)
% E: p$ c% U8 Q8 Y: v% K) M        for(b=38;b>0;b--)# s3 K- ?+ g/ Q% ?- s
            for(a=130;a>0;a--);
$ u- A) |; f/ n2 k9 `' M8 I4 n3 c/ H}
0 V* S! H" W0 [% f& a) d  C8 r: I% e
9 s; |) [9 L; K. C# `
下载:
: w' J1 y2 B; O( X+ @( d" t
游客,如果您要查看本帖隐藏内容请回复

! e4 {. i. J8 f/ @7 R$ U$ p

% b0 R) \- Y4 W1 p, I7 i

该用户从未签到

2#
发表于 2019-1-16 21:58 | 只看该作者
谢谢楼主分享,感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-11 06:49 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表