adc.c
来自「CCS_ADC 16f877用法,通到一为RA0;」· C语言 代码 · 共 52 行
C
52 行
#include<18f258.h>
#fuses XT,NOWDT,PUT,NOPROTECT,BROWNOUT,NOLVP
#device ADC=10
#use delay(clock=4000000)
#use fast_io(B)
static int digit0,digit1;
int const LED_SEG[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
#int_timer1
void isr1()
{
static int flag=0;
set_timer1(0xFF06);
output_low(PIN_C0);
output_low(PIN_C5);
if(flag)
{
flag=0;
output_b(LED_SEG[digit1]);
output_high(PIN_C5);
}
else
{
flag=1;
output_b(LED_SEG[digit0]);
output_high(PIN_C0);
}
}
void main()
{
long data;
setup_adc_ports(RA0_ANALOG_RA3_RA2_REF);
setup_adc(ADC_CLOCK_DIV_64);
set_tris_b(0);
set_tris_a(0x0f);
SETUP_TIMER_1(T1_INTERNAL|T1_DIV_BY_8);
set_timer1(0xFF06);
enable_interrupts(INT_TIMER1);
enable_interrupts(INT_AD);
enable_interrupts(GLOBAL);
while(1)
{
set_adc_channel(0);
delay_us(50);
data=read_adc();
data=(data*50)/1024;
// data=29;
digit0=data%10;
digit1=data/10;
delay_ms(200);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?