问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单片机控制数字电位器的c语言程序

发布网友 发布时间:2022-04-20 09:37

我来回答

2个回答

热心网友 时间:2022-05-13 04:19

数字电位器用的是X9C103

#include<reg51.h>
#include<stdio.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

//设定四个按键
sbit X9C102=P2^0;
sbit X9C202=P2^1;
sbit X9C302=P2^2;
sbit X9C402=P2^3;

sbit X9C103_CS=P1^0;
sbit X9C103_INC=P1^1;
sbit X9C103_UD=P1^2;

void delay_nus(uint i)
{
while(i--);
}

void delay_nms(uchar i)
{
for(i;i>0;i++)
{
delay_nus(1000);
}
}

void set_x9c103(uchar num,uchar ud,uchar save)
{
X9C103_CS=0;
delay_nus(1);
if(ud==1)
{
X9C103_UD=1;
}
else
{
X9C103_UD=0;
}
delay_nus(4);
for(num;num>0;num--)
{
X9C103_INC=1;
delay_nus(2);
X9C103_INC=0;
delay_nus(2);
}
delay_nus(2);
if(save==1)
{
X9C103_INC=1;
delay_nus(2);
X9C103_CS=1;
delay_nms(22);
}
X9C103_CS=1;
delay_nus(10);
}

void clear_down()
{
set_x9c103(100,0,1);
}

void main_init()
{
X9C103_CS=0;
clear_down();
}

void main()
{
main_init();
set_x9c103(70,1,1);
while(1)//扫描按键,对应不同倍数的输出
{
if (X9C102==0){
clear_down();
set_x9c103(10,1,1);}
if (X9C202==0){
clear_down();
set_x9c103(30,1,1);}
if (X9C302==0){
clear_down();
set_x9c103(60,1,1);}
if (X9C402==0){
clear_down();
set_x9c103(90,1,1);}
}
}

热心网友 时间:2022-05-13 05:37

用C51控制ds1867的写入程序
注:ds1867是一款256抽头的数字电位器有10k、50k、100k几款,程序采用串行输入

/*******数字电位器驱动子程序*******/
void ChangePos(bit sel,unsigned char
pos1,unsigned char pos0)
{ unsigned int i;
/******初始化3线串行口全部置0******/
/RST = 0;
DQ = 0;
CLK = 0;
/RST = 1; /*起始时刻/RST置高*/
DQ = sel; /*电位器输出选择位,DQ数据
需要在CLK高电平建立前已经保
持一定时间*/
_nop_();
/*微量延时*/
CLK = 1; /*时钟高电平脉冲时刻数据写
入*/
_nop_(); /*微量延时*/
CLK = 0; /*CLK置低*/
/***传输控制字1,先高位后低位***/
for(i=0;i<8;i++)
{ if(pos1&0x80) /*取pos1高位*/
DQ = 1; /*写入高电平*/
else DQ = 0; /*写入低电平*/
_nop_();
CLK 1;/*时钟高电平脉冲时刻数据写入*/
_nop_();
CLK = 0;
pos1 = pos1 << 1;/* pos1左移*/ }
/***传输控制字0, 先高位后低位***/
for(i = 0;i < 8;i++)
{ if(pos0 & 0x80) /*取pos0高位*/
DQ = 1; /*写入高电平*/
Else DQ = 0; /*写入低电平*/
_nop_();
CLK = 1; /*时钟高电平脉冲时刻数据写入*/
_nop_();
CLK = 0;
pos0 = pos0 << 1;/*pos0左移*/
}
/RST = 0; /*/RST置低完成一次数据的操作*/
单片机控制数字电位器的c语言程序

set_x9c103(60,1,1);}

51单片机如何控制x9c104p数字电位器

sbit inc=P0^0; //脉冲输出端 sbit ud=P0^1; //方向端 sbit cs=P0^2; //片选端 sbit led=P2^0; //指示灯 /*以下是函数声明*/ void x9c104s_inc(uchar number);void x9c104s_dec(uchar number);void x9c104s_set(uchar number);/*设定初始值*/ void x9c104s_set...

x9c104数字电位器的台阶数

100阶。x9c104数字电位器下载商家给的文件一个程序和一个手册:下载程序 按照程序内接线vcc,gnd,Inc,u/d,cs、用电压表侧量rw和rl之间的电阻、用高电平触碰P0.6降低电阻、触碰P0.7上高电阻。这个芯片的输出电阻最小是40欧姆,最大是100K,有100阶每阶1040欧姆。这个芯片利用1(INC)、2(U/...

音响中制作用c51单片机控制数字电位器实现音量控制程序

音量的控制还是比较好实现,可以用pt2314。暂停、转换是对音源的控制,需要结合音响中的CD或者MP3的播放。

怎么用单片机控制的方法改变电路中电阻的大小

如果阻值很大,可以用电子开关CD4051来切换电阻。如果要阻值很小,那可以用MOS场效应管。单片机输出PWM信号经滤波后转换成变化的直流电压加在MOS栅极上,DS之间的电阻就会随着变化,不过可能会不太稳定。

数字电位器的内部电路原理:

数字电位器一般带有总线接口,可通过单片机或逻辑电路进行编程。它适合构成各种可编程模拟器件,如可编程增益放大器、可编程滤波器、可编程线性稳压电源及音调/音量控制电路,真正实现了“把模拟器件放到总线上”(即单片机通过总线控制系统的模拟功能块)这一全新设计理念。由于数字电位器可代替机械式电位器,...

球一份关于单片机或c语言的论文!2000字左右的?

c.电流调节。多台开关电源并联使用时,要求各台电源的负载电压相等。单片机A/D口采集转换成电压值的负载电流值,通过通信口得到各台电流值,取电流平均值,控制数字电位计调节输出电压,使输出负载电流达到平均值;或者通过键盘的左右键选出电流调节页面,用上下键进行手动调节。d.故障报警。单片机通过光电耦合器检测到各项...

51单片机如何控制LM317.5v电子关断稳压器?

1、LM317是线性稳压器。2、输入5V电压 经过 317 输出 3V ? 用单片机控制317 输出 和 关断?3、还是: 用单片机控制317 输出电压 3 ~ 5V?如果是第3点意思,可以将720电阻换为 数字电位器,用单片机控制数字电位器的阻值大小即可调节输出电压。如果是第2点,5V 经317出3V没有问题,关断输出则...

关于数字电位器max5401的编程问题

DIN和SCLK的时序是由IO端口的高底来实现的.先片选.两线串行输入,上升沿有效.我没用过,没程序.参考器件资料,试写下.

单片机电源电路设计有几种方案啊?用7805怎么做呢?

1、直接找可直接由单片机控制。可编程的输出电源的芯片。找到的大多是电源管理芯片,有多路输出。太浪费。不知道有没有更好的芯片?2、带有da或是pwm功能的单片机产生一个电压,使用功放扩流。如lm386。3、单片机控制数字电位器,加上输出可调的dcdc芯片。到达到0 .1v需要的数字电位器价格...

c语言编单片机程序 单片机C语言程序设计 单片机上的电位器 51单片机c语言编程入门 单片机c语言编程300例 51单片机c语言教程pdf 单片机编程语言有哪些 51单片机编程语言 单片机三大编程语言
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见自己抛弃恋人是什么预兆? 风险等级c1- c5是什么意思? 风险测评c3能交易什么品种 为什么逆战FPS这么低,然后玩一会逆战就说:“检测到您数据异常。检查系统... 我cfsps只有90多怎么回事,像吃鸡完美运行,逆战FPS都有200多,cf的FPS9... 如何画出详细的狗的简笔画步骤? 如何画出可爱小猪的简笔画步骤? CPA考会计带什么 考会计师都需要什么 捷信好坑人,说三个月后提前还款,让我十个月才能提前还款,要花一万多利... 电影《可爱的你》主要讲的是个什么故事? x9c103电位器编程!!! 看了《可爱的你》有什么感受? 如何加大手机音量 有没有人用过x9c104?? 电影《可爱的你》中,最让你感动的情节有哪些? PADS制图,要用到数字电位器x9c104,元件库中怎么找? 电影《可爱的你》中,有哪些情节让你印象深刻? X9C104电路图 可爱的你 歌词 请问x9c104数字电位器模块的接线方法,要求两个点... 你怎么评价《可爱的你》这部电影? 求专业技术资料翻译,文章如下,是数字电位器x9c10... 韩剧可爱的你大结局是什么? 数字电位器x9c104 电影《可爱的你》讲述了一个什么样的故事? 韩剧《可爱的你》剧情简介 51单片机如何控制x9c104p数字电位器 求《可爱的你》2005年上映的韩国电视剧,李宝英和... x9c104数字电位器的台阶数 豆瓣评分7.9的《可爱的你》,是在你心中留下深刻印... x9c104芯片有什么作用? 请教 程控放大器如何控制放大增益的? 大神有可爱的你五个小孩的校长(2015)主演杨千嬅,... 怎么用单片机控制数字电位器啊?拜托大家,最好有... 韩剧《可爱的你》 我的X9C103有时候会随机出现一个阻值,不按照程序... 韩剧《可爱的你》都是谁演的? LCD12864背光如何控制,即怎么用单片机调节LCD12864... 《可爱的你》韩国电视剧 剧情 和大结局 51单片机如何产生8路PWM波 韩国电视剧《可爱的你》 数字电位器可以单独测它的阻值吗,具体怎么测,型... 英语翻译:可爱的你 有没有压控电阻这种东西 指数函数衰减的信号发生器的电路,要详细的电路图! PyScripter 2.5.3 运行程序报错,UnicodeEncodeErr... 微信李逵捕鱼 进房间闪退 占内存小又好玩的游戏有哪些? 挪威历史,谁知道?