国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

51單片機串口控制繼電器Proteus仿真,溫濕度顯示程序

[復制鏈接]
樓主
eng 發(fā)表于 2021-6-10 01:16:07 | 只看該作者 |只看大圖 |倒序瀏覽 |閱讀模式
完整的仿真文件和單片機程序在本文尾部附件里
51單片機串口控制繼電器Proteus仿真,溫濕度顯示程序 1.png 51單片機串口控制繼電器Proteus仿真,溫濕度顯示程序 2.png

部分源碼:
  1. void UART_INIT()
  2. {
  3.         SM0 = 0;
  4.         SM1 = 1;//串口工作方式1
  5.         REN = 1;//允許串口接收
  6.         EA = 1;//開總中斷
  7.         ES = 1;//開串口中斷
  8.         TMOD|= 0x20;//8位自動重裝模式
  9.         TH1 = 0xfd;
  10.         TL1 = 0xfd;//9600波特率
  11.         TR1 = 1;//啟動定時器1
  12. }

  13. void delay(uint a)
  14. {
  15.         uint x,y;
  16.         for(x=0;x++;x<a)
  17.                 for(y=0;y++;y<110);
  18. }

  19. void display()
  20. {
  21.                 LcdShowStr(0,0,"T:");             //溫度
  22.                 DisplayOneStr(2,0,tmp()%1000/100);     
  23.                 DisplayOneStr(3,0,tmp()%1000%100/10);     
  24.                 LcdShowStr(4,0,".");   
  25.                 DisplayOneStr(5,0,tmp()%10);   
  26.                 LcdShowStr(6,0,"C");   
  27.       
  28.                 LcdShowStr(8,0,"H:");            //濕度
  29.                 DisplayOneStr(10,0,num1/100);   
  30.                 DisplayOneStr(11,0,num1%100/10);     
  31.                 DisplayOneStr(12,0,num1%100%10);     
  32.                 LcdShowStr(13,0,"%");   

  33.                 tmpchange();

  34.         if(key1==0 && buzz==1)
  35.         {
  36.                                         TI=1;
  37.                                         printf("Humidity:");//濕度
  38.                                         printf("%x",num1/100);
  39.                                         printf("%x",num1%100/10);
  40.                                         printf("%x",num1%100%10);
  41.                                         printf("%%\n");
  42.                                         printf("\n");
  43.                                         printf("\n");

  44.                                         printf("Temperature:");//溫度
  45.                                         printf("%x",tmp()%1000/100);
  46.                                         printf("%x.",tmp()%1000%100/10);
  47.                                         printf("%x",tmp()%10);
  48.                                         printf(".C\n");
  49.                                         printf("\n");
  50.                                         printf("\n");
  51.                                         printf("\n");
  52.                 while(key1==0);

  53.         }

  54. }

  55. /******外部中斷1初始化******/
  56. void intlInit()
  57. {
  58.         EA=1;//開總中斷
  59.         EX1=1;//開外部中斷1中斷
  60.                 EX0=1;//開外部中斷0中斷
  61.         IT1=1;//中斷方式1,下降沿方式
  62.                 IT0=1;//中斷方式1,下降沿方式
  63. }
  64. void main()
  65. {
  66.         InitLcd1602();   
  67.         inter();
  68.         UART_INIT();
  69.         intlInit();
  70.         TR0=1;
  71.         buzz=0;
  72.         while(1)
  73.         {
  74.                 EA=0;
  75.                 num1=du24c02(0);//濕度
  76.                 num1=num1/2.55;

  77.                 EA=1;      
  78.                 delay(5);               
  79.                 display();
復制代碼
完整單片機源碼和proteus仿真文件.rar (324.62 KB, 售價: 3 E幣)
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

手機版|小黑屋|ELEOK |網(wǎng)站地圖

GMT+8, 2026-5-26 02:10

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表