- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于51单片机的定时器制作
一、功能:
日历时钟功能、液晶显示面板。
设定继电器动作日期时间后,时间到达设定值时,继电器吸合。继电器触点可自 由控制电器。
使用储存芯片使定时器具有掉电保存功能。
、使用的主要器件:
24C02 DC5V继电单片机STC89C52液晶1602、时钟芯片DS1302
24C02 DC5V继电
器。
亠一-一
二
-
BCHIK 二
pc-kEKF 氏;!登kFZKKfzpzpzfl
?J 总丄:■丄佯 €- £v rt Av 1 * -J 4 1 6 > 忙址比 ? p f p ? p p p ? ? p F F F p T G
^1.
四、C语言程序:
#in elude <reg51.h>
#in elude vintrin s.h>
//============= 键的定义=============================
sbit KeyAdd=P3A2; //
加1
sbit KeyShift=P3A3; //
移位
sbit KeyMe nu=P3A4; //
确定
sbit KeyHandle=P3A5; //
手动操作
un sig ned char SetDateFlag;
// 正在进行时间设置标志
// = =
sbit RelayKA 仁卩2人3; //
继电器信号脚
//光标变量
un sig ned char CursorX;
un sig ned char CursorY;
//延时函数
void Delay (un sig ned char n);
void Delay (un sig ned char n)
{
un sig ned char i;
for(i=0;i <n ;i )
{
5
}
}
//========================== 时钟芯片 DS1302 定义
sbit SCLK=P2A0; //
时钟线
sbit IO=P2A1; //
数据线
sbit RST=P2A2; //
复位线
void DS1302I ni t();
//
初始化
void WriteByte( un sig ned char TimeR); //
写一个字节
un sig ned char ReadByte(); //
读一个字节
向地址写数由地址读数
向地址写数
由地址读数
un sig ned char Seco nd[3]; // 秒时间变量
un sig ned char Minu te[3]; // 分时间变量
un sig ned char Hour[3]; // 时时间变量
un sig ned char Day[3]; // 日时间变量
un sig ned char Mon th[3]; // 月时间变量
un sig ned char Week[3]; // 星期时间变量
un sig ned char Year[3]; // 年时间变量
void DS1302Delay(u nsig ned char n); void ReadDate(); //
void DS1302Delay(u nsig ned char n); void ReadDate(); //
void WriteDate(); //
un sig ned char SetSec on d[3]; // un sig ned char SetMi nute[3]; // un sig ned char SetHour[3]; // un sig ned char SetDay[3]; // un sig ned char SetMo nth[3]; //
un sig ned char SetWeek[3]; // un sig ned char SetYear[3]; // un sig ned char SetActi on Sec on d[3]; un sig ned char SetActi onMinu te[3]; un sig ned char SetActi onH our[3]; un sig ned char SetActi on Day[3]; unsigned char SetActionMonth[3]; un sig ned char SetActio nWeek[3]; un sig ned char SetActi onY ear[3];
设定的秒时间变量
设定的分时间变量
设定的时时间变量
设定的日时间变量
设定的月时间变量
设定的星期时间变量
设定的年时间变量
// 设定动作的秒时间变量
// 设定动作的分时间变量
// 设定动作的时时间变量
// 设定动作的日时间变量
// 设定动作的月时间变量
// 设定动作的星期时
文档评论(0)