找回密码
 立即注册

QQ登录

只需一步,快速开始

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

89C52单片机+TM1640+DHT11温湿度计源程序

[复制链接]
跳转到指定楼层
楼主
ID:264021 发表于 2017-12-19 23:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include "DHT11.H"
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. #define SET_DATA_ORDER 0x40  
  7. sbit SCLK = P0^3;
  8. sbit DIN = P0^2;
  9. sbit LED = P2^1;

  10. sbit LED1 = P2^2;
  11. sbit LED2 = P2^3;
  12. sbit LED3 = P2^4;
  13. uchar code display_buffer[19] = {0xFC,0x30,0x6D,0x75,0xB1,0xD5,0xDD,0xF0,0xFD,0xF5,
  14.         0xF9,0x9D,0xCC,0x0D,0x3D,0xCD,0xC9,0x01,0x00};
  15. uchar code SET_DISPLAY[] = {0x80,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F};
  16. void start()
  17. {
  18.         DIN = 1;
  19.         SCLK = 1;
  20.         _nop_();
  21.         _nop_();
  22.         DIN = 0;
  23.         _nop_();
  24.         _nop_();
  25.         SCLK = 0;
  26.         _nop_();
  27.         _nop_();
  28. }
  29. void stop()
  30. {
  31.         DIN = 0;
  32.         SCLK = 1;
  33.         _nop_();
  34.         _nop_();
  35.         DIN = 1;
  36.         _nop_();
  37.         _nop_();
  38.         SCLK = 0;
  39.         _nop_();
  40.         _nop_();
  41. }
  42. void write(uchar date)
  43. {
  44.         uchar i;
  45.         DIN = 0;
  46.         SCLK = 0;
  47.         for(i = 0;i < 8;i++)
  48.         {
  49.                 SCLK = 0;
  50.                 if(date & 0x01)
  51.                 {
  52.                         DIN = 1;
  53.                         _nop_();
  54.                         _nop_();
  55.                 }
  56.                 else
  57.                 {
  58.                         DIN = 0;
  59.                         _nop_();
  60.                         _nop_();
  61.                 }
  62.                 SCLK = 1;
  63.                 date >>= 1;               
  64.         }
  65.         SCLK = 0;
  66.         DIN = 0;
  67. }
  68. void TM1640_INIT(void) //TM1640???
  69. {
  70.         DIN = 1;                          
  71.         SCLK = 1;
  72.         start();                               
  73.         write(SET_DATA_ORDER);       
  74.         stop();                                       
  75.         start();                                       
  76.         write(SET_DISPLAY[2]);       
  77.         stop();                       
  78. }
  79. void send(uchar address,date)//?TM1640???ADDRESS??,,DATA??
  80. {
  81.         start();                                       
  82.         write(0xC0 | (address & 0x0F));       
  83.         write(date);                       
  84.         stop();                                        
  85. }
  86. void SX(uchar A1,uchar A2,uchar A3,uchar A4,uchar A5,uchar A6,uchar A7,uchar A8,uchar A9,uchar A10)
  87. {
  88.     send(0,display_buffer[A1/10]);               

  89.                 send(1,display_buffer[A2%10]);               

  90.                 send(2,display_buffer[A3]);               

  91.                 send(3,display_buffer[A4]);               

  92.                 send(4,display_buffer[A5/10]);       

  93.                 send(5,display_buffer[A6%10]);               

  94.                 send(6,display_buffer[A7]);               

  95.                 send(7,display_buffer[A8]);               
  96.        
  97.                 send(8,display_buffer[A9]);       
  98.        
  99.                 send(9,display_buffer[A10]);       
  100. }
  101. void main()
  102. {
  103.   LED=0;
  104.        
  105.         TM1640_INIT();
  106. while(1)
  107.         {

  108.                
  109.                 RH();
  110. SX(U8T_data_H,U8T_data_H,17,17,U8RH_data_H,U8RH_data_H,17,17,17,17);
  111. }

  112. }
  113. ……………………

  114. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
DHT11 TM1640.rar (36.02 KB, 下载次数: 163)


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

使用道具 举报

沙发
ID:275169 发表于 2018-1-12 15:23 | 只看该作者
又没图
回复

使用道具 举报

板凳
ID:477143 发表于 2019-2-16 14:36 | 只看该作者
不错
回复

使用道具 举报

地板
ID:445069 发表于 2019-2-20 15:45 | 只看该作者
不错,给楼主点赞!
回复

使用道具 举报

5#
ID:71535 发表于 2020-4-22 18:09 | 只看该作者
学习学习  多谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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