查表法8位ADC模擬輸入按鍵掃描,按下圖搭建電路。
- unsigned char code dis_buf[]={0,10,30,50,70,90,110,130,150};
- unsigned char key_value;//鍵值
- unsigned char ADC_value;//ADC轉換值(8位)
- unsigned char i;
- void key_scan(ADC_value)
- {
- for(i=0;i<8;i++)
- {
- if(ADC_value>=dis_buf[i] && ADC_value<dis_buf[i+1])
- {
- key_value=i+1;
- break;//跳出當前循環
- }
- }
- }
復制代碼
|