找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
跳转到指定楼层
楼主
这是我最近刚做的oled仿真设计,基于proteus8.11版本(其他版本打不开的),能够显示温度、调节阈值。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


部分单片机代码如下:

#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, 下载次数: 547)
仿真.zip (80.98 KB, 下载次数: 593)


评分

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

查看全部评分

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

使用道具 举报

沙发
ID:421457 发表于 2021-5-7 13:11 | 只看该作者
找了很久终于找到了,感谢楼主!
回复

使用道具 举报

板凳
ID:927052 发表于 2021-5-25 15:46 | 只看该作者
protues8.11的安装包哪里找啊
回复

使用道具 举报

地板
ID:34643 发表于 2021-6-13 21:15 | 只看该作者
仿真可以,但是实物温度显示为0,求大佬指导一下
回复

使用道具 举报

5#
ID:915979 发表于 2021-6-15 18:42 | 只看该作者
51mcu 发表于 2021-6-13 21:15
仿真可以,但是实物温度显示为0,求大佬指导一下

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

使用道具 举报

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

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

使用道具 举报

7#
ID:638881 发表于 2021-10-4 13:28 | 只看该作者
请问一下 元件库里没有OLED12864I2C怎么办
回复

使用道具 举报

8#
ID:638881 发表于 2021-10-4 13:29 | 只看该作者
请问一下 元件库里没有OLED12864I2C 怎么办 需要去哪里下载
回复

使用道具 举报

9#
ID:440028 发表于 2021-12-3 15:52 | 只看该作者
楼主,提示要Proteus8.11才能打开呢
回复

使用道具 举报

10#
ID:881709 发表于 2021-12-21 19:54 | 只看该作者
TK加菲 发表于 2021-10-4 13:29
请问一下 元件库里没有OLED12864I2C 怎么办 需要去哪里下载

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

使用道具 举报

11#
ID:1020158 发表于 2022-4-20 20:44 | 只看该作者
为什么一打开OLED显示日期,怎么才能显示温度啊
回复

使用道具 举报

12#
ID:756400 发表于 2022-5-1 07:43 | 只看该作者
为你的分享精神点赞,谢谢你。
回复

使用道具 举报

13#
ID:228452 发表于 2022-5-1 17:07 | 只看该作者
Working nice with Proteus 8.12 sp0 Load 65%
Thanks for project
回复

使用道具 举报

14#
ID:1043738 发表于 2022-9-24 09:30 | 只看该作者
楼主有没有日历时钟的代码

捕获.PNG (13.08 KB, 下载次数: 33)

捕获.PNG
回复

使用道具 举报

15#
ID:155719 发表于 2022-10-30 09:04 | 只看该作者
多谢分享,比较一下代码和我自己有什么区别
回复

使用道具 举报

16#
ID:1061034 发表于 2023-1-12 16:40 | 只看该作者
请问一下,oled的仿真文件是在哪里找的得嘞,能不能分享下嘞
回复

使用道具 举报

17#
ID:1058512 发表于 2023-1-14 11:47 | 只看该作者
有人元器件解决了吗
回复

使用道具 举报

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

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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