资源简介
太阳能追踪系统,使用光敏电阻作为感光元件,电机作为输出控制可以跟着阳光转动;内含仿真,程序
![](http://www.nz998.com/pic/58757.jpg)
代码片段和文件信息
//实例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 太阳能追踪\ob
文件 1044 2019-05-27 16:52 太阳能追踪\ob
文件 6336 2019-05-27 16:52 太阳能追踪\ob
文件 115 2019-05-27 16:52 太阳能追踪\ob
文件 26432 2019-05-27 16:52 太阳能追踪\ob
文件 116 2019-05-27 16:52 太阳能追踪\ob
文件 819 2019-05-25 10:52 太阳能追踪\ob
文件 188 2019-05-25 11:31 太阳能追踪\ob
文件 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个文件信息
- 上一篇:Arduino uno+esp8266+onenet+继电器
- 下一篇:银行排队系统
相关资源
- 高压无刷电机的硬件资料
- 直流无刷电机方波驱动 stm32 例程代码
- F28335无刷直流电机开闭环控制
- 带有死区延时的H桥直流电机驱动电路
- 步进电机课程设计(个人设计)
- 永磁直流电机设计软件
- FPGA在步进电机驱动上的应用实例及代
- 步进电机protues仿真
- 直流伺服电机电路原理图(内附单片
- PC-1D太阳能仿真软件
- PSCAD风电建模实例双馈风力发电机的
- 单片机控制的步进电机正反转和加速
- 6相12拍步进电机控制器
- 伺服电机上位机软件源代码
- LabVIEW步进电机控制.vi
- 深海推进器用永磁无刷直流电机损耗
- 电机型号Y、YS、YSF、YT、YC字母的含义
- BLDC电机PID算法
- 基于运动控制器MCK2407的无刷直流电机
- 电动汽车用感应电机反馈耗散哈密顿
- 参数在线估算的永磁同步电机最大转
- Electric Motors and Drives (Austin)
- 基于51单片机的直流电机转速控制及显
- 8086微机应用DAC0832控制小直流电机转速
- 单片机控制步进电机PMW的驱动与放大
- 单片机驱动4相步进电机proteus仿真
- 与建筑一体化的墙体型太阳能集热器
- 基于RBF神经网络在线辨识的永磁同步
- 双路有刷直流马达驱动电路MX1919L芯片
- 光敏电阻传感器模块4线制
评论
共有 条评论