# include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit SCK = P1^0;
sbit si = P1^1;
sbit CS = P1^2;
sbit key_add = P1^3;
sbit key_cut = P1^4;
#define DATA_D0 0x11//即对C1C0:01,P1P0:01选择
#define CLEAR_D0 0x41
uchar counter =0;
void delay(uchar x)
{
while(x--);
}
//写指令,写数据
void write_mcp4110(uchar cmd,uchar dat)
{
uchar i;
uint num;
num = cmd*256+dat;
CS = 1;
SCK = 0;
CS = 0;
for(i = 0 ;i <16; i++)
{
/*if(num&0x8000)
si = 1;
else
si = 0; */
si = (bit)(num&0x8000);
SCK = 0;
num = num<<1;
SCK = 1;
}
CS = 1;
}
void write_8bit(uchar cmd)
{
uchar i;
CS = 1;
SCK = 0;
CS = 0;
for(i = 0 ;i <8; i++)
{
if(cmd&0x80)
si = 1;
else
si =0;
SCK = 0;
cmd = cmd<<1;
SCK = 1;
}
SCK = 0;
CS = 1;
}
void key()
{
if (!key_add)
{
delay(15);
if (!key_add)
{ counter++;
if (counter==256)
counter = 0;
}while(!key_add);
}
if (!key_cut)
{
delay(15);
if (!key_cut)
{ counter--;
if (counter<0)
counter = 255;
}while(!key_cut);
}
}
void main()
{
write_mcp4110(DATA_D0,0x90);
write_8bit(CLEAR_D0);
counter = 0x80;
while(1)
{ key();
write_mcp4110(DATA_D0,counter);
}
}
SPI-MCP41XXX.rar_4100xxx_41xxx_MCP4100_MCP4100规格书_mcp41XX 程序
版权申诉
89 浏览量
2022-07-14
02:04:13
上传
评论
收藏 66KB RAR 举报
Kinonoyomeo
- 粉丝: 74
- 资源: 1万+