高中生
最后登录1970-1-1
在线时间 小时
注册时间2016-3-2
|
楼主 |
发表于 2016-4-1 19:29:17
|
显示全部楼层
/**
******************************************************************************
* @file main.c
* @author fire
* @version V1.0
* @date 2013-xx-xx
* @brief óÃ3.5.0°æ±¾¿a½¨μÄ1¤3ìÄ£°å
******************************************************************************
* @attention
*
* êμÑéƽì¨:ò°»e iSO STM32 ¿a·¢°å
* ÂÛì3 :http://www.firebbs.cn
* ìÔ±| :http://firestm32.taobao.com
*
******************************************************************************
*/
#include "stm32f10x.h"
#include "bsp_dht11.h"
#include "bsp_SysTick.h"
#include "bsp_smg.h"
#include "bsp_usart1.h"
#include "bsp_TiMbase.h"
//¶¨òå諾ֱäá¿ DHT11_Data
DHT11_Data_TypeDef DHT11_Data;
volatile u32 time = 0; // ms ¼Æê±±äá¿
volatile u32 time1 = 0; // ms ¼Æê±±äá¿
int H1,H2,h1,h2;
int T1,T2,t1,t2;
u16 table[]={0X3F,0X6,0X5B,0X4F,0X66,0X6D,0X7D,0X7,0X7F,0X6F};
u16 table1[]={0XBF,0X86,0XDB,0XCF,0XE6,0XED,0XFD,0X87,0XFF,0XEF};
void tempdisplay(void);
void shidudisplay(void);
void SMG_GPIO_Config(void);
void DHT11_GPIO_Config(void);
void SysTick_Init(void);
void TIM2_Configuration(void);
void TIM6_Configuration(void);
//Ñóê±oˉêy
void delay(u16 time)
{
u16 i=0;
// while(time--)
// {
i=3500;
while(i--);
//}
}
void Delay_us(__IO u32 nTime);
int main(void)
{
//¶¨ê±Æ÷ÅäÖÃ
TIM2_Configuration();
//¶¨ê±Æ÷ÅäÖÃ
TIM6_Configuration();
/* êμÕ½¶¨ê±Æ÷μÄÖD¶ÏóÅÏ輶 */
TIM2_MNVIC_Configuration();
/* êμÕ½¶¨ê±Æ÷μÄÖD¶ÏóÅÏ輶 */
TIM6_NVIC_Configuration();
/* TIM2 ÖØD¿aê±Ö󣬿aê¼¼Æê± */
TIM_Cmd(TIM2, ENABLE);
/* TIM6 ÖØD¿aê±Ö󣬿aê¼¼Æê± */
TIM_Cmd(TIM6, DISABLE);
//ÅäÖÃSysTick Îa10usÖD¶Ïò»′Î
SysTick_Init();
//ÅäÖÃUSART
USART1_Config();
//3õê¼»ˉDTT11μÄòy½Å
DHT11_GPIO_Config();
//3õê¼»ˉSMGμÄòy½Å
SMG_GPIO_Config();
while(1)
{
if ( time >=10000)
{
time=0;
}
else if ((time <5000))
{
tempdisplay();
}
else if(time<10000&&time>=5000)
{
shidudisplay();
}
}
}
//êa¶èÏÔê¾′|àíoˉêy
void shidudisplay()
{
if(Read_DHT11(&DHT11_Data)==SUCCESS)
{
//êa¶èêy¾Y′|àí
H1=(DHT11_Data.humi_int/10)%10; //è¡êa¶èÕûêy2¿·ÖμÄê®Î»
H2=(DHT11_Data.humi_int%10); //è¡êa¶èÕûêy2¿·Öμĸöλ
h1=(DHT11_Data.humi_deci/10)%10; //è¡êa¶èD¡êy2¿·ÖμÄê®·Öλ
h2=(DHT11_Data.humi_deci%10); //è¡êa¶èD¡êy2¿·ÖμÄ°ù·Öλ
}
else
{
GPIO_Write(GPIOB,0);
GPIO_Write(GPIOC,0XFFFF);
}
/*****************************************************
********* êa¶èêy¾Y′|àí ***********
*****************************************************/
// if(time1>=100)
// {
// time1=0;
// }
// else if((time1<50))
// {
//¿aêyÂë1üμÄ×óμúò»Î»£¬í¨1yλéèÖ㬸ßμçƽ¿aÆô
GPIO_SetBits(GPIOB,GPIO_Pin_12);
GPIO_Write(GPIOC,table[H1]);
delay(0X1);
GPIO_ResetBits(GPIOB,GPIO_Pin_12);
// }
// else if(time1>=33&&time1<64)
// {
//¿aêyÂë1üμÄ×óμú¶t룬í¨1yλéèÖ㬸ßμçƽ¿aÆô
GPIO_SetBits(GPIOB,GPIO_Pin_13);
GPIO_Write(GPIOC,table1[H2]);
delay(0X1);
GPIO_ResetBits(GPIOB,GPIO_Pin_13);
// }
// else
// {
//¿aêyÂë1üμÄ×óμúèy룬í¨1yλéèÖ㬸ßμçƽ¿aÆô£¨D¡êy2¿·Ö£©
GPIO_SetBits(GPIOB,GPIO_Pin_14);
GPIO_Write(GPIOC,table[h1]);
delay(0X1);
GPIO_ResetBits(GPIOB,GPIO_Pin_14);
// }
//êa¶èμÄμ¥λ
GPIO_SetBits(GPIOB,GPIO_Pin_15);
GPIO_SetBits(GPIOC,GPIO_Pin_12);
GPIO_SetBits(GPIOC,GPIO_Pin_10);
GPIO_SetBits(GPIOE,GPIO_Pin_10);
}
//ζèÏÔê¾′|àíoˉêy
void tempdisplay()
{
/*μ÷óÃRead_DHT11¶áè¡ÎÂêa¶è£¬èô3é1|Ôòêä3ö¸ÃDÅÏ¢*/
if( Read_DHT11(&DHT11_Data)==SUCCESS)
{
//ζèêy¾Y′|àí
T1=(DHT11_Data.temp_int/10)%10; //è¡Î¶èÕûêy2¿·ÖμÄê®Î»
T2=(DHT11_Data.temp_int%10); //è¡Î¶èÕûêy2¿·Öμĸöλ
t1=(DHT11_Data.temp_deci/10)%10; //è¡Î¶èÕûêy2¿·ÖμÄê®·Öλ
t2=(DHT11_Data.temp_deci%10); //è¡Î¶èÕûêy2¿·ÖμÄ°ù·Öλ
}
else
{
GPIO_Write(GPIOB,0);
GPIO_Write(GPIOC,0XFFFF);
}
/*****************************************************
********* ζèêy¾Y′|àí ***********
****************************************************/
//¿aêyÂë1üμÄ×óμúò»Î»£¬í¨1yλéèÖ㬸ßμçƽ¿aÆô
GPIO_SetBits(GPIOB,GPIO_Pin_12);
GPIO_Write(GPIOC,table[T1]);
delay(0X1);
GPIO_ResetBits(GPIOB,GPIO_Pin_12);
//¿aêyÂë1üμÄ×óμú¶t룬í¨1yλéèÖ㬸ßμçƽ¿aÆô
GPIO_SetBits(GPIOB,GPIO_Pin_13);
GPIO_Write(GPIOC,table1[T2]);
delay(0X1);
GPIO_ResetBits(GPIOB,GPIO_Pin_13);
//¿aêyÂë1üμÄ×óμúèy룬í¨1yλéèÖ㬸ßμçƽ¿aÆô£¨D¡êy2¿·Ö£©
GPIO_SetBits(GPIOB,GPIO_Pin_14);
GPIO_Write(GPIOC,table[t1]);
delay(0X1);
GPIO_ResetBits(GPIOB,GPIO_Pin_14);
GPIO_SetBits(GPIOB,GPIO_Pin_15);
GPIO_ResetBits(GPIOE,GPIO_Pin_10);
GPIO_SetBits(GPIOC,GPIO_Pin_12);
GPIO_SetBits(GPIOC,GPIO_Pin_11);
GPIO_SetBits(GPIOC,GPIO_Pin_10);
GPIO_SetBits(GPIOC,GPIO_Pin_9);
GPIO_SetBits(GPIOC,GPIO_Pin_8);
}
/*********************************************END OF FILE**********************/
|
|