跪求会C8051F020单片机的,要用C语言写出测量电压,就是AD转换的程序

跪求会C8051F020单片机的,要用C语言写出测量电压,就是AD转换的程序,第1张

void Timer3_Init()

{

TMR3CN = 0x02

TMR3R = -44236//定时2ms

TMR3= 0xffff

EIE2 &= ~0x01

TMR3CN |= 0x04

}

void ADC0_Init(void)

{

AMX0SL=0x00//选择通道0

AMX0CF=0x00//选择AIN0和AIN1为独立输入

REF0CN=0x03//选择外部的电压为基准电压

ADC0CF=(SYSCLK/2500000)<<3//时钟为 ,增益为1

ADC0CN=0x84//ADC0使能且为ADCBUSY的开启方式

EIE2|=0x02//开启ADC0的中断

}

void ADC0_ISR() interrupt 15

{

static unsigned int_dec=INT_DEC

static long accumulator=0L

AD0INT = 0 // 清 ADC 中断标志位

accumulator += ADC0 // 累加ADC采样数据

int_dec-- // 指针减1

if (int_dec == 0) // 累加完了吗?

{

int_dec = INT_DEC // 指针复位

result = accumulator >>8

accumulator = 0L // 累加和变量清0

t=1

}

}ADC0转换,定时器3开启的方式

写个伪代码吧。

int main()

{

    int *p = 0x13

    while(1)

    {

        if(*p == 0x3652)

        {

            diandeng(1)//点亮测试机面板上的PASS灯

            Sleep(100)//延时100ms

            diandeng(2)//点亮面板黄灯

            printf("testing,wait")

            p ++

            if( p == 0x15)

                p = 0x13

        }

        else

             diandeng(0)//点亮测试机面板上的FAIL灯

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11910921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存