你好,欢迎访问达普芯片交易网!|  电话:010-82614113

达普芯片交易网 > 新闻资讯 > 技术信息

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

发布时间:2018-12-03

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



热点排行

在线人工客服

点击这里给我发消息

点击这里给我发消息

点击这里给我发消息

010-82614113

客服在线时间周一至周五
9:00-17:30