资讯详情

数字电位器X9C103 100级调节电路和单片机源程序

/*

* 按键函数子函数

* 按键函数分别涉及两个按键检测和控制P3^2和P3^3.每次按下两个按钮,分别实现10个按钮K数字

* 电位器中间的滑动端向上和向下滑动1k数值。

* 数字电位器接口说明:INC接P2^0,U_D接P2^1,CS接P2^2。

*/

#include"HEADER.h"

#include"LCD1602.h"

#include"BUTTON.h"

volatile unsigned char FLAG_BUTTON = 0.//按键检测标志位置

volatile unsigned char BUTTON_DAT = 0.//按键值变量

volatile unsigned int TIME_10MS = 0;//时间变量

volatile unsigned char VOLUME = 0;///电位器值

void T0_Timer() interrupt //定时器0中断服务程序

{

TR0 = 0;

// WDT_CONTR = 0X31; //喂狗

TH0 =55536/256; ///重新安装初始值

TL0 =55536%6; ///重新安装初始值

TR0 = 1;

TIME_10MS ; //time_10ms变量累加

if(TIME_10MS == 1000)TIME_10MS = 0;//time_10ms变量清零

ButtonTest()//按键检测;

}

void ButtonTest(void)

{

static uchar Count_ButtonDown;///静态按钮按下计数

static uchar Count_ButtonUp;////静态按松开计数

if((SW_1 == 0)||(SW_2 == 0))

{

Count_ButtonDown ;

Count_ButtonUp = 0;

if(Count_ButtonDown==2)

{

if(SW_1 == 0)BUTTON_DAT = 1;

else if(SW_2 == 0)BUTTON_DAT = 2;

if(BUTTON_DAT != 0)FLAG_BUTTON = 1;

}

if(Count_ButtonDown>=50)

{

Count_ButtonDown = 0;

if(SW_1 == 0)BUTTON_DAT = 1;

else if(SW_2 == 0)BUTTON_DAT = 2;

if(BUTTON_DAT != 0)FLAG_BUTTON = 1;

}

}

else

{

if(Count_ButtonDown>2) //如果按钮已确认按下,则开始判断松开

{

Count_ButtonUp ;

if(Count_ButtonUp>=2)

{

Count_ButtonUp = 0;

Count_ButtonDown = 0;

}

}

}

}

void ButtonService(unsigned char dat)

{

switch(dat)

{

case 1: ///电位器值增加

{

unsigned char n = 0;

CS = 0;

U_D = 1;

_nop_();

for(n=10;n>0;n--)

{

INC = 0;

_nop_();

_nop_();

INC = 1;

}

CS = 1;

VOLUME ;

if(VOLUME > 10)VOLUME = 10;

DISPLAY[0] = VOLUME0/10 0x30;

DISPLAY[1] = VOLUME 0x30;

Lcd_Set_xy(2,7);

Lcd_Wdat(DISPLAY[0]);

Lcd_Wdat(DISPLAY[1]);

}

break;

case 2: ///电位器值降低

{

unsigned char n = 0;

CS = 0;

U_D = 0;

_nop_();

for(n=10;n>0;n--)

{

INC = 0;

_nop_();

_nop_();

INC = 1;

}

CS = 1;

if(VOLUME == 0)VOLUME = 1;

VOLUME--;

DISPLAY[0] = VOLUME0/10 0x30;

DISPLAY[1] = VOLUME 0x30;

Lcd_Set_xy(2,7);

Lcd_Wdat(DISPLAY[0]);

Lcd_Wdat(DISPLAY[1]);

……………………

…………本文篇幅有限 请从51黑下载剩余代码…………

标签: 电位器调到零电位器的103c2031滑动电位器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台