哪位高手请指教2711的内部低压检测c语言程序

[复制链接]
查看6479 | 回复4 | 2015-4-12 19:47:51 | 显示全部楼层 |阅读模式
哪位高手请指教2711的内部低压检测c语言程序,我是新手,刚开始接触松翰单片机,一头雾水。谢谢高手们指点指点。
九门提督 | 2015-5-14 11:38:27 | 显示全部楼层
实验二参考答案 
1.输入两个整型数字,输出他们的和。&#160;#include<stdio.h>&#160;main()&#160;{&#160;
&#160;&#160;&#160;int&#160;a,&#160;b,&#160;sum;&#160;
&#160;&#160;&#160;scanf(“%d%d”,&#160;&a,&#160;&b);&#160;&#160;&#160;&#160;sum=a+b;&#160;
&#160;&#160;&#160;printf(“a+b=%d”,&#160;&#160;sum);&#160;}&#160;&#160;
2.输入两个实型数,输出他们的和与乘积。&#160;#include<stdio.h>&#160;main()&#160;{&#160;
&#160;&#160;&#160;float&#160;&#160;a,&#160;b,&#160;sum,&#160;product;&#160;&#160;&#160;&#160;scanf(“%f%f”,&#160;&a,&#160;&b);&#160;&#160;&#160;&#160;sum=a+b;&#160;&#160;&#160;&#160;product=a*b;&#160;
&#160;&#160;&#160;printf(“a+b=%5.2f,&#160;&#160;a*b&#160;=%5.2f”,&#160;sum,&#160;product);&#160;}&#160;&#160;
3.求方程02&#61501;&#61483;&#61483;cbxax的根(设042&#61619;&#61485;acb)(其中a,b,c的值由键盘输入)。&#160;
#include<stdio.h>&#160;#include<math.h>&#160;main()&#160;{&#160;
&#160;&#160;&#160;float&#160;&#160;a,&#160;b,&#160;c,&#160;dt,&#160;x1,&#160;x2;&#160;&#160;&#160;&#160;scanf(“%f%f%f”,&#160;&a,&#160;&b,&#160;&c);&#160;&#160;&#160;&#160;dt=sqrt(b*b-4*a*c);&#160;&#160;&#160;&#160;x1=(-b+dt)/(2*a);&#160;&#160;&#160;&#160;x2=(-b-dt)/(2*a);&#160;
&#160;&#160;&#160;printf(“x1=%5.2f,&#160;&#160;x2&#160;=%5.2f”,&#160;x1,&#160;x2);&#160;}
4.鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?(h和f的值由键盘输入,输出鸡和兔的头数)&#160;#include<stdio.h>&#160;main()&#160;{&#160;
&#160;&#160;&#160;int&#160;&#160;h,&#160;f,&#160;x,y;&#160;
&#160;&#160;&#160;scanf(“%d%d”,&#160;&h,&#160;&f);&#160;&#160;&#160;&#160;x=2*h-f/2;&#160;y=f/2-h;&#160;
&#160;&#160;&#160;printf(“x=%d,&#160;&#160;y&#160;=%d”,&#160;x,&#160;y);&#160;}
九门提督 | 2015-5-14 11:39:06 | 显示全部楼层
1.输入两个整型数字,输出他们的和。&#160;#include<stdio.h>&#160;main()&#160;{&#160;
&#160;&#160;&#160;int&#160;a,&#160;b,&#160;sum;&#160;
&#160;&#160;&#160;scanf(“%d%d”,&#160;&a,&#160;&b);&#160;&#160;&#160;&#160;sum=a+b;&#160;
&#160;&#160;&#160;printf(“a+b=%d”,&#160;&#160;sum);&#160;}&#160;&#160;
2.输入两个实型数,输出他们的和与乘积。&#160;#include<stdio.h>&#160;main()&#160;{&#160;
&#160;&#160;&#160;float&#160;&#160;a,&#160;b,&#160;sum,&#160;product;&#160;&#160;&#160;&#160;scanf(“%f%f”,&#160;&a,&#160;&b);&#160;&#160;&#160;&#160;sum=a+b;&#160;&#160;&#160;&#160;product=a*b;&#160;
&#160;&#160;&#160;printf(“a+b=%5.2f,&#160;&#160;a*b&#160;=%5.2f”,&#160;sum,&#160;product);&#160;}&#160;&#160;
3.求方程02&#61501;&#61483;&#61483;cbxax的根(设042&#61619;&#61485;acb)(其中a,b,c的值由键盘输入)。&#160;
#include<stdio.h>&#160;#include<math.h>&#160;main()&#160;{&#160;
&#160;&#160;&#160;float&#160;&#160;a,&#160;b,&#160;c,&#160;dt,&#160;x1,&#160;x2;&#160;&#160;&#160;&#160;scanf(“%f%f%f”,&#160;&a,&#160;&b,&#160;&c);&#160;&#160;&#160;&#160;dt=sqrt(b*b-4*a*c);&#160;&#160;&#160;&#160;x1=(-b+dt)/(2*a);&#160;&#160;&#160;&#160;x2=(-b-dt)/(2*a);&#160;
&#160;&#160;&#160;printf(“x1=%5.2f,&#160;&#160;x2&#160;=%5.2f”,&#160;x1,&#160;x2);&#160;}&#160;
pindar168 | 2015-5-15 09:13:26 | 显示全部楼层
//---------------------------------------
//名称: ADC_initialise(void )
//功能:ADC转换初始化函数
//-----------------------------------------  
void ADC_initialise(void )
{
    ADM=0x00;      //复位ADM寄存器
    ADR=0x40;      //0100 0000 设置ADC时钟Rate和ADC分辨率   
                       //Fcpu/1   8bit分辨率  ADC转换时间3us


    //ADR=0x10;      //0001 0000 设置ADC时钟Rate和ADC分辨率   
                       //Fcpu/8   8bit分辨率  ADC转换时间24us  

    //FEVHENB=0;   //选择内部参考电压
    VREFH=0x00;    //选择内部参考电压 参考电压2V

    ADM=0x95;      //1001 0101  选着ADC输入通道
                       //打开GCHS AIN通道  选择AIN5   1/4VDD    使能ADC功能

        delay10us(13);    //延时100us <130us>

        //FADCIRQ=0;     //清零ADC中断请求
//        FADCIEN=1;     //使能ADC中断功能  中断跳转
    //FGCHS=1;       //打开ADC所有通道
//    FADCENB=1;     //使能ADC中断
       
        //FADS=1;        //开始AD转换  

}

//---------------------------------------
//名称: BATT_ADC(void )
//功能:电池电压检测函数
//-----------------------------------------  
void BATT_ADC(void )
{
    ADC_initialise( ); //ADC初始化
        for(v=0;v<3;v++)
        {
           FADS=1;          //启动AD转换                  
           //delay10us(3);        //延时30us等待AD转换完成
       delay10us(1);        //延时10us等待AD转换完成
           Voltage[v]=ADB;  //取出AD转换结果
     }   
    battery=Voltage[0];
    battery=battery+Voltage[1];
    battery=battery+Voltage[2];   //取3次 求平均值
    battery=((battery/3)*78*4)/100; //计算AD转换结果 取3位有效值               
    battery_3=battery;    //保留前三位有效值
    Vbatt=battery/10;       //取出AD转换结果   
}
snxhenry | 2016-1-15 18:00:01 | 显示全部楼层
pindar168 发表于 2015-5-15 09:13
//---------------------------------------
//名称: ADC_initialise(void )
//功能:ADC转换初始化函数 ...

非常谢谢,已经弄好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则