制作51单片机小闹钟 20

我想制作一个51单片机小闹钟,时钟芯片用ds1302,在每天的固定时刻,点亮led灯。不需要显示时间,硬件只有单片机模块和ds1302模块... 我想制作一个51单片机小闹钟,时钟芯片用ds1302,在每天的固定时刻,点亮led灯。不需要显示时间,硬件只有单片机模块和ds1302模块 展开
 我来答
百度网友ab1dd46
2013-01-30
知道答主
回答量:40
采纳率:0%
帮助的人:20.5万
展开全部
很简单 不过也没人想帮你弄 虽然只要200来行的程序。。。但是也是要化一些精力的。。不如买块开发板吧。。如果你有C语言基础。。直接重小闹钟开始 学习和学程序最多两天 加上调试一天 焊电路一天 最多4天就搞定了。
反正我重头学单片机学完中断就写了一个闹钟。。。就4天时间。。你试试吧。反正不要多少时间
zxc1993l
推荐于2018-04-15 · TA获得超过329个赞
知道答主
回答量:152
采纳率:0%
帮助的人:82.9万
展开全部
不用ds1302
#include <reg52.h>
sbit led=P1^0;
sbit key=P1^1;
int s=0;
int n=0;
int b=0;
int a=1;
void delay10ms(void)
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
void timer(void) interrupt 1 using 1
{
int i;
if(i==20)
{
s++;
i=0;
}
if(s==60)
{
n++;
s=0;

}
if(n==a)
{
led=0;
s=0;
n=0;
b=0;

}
i++;
TH0=(65536-52800)/256;
TL0=(65536-52800)%256;
}
void init(void)
{
EA=1;
TMOD=0x01;
ET0=1;
TH0=(65536-52800)/256;
TL0=(65536-52800)%256;
TR0=1;
}
void main()
{

init();
while(1)
{
if(n==a)
{
led=0;
}
if(key==0)
{
delay10ms();
if(key==0)a++;
}
}
}

//用keil4通过编译了默认定时1小时按一下key就加一最大定时24小时

参考资料: 我自己

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ly_res
2013-01-25 · TA获得超过486个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:89.1万
展开全部
很简单的,上网搜时钟程序,再找找DS1302的使用说明,改改程序,焊焊板子就搞定了。自己动手,丰衣足食。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mingyanghuagu4
2013-01-25 · 超过24用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:64.1万
展开全部
既然时间控制都由ds1302完成了,单片机只要读入ds1302的数据,然后和定时时间比较下就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
R傻强
2013-01-25 · 超过33用户采纳过TA的回答
知道答主
回答量:259
采纳率:100%
帮助的人:97.6万
展开全部
很简单,不过没人愿意帮你改,
自己搜索就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式