资源简介
单片机最小系统,时钟芯片,根据用电的峰时、平时、谷时分段计价,存储芯片,用于存储充值余额,脉冲输入,用于模拟用电量
代码片段和文件信息
#include “DS1302.h“
// 时间的小时和分钟变量
unsigned char hour min;
unsigned char psec;
//DS1302写单个字节
void DS1302ByteWrite(unsigned char dat)
{
unsigned char mask;
for(mask=0x01;mask!=0;mask<<=1)
{
if((dat&mask)!=0)
DS1302_IO=1;
else
DS1302_IO=0;
DS1302_CK=1;
DS1302_CK=0;
}
DS1302_IO=1;
}
//DS1302读单个字节
unsigned char DS1302ByteRead()
{
unsigned char maskdat=0;
for(mask=0x01;mask!=0;mask<<=1)
{
if(DS1302_IO!=0)
dat |=mask;
DS1302_CK=1;
DS1302_CK=0;
}
return dat;
}
//DS1302把dat写入寄存器reg
void DS1302SingleWrite(unsigned char regunsigned char dat)
{
DS1302_CE=1;
DS1302ByteWrite((reg<<1)|0x80);
DS1302ByteWrite(dat);
DS1302_CE=0;
}
//DS1302从reg读字节
unsigned char DS1302SingleRead(unsigned char reg)
{
unsigned char dat;
DS1302_CE=1;
DS1302ByteWrite((reg<<1)|0x81);
dat=DS1302ByteRead();
DS1302_CE=0;
return dat;
}
//初始化DS1302
void InitDS1302()
{
unsigned char i;
unsigned char code InitTime[]={ //2013年10月8日 星期二 12:30:00
0x000x300x120x080x100x020x13 //0x000x300x120x080x100x020x13
};
DS1302_CE=0;
DS1302_CK=0;
i=DS1302SingleRead(0);
if((i&0x80)!=0) //判断DS1302是否停止
{
DS1302SingleWrite(70x00); //撤销写保护
for(i=0;i<7;i++)
DS1302SingleWrite(iInitTime[i]);
}
}
//void DS1302SetTime(unsigned char *ch)
//{
// unsigned char i;
//// unsigned char code InitTime[]={ //2013年10月8日 星期二 12:30:00
//// 0x000x300x120x080x100x020x13 //0x000x300x120x080x100x020x13
//// };
//
// DS1302_CE=0;
// DS1302_CK=0;
//
//
// i=DS1302SingleRead(0);
// if((i&0x80)!=0) //判断DS1302是否停止
// {
// DS1302SingleWrite(70x00); //撤销写保护
// for(i=0;i<7;i++)
// DS1302SingleWrite(ich[i]);
// }
//}
/*
*
*/
/*
* 用于在1602上显示时间flag200ms为刷新位
*/
void Time_Display(unsigned char *flag200ms)
{
unsigned char i=0;
unsigned char time[7];
unsigned char str[12];
if((*flag200ms)==1)
{
(*flag200ms)=0;
for(i=0;i<7;i++)
time[i]=DS1302SingleRead(i);
if(psec!=time[0])
{
// str[0]=‘2‘;
// str[1]=‘0‘;
// str[2]=(time[6]>>4)+‘0‘;
// str[3]=(time[6]&0x0f)+‘0‘; //年
// str[4]=‘-‘;
// str[5]=(time[4]>>4)+‘0‘;
// str[6]=(time[4]&0x0f)+‘0‘; //月
// str[7]=‘-‘;
// str[8]=(time[3]>>4)+‘0‘;
// str[9]=(time[3]&0x0f)+‘0‘; //日
// str[10]=‘\0‘;
// LcdShowStr(00str sizeof(str));
// str[0]=(time[5]&0x0f)+‘0‘;
// str[1]=‘\0‘;
// LcdShowStr(110“week“ 4);
// LcdShowStr(150str sizeof(str)); //星期
str[0]=(time[2]>>4)+‘0‘;
str[1]=(time[2]&0x0f)+‘0‘; //时
hour = (time[2]>>4)*10+(time[2]&0x0f);
min = (time[1]>>4)*10+(time[1]&0x0f);
str[2]=‘:‘;
str[3]=(time[1]>>4)+‘0‘;
str[4]=(time[1]&0x0f)+‘0‘; //分
// str[5]=‘:‘;
// str[6]=(time[0]>>4)+‘0‘;
// str[7]=(time[0]&0x0f)+‘0‘; //秒
str[8]=‘\0‘;
LcdShowStr(110str
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 78597 2018-06-08 15:21 功能说明\录像\kk 2018-06-08 15-06-59.mp4
文件 682933 2018-06-08 15:48 功能说明\录像\kk 2018-06-08 15-44-23.mp4
文件 94901 2018-06-05 12:17 功能说明\成品\代码\53527\9022462e27fa194146bd8a3fa0b16d45.jpg
文件 3131 2018-06-07 16:42 功能说明\成品\代码\53527\code\ds1302.c
文件 463 2018-05-22 09:57 功能说明\成品\代码\53527\code\ds1302.h
文件 1336 2018-05-08 15:27 功能说明\成品\代码\53527\code\eeprom.c
文件 2501 2018-05-09 19:34 功能说明\成品\代码\53527\code\Listings\adc0809.lst
文件 8291 2018-06-08 14:33 功能说明\成品\代码\53527\code\Listings\ds1302.lst
文件 4350 2018-06-08 14:33 功能说明\成品\代码\53527\code\Listings\eeprom.lst
文件 5823 2018-06-08 14:33 功能说明\成品\代码\53527\code\Listings\i2c.lst
文件 6821 2018-06-08 14:33 功能说明\成品\代码\53527\code\Listings\lcd1602.lst
文件 10766 2018-06-08 14:35 功能说明\成品\代码\53527\code\Listings\main.lst
文件 14153 2018-06-08 14:33 功能说明\成品\代码\53527\code\Listings\STARTUP.lst
文件 39180 2018-06-08 14:35 功能说明\成品\代码\53527\code\Listings\system.m51
文件 3823 2018-05-09 19:34 功能说明\成品\代码\53527\code\ob
文件 6924 2018-06-08 14:33 功能说明\成品\代码\53527\code\ob
文件 4571 2018-06-08 14:33 功能说明\成品\代码\53527\code\ob
文件 7329 2018-06-08 14:33 功能说明\成品\代码\53527\code\ob
文件 9485 2018-06-08 14:33 功能说明\成品\代码\53527\code\ob
文件 12232 2018-06-08 14:35 功能说明\成品\代码\53527\code\ob
文件 107 2018-06-08 14:35 功能说明\成品\代码\53527\code\ob
文件 819 2018-06-08 14:33 功能说明\成品\代码\53527\code\ob
文件 36205 2018-06-08 14:35 功能说明\成品\代码\53527\code\ob
文件 1514 2018-06-08 14:35 功能说明\成品\代码\53527\code\ob
文件 9457 2018-06-08 14:35 功能说明\成品\代码\53527\code\ob
文件 217 2018-06-08 14:35 功能说明\成品\代码\53527\code\ob
文件 24003 2018-06-08 14:36 功能说明\成品\代码\53527\Sch\Backup Of New Project.pdsbak
文件 1458 2018-05-09 10:57 功能说明\成品\代码\53527\Sch\History\Sheet1.~(1).SchDoc.Zip
文件 4986 2018-05-09 10:59 功能说明\成品\代码\53527\Sch\History\Sheet1.~(2).SchDoc.Zip
文件 5219 2018-05-09 11:02 功能说明\成品\代码\53527\Sch\History\Sheet1.~(3).SchDoc.Zip
............此处省略28个文件信息
- 上一篇:HX108-2 七管半导体收音机原理图
- 下一篇:利用PIC控制步进电机画圆
相关资源
- 模拟电梯控制模拟电梯控制
- 基于51单片机的自动量程数字电压表
- 基于AT89C52单片机的智能交通灯系统设
- 基于STC89C52RC单片机的交通灯设计
- modbus RTU 的C51源程序单片机89S52编译器
- 基于msp430单片机PWM调速
- VL53l0x的51单片机程序
- 铁电存储器FM25xx驱动程序15单片机
- [程序源代码]MSP430单片机原理与应用—
- 单片机毕业设计。基于单片机的智能
- 基于51单片机循迹、红外避障、遥控综
- 基于51单片机的低频信号发生器的设计
- 基于51单片机的LED灯控制Proteus仿真
- 单片机交通灯带仿真图
- 51单片机 矩阵键盘 protues ISIS 源码和仿
- 基于单片机的交通灯keil仿真程序和
- 马达测试单片机程序
- MFRC522与89C52单片机通信参考例程
- 51单片机,电子琴程序,原理图
- 数码管显示的简易计算器
- MAX232与单片机典型连接电路图
- 基于51单片机DHT11的温湿度检测系统
- 51单片机IO模拟SPI和25lc1024通信
- S12单片机的脉冲累加器
- 基于单片机的超声波测距毕业设计论
- 基于51单片机的温度测量系统_赵娜
- 基于单片机的液位监测系统的设计(
- 51单片机车轮测速的proteus仿真
- 温度检测及控制系统的设计(毕业设
- 单片机温湿度检测源代码 dht11 lcd160
评论
共有 条评论