久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11950|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

74hc595使用方法與單片機(jī)驅(qū)動源程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
      
雖然這玩意不復(fù)雜,但是在網(wǎng)上看了很多資料還是眼花,簡單的說一下工作原理:
      
DS是數(shù)據(jù)傳遞數(shù)據(jù)口,DS傳遞一次后SH_CP進(jìn)行一次上升沿串行數(shù)據(jù)發(fā)生位移,ST_CP發(fā)生一次上升沿完成數(shù)據(jù)發(fā)送,即串行轉(zhuǎn)并行。下圖中的Q7’可以接下一個595的DS口,也可以不接。當(dāng)完成8次數(shù)據(jù)傳輸?shù)脑挾喑龅臄?shù)據(jù)就從Q7’就從傳入下一個595。MR低電平清除數(shù)據(jù),圖中接正極。OE相當(dāng)于開關(guān),低電平輸出有效,高電平并行口為高阻態(tài),圖中接負(fù)極。然后原理圖和代碼放在旁邊,證明一下理論。
      
旁邊的是實(shí)物圖,比原理圖多處兩個引腳,原理圖省略的是電源正負(fù)極。
      
上述只是簡單的使用方法,詳細(xì)結(jié)構(gòu):www.baidu.com
   
   

1.jpg (14.07 KB, 下載次數(shù): 86)

1.jpg

2.jpg (8 KB, 下載次數(shù): 87)

2.jpg

3.jpg (11.2 KB, 下載次數(shù): 82)

3.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:248500 發(fā)表于 2018-6-10 22:45 | 只看該作者
  1. #include<reg52.h>
  2. #include<intrins.h>

  3. typedef unsigned char u8;
  4. typedef unsigned int u16;

  5. sbit SH_CP1 = P2^1;
  6. sbit DS = P2^0;
  7. sbit ST_CP1 = P2^2;
  8. sbit SH_CP2 = P2^3;
  9. sbit ST_CP2 = P2^4;

  10. void delay()                                                //延時函數(shù)
  11. {
  12.         u8 a, b, c;
  13.         for(a = 0; a < 110; ++a)
  14.                 for(b = 0; b < 110; ++b)
  15.                         for(c = 0; c < 10; ++c);
  16. }

  17. void send_data_74hc595(u16 data_74hc595)                    //傳送數(shù)據(jù)給74hc595
  18. {
  19.         u8 a;
  20.         for(a = 0; a < 8; ++a)
  21.         {
  22.                 DS = (data_74hc595 << a) & 0x80;                    //從高位開始傳輸
  23.                 SH_CP1 = 0;
  24.                 SH_CP2 = 0;
  25.                 _nop_();
  26.                 _nop_();
  27.                 SH_CP1 = 1;
  28.                 SH_CP2 = 1;
  29.         }
  30. }

  31. void show_74hc595()                                         //數(shù)據(jù)顯示
  32. {
  33.         ST_CP1 = 0;
  34.         ST_CP2 = 0;
  35.         _nop_();
  36.         _nop_();
  37.         ST_CP1 = 1;
  38.         ST_CP2 = 1;
  39. }

  40. void main()
  41. {
  42.         while(1)
  43.         {
  44.                 send_data_74hc595(0x00);                            //依次傳輸數(shù)據(jù),上面的數(shù)據(jù)傳輸給第二個595
  45.                 send_data_74hc595(0x01);                            //下面的給第一個·595
  46.                 show_74hc595();                                     //數(shù)據(jù)顯示
  47.                 delay();                                            //延時
  48.                 send_data_74hc595(0x00);
  49.                 send_data_74hc595(0x03);
  50.                 show_74hc595();
  51.                 delay();
  52.                 send_data_74hc595(0x00);
  53.                 send_data_74hc595(0x07);
  54.                 show_74hc595();
  55.                 delay();
  56.                 send_data_74hc595(0x00);
  57.                 send_data_74hc595(0x0f);
  58.                 show_74hc595();
  59.                 delay();
  60.                 send_data_74hc595(0x00);
  61.                 send_data_74hc595(0x1f);
  62.                 show_74hc595();
  63.                 delay();
  64.                 send_data_74hc595(0x00);
  65.                 send_data_74hc595(0x3f);
  66.                 show_74hc595();
  67.                 delay();
  68.                 send_data_74hc595(0x00);
  69.                 send_data_74hc595(0x7f);
  70.                 show_74hc595();
  71.                 delay();
  72.                 send_data_74hc595(0x00);
  73.                 send_data_74hc595(0xff);
  74.                 show_74hc595();
  75.                 delay();

  76.                 send_data_74hc595(0x01);
  77.                 send_data_74hc595(0xff);
  78.                 show_74hc595();
  79.                 delay();
  80.                 send_data_74hc595(0x03);
  81.                 send_data_74hc595(0xff);
  82.                 show_74hc595();
  83.                 delay();
  84.                 send_data_74hc595(0x07);
  85.                 send_data_74hc595(0xff);
  86.                 show_74hc595();
  87.                 delay();
  88.                 send_data_74hc595(0x0f);
  89.                 send_data_74hc595(0xff);
  90.                 show_74hc595();
  91.                 delay();
  92.                 send_data_74hc595(0x1f);
  93.                 send_data_74hc595(0xff);
  94.                 show_74hc595();
  95.                 delay();
  96.                 send_data_74hc595(0x3f);
  97.                 send_data_74hc595(0xff);
  98.                 show_74hc595();
  99.                 delay();
  100.                 send_data_74hc595(0x7f);
  101.                 send_data_74hc595(0xff);
  102.                 show_74hc595();
  103.                 delay();
  104.                 send_data_74hc595(0xff);
  105.                 send_data_74hc595(0xff);
  106.                 show_74hc595();
  107.                 delay();
  108.         }
  109. }
復(fù)制代碼


74hc595.zip

138.52 KB, 下載次數(shù): 78, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報

板凳
ID:328014 發(fā)表于 2018-6-12 03:58 | 只看該作者
很有用,收藏
回復(fù)

使用道具 舉報

地板
ID:580181 發(fā)表于 2020-3-11 12:43 | 只看該作者
想了很久沒想懂為什么上面?zhèn)鹘o第二個74HC595下面?zhèn)鹘o第一個
回復(fù)

使用道具 舉報

5#
ID:126225 發(fā)表于 2020-3-12 11:35 | 只看該作者
這個級聯(lián)仿真是有bug的,比如運(yùn)行到這一步            
send_data_74hc595(0x00);
send_data_74hc595(0xff);
show_74hc595();
應(yīng)該是上面八個燈亮下面八個燈全部滅,但仿真的時候卻是上面八個亮之外,下面的Q0輸出的燈也是亮的。

解決辦法
在電路上將
SH_CP1和SH_CP2直接相連
ST_CP1和 ST_CP2 直接相連
程序上
只用SH_CP1和ST_CP1來進(jìn)行控制


回復(fù)

使用道具 舉報

6#
ID:607710 發(fā)表于 2020-3-14 10:52 | 只看該作者
92pk 發(fā)表于 2020-3-12 11:35
這個級聯(lián)仿真是有bug的,比如運(yùn)行到這一步            
send_data_74hc595(0x00);
send_data_74hc595(0x ...

贊一個,對頭!多動手
回復(fù)

使用道具 舉報

7#
ID:573252 發(fā)表于 2020-10-27 19:17 | 只看該作者
很通俗易懂  ,感謝
回復(fù)

使用道具 舉報

8#
ID:573252 發(fā)表于 2020-10-27 19:18 | 只看該作者
KM民 發(fā)表于 2020-3-11 12:43
想了很久沒想懂為什么上面?zhèn)鹘o第二個74HC595下面?zhèn)鹘o第一個

多級擴(kuò)展 ,比如LED顯示屏
回復(fù)

使用道具 舉報

9#
ID:837601 發(fā)表于 2021-2-19 13:35 | 只看該作者
如果只驅(qū)動一個74hc595呢
回復(fù)

使用道具 舉報

10#
ID:230742 發(fā)表于 2021-2-20 15:29 | 只看該作者
驅(qū)動一個595?你是要串轉(zhuǎn)并嗎?
回復(fù)

使用道具 舉報

11#
ID:401500 發(fā)表于 2021-2-20 19:32 | 只看該作者
有更簡潔的代碼 
void wttype(u8 v)
{
u8 x;
        CLR=1;
        RCK=0;
        for (x=0x80;x!=0;x>>=1)
          {
     SCK=1;
     SI=(v&x)? 1:0 ;
     SCK=0;
    }       
  RCK=1;       
}
回復(fù)

使用道具 舉報

12#
ID:854829 發(fā)表于 2021-4-26 08:45 | 只看該作者
zhuming 發(fā)表于 2021-2-20 19:32
有更簡潔的代碼 
void wttype(u8 v)
{

不是上升沿有效嗎?
回復(fù)

使用道具 舉報

13#
ID:854829 發(fā)表于 2021-4-26 10:58 | 只看該作者
zhuming 發(fā)表于 2021-2-20 19:32
有更簡潔的代碼 
void wttype(u8 v)
{

我想應(yīng)該是上升沿有效吧?你這個如果我沒搞錯的話是下降沿喲
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人久久久 | 日韩精品欧美精品 | 亚洲国产成人av好男人在线观看 | 成年人网站免费视频 | 亚洲成色777777在线观看影院 | 亚洲男人的天堂网站 | 国产精品国产自产拍高清 | 性做久久久久久免费观看欧美 | 午夜专区 | 国产成人精品免费视频大全最热 | 欧洲色 | 91伊人 | 中文字幕一区在线观看视频 | www.操com | 一区二区成人 | 毛片在线免费 | 欧美最猛性xxxxx亚洲精品 | 毛片网站免费观看 | 91九色porny首页最多播放 | 国产欧美日韩一区 | 久久伊人精品 | 国产久视频 | 99精品免费久久久久久日本 | 欧美中文字幕一区二区三区亚洲 | 国产精品久久久久久吹潮日韩动画 | 青青草av在线播放 | 狠狠av| 亚洲区视频 | 99精品视频在线观看免费播放 | 天天碰夜夜操 | 日韩欧美一区二区三区 | 国产日韩欧美一区 | 天天综合网永久 | 中文字幕第5页 | 91高清在线 | 亚洲一区二区综合 | 91视视频在线观看入口直接观看 | 一区二区成人 | 欧美一级在线免费观看 | 99久久久久| 国产亚洲欧美在线 |