找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9583|回复: 20
收起左侧

基于stm32的oled温度采集源程序Proteus仿真

  [复制链接]
ID:705656 发表于 2021-4-18 16:19 | 显示全部楼层 |阅读模式
这是我最近刚做的oled仿真设计,基于proteus8.11版本(其他版本打不开的),能够显示温度、调节阈值。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei图片20210418161328.png 51hei.gif

部分单片机代码如下:

#include "sys.h"
#include "usart.h"               
#include "delay.h"        
#include "led.h"
#include "key.h"
#include "oled.h"
#include "beep.h"
#include "rtc.h"
#include "ds18b20.h"

u8 year_buf[4];
u8 month_buf[2];
u8 day_buf[2];
u8 temp_buf[4];
u8 war[8];
u8 text[8];
u8 yuzhi=30;
int main(void)
{               
        short tem,tem1;
        u8 B1_Flag=0;
        u16 temp;
        u8 key;
        delay_init();             //延时初始化
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  Gpio_IIC_Init();
        beep_Init();
        Key_Init();
        OLED_Init();
        delay_ms(200);
        OLED_CLS();
        OLED_Refresh();

        while(1)
        {
                tem = DS18B20_Get_Temp_Pin_11();        //获取温度
                if(        tem>0)
                {        
                        sprintf((char *)war,"Tem:%d%d.%d",tem/100,tem%100/10,tem%10);
                }
                else
                {        
                        tem1=(int)tem;
                        tem1=abs(tem1);
                        tem1=-(tem);
                        tem1=tem1+1;
                        sprintf((char *)war,"Tem:-%d%d.%d",tem1/100,tem1%100/10,tem1%10);
               
                }
                OLED_P8x16Str(8,2,war);

                sprintf((char *)war,"yuzhi:%d",yuzhi);
                OLED_P8x16Str(8,0,war);
                if(tem>yuzhi*10)
                {
                        PBeep=0;
                }
                if(tem<=yuzhi*10)
                {
                        PBeep=1;
                }


                key=KEY_Scan();
                if(key!=0)
                {
                        switch(key)
                        {
                                case 1:
                                                                                        yuzhi++;        
                        }

Keil代码与Proteus8.13仿真下载:
程序.7z (230.27 KB, 下载次数: 574)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:421457 发表于 2021-5-7 13:11 | 显示全部楼层
找了很久终于找到了,感谢楼主!
回复

使用道具 举报

ID:927052 发表于 2021-5-25 15:46 | 显示全部楼层
protues8.11的安装包哪里找啊
回复

使用道具 举报

ID:34643 发表于 2021-6-13 21:15 | 显示全部楼层
仿真可以,但是实物温度显示为0,求大佬指导一下
回复

使用道具 举报

ID:915979 发表于 2021-6-15 18:42 | 显示全部楼层
51mcu 发表于 2021-6-13 21:15
仿真可以,但是实物温度显示为0,求大佬指导一下

我的实物温度显示也一直为0,我以为是DS18B20坏了,然后我换了两个都显示不出来
回复

使用道具 举报

ID:34643 发表于 2021-7-9 12:54 | 显示全部楼层
641572636 发表于 2021-6-15 18:42
我的实物温度显示也一直为0,我以为是DS18B20坏了,然后我换了两个都显示不出来

试验了一下,是程序问题。
回复

使用道具 举报

ID:638881 发表于 2021-10-4 13:28 | 显示全部楼层
请问一下 元件库里没有OLED12864I2C怎么办
回复

使用道具 举报

ID:638881 发表于 2021-10-4 13:29 | 显示全部楼层
请问一下 元件库里没有OLED12864I2C 怎么办 需要去哪里下载
回复

使用道具 举报

ID:440028 发表于 2021-12-3 15:52 | 显示全部楼层
楼主,提示要Proteus8.11才能打开呢
回复

使用道具 举报

ID:881709 发表于 2021-12-21 19:54 | 显示全部楼层
TK加菲 发表于 2021-10-4 13:29
请问一下 元件库里没有OLED12864I2C 怎么办 需要去哪里下载

兄弟你在元器件库找到了吗
回复

使用道具 举报

ID:1020158 发表于 2022-4-20 20:44 | 显示全部楼层
为什么一打开OLED显示日期,怎么才能显示温度啊
回复

使用道具 举报

ID:756400 发表于 2022-5-1 07:43 | 显示全部楼层
为你的分享精神点赞,谢谢你。
回复

使用道具 举报

ID:228452 发表于 2022-5-1 17:07 | 显示全部楼层
Working nice with Proteus 8.12 sp0 Load 65%
Thanks for project
回复

使用道具 举报

ID:1043738 发表于 2022-9-24 09:30 | 显示全部楼层
楼主有没有日历时钟的代码
捕获.PNG
回复

使用道具 举报

ID:155719 发表于 2022-10-30 09:04 | 显示全部楼层
多谢分享,比较一下代码和我自己有什么区别
回复

使用道具 举报

ID:1061034 发表于 2023-1-12 16:40 | 显示全部楼层
请问一下,oled的仿真文件是在哪里找的得嘞,能不能分享下嘞
回复

使用道具 举报

ID:1058512 发表于 2023-1-14 11:47 | 显示全部楼层
有人元器件解决了吗
回复

使用道具 举报

ID:321836 发表于 2023-4-12 12:23 | 显示全部楼层
641572636 发表于 2021-6-15 18:42
我的实物温度显示也一直为0,我以为是DS18B20坏了,然后我换了两个都显示不出来

程序是阉割版,程序不完整
回复

使用道具 举报

ID:486462 发表于 2024-3-28 21:28 | 显示全部楼层
51mcu 发表于 2021-6-13 21:15
仿真可以,但是实物温度显示为0,求大佬指导一下

你们解决了吗
回复

使用道具 举报

ID:1074206 发表于 2024-3-29 18:38 来自手机 | 显示全部楼层
51mcu 发表于 2021-6-13 21:15
仿真可以,但是实物温度显示为0,求大佬指导一下

你是用8.11吗?我用8.15打开,采样都是0,还以为是8.15不匹配。是程序的问题吗?
回复

使用道具 举报

ID:1084886 发表于 2024-4-8 22:06 | 显示全部楼层
TK加菲 发表于 2021-10-4 13:29
请问一下 元件库里没有OLED12864I2C 怎么办 需要去哪里下载

兄弟 componentsearchengine这里可以下载模型 原理图都可以显示 添加入库后 但是仿真报错
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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