标题: LCD1602 DS18B20 ADC0832温度检测程序 [打印本页]

作者: wqerewr    时间: 2016-5-24 12:18
标题: LCD1602 DS18B20 ADC0832温度检测程序
这是温度检测的程序。


温度检测仿真图

程序源码:
  1. #include"LCD.H"
  2. #include"AD0832.H"
  3. #include"DAC0832.H"
  4. #include"DS18B20.H"
  5. unsigned char Serial[64]={0};
  6. unsigned char dd[]={0};
  7. unsigned char CTemp[]={0};
  8. unsigned char code tab[]="0123456789. ";
  9. unsigned char code T[8]={0x18,0x18,0x0F,0x1F,0x18,0x18,0x1F,0x0F};
  10. void delayms(int dly)
  11. {
  12. int i;
  13. char j;
  14. for(i=0;i<dly;i++)
  15.         for(j=0;j<120;j++);
  16. }

  17. int main (void)
  18. {
  19. unsigned char i=255,v=0,temp=0;
  20. delayms(600);
  21. LCD_Init();
  22. DacInit();
  23. WriteStringToLcd(0,0,"V1:");
  24. WriteStringToLcd(7,0,"v");
  25. WriteStringToLcd(0,1,"Temp:");
  26. Write_self(T);
  27. Write_selfString(8,1,0);
  28. delayms(200);
  29. WriteToDac0832(255);
  30. while(1)
  31. {
  32. v=ReadAdc0832(0);
  33. dd[0]=tab[v/51];
  34. dd[1]=tab[10];
  35. dd[2]=tab[10*v/51%10];
  36. dd[3]=tab[100*v/510%10];
  37. WriteStringToLcd(3,0,dd);
  38. temp=ReadTempreture(Serial,9);
  39. if(temp>100)
  40. {
  41. CTemp[0]=tab[temp/100];
  42. CTemp[1]=tab[temp%100/10];
  43. CTemp[2]=tab[temp%100%10];
  44. }
  45. else
  46. {
  47. CTemp[0]=tab[temp/10];
  48. CTemp[1]=tab[temp%10];
  49. CTemp[2]=tab[11];
  50. }
  51. delayms(200);
  52. WriteStringToLcd(5,1,CTemp);
  53. }
  54. return 0;
  55. }
复制代码


全部资料下载:
LCD DS18B20 ADC0832.zip (116.7 KB, 下载次数: 46)






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1