色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm32使用三片74HC595級(jí)聯(lián)程序代碼

          stm32使用三片74HC595級(jí)聯(lián)程序代碼

          作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
          /************************************************************************

          Function: Read_74HC595
          Description: 讀取n片74HC595的輸入數(shù)據(jù)
          Calls: HC595_delay;GPIO_ResetBits;GPIO_SetBits;
          Data Accessed: 無(wú)
          Data Updated: 無(wú)
          Input:
          HC595x:用戶(hù)使用的595端口,類(lèi)型定義在74HC595.h中
          ChipNum: 用戶(hù)使用的595端口上連接的芯片個(gè)數(shù)
          Output:
          DataBuf: 輸出數(shù)據(jù)存放緩沖區(qū)
          Return: 無(wú)
          Others: 此模塊為Stm32單片機(jī)中使用,調(diào)試時(shí)在72M系統(tǒng)時(shí)鐘下
          *************************************************************************/

          本文引用地址:http://cafeforensic.com/article/201611/320918.htm

          void Write_74HC595(HC595 HC595x,unsigned char ChipNum,unsigned char *DataBuf)
          {
          unsigned char i = 0;
          unsigned char DataBufTmp = 0;

          GPIO_ResetBits(HC595x.Lck.Port, HC595x.Lck.Pin); //設(shè)置LCK為低電平,上升沿?cái)?shù)據(jù)鎖存

          for(; ChipNum>0; ChipNum--)
          {
          DataBufTmp = *DataBuf;
          for(i=0; i<8; i++)
          {
          GPIO_ResetBits(HC595x.Clk.Port, HC595x.Clk.Pin); //時(shí)鐘低電平

          if (DataBufTmp & 0x80)
          {
          GPIO_SetBits(HC595x.Data.Port, HC595x.Data.Pin); //輸出1
          }
          else
          {
          GPIO_ResetBits(HC595x.Data.Port, HC595x.Data.Pin); //輸出0
          }

          HC595_delay(5);

          GPIO_SetBits(HC595x.Clk.Port, HC595x.Clk.Pin); //時(shí)鐘高電平,上升沿?cái)?shù)據(jù)移位

          HC595_delay(5);

          DataBufTmp = DataBufTmp << 1;
          }
          DataBuf++;
          }
          GPIO_SetBits(HC595x.Lck.Port, HC595x.Lck.Pin); //設(shè)置LCK為高電平,上升沿?cái)?shù)據(jù)鎖存
          HC595_delay(10);
          GPIO_ResetBits(HC595x.Lck.Port, HC595x.Lck.Pin); //設(shè)置LCK為低電平,上升沿?cái)?shù)據(jù)鎖存
          }



          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉