找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1707|回复: 1
打印 上一主题 下一主题
收起左侧

MSP430F4152 PM2.5模块通讯显示源程序

[复制链接]
跳转到指定楼层
楼主
ID:389181 发表于 2020-8-12 21:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
分享一个液晶显示的例程 IAR for MSP6.3,主要用于PM2.5模块的显示

  1. #include <msp_RfValve_golbal.h>
  2. //*****************************************************************************
  3. //
  4. //! Perform System clock initialize.
  5. //! ACLK = XT1CLK = 32.738kHz  MCLK = SMCLK = default ~ 1.04MHz
  6. //
  7. //! \no param
  8. //!
  9. //! \return None.
  10. //
  11. task_t task[TASKS_MAX] = {
  12.     [TASK_BASE]         = {1, 0, 0,    0,     500,      task_baserun},     // 基础任务
  13.     [TASK_HMI]          = {0, 0, 0,    0,     100,      task_Disp},      // 人机交互
  14.     [TASK_AD]           = {0, 0, 0,   10,     5000,     task_AdInt},     // 温度采集
  15.     [TASK_CIRCLE_DIS]   = {0, 0, 0,    0,     80,       task_circle_dis},      // GPRS数据上传   
  16.     [TASK_IOSCAN]       = {0, 0, 0,    0,     20,       task_ioscan},// IO扫描刷新
  17.     [TASK_BKLED]        = {0, 0, 0,    0,     20,       task_bkrun},
  18.     [TASK_FLASH]        = {0, 0, 0,    10,     20,      task_flash},
  19.     // ...
  20. };
  21. tRomA_Ins RomA_Ins=
  22. {
  23.   .Strs_TolTime=900,
  24.   .PM25_SetHm=200,
  25.   .PM25_SetMl=500,
  26.   .Strs_AlamPer=10,
  27. };
  28. //*****************************************************************************
  29. void CLOCK_Config()
  30. {
  31.     WDTCTL = WDTPW + WDTHOLD;    // Stop WDT
  32.     SCFQCTL = SCFQ_4M;//121;     
  33.     FLL_CTL0 = DCOPLUS + XCAP5_5F;// (121+1) x 32768 x 2 = 7.99 Mhz
  34.     FCTL2 = FWKEY + FSSEL_2 + FN0 + FN1 + FN4; // 选择smclk/20 = 400kHz
  35.      SCFI0 |= FN_2;
  36.    do
  37.   {
  38.     clear();
  39.     BKLED_ON;
  40.      //Disp_off();
  41.     IFG1 &= ~OFIFG;                         // Clear osc fault flag
  42.     __delay_cycles(0xfff);//for (i = 0; i < 1000; i++);             // Delay for osc to stabilize
  43.    
  44.   } while(IFG1 & OFIFG);
  45. }
  46. //*****************************************************************************
  47. //TA0_T0

  48. //*****************************************************************************
  49. void TA0_Config()
  50. {
  51.   /*  
  52.   TACCR0=65; //1ms扫描
  53.     TACTL |= TAIE+MC_1+TASSEL_1+TACLR;                           //Timer_A interrupt enable
  54.     TACTL&= ~TAIFG;
  55.   */
  56.   
  57.    
  58. }
  59. //*****************************************************************************
  60. //SoftRX setup

  61. //*****************************************************************************


  62. //*****************************************************************************
  63. //Timer1_A3 setup

  64. //*****************************************************************************
  65. //BT
  66. void Bt_Config()
  67. {
  68. BTCTL=BT_fCLK2_ACLK+BT_ADLY_1;
  69. IE2|=BTIE;
  70. }


  71. //*****************************************************************************
  72. //Power_ADInit()

  73. //*****************************************************************************


  74. //*****************************************************************************
  75. //Power_ADInit()

  76. //*****************************************************************************
  77. void Lcd_Config()
  78. {
  79.     LCDACTL|=LCD4MUX+LCDFREQ_32+LCDON;
  80.    
  81.     P5SEL=0X0FF;
  82.     P7SEL|=BIT6;
  83.     P1SEL|=BIT4+BIT5;                 //413单片机需要设置
  84.     LCDAPCTL0=0x7F;
  85.    // LCDAPCTL1|=LCDS32;
  86.     clear();
  87.    
  88.    
  89. }

  90. //*****************************************************************************
  91. //Port_Config()

  92. //*****************************************************************************

  93. void Port_Config()
  94. {
  95.    Key_INIT();
  96.    Led_Port_Dir|=Led_Pin;
  97.    Relay_DIR|=RelayH_BIT+RelayL_BIT;
  98.    BKLED_OFF;
  99.    
  100. }
  101. //*****************************************************************************
  102. void SYS_INT()
  103. {
  104.   CLOCK_Config();
  105.   Port_Config();
  106.   TA0_Config();   
  107.   USART_INT();
  108.   Lcd_Config();
  109.   Bt_Config();
  110.   RX_Ready();
  111. // RFInit();
  112. Work_Timing_Flags.Tc_Work_Mode=Work_Off;

  113. }
  114. // ************************************************************************



  115. //=================================================================================
  116. void Err_Check()
  117. {
  118.   Work_Timing_Flags.RS485_COMM_Time++;
  119. if(Work_Timing_Flags.RS485_COMM_Time>UtCOMM_ERR_Time)//
  120. {
  121.   Work_Timing_Flags.RS485_COMM_Time=0;
  122.   NFformat.Err_inf.Tc_comm=OnErr;
  123.   USART_INT();  
  124. }

  125. }
  126. // ****温控器状态监测********************************************************************
  127. void Tc_Work_Check()
  128. {
  129. switch(Work_Timing_Flags.Tc_Work_Mode)
  130. {
  131.    case(Work_Off):
  132.      Disp_Off();
  133.      break;
  134.    case(Work_On_Nomal):
  135.      Disp_On_Nomal();
  136.      break;
  137.     case(Work_On_Set):
  138.       Disp_On_Set();
  139.      break;
  140. }
  141. }
  142. // ************************************************************************
  143. void Work_Timing_Chenck()
  144. {

  145.   
  146.   wnl_process();
  147.   Err_Check();
  148. //  Ad_Int();
  149. // Tc_Work_Check();
  150.   
  151. }
  152. // ************************************************************************

  153. void main(void)
  154. {
  155.   WDTCTL = WDTPW | WDTHOLD;               // Stop watchdog timer            // Disable the GPIO power-on default high-impedance mode  
  156.   SYS_INT();
  157.   _EINT();
  158. // WDTCTL=WDT_ARST_1000;
  159.     while(1)
  160.     {
  161.      task_process();

  162.     }
  163. }

复制代码



PM25双通讯.7z

372.6 KB, 下载次数: 9, 下载积分: 黑币 -5

PM2.5模块通讯显示

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:282850 发表于 2021-12-31 22:02 | 只看该作者
再次找F4152的时钟配置,找到了还是在51hei,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表