標(biāo)題:
MSP430F4152 PM2.5模塊通訊顯示源程序
[打印本頁(yè)]
作者:
fansanderen
時(shí)間:
2020-8-12 21:15
標(biāo)題:
MSP430F4152 PM2.5模塊通訊顯示源程序
分享一個(gè)液晶顯示的例程 IAR for MSP6.3,主要用于PM2.5模塊的顯示
#include <msp_RfValve_golbal.h>
//*****************************************************************************
//
//! Perform System clock initialize.
//! ACLK = XT1CLK = 32.738kHz MCLK = SMCLK = default ~ 1.04MHz
//
//! \no param
//!
//! \return None.
//
task_t task[TASKS_MAX] = {
[TASK_BASE] = {1, 0, 0, 0, 500, task_baserun}, // 基礎(chǔ)任務(wù)
[TASK_HMI] = {0, 0, 0, 0, 100, task_Disp}, // 人機(jī)交互
[TASK_AD] = {0, 0, 0, 10, 5000, task_AdInt}, // 溫度采集
[TASK_CIRCLE_DIS] = {0, 0, 0, 0, 80, task_circle_dis}, // GPRS數(shù)據(jù)上傳
[TASK_IOSCAN] = {0, 0, 0, 0, 20, task_ioscan},// IO掃描刷新
[TASK_BKLED] = {0, 0, 0, 0, 20, task_bkrun},
[TASK_FLASH] = {0, 0, 0, 10, 20, task_flash},
// ...
};
tRomA_Ins RomA_Ins=
{
.Strs_TolTime=900,
.PM25_SetHm=200,
.PM25_SetMl=500,
.Strs_AlamPer=10,
};
//*****************************************************************************
void CLOCK_Config()
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
SCFQCTL = SCFQ_4M;//121;
FLL_CTL0 = DCOPLUS + XCAP5_5F;// (121+1) x 32768 x 2 = 7.99 Mhz
FCTL2 = FWKEY + FSSEL_2 + FN0 + FN1 + FN4; // 選擇smclk/20 = 400kHz
SCFI0 |= FN_2;
do
{
clear();
BKLED_ON;
//Disp_off();
IFG1 &= ~OFIFG; // Clear osc fault flag
__delay_cycles(0xfff);//for (i = 0; i < 1000; i++); // Delay for osc to stabilize
} while(IFG1 & OFIFG);
}
//*****************************************************************************
//TA0_T0
//*****************************************************************************
void TA0_Config()
{
/*
TACCR0=65; //1ms掃描
TACTL |= TAIE+MC_1+TASSEL_1+TACLR; //Timer_A interrupt enable
TACTL&= ~TAIFG;
*/
}
//*****************************************************************************
//SoftRX setup
//*****************************************************************************
//*****************************************************************************
//Timer1_A3 setup
//*****************************************************************************
//BT
void Bt_Config()
{
BTCTL=BT_fCLK2_ACLK+BT_ADLY_1;
IE2|=BTIE;
}
//*****************************************************************************
//Power_ADInit()
//*****************************************************************************
//*****************************************************************************
//Power_ADInit()
//*****************************************************************************
void Lcd_Config()
{
LCDACTL|=LCD4MUX+LCDFREQ_32+LCDON;
P5SEL=0X0FF;
P7SEL|=BIT6;
P1SEL|=BIT4+BIT5; //413單片機(jī)需要設(shè)置
LCDAPCTL0=0x7F;
// LCDAPCTL1|=LCDS32;
clear();
}
//*****************************************************************************
//Port_Config()
//*****************************************************************************
void Port_Config()
{
Key_INIT();
Led_Port_Dir|=Led_Pin;
Relay_DIR|=RelayH_BIT+RelayL_BIT;
BKLED_OFF;
}
//*****************************************************************************
void SYS_INT()
{
CLOCK_Config();
Port_Config();
TA0_Config();
USART_INT();
Lcd_Config();
Bt_Config();
RX_Ready();
// RFInit();
Work_Timing_Flags.Tc_Work_Mode=Work_Off;
}
// ************************************************************************
//=================================================================================
void Err_Check()
{
Work_Timing_Flags.RS485_COMM_Time++;
if(Work_Timing_Flags.RS485_COMM_Time>UtCOMM_ERR_Time)//
{
Work_Timing_Flags.RS485_COMM_Time=0;
NFformat.Err_inf.Tc_comm=OnErr;
USART_INT();
}
}
// ****溫控器狀態(tài)監(jiān)測(cè)********************************************************************
void Tc_Work_Check()
{
switch(Work_Timing_Flags.Tc_Work_Mode)
{
case(Work_Off):
Disp_Off();
break;
case(Work_On_Nomal):
Disp_On_Nomal();
break;
case(Work_On_Set):
Disp_On_Set();
break;
}
}
// ************************************************************************
void Work_Timing_Chenck()
{
wnl_process();
Err_Check();
// Ad_Int();
// Tc_Work_Check();
}
// ************************************************************************
void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer // Disable the GPIO power-on default high-impedance mode
SYS_INT();
_EINT();
// WDTCTL=WDT_ARST_1000;
while(1)
{
task_process();
}
}
復(fù)制代碼
PM25雙通訊.7z
2020-8-13 04:14 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
372.6 KB, 下載次數(shù): 10, 下載積分: 黑幣 -5
PM2.5模塊通訊顯示
作者:
f556
時(shí)間:
2021-12-31 22:02
再次找F4152的時(shí)鐘配置,找到了還是在51hei,謝謝
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1