📄 adc.c
字号:
//--------------------------------------------//
#include "adc.h"
//--------------------------------------------//
//adc_key=0-31(测量的电压值)
const prog_uchar ADC_KEY_TAB[]=
{
2,2, //key_up 0,1
0,0,0, //vol- 2,3,4
7,7,7, //jk_up 5,6,7
5,5,5, //jk_left 8,9,10
8,8,8, //jd_dn 11,12,13
3,3,3, //key_dn 14,15,16
9,9,9,9, //jk_cen 17,18,19,20
6,6,6, //jk_right 21,22,23
1,1,1, //vol+ 24,25,26
4,4,4, //source 27,28,29
10,10 //nokey 30,31
/* 原v6.5按键
0,0, //vol- 0,1
7,7,7, //jk_up 2,3,4
5,5,5, //jk_left 5,6,7
8,8,8, //jk_dn 8,9,10
2,2,2, //seek+ 11,12,13
3,3,3, //seek- 14,15,16
9,9,9,9, //jk_cen 17,18,19,20
6,6,6, //jk_right 21,22,23
1,1,1, //vol+ 24,25,26
4,4,4, //source 27,28,29
10,10 //nokey 30,31
*/
};
/*
void adc_ini(void)
{
ACSR=0x80; //关比较器!!!!!!!!!!!!
ADMUX=0b11100111; //内部基准, 左对齐,ADC-7ch
ADCSRA=0b00000111; //ADC-DISABLE, ADC-STOP, 自动触发DISABLE, FLAG_DISABLE,ADC_INT_DISABLE,预分频507us/25.6K
ADCSRB=0b00000000; //比较器复用_DISABLE,自动触发源连续(无效)
DIDR0=0X00; //无数字输入禁止
}
*/
//--------------------------------------------//
void adc_volatge_start(void)
{
ACSR=0x80; //关比较器!!!!!!!!!!!!
ADMUX=0b01100111; //V3.3基准, 左对齐,ADC-7ch
ADCSRA=0b00000111; //ADC-DISABLE, ADC-STOP, 自动触发DISABLE, FLAG_DISABLE,ADC_INT_DISABLE,预分频507us/25.6K
ADCSRB=0b00000000; //比较器复用_DISABLE,自动触发源连续(无效)
DIDR0=0X00; //无数字输入禁止
ADCSRA |= (1<<ADEN) | (1<<ADSC); //ADC允许,启动
}
//--------------------------------------------//
void adc_key_start(void)
{
ACSR=0x80; //关比较器!!!!!!!!!!!!
ADMUX=0b01100110; //V3.3基准, 左对齐, ADC-6ch
ADCSRA=0b00000111; //ADC-DISABLE, ADC-STOP, 自动触发DISABLE, FLAG_DISABLE,ADC_INT_DISABLE,预分频507us/25.6K
ADCSRB=0b00000000; //比较器复用_DISABLE,自动触发源连续(无效)
DIDR0=0X00; //无数字输入禁止
ADCSRA |= (1<<ADEN) | (1<<ADSC); //ADC允许,启动
}
//--------------------------------------------//
void adc_stop(void)
{
ADCSRA &= ~(1<<ADEN) ; //ADC禁止
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -