21ic电子技术开发论坛 综合技术交流 电子技术交流论坛 怎么把电脑的时间写入51单片机?
发新帖我要提问
12下一页
返回列表
打印

怎么把电脑的时间写入51单片机?

[复制链接]
5127|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
8号菜刀|  楼主 | 2012-7-10 23:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用利单片机学习板(郭天祥公司出售的TX-1C)编一个简单的万年历程序。让年月日和时间在1602液日上显示,利用定时器来按制时间的变化。但是开发板必须和电脑相连,使用不太方便。我想每单给单片机上电时,能让把电脑的时间发给单片机。其余的程序我都写好了,但是不知道样才能使单片机自动获得电脑上的时间。请各位大虾指点一二。谢谢。本人刚开始学习单片机编程。所以这样一个简单的程序也不能单独完成,希望各位大虾不吝指教。

相关帖子

沙发
mxh0506| | 2012-7-10 23:48 | 只看该作者
你的板子通过什么接口连电脑的? 确定了数据接口之后, 只要获取电脑上的RTC时间传过去就行了.

使用特权

评论回复
板凳
shell.albert| | 2012-7-11 06:21 | 只看该作者
1、在电脑上写一个串口程序用于将时间通过RS232发送出去
2、在单片机中写一个程序,接收串口发送过来的时间串,解析后设置为单片机的实时时钟里。

使用特权

评论回复
地板
8号菜刀|  楼主 | 2012-7-11 18:37 | 只看该作者
单片机是能过USB口与电脑连接的。芯片是MAX232。我想让单片机一上电,不做任何操作,就能读到电脑上的时间与日期。可以吗?

使用特权

评论回复
5
8号菜刀|  楼主 | 2012-7-11 18:39 | 只看该作者
我想让单片机一上电不做任何操作就能获得电脑上的时间,可以吗?

使用特权

评论回复
6
hq_y| | 2012-7-11 18:43 | 只看该作者
都是要在pc端运行一个程序,或者单片机主动去讯问,或者这个程序定时下发时间,单片机接受上位机的时钟以同步本地时间。

使用特权

评论回复
7
ejack| | 2012-7-11 20:43 | 只看该作者
单片机是能过USB口与电脑连接的。芯片是MAX232。


:L

使用特权

评论回复
8
ejack| | 2012-7-11 20:44 | 只看该作者
单片机是能过USB口与电脑连接的。芯片是MAX232。


:L

使用特权

评论回复
9
wukunshan| | 2012-7-11 22:19 | 只看该作者
首先,你要懂的VB或者VC编程,编写一个PC端的应用程序,获取PC机的日历信息,然后通过串口发送给单片机。没有PC端的应用程序,企图用单片机通过串口获取PC机的时间那是办不到的。

使用特权

评论回复
10
ocon| | 2012-7-11 22:29 | 只看该作者
电脑设置一下,打开时间服务器,单片机通过局域网去查询这个时间服务器的时间,如果能联外网,可以把电脑关了,单片机直接发UDP查询包给英特网上多如牛毛的时间服务器,得到非常准确的UTC(协调世界时,由原子钟提供)回答。

使用特权

评论回复
11
logokfu| | 2012-7-11 22:32 | 只看该作者
得有上位机软件配合

使用特权

评论回复
12
8号菜刀|  楼主 | 2012-7-12 00:10 | 只看该作者
好吧。第一次做个东西就无法将想法实现。一定要有上位机软件的配合吗?呵呵。我会再接再厉的。正在补C语言的知识。

使用特权

评论回复
13
8号菜刀|  楼主 | 2012-7-12 00:13 | 只看该作者
大神说的太高深了,呵呵。可是我的单片机是能过电脑供电的。关电脑就关掉单片机了。等我的知识再积累积累,做个外接电源的单片机的时候,再用你的方法做一个万年历。:) 不过还是得谢谢你,让我长见识了。

使用特权

评论回复
14
8号菜刀|  楼主 | 2012-7-12 00:15 | 只看该作者
都说办不到。呵呵,看来是真的办不到了。这几天我补补VC,写一个PC端的服务程序吧。谢谢啊!

使用特权

评论回复
15
8号菜刀|  楼主 | 2012-7-12 00:18 | 只看该作者
呵呵。刚开始学单片机,出现低级错误别笑话。:loveliness: 我买的单片机是郭天祥的TX—1C。可以通过串口转USB烧程序。不过那个芯片还没有分清楚。

使用特权

评论回复
16
xmar| | 2012-7-12 14:15 | 只看该作者
下面程序可以获得电脑的时间:


#include  <time.h>
#include  <stdio.h>

main()
{
    time_t timep;
    time (&timep);
    printf("%s",asctime(gmtime(&timep)));
}

/*
执行结果:
Thu Jul 12 06:08:37 2012
注意:其中06:08:37是格林威治时间。应该加8变成北京时间 14:08:37
*/

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
8号菜刀 + 1 谢谢你的程序。呵呵。
17
cjseng| | 2012-7-12 17:20 | 只看该作者
为什么板子上不加一个时钟芯片啊?

使用特权

评论回复
18
8号菜刀|  楼主 | 2012-7-12 19:46 | 只看该作者
谢谢你的程序!:P :handshake

使用特权

评论回复
19
8号菜刀|  楼主 | 2012-7-12 19:47 | 只看该作者
刚开始学习单片机,还在学习编程。还没有开始学习硬件知识。

使用特权

评论回复
20
钻石眼泪| | 2012-7-13 17:48 | 只看该作者
编程的时候直接提取编译器显示的时间

使用特权

评论回复
下一页 »
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

22

帖子

0

粉丝
关闭 热门推荐
快速回复 在线客服 返回列表 返回顶部