• 大小: 61KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-25
  • 语言: 其他
  • 标签:

资源简介

采用DS1302时钟芯片用1602液晶显示具有显示时间,日期,温度功能,支持多组闹铃

资源截图

代码片段和文件信息


//*******Designed By FF********

#include
#define ui unsigned int 
#define uc unsigned char 
sbit clk=P1^0;// ds1302 端口
sbit io=P1^1;
sbit rst=P1^2;

sbit rs=P2^3;//1602液晶 端口
sbit en=P2^1;
sbit rw=P2^2;

sbit DQ=P2^0;//ds18b20 端口

sbit key1=P3^3; //按键定义
sbit key2=P3^2;
sbit key3=P3^1;
sbit key4=P3^0;

sbit feng=P1^4; //蜂鸣器控制端

uc code table[]= “20  -  -“;
uc code table1[]=“  :  :      .  c“;

uc shifenmiaoshi1shi2fen1fen2nianyuericountflagflag1;
uc abcdemnsnumnlingcount;
int t1t2; 
float tt;


///////////////////**延时部分**////////////////////

void delay1(ui i) //us延时函数
{
 while(i--);
}
void delay(ui z) //ms延时函数
{
   ui xy;
   for(x=z;x>0;x--)
     for(y=110;y>0;y--);
}

///////////////////**1602液晶**////////////////////
void write_1602(uc duc date) 

   rs=d;      //d=0写命令 d=1写数据
   P0=date;
   delay(2);
   en=1;
   delay(2);
   en=0;
}

void wadd_1602s(uc adduc date)//往lcd指定地址写两位数据
{
uc shige;
shi=date/10;
ge=date%10;
write_1602(0add);
write_1602(10x30+shi);
write_1602(10x30+ge);
}

void wadd_1602z(uc add1uc date1uc date2uc date3)  // 指定地址写三位字符
{
   write_1602(0add1);
   write_1602(1date1);
   write_1602(1date2);
   write_1602(1date3);
}
void init_1602() //1602初始化
{
    uc a;
    rw=0;
    write_1602(00x38);
    write_1602(00x0c);
    write_1602(00x06);
    write_1602(00x01);
    for(a=0;a<=7;a++)
       { 
         write_1602(1table[a]);
       }
    write_1602(00x80+0x40);
    for(a=0;a<=16;a++)
       {
         write_1602(1table1[a]);
       }
}

////////////////////**ds1302时钟**////////////////////

void write_1302(uc date)  //写数据
{
  ui ik;
  k=date;
  for(i=0;i<8;i++)
     {
       io=k&0x01;
       clk=1;
       clk=0;
       k=k>>1;
     }
}
uc read_1302()  //读数据
{
  ui ik;
  for(i=0;i<8;i++)
     {
       k=k>>1;
       if(io==1)k=k+0x80;
       clk=1;
       clk=0;
     }
  return k;
}
void wadd_1302(uc adduc date)  //指定地址写数据

  rst=0;
  clk=0;
  rst=1;
  write_1302(add);
  write_1302(date);
  clk=1;
  rst=0;
}
uc radd_1302(uc add)  //指定地址读数据
{  
  uc d;
  rst=0;
  clk=0;
  rst=1;
  write_1302(add|0x01);
  d=read_1302();
  clk=1;
  rst=0;
  return d;
}

////////////////////**18b20测温**//////////////////

void init_ds18b20()   //18b20初始化函数
{
 uc x=0;
 DQ = 1;    //DQ复位
 delay1(8);  //稍做延时
 DQ = 0;    //单片机将DQ拉低
 delay1(80); //精确延时 大于 480us
 DQ = 1;    //拉高总线
 delay1(10);
 x=DQ;      //稍做延时后 如果x=0则初始化成功 x=1则初始化失败
 delay1(5);
}

uc ReadOneChar() //读一个字节
{
uc i;
uc dat=0;
for (i=8;i>0;i--)
 {
  DQ = 0; // 给脉冲信号
  dat>>=1;
  DQ = 1; // 给脉冲信号
  if(DQ)
  dat|=0x80;
  delay1(5);
 }
 return(dat);
}

void WriteOneChar(uc dat)//写一个字节
{
 uc i;
 for (i=8; i>0; i--)
 {
  DQ = 0;
  DQ = dat&0x01;
  delay1(5);
  DQ = 1;
  dat>>=1;
 }
delay1(5);
}

void ReadTem()//读取温度
{

  init_ds18b20();
  WriteOneCha

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

     文件     121710  2010-01-25 22:51  DS1302+1602液晶+测温(多组闹铃)\ds1302+测温+液晶显示.DSN

     文件          0  2010-01-25 00:02  DS1302+1602液晶+测温(多组闹铃)\keil\1302_Uv2.Bak

     文件      29968  2010-01-28 01:04  DS1302+1602液晶+测温(多组闹铃)\keil\1302

     文件      14780  2010-01-28 01:04  DS1302+1602液晶+测温(多组闹铃)\keil\1302.c

     文件       9942  2010-01-28 01:04  DS1302+1602液晶+测温(多组闹铃)\keil\1302.hex

     文件      31220  2010-01-28 01:04  DS1302+1602液晶+测温(多组闹铃)\keil\1302.LST

     文件      40938  2010-01-28 01:04  DS1302+1602液晶+测温(多组闹铃)\keil\1302.M51

     文件      34899  2010-01-28 01:04  DS1302+1602液晶+测温(多组闹铃)\keil\1302.OBJ

     文件       1005  2010-01-28 01:04  DS1302+1602液晶+测温(多组闹铃)\keil\1302.Opt

     文件        508  2010-01-28 01:04  DS1302+1602液晶+测温(多组闹铃)\keil\1302.plg

     文件       1979  2010-01-25 00:09  DS1302+1602液晶+测温(多组闹铃)\keil\1302.Uv2

     文件       1015  2010-01-25 00:09  DS1302+1602液晶+测温(多组闹铃)\keil\1302_Opt.Bak

     目录          0  2010-01-28 01:06  DS1302+1602液晶+测温(多组闹铃)\keil

     目录          0  2010-01-28 01:06  DS1302+1602液晶+测温(多组闹铃)

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

               287964                    14


评论

共有 条评论

相关资源