×
单片机 > 单片机程序设计 > 详情

基于c8051f310的mcp41010数字电位器驱动源码

发布时间:2020-05-26 发布时间:
|

C代码

#include "mcp41010.h"  

  

void  MCP41010_init()  

{  

    //P2MDIN                                            // 上电默认 digital  

    P2MDOUT = setBits(P2MDOUT,pin4|pin5|pin6|pin7);     // port2  4567  push-pull  

}  

  

#define  mcp_setCS()   {P2=setBits(P2,csx);}  

#define  mcp_clCS()    {P2=clrBits(P2,csx);}  

//cmd=0x11 电位器0 写数据模式  

void MCP41010_writeData(u8 cmd,u8 dat,u8 csx)           

{  

    u8 i;  

    mcp_setCS();    _nop_();    //cs1 cs2   

    mcp_sck=1;  

    mcp_sci=0;   

    mcp_clCS();   _nop_();  

    mcp_sck=0;    _nop_();  

  

    for(i=0;i<8;i++)           

    {   

        mcp_sci=getBit(cmd,7);  

        _nop_();_nop_();  

        mcp_sck=1; //data in  

        _nop_();_nop_();  

        mcp_sck=0;   

        cmd <<= 1;        _nop_();  

    }  

      

    for(i=0;i<8;i++)            

    {   

          

        mcp_sci=getBit(dat,7);  

        _nop_();_nop_();  

        mcp_sck=1;  

        _nop_();_nop_();  

        mcp_sck=0;  

        dat <<= 1;        _nop_();  

    }  

    mcp_setCS();    _nop_();  

}  

 

 

Java代码  收藏代码

#ifndef _MCP41010_H  

#define _MCP41010_H  

#include "sys51.h"  

  

extern void MCP41010_writeData(u8 cmd,u8 dat,u8 csx);  

extern void MCP41010_init();  

  

  

//用了2个电位器,所以有csa,csb  

sbit mcp_csa=P2^4;  

sbit mcp_csb=P2^5;  

  

sbit mcp_sck=P2^6;  

sbit mcp_sci=P2^7;  

  

  

  

#endif  



关键字:c8051f310  mcp41010  数字电位器 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM基础知识八