登录|立即注册|使用QQ帐号登录
论坛 > 51单片机
发帖|
看2890|回2|收藏
楼主 ID:393103 只看他
2019-4-23 15:40
LCD1602屏幕显示的51单片机客车空调分区控制系统仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png

LM35温度传感器经过LM358+PCF8591 AD转换后送给单片机处理
0.png

L298驱动3个电机动作
0.png

单片机源程序如下:

代码:

  1. #include<reg52.h>
  2. #include"delay.h"
  3. #include"lcd602.h"
  4. #include"iic.h"
  5. #include"pwm.h"
  6. #include"pwm1.h"
  7. #include"pwm2.h"
  8. /*******************数组定义********************/
  9. uchar tab1[] = {"T1:     T2:    "}; //3 12
  10. uchar tab2[] = {"T3:    "}; //3
  11. /*******************端口定义********************/

  12. /*******************变量定义********************/
  13. double dianya1 = 0; //电压1
  14. double dianya2 = 0; //电压2
  15. double dianya3 = 0; //电压2
  16. /*******************主函数********************/
  17. void main()
  18. {
  19.    chushihua(); //液晶初始化
  20.    iic_init(); //IIC初始化
  21.    write_string(1,0,tab1);
  22.    write_string(2,0,tab2);
  23.    init_t0();
  24.    init_t1();
  25.    init_t2();
  26.    while(1)
  27.    {
  28.                      /*电压采集*/
  29.                   dianya1=read_add(0x90,0x40)*5.0/255*10/3/0.01; //计算电压,进而计算温度
  30.                   dianya1=read_add(0x90,0x40)*5.0/255*10/3/0.01; //计算电压,进而计算温度
  31.                   dianya2=read_add(0x90,0x41)*5.0/255*10/3/0.01; //计算电压,进而计算温度
  32.                   dianya2=read_add(0x90,0x41)*5.0/255*10/3/0.01; //计算电压,进而计算温度
  33.                   dianya3=read_add(0x90,0x42)*5.0/255*10/3/0.01; //计算电压,进而计算温度
  34.                   dianya3=read_add(0x90,0x42)*5.0/255*10/3/0.01; //计算电压,进而计算温度
  35.                   write_num31(1,3,dianya1); //显示温度1
  36.                   write_num31(1,12,dianya2); //显示温度2
  37.                   write_num31(2,3,dianya3); //显示温度3
  38.                   /*温度1控制*/
  39.                   if(dianya1/10<18)
  40.                   {pwm(0);}
  41.                   else if(dianya1/10>=18 && dianya1/10<=22)
  42.                   {pwm(50);}
  43.                   else
  44.                   {pwm(100);}
  45.                   /*温度2控制*/
  46.                   if(dianya2/10<22)
  47.                   {pwm1(0);}
  48.                   else if(dianya2/10>=22 && dianya2/10<=25)
  49.                   {pwm1(50);}
  50.                   else
  51.                   {pwm1(100);}
  52.                   /*温度3控制*/
  53.                   if(dianya3/10<22)
  54.                   {pwm2(0);}
  55.                   else if(dianya3/10>=20 && dianya3/10<=23)
  56.                   {pwm2(50);}
  57.                   else
  58.                   {pwm2(100);}
  59.    }         
  60. }

所有资料51hei提供下载:
基于单片机客车空调分区控制系统.rar (143.19 KB)
(下载次数: 91, 2019-4-23 15:39 上传)

下载积分: 黑币 -5



沙发 ID:635901 只看他
2019-11-26 20:35
你好 楼主,我想问一下你的实物用的lcd是什么型号
板凳 ID:393103 只看他
2020-4-10 10:51

引用:

qinbozhou 发表于 2019-11-26 20:35
你好 楼主,我想问一下你的实物用的lcd是什么型号

LCD1602

51黑电子论坛

Powered by Discuz! X3.1

首页|标准版|触屏版|电脑版