专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
PIC单片机
数字电位器isl22414经常写不进值,有用过的么?
2020-02-09 09:34
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
2278
6
6
我用的是PIC18单片机,时序也是按照22414上写的,写不进值和什么有关系?
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
wing78
1楼-- · 2020-02-09 10:02
#include <p18cxxx.h>
#include <spi.h>
#include <delays.h>
#include<adc.h>
#include "amr.h"
#define select_22414 PORTDbits.RD7
#define select_1340 PORTDbits.RD3
#define select_sd PORTDbits.RD0
#define select_eeprom PORTCbits.RC1
void Spi_Init();
void R22414_Init();
void System_Init();
unsigned int k=0,k1=0,k0=0;
unsigned int k4=0;
unsigned char uu=0,i=0,uu1=0;
void main()
{
ADCON1 = 0x0F ;
System_Init();
Spi_Init();
R22414_Init();
for(k=0;k<16;k++)
{
uu=16*k;
select_22414=0;
WriteSPI(0xC0);
WriteSPI(uu);
uu1=ReadSPI();
select_22414=1;
Delay10KTCYx(200);
}
Delay10KTCYx(100);
WriteSPI(0xC0);
WriteSPI(233);
Delay10KTCYx(10);
}
void System_Init()
{
TRISCbits.TRISC3 = 0; //选SPI接口器件
TRISCbits.TRISC5 = 0;
TRISCbits.TRISC4 = 1;
TRISDbits.TRISD7 = 0;
TRISDbits.TRISD3 = 0;
TRISDbits.TRISD0 = 0;
TRISCbits.TRISC1 = 0;
}
void Spi_Init()
{
OpenSPI(SPI_FOSC_64, MODE_00, SMPMID); //配置SPI接口,注意MODE要选00,否则不通
}
void R22414_Init()
{
uu=0;
PORTDbits.RD3=1;
PORTDbits.RD0=1;
PORTCbits.RC1=1;
select_22414=1;
Delay1KTCYx(30);
select_22414=0;
WriteSPI(0x60);
WriteSPI(0xc0);
Delay10KTCYx(200);
uu=ReadSPI();
uu=ReadSPI();
select_22414=1;
Delay10KTCYx(200);
select_22414=0;
WriteSPI(0xC0);
WriteSPI(0xAF);//初始值为66%
uu=ReadSPI();
select_22414=1;
Delay10KTCYx(200);
}
加载中...
wing78
2楼-- · 2020-02-09 10:55
这是我写的程序,不知道哪出了问题。谢谢了!
加载中...
wing78
3楼-- · 2020-02-09 13:45
已解决,是那芯片比较~~~
加载中...
gxy508
4楼-- · 2020-02-09 14:30
精彩回答 2 元偷偷看……
加载中...
my2009
5楼-- · 2020-02-09 18:43
mark
加载中...
一周热门
更多
>
相关问题
PIC单片机不同的IO口驱动74HC573驱动共阴极的数码管,有的段不亮
1 个回答
一种简单精确的pic延时方法
21 个回答
谁熟悉PIC的产品发布时间的,帮看看PIC18F47K40啥版本IDE能开发
12 个回答
求AN1078对应的源代码下载地址
5 个回答
PIC单片机应用技巧
4 个回答
串口无法连续接收数据
2 个回答
求助:dsPIC33F串口通信,如何发送字符串
4 个回答
PIC45K40 IOC(interrupt-on-change)功能
2 个回答
相关文章
一种用PIC单片机主时钟驱动的老式挂钟
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
PIC单片机
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
#include <spi.h>
#include <delays.h>
#include<adc.h>
#include "amr.h"
#define select_22414 PORTDbits.RD7
#define select_1340 PORTDbits.RD3
#define select_sd PORTDbits.RD0
#define select_eeprom PORTCbits.RC1
void Spi_Init();
void R22414_Init();
void System_Init();
unsigned int k=0,k1=0,k0=0;
unsigned int k4=0;
unsigned char uu=0,i=0,uu1=0;
void main()
{
ADCON1 = 0x0F ;
System_Init();
Spi_Init();
R22414_Init();
for(k=0;k<16;k++)
{
uu=16*k;
select_22414=0;
WriteSPI(0xC0);
WriteSPI(uu);
uu1=ReadSPI();
select_22414=1;
Delay10KTCYx(200);
}
Delay10KTCYx(100);
WriteSPI(0xC0);
WriteSPI(233);
Delay10KTCYx(10);
}
void System_Init()
{
TRISCbits.TRISC3 = 0; //选SPI接口器件
TRISCbits.TRISC5 = 0;
TRISCbits.TRISC4 = 1;
TRISDbits.TRISD7 = 0;
TRISDbits.TRISD3 = 0;
TRISDbits.TRISD0 = 0;
TRISCbits.TRISC1 = 0;
}
void Spi_Init()
{
OpenSPI(SPI_FOSC_64, MODE_00, SMPMID); //配置SPI接口,注意MODE要选00,否则不通
}
void R22414_Init()
{
uu=0;
PORTDbits.RD3=1;
PORTDbits.RD0=1;
PORTCbits.RC1=1;
select_22414=1;
Delay1KTCYx(30);
select_22414=0;
WriteSPI(0x60);
WriteSPI(0xc0);
Delay10KTCYx(200);
uu=ReadSPI();
uu=ReadSPI();
select_22414=1;
Delay10KTCYx(200);
select_22414=0;
WriteSPI(0xC0);
WriteSPI(0xAF);//初始值为66%
uu=ReadSPI();
select_22414=1;
Delay10KTCYx(200);
}
一周热门 更多>