• 大小: 89KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: C/C++
  • 标签: 温度控制  C语言  

资源简介

单片机 C语言温度控制程序,利用中断来读取温度传感器发来的数据。在51系列单片机上测试通过。

资源截图

代码片段和文件信息

/*1602接线图: 
---------------------------------------------------
|LCD-----51  | LCD-----51  | LCD------51 |
---------------------------------------------|
|DB0-----P0.0 | DB4-----P0.4 | RW-------P1.1 |
|DB1-----P0.1 | DB5-----P0.5 | RS-------P1.0 |
|DB2-----P0.2 | DB6-----P0.6 | E-------P1.2  |
|DB3-----P0.3 | DB7-----P0.7 | VLCD接10K电位器到GND|
---------------------------------------------------
DS1302 接线图
         Vcc2  CLK I/O  /RST 
            |   |   |   |
           --------------
          | 8   7   6   5|
          |   DS1302     |
          |              |
          | 1   2   3   4|
           --------------
            |   |   |   |
         VCC1   X1  X2  GND
1 脚接+5V    2,3脚32768HZ晶振  4脚接地  5脚接S51的P02 6脚接S51的P01 7接S51的P00
8脚接一个大容量电解电容
按键说明:1. 共三个键,低电平有效
          2. P20 端口按键:选择要调整的项目
          3. P21 端口按键:增加;
          4. P22 端口按键:减少
[注:AT89C51使用12M晶振]========================================*/
#include
#include 
#include 
#define uchar unsigned char
//=========================定义LCD引脚===================================
sbit LCD_RS  =P1^0; //写
sbit LCD_RW  =P1^1;   //读
sbit LCD_E   =P1^2; //使能
sbit P2_4   =P2^4; //置0按键时查询用

#define LCD_Data P0 //数据接口
#define Busy 0x80          //用于检测LCD状态字中的Busy标识
//=======================定义DS1302引脚==================================
sbit T_CLK=P3^4;
sbit T_IO =P3^3;
sbit T_RST=P3^5;
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
//======================定义DS18B20======================================
sbit DQ = P1^6 ;   //定义DS18B20端口DQ 
uchar data  display[4]= {0x000x000x000x00} ;
uchar code  ditab[16] = {0x000x010x010x020x030x030x040x040x050x060x060x070x080x080x090x09} ;
//======================定义按键引脚=====================================
uchar LED; //sbit LED=P2^6; //背光灯输出  由于管脚不够,把背光灯管脚定义为一个变量
sbit key_row1=P2^5;
sbit key_row2=P2^4;
sbit system=P2^1; //模式
sbit TimerUp=P2^2; //时间加
sbit TimerDown=P2^3;      //时间减
//按键扫描
/*
void Keyword()
{
 p2=p2&0x30;
  delay(1);
  if(p2!=0x30)
  {
  
  }
}  */

//=====================定义蜂鸣器========================================
sbit Speaker=P1^7;        //蜂鸣器
/* void delay(unsigned char t)  //延时
void t0int() interrupt 1
    void song()
 void main_song(void)
unsigned char timer0htimer0ltime;
        //世上只有妈妈好数据表
code unsigned char sszymmh[]={        623      521      322 522 132 621 521
                                      624      322      521 621 522 322 121
                                      611      521      321 224 223 321 522
                                      521      621      322 222 124 523 321
                                      221      121      611 121 516 000 
                              };
       // 音阶频率表 高八位
code unsigned char FREQH[]={
                                0xF20xF30xF50xF50xF60xF70xF8 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      49420  2009-04-16 00:33  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302)

     文件      13947  2009-04-16 00:33  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302).hex

     文件         84  2009-04-16 00:33  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302).lnp

     文件      66398  2009-04-15 22:39  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302).LST

     文件      57824  2009-04-16 00:33  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302).M51

     文件       1490  2009-04-25 20:28  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302).Opt

     文件        230  2009-04-25 20:28  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302).plg

     文件       2062  2009-04-25 20:28  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302).Uv2

    .......      1499  2009-04-16 00:36  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302)_Opt.Bak

    .......      2180  2009-04-15 22:49  LCD温度时钟(18B20+DS1302)\LCD温度时钟(18B20+DS1302)_Uv2.Bak

     文件      38279  2009-04-16 00:33  LCD温度时钟(18B20+DS1302)\LCD温度时钟.c

     文件      66534  2009-04-16 00:33  LCD温度时钟(18B20+DS1302)\LCD温度时钟.LST

     文件      57587  2009-04-16 00:33  LCD温度时钟(18B20+DS1302)\LCD温度时钟.OBJ

     文件       6376  2005-03-22 15:22  LCD温度时钟(18B20+DS1302)\STARTUP.A51

     文件      14049  2009-04-16 00:33  LCD温度时钟(18B20+DS1302)\STARTUP.LST

     文件        749  2009-04-16 00:33  LCD温度时钟(18B20+DS1302)\STARTUP.OBJ

     文件        575  2009-04-25 23:47  LCD温度时钟(18B20+DS1302)\使用说明.txt

     目录          0  2009-04-25 23:48  LCD温度时钟(18B20+DS1302)

----------- ---------  ---------- -----  ----

               379283                    18


评论

共有 条评论