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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

發一個優信74HC595的 8X8的的驅動模塊DEMO

[復制鏈接]
跳轉到指定樓層
樓主
剛學STM32,原來粗略懂一些51,在網上買了很多模塊,現在想用STM32驅動起來。原來只有51的驅動DEMO,但在網上找了很多74HC595的驅動好像都不太好用,這次我就參考了他們的代碼。自己修改了一個。效果還不錯。因為經驗不足,有一些地方可以改進的,希望大家提出。以下是部份代碼

  1. /****************************************Copyright (c)**************************************************
  2. **                                
  3. **        項目名稱:                        74HC595驅動電路
  4. **        文件名稱:                        74HC595.c
  5. **        模塊功能:                        驅動程序
  6. **
  7. **------------------------------------------------------------------------------------------------------

  8. **         創 建 者:                        李*
  9. **        E-mail  :                        lidezhong@163.com
  10. **        QQ                :                        13151999
  11. **        Mobile        :                        15870966330
  12. **        創建時間:                        2018-07-02
  13. **        版    本:                        v1.0.0
  14. **        描    述:                        基礎程序
  15. **
  16. ********************************************************************************************************/

  17. #include "74HC595.h"

  18. //以下為74HC595_N376RIX2_DIP顯示位表
  19. //unsigned char  wei[8]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE};
  20. //以下為優信2X8數碼管顯示位表
  21. unsigned char wei[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};


  22. /********************************************************************************************************
  23. **         函數名稱:                        void HC595Init(void)
  24. **        功能描述:                        初始化74HC595
  25. **        入口參數:                        void
  26. **        創 建 者:                        李德忠
  27. **        創建時間:                        2014-07-3 0:10
  28. **        版    本:                        v1.0.0
  29. ********************************************************************************************************/

  30. void HC595Init(void)
  31. {
  32.         GPIO_InitTypeDef GPIO_InitStructure;
  33.         
  34.         RCC_APB2PeriphClockCmd(HC595_CLK_GPIO_CLK | HC595_DATA_GPIO_CLK | HC595_CS_GPIO_CLK, ENABLE);
  35.         
  36.         GPIO_InitStructure.GPIO_Pin = HC595_CLK_PIN;
  37.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  38.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  39.         GPIO_Init(HC595_CLK_GPIO, &GPIO_InitStructure);
  40.         
  41.         GPIO_InitStructure.GPIO_Pin = HC595_DATA_PIN;
  42.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  43.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  44.         GPIO_Init(HC595_DATA_GPIO, &GPIO_InitStructure);

  45.         GPIO_InitStructure.GPIO_Pin = HC595_CS_PIN;
  46.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  47.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  48.         GPIO_Init(HC595_CS_GPIO, &GPIO_InitStructure);
  49.         
  50.         HC595_CLK_H();
  51.         HC595_DATA_H();
  52.         HC595_CS_H();
  53.         
  54. }
  55. void HC595Send(u8 data)
  56. {
  57.         u8 i;
  58.          for(i=0;i<8;i++)
  59.          {
  60.                          HC595_CLK_L();
  61.                   if((data & 0x80)== 0x80)                                                
  62.                   {
  63.                           HC595_DATA_H(); //串行數據輸出
  64.                   }
  65.                   else
  66.                   {
  67.                           HC595_DATA_L();
  68.                   }
  69.                  data<<=1;
  70.                  HC595_CLK_H(); //移位輸入時鐘,上升沿輸入
  71.                 HC595_CLK_L();
  72.          }
  73. }

  74. /********************************************************************************************************
  75. **         函數名稱:                        bit         DispNum(uchar * N)
  76. **        功能描述:                        刷新優信74HC595 8X8顯示數字
  77. **        入口參數:                        *N:                顯示的字符數組
  78. **        出口參數:                        void
  79. **        創 建 者:                        李德忠
  80. **        創建時間:                        2018-07-05 22:38
  81. **        版    本:                        v1.0.0
  82. **  -----------------------------------------------------------------------------------------------------
  83. ********************************************************************************************************/
  84. void         DispNum(unsigned char * N)
  85. {
  86.         unsigned char i,Nnow[8];

  87.         for(i=0;i<8;i++)
  88.         {
  89.                 switch(*(N+i))
  90.                 {
  91.                                 //以下為74HC595_N376RIX2_DIP顯示碼表
  92. //                        case        '0':        Nnow[i]        =        0x3F;        break;
  93. //                        case        '1':        Nnow[i]        =        0x06;        break;
  94. //                        case        '2':        Nnow[i]        =        0x5B;        break;
  95. //                        case        '3':        Nnow[i]        =        0x4F;        break;
  96. //                        case        '4':        Nnow[i]        =        0x66;        break;
  97. //                        case        '5':        Nnow[i]        =        0x6D;        break;
  98. //                        case        '6':        Nnow[i]        =        0x7D;        break;
  99. //                        case        '7':        Nnow[i]        =        0x07;        break;
  100. //                        case        '8':        Nnow[i]        =        0x7F;        break;
  101. //                        case        '9':        Nnow[i]        =        0x6F;        break;
  102. //                        case        'a':        Nnow[i]        =        0x77;        break;
  103. //                        case        'f':        Nnow[i]        =        0x71;        break;
  104. //                        case        'c':        Nnow[i]        =        0x39;        break;
  105. //                        case        'h':        Nnow[i]        =        0x76;        break;
  106. //                        case        '-':        Nnow[i]        =        0x40;        break;
  107. //                        case        ' ':        Nnow[i]        =        0x00;        break;
  108. //                        default:                Nnow[i]        =        0xFF;
  109.                                 
  110.                         //以下為優信8位數碼管顯示碼表                        
  111.                         case        '0':        Nnow[i]        =        0xC0;        break;
  112.                         case        '1':        Nnow[i]        =        0xF9;        break;
  113.                         case        '2':        Nnow[i]        =        0xA4;        break;
  114.                         case        '3':        Nnow[i]        =        0xB0;        break;
  115.                         case        '4':        Nnow[i]        =        0x99;        break;
  116.                         case        '5':        Nnow[i]        =        0x92;        break;
  117.                         case        '6':        Nnow[i]        =        0x82;        break;
  118.                         case        '7':        Nnow[i]        =        0xF8;        break;
  119.                         case        '8':        Nnow[i]        =        0x80;        break;
  120.                         case        '9':        Nnow[i]        =        0x90;        break;
  121.                         case        'a':        Nnow[i]        =        0x8C;        break;
  122.                         case        'b':        Nnow[i]        =        0xBF;        break;
  123.                         case        'c':        Nnow[i]        =        0xC6;        break;
  124.                         case        'd':        Nnow[i]        =        0xA1;        break;
  125.                         case        'e':        Nnow[i]        =        0x86;        break;
  126.                         case        'f':        Nnow[i]        =        0xFF;        break;
  127.                         case        '-':        Nnow[i]        =        0xbf;        break;
  128.                         case        ' ':        Nnow[i]        =        0x00;        break;
  129.                         default:                Nnow[i]        =        0xFF;                        
  130.                 }
  131.                 /*74HC595_N376RIX2_DIP驅動順序*/
  132. //                 HC595Send(0x00);  //先傳段表
  133. //                 HC595Send(Nnow[i]);
  134. //                 HC595Send(wei[i]);  //位表
  135.                
  136.                 /*優信8位LED數碼管驅動順序*/        
  137.                  HC595Send(wei[i]);  //位表
  138.                  HC595Send(Nnow[i]);

  139.                  HC595_CS_L();
  140.                  HC595_CS_H();
  141.                  HC595_CS_L();

  142.         }
  143.                         
  144. }
  145.          

復制代碼

全部資料51hei下載地址:
ALIENTEK MINISTM32_74HC595.rar (286.38 KB, 下載次數: 19)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:16255 發表于 2018-7-7 09:27 | 只看該作者
驅動8位數碼管有專用芯片的,MAX7219就可以。只需要把要顯示的內容傳送到7219,芯片會自動掃描數碼管,這樣單片機就不用操心數碼管顯示的事情了。
(優信電子也有相應的7219模塊出售的。)
回復

使用道具 舉報

板凳
ID:98880 發表于 2018-7-7 15:17 | 只看該作者
mengsiu 發表于 2018-7-7 09:27
驅動8位數碼管有專用芯片的,MAX7219就可以。只需要把要顯示的內容傳送到7219,芯片會自動掃描數碼管,這樣 ...

對的。我現在講的就是74HC595.
回復

使用道具 舉報

地板
ID:192297 發表于 2018-10-29 22:41 | 只看該作者
謝謝樓主!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级在线免费 | 久久久www成人免费无遮挡大片 | 99精品久久 | 国产成人久久精品 | 在线观看国产 | 日韩欧美一区在线 | 亚洲在线一区二区 | 欧美精品一区三区 | 中文二区 | 亚洲午夜视频在线观看 | 亚洲美女网站 | 久久久久精 | 欧美日韩专区 | 在线看成人av | 国产精品一区二区三区久久 | 亚州无限乱码 | 羞羞在线视频 | 国产精品久久久久久久久久久久久久 | 久久久久久免费看 | 国产精品日本一区二区不卡视频 | 欧美高清视频一区 | 综合久久一区 | 欧美一区二区 | 精品久久久久久 | 黄色一级大片在线免费看产 | 欧美一区免费在线观看 | 99精品国产在热久久 | 在线观看亚洲精品 | 欧美男人天堂 | 精精国产xxxx视频在线野外 | 日韩一二区在线 | 91av在线免费看 | 国产欧美一区二区三区日本久久久 | 国产有码 | 一区二区视频在线观看 | 国产一区二区精品在线 | 少妇一级淫片免费播放 | 久久ww| 欧美aⅴ| 国产视频久久 | 日韩乱码一二三 |