找回密码
 立即注册
×

00:00:00

您有一张0.1元限时体验卡,马上领取获得VIP尊享特权。

【求助】烧录以下程序到开发板后,数码管和led灯跳动

2023-3-18 19:26 来自 mxdyeah 发布 @ 综合讨论

烧录以下程序到开发板后,数码管和led灯跳动

能不能不让数码管和led灯跳动?
代码来自:深圳市普中科技有限公司(PRECHIN 普中) 稍有改动
main.c文件
  1. /**************************************************************************************
  2. 深圳市普中科技有限公司(PRECHIN 普中)
  3. 技术支持:www.prechin.net
  4. PRECHIN
  5. 普中

  6. 实验名称:DHT11温湿度检测(LCD1602显示)
  7. 接线说明:DHT11温湿度模块-->单片机IO
  8.                   VCC-->5V
  9.                   DATA-->P2.3
  10.                   GND-->GND       
  11. 实验现象:下载程序后,LCD1602上显示DHT11温湿度传感器采集的温度和湿度值
  12. 注意事项:按照LCD1602实验章节插好LCD1602到开发板                                                                                                                                                                  
  13. ***************************************************************************************/
  14. #include "public.h"
  15. #include "lcd1602.h"
  16. #include "dht11.h"

  17. sbit led1 = P2^0;
  18. sbit led2 = P2^1;
  19. sbit led3 = P2^2;
  20. sbit led4 = P2^3;
  21. sbit led5 = P2^4;
  22. sbit led6 = P2^5;
  23. sbit led7 = P2^6;
  24. sbit led8 = P2^7;

  25. /*******************************************************************************
  26. * 函 数 名       : main
  27. * 函数功能                 : 主函数
  28. * 输    入       : 无
  29. * 输    出             : 无
  30. *******************************************************************************/
  31. void main()
  32. {       
  33.         u8 temp=0,humi=0;
  34.         u8 i=0;
  35.         u8 temp_buf,humi_buf;

  36.         lcd1602_init();
  37.         while(DHT11_Init())        //检测DHT11是否存在
  38.         {
  39.                 lcd1602_show_string(0,0,"DHT11 Was Not Detected!");               
  40.         }
  41.         lcd1602_show_string(0,0,"Wendu:   C");
  42.         lcd1602_show_string(0,1,"Shidu:   %RH ");
  43.        
  44.         while(1)
  45.         {
  46.                 i++;
  47.                 if(i%200==0)
  48.                 {
  49.                         DHT11_Read_Data(&temp,&humi);
  50.                         temp_buf=temp/10+0x30;       
  51.                         temp_buf=temp%10+0x30;
  52.                         temp_buf='\0';
  53.                         lcd1602_show_string(6,0,temp_buf);

  54.                         humi_buf=humi/10+0x30;       
  55.                         humi_buf=humi%10+0x30;
  56.                         humi_buf='\0';
  57.                         lcd1602_show_string(6,1,humi_buf);
  58.                                
  59.                 }
  60.                
  61.                 delay_ms(1);

  62.         }
  63. }
  64. public.h文件
  65. [code]#ifndef _public_H
  66. #define _public_H

  67. #include "reg52.h"

  68. typedef unsigned int u16;        //对系统默认数据类型进行重定义
  69. typedef unsigned char u8;


  70. void delay_10us(u16 ten_us);
  71. void delay_ms(u16 ms);

  72. #endif
  73. lcd1602.h文件
  74. [code]#ifndef _lcd1602_H
  75. #define _lcd1602_H

  76. #include "public.h"

  77. //LCD1602数据口4位和8位定义,若为1,则为LCD1602四位数据口驱动,反之为8位
  78. #define LCD1602_4OR8_DATA_INTERFACE        0        //默认使用8位数据口LCD1602

  79. //管脚定义
  80. sbit LCD1602_RS=P2^6;//数据命令选择
  81. sbit LCD1602_RW=P2^5;//读写选择
  82. sbit LCD1602_E=P2^7; //使能信号
  83. #define LCD1602_DATAPORT P0        //宏定义LCD1602数据端口


  84. //函数声明
  85. void lcd1602_init(void);
  86. void lcd1602_clear(void);
  87. void lcd1602_show_string(u8 x,u8 y,u8 *str);

  88. #endiflcd1602.c文件
  89. [code]#include "lcd1602.
复制代码

免责声明:

本平台旨在开源共享精神,请勿发布敏感信息,任何违法信息我们将移交公安机关;

热门标签 更多

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-14 16:33 , Processed in 0.064265 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部