找回密码
 立即注册

QQ登录

只需一步,快速开始

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

msp430+DS18B20测试程序,显示温度到1602液晶上的源代码

[复制链接]
跳转到指定楼层
楼主
ID:376620 发表于 2018-7-21 14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一些常用的代码


单片机源程序如下:
  1. /********************************************************************
  2. //DM430-L温度传感器DS18B20测试程序,显示温度到1602液晶上
  3. //DS18b20的C语言驱动程序,读取当前环境温度,显示精度达0.1度,温度范围0-99度
  4. //DS18B20 详细引脚功能描述1、GND 地信号;2、DQ数据输入出引脚。开漏单总线接口引脚。当被用在寄生电源下
  5. //也可以向器件提供电源;3、VDD可选择的VDD 引脚。当工作于寄生电源时,此引脚必须接地。
  6. //DS18B20 的使用方法。DS18B20 采用的是1-Wire 总线协议方式
  7. //即在一根数据线实现数据的双向传输,数据脚接在P17上
  8. //调试环境:EW430 V5.301
  9. ********************************************************************/

  10. #include <msp430x14x.h>
  11. #include "Config.h"
  12. #include "1602.c"
  13. #include "DS18B20.c"

  14. //***********************************************************************
  15. //      液晶显示温度值,xx.xC格式
  16. //***********************************************************************
  17. void LCD_DisplayTemp(uchar temp1,uchar temp2,uchar temp3)
  18. {   
  19.   LCD_write_char(0x0b,1,0x30+A1);
  20.   LCD_write_char(0x0c,1,0x30+A2);
  21.   LCD_write_char(0x0d,1,'.');
  22.   LCD_write_char(0x0e,1,0X30+A3);
  23.   LCD_write_char(0x0f,1,'C');
  24. }

  25. //***********************************************************************
  26. //      主程序
  27. //***********************************************************************
  28. void main(void)
  29. {
  30.     uchar j;
  31.   
  32.     WDT_Init();                         //看门狗设置
  33.     Clock_Init();                       //系统时钟设置
  34.     Port_init();                        //系统初始化,设置IO口属性
  35.     delay_ms(100);                      //延时100ms
  36.     LCD_init();                         //液晶参数初始化设置
  37.     LCD_clear();                        //清屏
  38.     LCD_Desk();
  39.      
  40.     DS18B20_Reset();                          //复位D18B20
  41.     while(1)
  42.     {
  43.     ds1820_start();                          //启动一次转换
  44.     ds1820_read_temp();                          //读取温度数值
  45.     data_do(temp_value);                  //处理数据,得到要显示的值
  46.     for(j=0;j<30;j++)
  47.     {            
  48.      LCD_DisplayTemp(A1,A2,A3);        
  49.     }
  50.    }
  51.    
  52. }

复制代码

所有资料51hei提供下载:
DS18B20_1602.rar (41.06 KB, 下载次数: 73)


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

使用道具 举报

沙发
ID:433160 发表于 2018-11-29 14:44 | 只看该作者
很不错
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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