查看: 3820|回复: 7

[原创] 【LPC800项目】LPC824温控排插

[复制链接]
  • TA的每日心情
    擦汗
    2017-12-29 14:09
  • 签到天数: 144 天

    连续签到: 1 天

    [LV.7]常住居民III

    9

    主题

    534

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1835
    最后登录
    2019-3-18
    发表于 2016-12-15 21:13:39 | 显示全部楼层 |阅读模式
    本帖最后由 liao122 于 2016-12-15 21:13 编辑

    项目描述:以LPC824为主控,通过DS18B20进行温度采集,用0.96 OLED来显示,控制继电器开关电。

    关键词:DS18B20  OLED  LPC824

    结构框图:

    S5GJ~FI_VP)OVO[RZ[GD)4M.png

    继电器控制电路:火线和零线分别用一个继电器控制,当三极管不导通时继电器断开,两个继电器用一个IO口控制


    }ZD1{L[D~XS4JEX_H)C(`$H.png

    OLED和DS18B20和按键电路:


    {`FY5[M8YPZU@B)B8MJL)EN.png

    实物图:


    86LZ_74@~X8V}F4@(G)7F0C.png
    O6}9TYDK}(BEPY3RK%%@4.png

    实物连接图:
    由于继电器是5V的,所以用arduino 来提供5V


    [PCPRRD[YXGJ8`0D$L8O@XF.png


    按键可以设置断电的温度,当室内温度低于设置温度是排插将断电,当室内温度高于设置温度排插将通电,同时会记录通电的时长,断电时停止计时。



    视频演示:


    程序用多速率定时器提供10ms 节拍,和1s计时节拍,部分延时用SysTick 定时器,程序的执行采用分时复用的形式。


    1. void PowerControl(void)
    2. {
    3.   if (current_temperature > stop_temperature)
    4.   {
    5.     LPC_GPIO_PORT->CLR0 |= RED;
    6.     DROP_POWER_CLR;  //低电平驱动光耦
    7.     drop_power_flag = 1;
    8.   }
    9.   else
    10.   {
    11.     LPC_GPIO_PORT->SET0 |= RED;
    12.     DROP_POWER_SET;//高电平驱动光耦
    13.     drop_power_flag = 0;
    14.   }
    15. }

    16. int main(void)
    17. {
    18.   // Enable clocks to relevant peripherals
    19.   LPC_SYSCON->SYSAHBCLKCTRL |= (WKT|MRT|GPIO|IOCON);
    20.    
    21.    //Configure the MRT
    22.    //Give the module a reset
    23.   LPC_SYSCON->PRESETCTRL &= (MRT_RST_N);
    24.   LPC_SYSCON->PRESETCTRL |= ~(MRT_RST_N);

    25.    //Mode = repeat, interrupt = enable
    26.   LPC_MRT->Channel[0].CTRL = (MRT_Repeat<<MRT_MODE) | (1<<MRT_INTEN);
    27.   LPC_MRT->Channel[1].CTRL = (MRT_Repeat<<MRT_MODE) | (1<<MRT_INTEN);
    28.   
    29.   LPC_MRT->Channel[0].INTVAL = ForceLoad | 30000000;          //  = ,30MHz, 1s
    30.   LPC_MRT->Channel[1].INTVAL = ForceLoad | 00300000;          // =, 0.3MHz,10ms
    31.   //Enable the MRT interrupt in the NVIC
    32.   NVIC_EnableIRQ(MRT_IRQn);
    33.   
    34.   Config_LEDs(RED);
    35.   Config_OLED();
    36.   LCD_Init();
    37.   Config_DS18B20();
    38.   Config_KEY();
    39.   Config_PowerControlPin();
    40.   DecToString(cur_temper_str,current_temperature);
    41.   DecToString(stop_temper_str,stop_temperature);
    42.   
    43.   DecToString(second_str,second);
    44.   DecToString(minute_str,minute);
    45.   DecToString(hour_str,hour);
    46.   
    47.   LCD_P14x16Ch(0,0,0); //实
    48.   LCD_P14x16Ch(14,0,1);    //际
    49.   LCD_P14x16Ch(28,0,2);    //时
    50.   LCD_P14x16Ch(42,0,3); //间
    51.   LCD_P14x16Ch(56,0,4); //:
    52.   LCD_P8x16Str(70,0,cur_temper_str);
    53.   LCD_P14x16Ch(94,0,10); //℃
    54.   
    55.   LCD_P14x16Ch(0,2,5); //断
    56.   LCD_P14x16Ch(14,2,6);    //电
    57.   LCD_P14x16Ch(28,2,7);    //温
    58.   LCD_P14x16Ch(42,2,8); //度
    59.   LCD_P14x16Ch(56,2,4); //:
    60.   LCD_P8x16Str(70,2,stop_temper_str);
    61.   LCD_P14x16Ch(94,2,10); //℃
    62.   LCD_P8x16Str(32,4,"liao122");
    63.   
    64.   LCD_P6x8Str(hour_position,6,hour_str);
    65.   LCD_P6x8Str(hour_position+12,6,":");
    66.   LCD_P6x8Str(hour_position+18,6,minute_str);
    67.   LCD_P6x8Str(hour_position+30,6,":");
    68.   LCD_P6x8Str(hour_position+36,6,second_str);
    69.   
    70.   while(1)
    71.   {
    72.    
    73.       StartTaskTemperature();
    74.       TaskTemperature();
    75.       DecToString(cur_temper_str,current_temperature);
    76.       LCD_P8x16Str(70,0,cur_temper_str);
    77.       TaskKey();
    78.       TimeCount();
    79.       PowerControl();
    80.   }
    81. } // end of main
    复制代码

    整个工程见附件,工程从例程中复制出来了,IAR环境

    温控排插.zip (770.32 KB, 下载次数: 33)
    签到!!!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2017-10-15 13:16
  • 签到天数: 191 天

    连续签到: 1 天

    [LV.7]常住居民III

    11

    主题

    664

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1722
    最后登录
    2017-10-15
    发表于 2016-12-15 22:37:44 | 显示全部楼层
    强大                                 
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-2-5 17:05
  • 签到天数: 206 天

    连续签到: 1 天

    [LV.7]常住居民III

    28

    主题

    1814

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    5873
    最后登录
    2025-6-26
    发表于 2016-12-15 23:31:34 | 显示全部楼层
    太毕了 支持
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-24 08:30
  • 签到天数: 50 天

    连续签到: 1 天

    [LV.5]常住居民I

    22

    主题

    817

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1713
    最后登录
    2019-12-7
    发表于 2016-12-16 09:39:12 | 显示全部楼层
    支持 支持
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-11-30 16:16
  • 签到天数: 206 天

    连续签到: 1 天

    [LV.7]常住居民III

    74

    主题

    2793

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    7879
    最后登录
    2025-4-11
    发表于 2016-12-16 11:42:03 来自手机 | 显示全部楼层
    可以的    稳
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-1-18 20:00
  • 签到天数: 45 天

    连续签到: 1 天

    [LV.5]常住居民I

    17

    主题

    262

    帖子

    0

    高级会员

    Rank: 4

    积分
    533
    最后登录
    2024-11-23
    发表于 2016-12-16 15:00:15 | 显示全部楼层
    支持      
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-21 08:52
  • 签到天数: 861 天

    连续签到: 1 天

    [LV.10]以坛为家III

    75

    主题

    2523

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5867
    最后登录
    2025-1-22
    发表于 2016-12-17 11:24:55 | 显示全部楼层
    谢谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-19 15:50
  • 签到天数: 243 天

    连续签到: 1 天

    [LV.8]以坛为家I

    3

    主题

    1325

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2316
    最后登录
    2020-1-19
    发表于 2016-12-26 10:46:59 | 显示全部楼层
    标记,木有礼包
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 22:19 , Processed in 0.176459 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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