【绘制坐标轴】MSP430F5529 温度传感器 DS18B20 LCD显示温度数值 绘制温度曲线 【笔记更新】

上一篇笔记请见:https://charlieva.blog.csdn.net/article/details/111405181

绘制坐标轴大致方法和思路如下:


        	Dogs102x6_verticalLineDraw(10, 63, 13, DOGS102x6_DRAW_NORMAL);          //画垂直温度坐标轴
        	Dogs102x6_pixelDraw(12,11, DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_pixelDraw(11,12, DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_pixelDraw(14,11, DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_pixelDraw(15,12, DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_horizontalLineDraw(15, 95, 63, DOGS102x6_DRAW_NORMAL);       //画水平时间坐标轴
        	Dogs102x6_pixelDraw(94,62, DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_pixelDraw(93,61, DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_pixelDraw(94,64, DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_pixelDraw(93,65, DOGS102x6_DRAW_NORMAL);

        	Dogs102x6_stringDraw(1, 0, "31", DOGS102x6_DRAW_NORMAL);               //写垂直温度坐标值
        	Dogs102x6_stringDraw(2, 0, "30", DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_stringDraw(3, 0, "29", DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_stringDraw(4, 0, "28", DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_stringDraw(5, 0, "27", DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_stringDraw(6, 0, "26", DOGS102x6_DRAW_NORMAL);
        	Dogs102x6_stringDraw(7, 0, "25", DOGS102x6_DRAW_NORMAL);

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个比较简单的温度测量电路,使用的是DS18B20数字温度传感器和LED数码管来显示温度。以下是具体步骤: 材料: - MSP430F149单片机 - DS18B20数字温度传感器 - 4位共阴LED数码管 - 4个PNP晶体管 - 4个电位器 - 4个330欧姆电阻 - 杜邦线 电路搭建: 首先将DS18B20数字温度传感器MSP430F149单片机连接。DS18B20有三个引脚,分别是VCC、GND和DQ。将VCC连接到MSP430F149单片机的5V电源引脚,GND连接到MSP430F149单片机的GND引脚,DQ连接到MSP430F149单片机的P1.3引脚。 接下来将LED数码管连接到MSP430F149单片机。将数码管的共阴极接到MSP430F149单片机的GND引脚,将数码管的四个数码位分别连接到MSP430F149单片机的P2.0-P2.3引脚。 最后将PNP晶体管、电位器和电阻连接到MSP430F149单片机。将PNP晶体管的发射极连接到MSP430F149单片机的5V电源引脚,将PNP晶体管的基极通过一个电阻连接到MSP430F149单片机的P2.4-P2.7引脚,将PNP晶体管的集电极连接到电位器的中心引脚,将电位器的两个端口分别连接到MSP430F149单片机的P2.4-P2.7引脚和GND引脚。 程序设计: 下面是使用C语言编写的程序代码: ``` #include <msp430.h> #include <stdio.h> #include "ds18b20.h" #include "led.h" int main(void) { float temperature; char display[4]; WDTCTL = WDTPW + WDTHOLD; //关闭看门狗定时器 BCSCTL1 = CALBC1_1MHZ; //设置时钟频率为1MHz DCOCTL = CALDCO_1MHZ; P1DIR |= BIT0; //设置P1.0为输出口 P1OUT &= ~BIT0; init_ds18b20(); //初始化DS18B20 init_led(); //初始化LED数码管 while(1) { temperature = read_ds18b20(); //读取温度 sprintf(display, "%4.1f", temperature); //将温度转换为字符串 display_led(display); //将温度字符串显示在LED数码管上 __delay_cycles(100000); //延时一段时间 } } ``` 需要注意的是,程序中使用了ds18b20.h和led.h两个头文件,分别用于DS18B20数字温度传感器和LED数码管的初始化和显示操作。 编译程序并下载到MSP430F149单片机上,就可以通过DS18B20数字温度传感器测量温度并在LED数码管上显示了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值