找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9318|回復: 10
打印 上一主題 下一主題
收起左側

74HC164要怎么寫單片機程序控制它

  [復制鏈接]
跳轉到指定樓層
樓主
ID:338171 發(fā)表于 2018-8-24 17:48 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
我想用74HC164去控制這三個全彩LED燈 沒用過這個芯片。 不知道咋寫。有大佬有這個資料或者這個芯片驅動LED的程序嗎?  我網上找了驅動程序 但是好像沒效果。然后我需要用手或者金屬的東西觸碰74HC164的第8腳  燈才會亮。但是一直就是只亮其中的兩個燈,所以我才感覺芯片沒有收到信號  。   希望前輩們幫忙解答疑問   程序里面74HC164函數 void des(uchar dd)   放在主函數里面 不加void 編譯不了。  下面附上程序幫我看看

電路圖片:



程序:
  1. #include <reg52.h>

  2. #define uint unsigned int  
  3. #define uchar unsigned int   

  4. sbit DATA=P1^0;
  5. sbit CLK=P1^1;
  6. sbit D1=P1^2;//藍
  7. sbit D2=P1^3;//綠
  8. sbit D3=P1^4;//紅
  9. void delay(uint z)
  10. {
  11.    uint x,y;
  12.     for(x=z;x>0;x++)
  13.        for(y=110;y>0;y++);
  14. }
  15. //74HC164函數

  16. void des(uchar dd)
  17. {
  18.     uchar i;
  19.     CLK=0;
  20.     for(i=0;i<8;i++)
  21.     {
  22.       CLK=0;
  23.       
  24.       DATA=dd&0x00;
  25.       CLK=1;
  26.       dd=dd<<1;
  27.     }
  28.     DATA=0;
  29. }

  30. void main()
  31. {

  32.      
  33.    while(1)
  34.    {
  35.     void des(uchar dd);  //不加void 編譯不了
  36.     D2=0;
  37.    }
  38. }
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:135640 發(fā)表于 2018-8-24 21:00 | 只看該作者
1.......#define uchar unsigned int  把int改成char
2.........
  while(1)
     {
      void des(uchar dd);  /(uchar dd)   是要帶有無參數呀
      D2=0;
     }

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:135640 發(fā)表于 2018-8-24 21:03 | 只看該作者
1.#define uchar unsigned int 把int改成char    2.void des(uchar dd);  //不加void 編譯不了     是要有參數語句

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:111634 發(fā)表于 2018-8-24 22:23 | 只看該作者
本帖最后由 zl2168 于 2018-8-25 08:04 編輯

給你介紹幾個參考案例
實例42  74HC164串入并出控制8/16循環(huán)燈
實例42 74HC164串行輸出控制8-16循環(huán)燈.rar (53.19 KB, 下載次數: 169)
Proteus仿真一下,確認有效。
以上摘自張志良編著《單片機實驗實訓100例》 ISBN 978-7-5124-1603-1,北航社出版書中電路和程序設計有詳細說明,程序語句條條有注解。

評分

參與人數 1黑幣 +12 收起 理由
jkangk123 + 12 很給力!

查看全部評分

回復

使用道具 舉報

5#
ID:65956 發(fā)表于 2018-8-24 22:26 | 只看該作者
num=tab_5led[CHXXX];//第幾路
        for(c=0;c<8;c++)//依次傳送8位
        {
                CLK=0;
                DAT=num&0x01;
                CLK=1;
                num>>=1;
        }

這是我自己在用的ADC采集5位164級聯(lián)顯示的開頭第1個顯示代碼,你試試,看能否幫到你

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:338171 發(fā)表于 2018-8-25 09:31 | 只看該作者
zl2168 發(fā)表于 2018-8-24 22:23
給你介紹幾個參考案例
實例42  74HC164串入并出控制8/16循環(huán)燈
先Proteus仿真一下,確認有效。

非常感謝
回復

使用道具 舉報

7#
ID:338171 發(fā)表于 2018-8-25 09:36 | 只看該作者
zl2168 發(fā)表于 2018-8-24 22:23
給你介紹幾個參考案例
實例42  74HC164串入并出控制8/16循環(huán)燈
先Proteus仿真一下,確認有效。

前輩可以發(fā)下程序參考嗎?
回復

使用道具 舉報

8#
ID:386381 發(fā)表于 2018-8-25 11:54 來自手機 | 只看該作者
查74HC164的資料,或者參考別人的例程
回復

使用道具 舉報

9#
ID:111634 發(fā)表于 2018-8-25 17:28 | 只看該作者
jkangk123 發(fā)表于 2018-8-25 09:36
前輩可以發(fā)下程序參考嗎?

仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
回復

使用道具 舉報

10#
ID:391591 發(fā)表于 2019-2-1 00:34 | 只看該作者
小兄弟, 你的程序錯的地方也太多了
回復

使用道具 舉報

11#
ID:454000 發(fā)表于 2019-2-1 09:34 | 只看該作者
很有創(chuàng)意的制作,加油!

評分

參與人數 7黑幣 +225 收起 理由
zhengchong60 + 15
Sawardeakar + 35
Trump1438 + 35
#include51.h + 35
刀刀見紅 + 35
areyouok + 35
jinsheng7533967 + 35

查看全部評分

回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表