標(biāo)題:
我想通過STC15F2K60S單片機(jī)控制電位器MCP41010
[打印本頁]
作者:
a372242775
時(shí)間:
2023-11-2 18:27
標(biāo)題:
我想通過STC15F2K60S單片機(jī)控制電位器MCP41010
想問問程序的思路 在網(wǎng)上找了一下午都沒找到相關(guān)的控制MCP410的程序。。
主要就是想通過程序控制電位器來調(diào)整電位器阻值
作者:
coody_sz
時(shí)間:
2023-11-2 19:19
這種簡單接口的IC,看看手冊就可以寫了。
作者:
wulin
時(shí)間:
2023-11-2 21:28
MCP41XXX42XXX.PDF
(689.72 KB, 下載次數(shù): 9)
2023-11-2 21:28 上傳
點(diǎn)擊文件名下載附件
作者:
dalaoshi
時(shí)間:
2023-11-3 02:02
MCP41010: ;SET VOLUME
;P1.1=CS2 ;NO-USE
;P1.6=CS1
;P1.7=SI
;P5.4=SCK
;CMD=XXCCXXPP CC=CONTROL=01=WRITE PP=01=WRITE TO 0-VR
CLR P1.6 ;LOW ALLOW TO CLOCK IN DATA
NOP
CLR P5.4
MOV A, #00010001B ;CMD WRITE
LCALL MCPIN
MOV A, 31H
MOV B, #2
MUL AB
;LCALL SENTONEBYTE1
LCALL MCPIN
NOP
SETB P1.6 ;HIGH CS
NOP
RET
MCPIN:
MOV R6, #8
MCPIN1:
RLC A ;CLOCK IN
JC SI_H
CLR P1.7
JMP SI_L
SI_H:
SETB P1.7
SI_L:
NOP
SETB P5.4 ;RISE UP TO CLOCK DATA IN
NOP
CLR P5.4
DJNZ R6,MCPIN1
RET
作者:
chxelc
時(shí)間:
2023-11-3 08:27
sbit SCK = P3^0;
sbit DI = P3^1;
sbit RES_CS = P1^0;
void Write_RES(unsigned char);
void main()
{
Write_RES(0x80);
Write_RES(0x80);
while(1);
}
void Write_RES(unsigned char dat) //調(diào)整數(shù)字電位器
{
unsigned char i,dat1,command=0x11;
dat1=dat;
RES_CS = 1;
SCK = 1;
RES_CS = 0; //片選
for(i=8;i>0;i--) //寫命令8位
{
//將下降沿產(chǎn)生語句放在循環(huán)開始處
SCK = 0;
command <<= 1;
DI = CY;
//用循環(huán)處理語句代替延時(shí)
SCK = 1;//_nop_();
}
for(i=8;i>0;i--) //寫數(shù)據(jù)八位
{
//將下降沿產(chǎn)生語句放在循環(huán)開始處
SCK = 0;
dat1 <<= 1;
DI = CY;
//用循環(huán)處理語句代替延時(shí)
SCK = 1;//_nop_();
}
RES_CS = 1
}
復(fù)制代碼
作者:
a372242775
時(shí)間:
2023-11-3 20:42
本帖最后由 a372242775 于 2023-11-4 10:29 編輯
chxelc 發(fā)表于 2023-11-3 08:27
謝謝大哥
這個(gè)程序是可以的
只要選擇自己單片機(jī)型號(hào),再根據(jù)連接的引腳重新更改定義一下就基本可以
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1