找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3306|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

有錯誤 求改正 STM32單片機ADC DHT11 Proteus仿真程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:501195 發(fā)表于 2022-5-16 01:13 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
之前一直找關(guān)于STM32的仿真找了幾個ADC的都不能用,大概率是因為是時鐘的問題然后自己調(diào)試了下目前很穩(wěn)定還加了DHT11加OLED
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


STM32單片機源程序如下:
#include "stm32f10x.h"
#include "LQ12864.h"
#include "adc.h"
#include "dth11.h"
#include "stdio.h"
#include "led.h"
#include "key.h"
int main(void)
{         

        u8 temp = 0, hum = 0;//溫度濕度
        u8 motor_sta=0;      //電機運行狀態(tài)
        u8 key;              //按鍵值
        u16 ADC=0;
        u16 ADC_flag=500;
        u8 temp_flag=20,hum_flag=60;//閾值
        u8 buf[100] = { 0 };
        u8 sta_buf[20];
        delay_init()        ;
        LCD_Init() ;         
        Adc_Init();
        DHT11_Init();
        Dc_Motor_init();
        KEY_Init();//IO初始化
        while(1)
        {
                DHT11_Read_Data(&temp, &hum);//溫濕度讀取
                sprintf((char *)buf, "temp:%d----hum:%d", temp, hum);//整數(shù)轉(zhuǎn)字符串
                LCD_P6x8Str(0, 0, buf);//字符顯示
                ADC=Get_Adc();
                sprintf((char *)buf, "adc:%d", ADC);//整數(shù)轉(zhuǎn)字符串
                LCD_P6x8Str(0, 1, buf);//字符顯示
                //閾值判斷控制
                if(temp>temp_flag)      Dc_Motor_ON();//開啟電機
                else if(temp<temp_flag) Dc_Motor_OFF();//關(guān)閉電機
                if(ADC>ADC_flag) LCD_P6x8Str(80, 3, "ADC:1");//字符顯示
                else if(ADC<ADC_flag) LCD_P6x8Str(80, 3, "ADC:0");//字符顯示
                //狀態(tài)
                motor_sta =GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_5);
                sprintf((char *)sta_buf, "MOTOR:%d", motor_sta);//整數(shù)轉(zhuǎn)字符串
                LCD_P6x8Str(0, 3, sta_buf);//字符顯示
                //溫度報警設(shè)置
                key=KEY_Scan(0);
                switch(key)
                {
                    case 1: temp_flag++;break;//字符顯示//整數(shù)轉(zhuǎn)字符串break;
                        case 2: temp_flag--;break;
                    case 3:ADC_flag++;break;
                        case 4:ADC_flag--;break;
                }
                sprintf((char *)sta_buf, "TEMPFLAG:%d", temp_flag);LCD_P6x8Str(0, 5, sta_buf);
        sprintf((char *)sta_buf, "ADC FLAG:%d", ADC_flag);LCD_P6x8Str(0, 6, sta_buf);
        }
}

Keil5代碼與Proteus8.8仿真下載,求大神指導(dǎo)如何修改錯誤: _STM32 DTH11.7z (2.15 MB, 下載次數(shù): 174)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:505629 發(fā)表于 2022-5-21 21:40 | 只看該作者
下載的文件和上面的演示不一樣。。我是8.13
回復(fù)

使用道具 舉報

板凳
ID:433038 發(fā)表于 2022-5-25 18:13 | 只看該作者
我8.12下載下來ad還是用不了
回復(fù)

使用道具 舉報

地板
ID:1035603 發(fā)表于 2022-6-20 18:47 | 只看該作者
確實,下載下來是溫濕度的,上面AD的代碼用不了,沒有對應(yīng)的文件
回復(fù)

使用道具 舉報

5#
ID:228147 發(fā)表于 2023-5-9 18:32 | 只看該作者
這個本來就是有錯誤  樓主來求助 的
回復(fù)

使用道具 舉報

6#
ID:493026 發(fā)表于 2023-7-26 23:47 | 只看該作者
能跑AD的proteus版本是8.9
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表