查看: 2358|回复: 0

74HC595驱动,时序问题?

[复制链接]
  • TA的每日心情
    擦汗
    2013-1-23 10:31
  • 签到天数: 14 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2012-12-31 11:33:14 | 显示全部楼层 |阅读模式
    分享到:
    我的硬件连接:

    DS 在 P3.0
    SH_CP 在 P3.1
    L_CLK 在 P3.2
    595输出0-7对应BCD的a-h

    源码:
    1. #include <reg51.h>
    2. #include <intrins.h>

    3. code unsigned char BCD[]={0x81,0xB7,0xC2,0x92,0xB4,0x98,0x88,0xB3,0x80,0x90}; /* 0-9 */

    4. sbit L_DS = P3^0;
    5. sbit L_CP = P3^1;
    6. sbit L_CLK = P3^2;

    7. void Input(unsigned char BCD_N){
    8.         unsigned char tmp;
    9.         tmp = BCD_N;
    10.         for(tmp=0;tmp<8;tmp++){
    11.                 tmp <<= 1;
    12.                 if((BCD_N |= 0x01) == 0x01){
    13.                  L_DS = 1;
    14.                 }else{
    15.                  L_DS = 0;
    16.                 }
    17.                 L_CLK = 1;
    18.                 _nop_();
    19.                 _nop_();
    20.                 L_CLK = 0;
    21.         }
    22. }

    23. void Output(){
    24.         L_CP = 0;
    25.         _nop_();
    26.         _nop_();
    27.         L_CP = 1;
    28.         _nop_();
    29.         _nop_();
    30.         L_CP = 0;
    31. }

    32. void Init(){
    33.         L_CLK = 0;
    34.         L_CP = 1;
    35. }
    36. void main(){
    37.   Init();
    38.   Input(BCD[0]);
    39.   while(1){
    40.      Output();
    41.   }
    42. }
    43. l
    复制代码
    结果是:

    BCD不亮,复位后也不亮,按一下电路接一个测试电路发现:

    VCC-LED-接口(分别测试0-7输出)

    接所有输出都亮,是不是我写的时序有问题呢,我看到别人的程序以后自己重写了一个.
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 09:15 , Processed in 0.116175 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.