volume.c
来自「这是一个7"LCD 液晶屏显示器」· C语言 代码 · 共 97 行
C
97 行
#include "indash.h"
void Volume_Controller_Init(void)
{
Volume_Transmit_Data(0x79);
Volume_Transmit_Data(0xd9);
Volume_Transmit_Data(0xe7);
Volume_Transmit_Data(0xa0);
Volume_Transmit_Data(0xb0);
Volume_Transmit_Data(0x20);
Volume_Transmit_Data(0x30);
}
void Trans_Volume_Data(char value)
{
Volume_Transmit_Data(0xd0 | (32 - value * 2) % 10);
Volume_Transmit_Data(0xe0 | (32 - value * 2) / 10);
}
void Volume_Clk()
{
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 0;
}
void Volume_Ack_Bit()
{
PT2257_DATA = 1;
PT2257_DATA = 1;
PT2257_DATA = 1;
Volume_Clk();
}
void Volume_Transmit_Byte(unsigned char value)reentrant
{
static char cnt = 0;
cnt++;
if (cnt < 8)
Volume_Transmit_Byte(value / 2);
else
cnt = 0;
PT2257_DATA = value % 2;
Volume_Clk();
}
void Volume_Transmit_Data(unsigned char value)
{
/* start bit */
PT2257_DATA = 0;
PT2257_DATA = 0;
PT2257_DATA = 0;
PT2257_DATA = 0;
PT2257_DATA = 0;
PT2257_CLK = 0;
PT2257_CLK = 0;
PT2257_CLK = 0;
PT2257_CLK = 0;
PT2257_CLK = 0;
/* address byte */
Volume_Transmit_Byte(0x88);
Volume_Ack_Bit();
Volume_Transmit_Byte(value);
Volume_Ack_Bit();
/* stop bit */
PT2257_DATA = 0;
PT2257_DATA = 0;
PT2257_DATA = 0;
PT2257_DATA = 0;
PT2257_DATA = 0;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_CLK = 1;
PT2257_DATA = 1;
PT2257_DATA = 1;
PT2257_DATA = 1;
PT2257_DATA = 1;
PT2257_DATA = 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?