1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標(biāo)題: 基于stc12CA60S2單片機的七要素氣象站程序 [打印本頁]

作者: 0711zhao    時間: 2020-11-5 12:50
標(biāo)題: 基于stc12CA60S2單片機的七要素氣象站程序
本帖最后由 0711zhao 于 2020-11-5 21:37 編輯

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

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

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


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


/*********************************************************************
*函數(shù)名稱:main
*函數(shù)功能:主函數(shù)
*函數(shù)調(diào)用:
*參數(shù)列表:無
*返 回 值:無
*結(jié)    果:
*備    注:
*********************************************************************/
void Timer_Init(void) //T1定時模式 T0計數(shù)模式
{
                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++;
                }
}
/*********************************************************************/

/******************************************************/
//主函數(shù)
/******************************************************/
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("風(fēng)速");
LCD_Setaddress(2,5);
print("風(fēng)向");
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);//風(fēng)速   //0-70m/s  一圈1.2m/s
                fx = ADCResult(4);  //P1^4
                fx=fx*14;//fx/256*360
                Show_Number(2,7,fx*0.1);//風(fēng)向
                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代替我開發(fā)板上的89C52芯片,然后直接接上12864顯示,利用60S2的P1口帶的ADC功能檢測電壓,直接實物接上去的,沒有畫原理圖,也沒有用仿真,所以沒有,我現(xiàn)在傳上開發(fā)版的截圖,大家可以看看。


18B20接口圖.png (36.92 KB, 下載次數(shù): 56)

18B20接口圖.png

12864接口圖.png (73.78 KB, 下載次數(shù): 55)

12864接口圖.png

7要素氣象站.7z

49.78 KB, 下載次數(shù): 26, 下載積分: 黑幣 -5


作者: 51hei團團    時間: 2020-11-5 16:36
能分享一下原理圖或者介紹下電路連接嗎?
作者: 0711zhao    時間: 2020-11-5 21:29
51hei團團 發(fā)表于 2020-11-5 16:36
能分享一下原理圖或者介紹下電路連接嗎?

這里面源碼里可以看到電路怎么連接的,我程序說明里有那個傳感器接哪里口,溫度的好像是P3.7。12864的顯示可以看看源碼里面的定義,數(shù)據(jù)用的是P0端口。
作者: 單片機研究協(xié)會    時間: 2020-11-5 23:43
為什么在2020年還有人用這天價芯片?
作者: 0711zhao    時間: 2020-11-6 06:49
單片機研究協(xié)會 發(fā)表于 2020-11-5 23:43
為什么在2020年還有人用這天價芯片?

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

作者: 0711zhao    時間: 2020-11-6 06:53
單片機研究協(xié)會 發(fā)表于 2020-11-5 23:43
為什么在2020年還有人用這天價芯片?

現(xiàn)在一般工業(yè)上都是用什么芯片多些?




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1