找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2369|回复: 0
打印 上一主题 下一主题
收起左侧

DAC0832+LCD1602+DS18B20电压表仿真与源码

[复制链接]
跳转到指定楼层
楼主
ADC0832+LCD1602+DS18B20仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  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. }
复制代码

所有资料51hei提供下载:
LCD DS18B20 ADC0832.zip (116.7 KB, 下载次数: 62)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表