電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1884|回復(fù): 0
收起左側(cè)

單片機(jī)C語(yǔ)言實(shí)例-193-PCF8591T芯片DA實(shí)驗(yàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-2-17 10:05:31 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
單片機(jī)C語(yǔ)言實(shí)例-193-PCF8591T芯片DA實(shí)驗(yàn)

/*************************此部分為74HC595的驅(qū)動(dòng)程序使用SPI總線連接*************************************/

#include<reg52.h>
#include <intrins.h>

#define  NOP()   _nop_()    /* 定義空指令 */
#define  _Nop()  _nop_()    /*定義空指令*/

//SPI IO
sbit    MOSIO =P1^5;
sbit    R_CLK =P1^6;
sbit    S_CLK =P1^7;
sbit    OE    =P3^6;

void HC595SendData(unsigned int SendVal);


/*********************************************************************************************************
** 函數(shù)名稱: HC595SendData
** 功能描述: 向SPI總線發(fā)送數(shù)據(jù)
** 管腳描述:請(qǐng)參考相關(guān)的芯片資料(學(xué)習(xí)光盤中以配)
*********************************************************************************************************/
void HC595SendData(unsigned int SendVal)
{  
  unsigned char i;
               
  for(i=0;i<16;i++)
   {
        if((SendVal<<i)&0x8000) MOSIO=1; // set dataline high
        else MOSIO=0;

        S_CLK=0;
        NOP();
        NOP();
        S_CLK=1;       
   }

       
  R_CLK=0; //set dataline low
  NOP();
  NOP();
  R_CLK=1; //片選
  OE=0;

}

更多詳情參考附件文檔


游客,如果您要查看本帖隱藏內(nèi)容請(qǐng)回復(fù)

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表