历史上的今天
今天是:2025年07月21日(星期一)
2020年07月21日 | Proteus仿真STM32实现--DS18B20和LCD1602显示
2020-07-21 来源:51hei
proteus仿真stm32103r6,实现18B20温度值在1602上显示,可测量正负温度。程序及仿真工程已上传附件,利用proteus仿真18b20温度为0和-0.1时返回值均为零,新手上路,请多指教。使用proteus8.8版本进行仿真。
原理图

时序

原理图

单片机部分程序如下:
#include "stm32f10x.h"
#include "bsp-lcd1602.h"
#include "delay.h"
#include "sys.h"
#include "ds18b20.h"
#include #include "math.h" short tem,tem1; u8 a,b,c,t; #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif void Delay_DS18B20(int num) { while(num--) ; } int main(void) { SystemCoreClockUpdate (); LCD1602_Init(); LCD1602_ShowStr(2,0,"tempe=000.0C",13); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitTypeDef g; g.GPIO_Mode = GPIO_Mode_Out_PP; g.GPIO_Speed = GPIO_Speed_10MHz; g.GPIO_Pin = GPIO_Pin_8 ; GPIO_Init(GPIOB,&g); GPIO_SetBits(GPIOB,GPIO_Pin_8); //输出1 t=DS18B20_DQ_IN; while(t){ DS18B20_IO_OUT(); //SET PG11 OUTPUT DS18B20_DQ_OUT=0; //拉低DQ Delay_DS18B20(750); //拉低750us DS18B20_DQ_OUT=1; //DQ=1 Delay_DS18B20(15); //15US DS18B20_IO_IN(); //SET PG11 INPUT Delay_DS18B20(100); t=DS18B20_DQ_IN; // LCD_ShowNum(13,0,t); } tem=DS18B20_Get_Temp(); Delay_DS18B20(1000000); while(1) { tem=DS18B20_Get_Temp(); if( tem>0) { a=tem/100; b=tem%100/10; c=tem%10; LCD_ShowChar(8,0,'+'); LCD_ShowNum(9,0,a); LCD_ShowNum(10,0,b); LCD_ShowNum(12,0,c); } else { // tem1=(int)tem; // tem1=abs(tem1); tem1=-(tem); tem1=tem1+1; a=tem1/100; b=tem1%100/10; c=tem1%10; LCD_ShowChar(8,0,'-'); LCD_ShowNum(9,0,a); LCD_ShowNum(10,0,b); LCD_ShowNum(12,0,c); } Delay_DS18B20(100000); }
史海拾趣
|
【行空板 Python编程学习主控板】评测九、摄像头验证与AI应用体验 本帖最后由 天意无罪 于 2022-12-10 23:33 编辑 接近年关,事情真的多啊,最近忙写投标文件,连周末都没有休息,每天工作到凌晨1~2点,睡5个小时左右又得起床上班,哎,真的是累的啊。何况年龄 ...… 查看全部问答> |
|
物流原因,板卡发出快一周了,依然没有到货,如我申请所说,希望能在这块板子上做一个小电子宠物,选来选去,找到两个比较合适的宠物(市面肯定找不到的) 大家帮我参考一下,哪个比较合适。 幼年狮子王 可以考虑一直养,过段时间换成 ...… 查看全部问答> |
|
上篇文章,介绍了使用Python在LCD上显示各种类型的文字。 本篇,就来使用字体显示功能,来实现一个表盘。最终效果如下: 表盘的内容包括: 顶部的蓝牙连接图标和电量图标 蓝牙图标通过画直线来完成 ...… 查看全部问答> |
|
低电压光控LED闪光灯 面包板ok,Multisim中无法成功模拟 本帖最后由 电子路人1 于 2022-12-11 22:51 编辑 低电压光控LED闪光灯 面包板ok,Multisim中无法成功模拟 附件1, 原始线路图 附件2 面包板无光时闪光 附件3 multisim中不运行 … 查看全部问答> |
|
哈喽,大家好~ 今天这里简单分享一下高云的PLL的使用方法,仅限于入门使用哈~ 这里直接使用IP Core Generator,在如下位置。 打开页面后,双击rPLL,会弹出设置界面。 高云的PLL分为一般模式和高级模式,因为还没有仔细研究过手 ...… 查看全部问答> |
|
哈喽,大家好~ 这里分享一下将之前的计算出来的SVPWM通过IO发送出来。 先用锯齿载波测试一下,实现方式如下: always @(posedge clk) begin if (!reset) begin counter_18k <= 32\'d0; end else if (counter_ ...… 查看全部问答> |
|
【贝能高性价比ATSAMD51评估板】KEIL环境搭建/点亮LED0/使LED闪烁 收到开发板有一些时间了,前些时间一直在忙着工作试产,没有在第一时间测评开发板。下面开始测评: 1、添加头文件: 环境搭建前找头文件找了三天,结果没有找到相关的头文件,从周三开始就一直在找有关ATSAMD51P20A.PACK文件,所以一直拖到今 ...… 查看全部问答> |




