久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2657|回復: 5
收起左側

基于stc12CA60S2單片機的七要素氣象站程序

[復制鏈接]
ID:826942 發表于 2020-11-5 12:50 | 顯示全部樓層 |閱讀模式
本帖最后由 0711zhao 于 2020-11-5 21:37 編輯

/*********************************************************************

程序名稱:7要素氣象站
程序版本:V1.0
作    者: 飛花攬月                 
編寫時間:2020年11月5日         
硬件支持:  STC12C5A60S2 LCD12864 一體式風速風向傳感器 18B20溫度傳感器 HTG3515濕度傳感器 ACDX01PAAA5氣壓傳感器
接口說明:   P1.0 濕度傳感器 P1.1 天氣狀況 P1.2 雨量計算 P1.3 氣壓傳感器  P1.4 風向傳感器  P3.4 風速傳感器
程序說明:1;顯示的12864是帶字庫的
          2;因為找不到HTG3515的溫度解析資料用的是18B20作為溫度檢測
                                        3;天氣狀況是模擬感雨計,本質上是一個通斷信號,接通就有雨,斷開就是晴
                                        4:雨量計是模擬翻斗式的翻一下就接通一下,雨量就加一,一分鐘數據清零一下
                                        5;風向是電壓式0-5v 代表360度。
                                        6;風速是脈沖信號,一圈12個脈沖,一圈1.2m/s 一個脈沖0.1m/s
                                        7;氣壓傳感器電壓式0.5v-4.5v 滿量程103.425kpa
        PS:目前只是做讀取顯示,并沒做數據存儲。
           下一版本要解決的問題:
                 1;加上歷史數據存儲 是用I2C的24c02類的芯片存儲還是加個SD卡存儲,那個好
                 2;代碼優化,想向工程化學習,試試用51OS系統等類似的方式
                 3;顯示增加菜單,目前就一個顯示界面太單調
**********************************************************************/

/***********************************************************************
       頭文件包含/SFR定義
***********************************************************************/
#include "60s212864.h"
#include        "delay.h"
#include "ds18b20.h"
#include "adc.h"
#include "AtmAsdx015a.h"
/*
**********************************************************************
*                       本地數據類型/宏定義
**********************************************************************
*/


/*
**********************************************************************
*                        單片機IO口位定義
**********************************************************************
*/
sbit tq=P1^1;//天氣
sbit yl=P1^2;//雨量
/*
**********************************************************************
*                      本地全局變量/數組定義
**********************************************************************
*/
u8 cnt;k;
u16 fs;
unsigned int j;
/*
**********************************************************************
*                         函數原型聲明
**********************************************************************
*/


/*********************************************************************
*函數名稱:main
*函數功能:主函數
*函數調用:
*參數列表:無
*返 回 值:無
*結    果:
*備    注:
*********************************************************************/
void Timer_Init(void) //T1定時模式 T0計數模式
{
                unsigned int a=500;
                TMOD = 0x15;
                TH1 = (65536-9216)/256;
                TL1 = (65536-9216)%256;  //10毫秒溢出 0.35%誤差
                TH0 = 0x00;
                TL0 = 0x00;
                TR1 = 1;
                TR0 = 1;
                ET1 = 1;
                while(a--);
                EA = 1;
}

void Pulse()   
{
                fs=TL0+TH0*256;       //賦值脈沖
                TH0=0x00;             //清零
                TL0=0x00;
}
        
void T11(void) interrupt 3   //0 外0  1 定0  2 外1  3 定1  4 串
{  
                TH1 = (65536-9216)/256;   //10ms定時 0%誤差
                TL1 = (65536-9216)%256;
                cnt++;
                if(cnt>=100)
                {
                Pulse();
                cnt=0;
                k++;
                }
}
/*********************************************************************/

/******************************************************/
//主函數
/******************************************************/
void main(void)
{
        u8 i,j;
        u16 wd,fx;
        float sd,qy;
        Timer_Init();
P1_init();
LCD_init();  
LCD_Setaddress(1,1);
print("溫度");  
LCD_Setaddress(1,5);
print("濕度");
LCD_Setaddress(2,1);
print("風速");
LCD_Setaddress(2,5);
print("風向");
LCD_Setaddress(3,1);
print("天氣");
LCD_Setaddress(3,5);
print("雨量");
LCD_Setaddress(4,1);
print("氣壓");
        TR0=1;TR1=1;
    while(1)
        {
                wd=read_temp_ds18b20();
                Show_Float(1,3,wd*0.1);//溫度
                sd = ADCResult(0);  //P1^0  
                sd=sd/256*5;
          sd=38.12*sd-39.36;
                if(sd>100)
                        sd=99.9;
                Show_Float(1,7,sd);//濕度  RH = 0.03812 Vout – 39.36
                Show_Float(2,3,fs*0.1);//風速   //0-70m/s  一圈1.2m/s
                fx = ADCResult(4);  //P1^4
                fx=fx*14;//fx/256*360
                Show_Number(2,7,fx*0.1);//風向
                if(tq==1&&j==0)           //天氣
                {
                        LCD_Setaddress(3,3);
      print("晴");
                }
                if(tq==0||j>0)
                {
                        LCD_Setaddress(3,3);
      print("雨");
                }
                if(yl==0)           //雨量
                {
                j++;
                }
                if(k>=60)           //雨量一分鐘清零
                {
                j=0;
                k=0;
                }
                Show_Number(3,7,j);//雨量
                qy= GetPressure();//氣壓//P1^3
                Show_Float(4,3,qy*0.1);//氣壓//P1^3
                i++;
                delay(1000);
        }
}

新手上路,多多指教
看到有人問我原理圖什么的,我是用一塊60S2代替我開發板上的89C52芯片,然后直接接上12864顯示,利用60S2的P1口帶的ADC功能檢測電壓,直接實物接上去的,沒有畫原理圖,也沒有用仿真,所以沒有,我現在傳上開發版的截圖,大家可以看看。


18B20接口圖.png
12864接口圖.png

7要素氣象站.7z

49.78 KB, 下載次數: 26, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:328014 發表于 2020-11-5 16:36 | 顯示全部樓層
能分享一下原理圖或者介紹下電路連接嗎?
回復

使用道具 舉報

ID:826942 發表于 2020-11-5 21:29 | 顯示全部樓層
51hei團團 發表于 2020-11-5 16:36
能分享一下原理圖或者介紹下電路連接嗎?

這里面源碼里可以看到電路怎么連接的,我程序說明里有那個傳感器接哪里口,溫度的好像是P3.7。12864的顯示可以看看源碼里面的定義,數據用的是P0端口。
回復

使用道具 舉報

ID:828160 發表于 2020-11-5 23:43 | 顯示全部樓層
為什么在2020年還有人用這天價芯片?
回復

使用道具 舉報

ID:826942 發表于 2020-11-6 06:49 來自觸屏版 | 顯示全部樓層
單片機研究協會 發表于 2020-11-5 23:43
為什么在2020年還有人用這天價芯片?

哈哈,因為我這實驗室剛好有多的這個芯片沒人用,就順手拿了
回復

使用道具 舉報

ID:826942 發表于 2020-11-6 06:53 來自觸屏版 | 顯示全部樓層
單片機研究協會 發表于 2020-11-5 23:43
為什么在2020年還有人用這天價芯片?

現在一般工業上都是用什么芯片多些?
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕不卡在线观看 | 国产精品自拍啪啪 | 成人av电影免费在线观看 | 综合久久久 | 日韩国产一区 | 国产精品中文在线 | 国产精品免费一区二区三区四区 | 精品乱码一区二区三四区视频 | 亚洲精品18 | 国产xxxx搡xxxxx搡麻豆 | 91色啪| 欧美aaaa视频 | 手机在线一区二区三区 | 操人网 | 精品av天堂毛片久久久借种 | 精品国产乱码久久久久久老虎 | 黄视频免费| 成人午夜av| 国产精品国产三级国产a | jav成人av免费播放 | 中文字幕欧美日韩 | 日韩二区 | 国产中文一区二区三区 | h视频在线观看免费 | 国产96色在线 | 欧美一区二区三区久久精品 | 亚洲欧美网站 | 久久中文视频 | 欧美日韩一卡二卡 | 国产一区欧美一区 | 狠狠色综合久久丁香婷婷 | 中文字幕一区二区三区不卡 | 热久久久 | 免费激情网站 | 亚洲精品欧美一区二区三区 | 日韩三级 | 久草网免费 | 老司机67194精品线观看 | 久久精品综合 | 一区二区不卡视频 | 一区二区三区国产 |