首页 > 其他 > 详细

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

时间:2015-05-17 02:23:19      阅读:329      评论:0      收藏:0      [点我收藏+]
#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_();
}

?

?

#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数字电位器驱动源码

原文:http://xouou.iteye.com/blog/2211780

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!