资源简介

太阳能追踪系统,使用光敏电阻作为感光元件,电机作为输出控制可以跟着阳光转动;内含仿真,程序

资源截图

代码片段和文件信息

//实例98:基于DS1302的日历时钟
#include     //包含单片机寄存器的头文件
#include   //包含_nop_()函数定义的头文件
#define uchar unsigned char
#define uint  unsigned int
#define MotorData P3                    
uchar phasecw[4] ={0x880x440x220x11};
code uchar table_week[12]={033614625035};
unsigned char code digit[10]={“0123456789“};   //定义字符数组显示数字
sbit DATA=P2^7;   //位定义1302芯片的接口,数据输出端定义在P1.1引脚
sbit RST=P2^5;    //位定义1302芯片的接口,复位端口定义在P1.1引脚
sbit SCLK=P2^6;   //位定义1302芯片的接口,时钟输出端口定义在P1.1引脚
sbit START=P2^5;
sbit EOC=P2^4;
sbit CLK=P2^3;
sbit d1=P3^0;
sbit d2=P3^1;
sbit d3=P3^2;

unsigned char advalvalqianbaishigeweek;
/*****************************************************
函数功能:延时若干微秒
入口参数:n
***************************************************/ 
void delaynus(unsigned char n)
{
 unsigned char i;
 for(i=0;i      ;
}
/*****************************************************
函数功能:向1302写一个字节数据
入口参数:x
***************************************************/ 
void Write1302(unsigned char dat)
{
  unsigned char i; 
  SCLK=0;            //拉低SCLK,为脉冲上升沿写入数据做好准备
  delaynus(2);       //稍微等待,使硬件做好准备
  for(i=0;i<8;i++)      //连续写8个二进制位数据
    {
    DATA=dat&0x01;    //取出dat的第0位数据写入1302
delaynus(2);       //稍微等待,使硬件做好准备
 SCLK=1;           //上升沿写入数据
 delaynus(2);      //稍微等待,使硬件做好准备
 SCLK=0;           //重新拉低SCLK,形成脉冲
 dat>>=1;          //将dat的各数据位右移1位,准备写入下一个数据位
  }

 }
/*****************************************************
函数功能:根据命令字,向1302写一个字节数据
入口参数:Cmd,储存命令字;dat,储存待写的数据
***************************************************/ 
void WriteSet1302(unsigned char Cmdunsigned char dat)
 {
   RST=0;           //禁止数据传递
   SCLK=0;          //确保写数居前SCLK被拉低
RST=1;           //启动数据传输
delaynus(2);     //稍微等待,使硬件做好准备
Write1302(Cmd);  //写入命令字
Write1302(dat);  //写数据
SCLK=1;          //将时钟电平置于已知状态
RST=0;           //禁止数据传递
 }
/*****************************************************
函数功能:从1302读一个字节数据
入口参数:x
***************************************************/ 
 unsigned char Read1302(void)
 {
   unsigned char idat;
delaynus(2);       //稍微等待,使硬件做好准备
for(i=0;i<8;i++)   //连续读8个二进制位数据
 {
   dat>>=1;       //将dat的各数据位右移1位,因为先读出的是字节的最低位
if(DATA==1)    //如果读出的数据是1
 dat|=0x80;    //将1取出,写在dat的最高位
 SCLK=1;       //将SCLK置于高电平,为下降沿读出
 delaynus(2);  //稍微等待
 SCLK=0;       //拉低SCLK,形成脉冲下降沿
 delaynus(2);  //稍微等待
  }  
  return dat;        //将读出的数据返回
}  
/*****************************************************
函数功能:根据命令字,从1302读取一个字节数据
入口参数:Cmd
***************************************************/ 
unsigned char  ReadSet1302(unsigned char Cmd)
 {
  unsigned char dat;
  RST=0;                 //拉低RST
  SCLK=0;                //确保写数居前SCLK被拉低
  RST=1;                 //启动数据传输
  Write1302(Cmd);       //写入命令字
  dat=Read1302();       //读出数据
  SCLK=1;              //将时钟电平置于已知状态
  RST=0;               //禁止数据传递
  return dat;          //将读出的数据返回
}
/***********************

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

    .......     71293  2019-05-27 16:53  太阳能追踪\1111.uvgui.zs

    .......     70933  2019-05-26 21:24  太阳能追踪\1111.uvgui_zs.bak

    .......      5358  2019-05-27 16:53  太阳能追踪\1111.uvopt

    .......     13960  2019-05-27 16:53  太阳能追踪\1111.uvproj

     文件          0  2019-05-25 11:31  太阳能追踪\11111

    .......      5542  2019-05-26 21:24  太阳能追踪\1111_uvopt.bak

    .......     13960  2019-05-25 17:12  太阳能追踪\1111_uvproj.bak

     文件      16953  2019-05-27 16:52  太阳能追踪\2222.c

     文件      25451  2019-05-26 21:19  太阳能追踪\Last Loaded 新工程.pdsbak

     文件      33109  2019-05-27 16:52  太阳能追踪\Listings\1111.m51

     文件      26123  2019-05-27 16:52  太阳能追踪\Listings\2222.lst

     文件      14145  2019-05-25 10:52  太阳能追踪\Listings\STARTUP.lst

     文件        692  2019-05-25 11:31  太阳能追踪\Listings\实例98:基于DS1302的日历时钟.lst

     文件      24470  2019-05-27 16:52  太阳能追踪\objects\1111

     文件       1044  2019-05-27 16:52  太阳能追踪\objects\1111.build_log.htm

     文件       6336  2019-05-27 16:52  太阳能追踪\objects\1111.hex

     文件        115  2019-05-27 16:52  太阳能追踪\objects\1111.lnp

     文件      26432  2019-05-27 16:52  太阳能追踪\objects\2222.obj

     文件        116  2019-05-27 16:52  太阳能追踪\objects\2222.__i

     文件        819  2019-05-25 10:52  太阳能追踪\objects\STARTUP.obj

     文件        188  2019-05-25 11:31  太阳能追踪\objects\实例98:基于DS1302的日历时钟.__i

     文件       6376  2016-03-14 08:58  太阳能追踪\STARTUP.A51

     文件       6695  2012-07-07 16:00  太阳能追踪\例12-5 基于时钟日历芯片的电子钟\例12-5 基于时钟日历芯片的电子钟\keil-1.LST

     文件      91503  2012-07-07 16:21  太阳能追踪\例12-5 基于时钟日历芯片的电子钟\例12-5 基于时钟日历芯片的电子钟\Last Loaded 基于日历时钟芯片的电子钟.DBK

     文件        966  2009-09-26 18:42  太阳能追踪\例12-5 基于时钟日历芯片的电子钟\例12-5 基于时钟日历芯片的电子钟\lcd1602.h

     文件       6376  2005-03-22 15:22  太阳能追踪\例12-5 基于时钟日历芯片的电子钟\例12-5 基于时钟日历芯片的电子钟\STARTUP.A51

     文件      14048  2012-07-07 16:00  太阳能追踪\例12-5 基于时钟日历芯片的电子钟\例12-5 基于时钟日历芯片的电子钟\STARTUP.LST

     文件        758  2012-07-07 16:00  太阳能追踪\例12-5 基于时钟日历芯片的电子钟\例12-5 基于时钟日历芯片的电子钟\STARTUP.OBJ

     文件      21826  2012-07-07 16:00  太阳能追踪\例12-5 基于时钟日历芯片的电子钟\例12-5 基于时钟日历芯片的电子钟\基于日历时钟芯片的电子钟

     文件      91505  2012-07-08 01:53  太阳能追踪\例12-5 基于时钟日历芯片的电子钟\例12-5 基于时钟日历芯片的电子钟\基于日历时钟芯片的电子钟.DSN

............此处省略81个文件信息

评论

共有 条评论