打印
[新手园地]

主题:[第六批]学习笔记三 串口猎人控制 热敏电阻和18B20

[复制链接]
1811|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 lovebaby8848 于 2012-4-5 12:08 编辑

本来打算让18B20和NTC的温度显示在12232上面的 ,结果调试了好久PWM背光一直没解决 LCD只能在侧面看清楚  只能使用串口了 本实验通过串口发0 显示18B20的温度 同时蜂鸣器响一下 发1 显示NTC测试的温度 使用高级法码自动发送0和1测试了一小时偏差在2C 不知道怎么校准 要创造一个0C的环境??  程序参考的是lixiaoxu2meng的 对原作者提供了M0方方面面的历程表示万分感谢!!本人51也刚学,还写不出来独立的程序 只能在高手的程序上改改,检验自己是否理解了程序,请大家多给榔头 谢谢

主程序就是一个判断。。。
int main (void)
{
   Sys_Init();
  ADC_Configuration();       //配置ADC
while(1)
  {
   uint8_t bInChar[1]={0xFF};
   while(UART0->ISR.RDA_IF==0);
   DrvUART_Read(UART_PORT0,bInChar,1);
   if(bInChar[0]==0)
   {
    DrvGPIO_SetBit(E_GPB, 10);
    wendu1 = read_temp();
    printf("The 18B20 Temp0 is %.1f C\n",wendu1);
    delay_ms(1000);
   }
   DrvGPIO_ClrBit(E_GPB, 10);
   
   
    if(bInChar[0]==1)
   {
    DrvADC_StartConvert();                 //  开启ADC转换
    while(DrvADC_IsConversionDone()==FALSE);    //  判断ADC是否转换结束   并送串口显示
    AD_Value = DrvADC_GetConversionData(7);

    AD_Value = AD_Value*3300/4095- 725;               //  将电压值转换成温度 经过校准后 确认0度为720mV
    AD_Value = AD_Value/-2;
    printf("The NTC Temp1 is %d C\n",AD_Value);
   }
   DrvGPIO_ClrBit(E_GPB, 10);
  }
   
}

QQ截图20120403210352.png (37.29 KB )

QQ截图20120403210352.png

NTC 和18B20温度.rar

1.28 MB

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:啥都干,啥都不专,要改

1

主题

136

帖子

0

粉丝