找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机汇编语言模拟时钟程序(LCD12864显示)精校时间(开源)

查看数: 5266 | 评论数: 26 | 收藏 11
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-5-5 16:41

正文摘要:

本帖最后由 xiaoyuxinke 于 2022-5-8 14:11 编辑 本程序无需DS1302,无需定时器,另本程序使用汇编语言编写,只要按所使用的晶振修改延时部分,可以做到一年误差5秒以内. 视频已上传至优酷,需要的可以看一下.https:/ ...

回复

ID:61140 发表于 2023-2-12 12:36
songxia8013 发表于 2023-2-10 15:49
请教一下,这个DJNZ R6,[        DISCUZ_CODE_1        ]nbsp; 是什么意思?

DJNZ R6,[        DISCUZ_CODE_1        ]nbsp;
这个原来是DJNZ R6,$
坛子里发不了$,所以自动转成那样了
ID:61140 发表于 2023-10-22 22:57
鹈鹕 发表于 2023-10-22 10:58
刚试了下,可以编译,结果是-2,这样就省了个标号,这在Keil中行得通,在其他的汇编环境中不知怎样,这不是 ...

汇编的移植性本来就不太友好,这是公认的缺点,所以这个我只能呵呵了
ID:61140 发表于 2023-10-22 22:56
宏达工控 发表于 2023-10-22 10:00
楼主既然对汇编熟系,对OD跟踪 WINhex这些一定也不陌生吧,能不能出个教程,工业控制上经常用

我还要工作,没太多时间来这里,只是偶然过来看看,所以实在报歉
ID:61140 发表于 2023-10-22 22:54
songxia8013 发表于 2023-2-10 15:49
请教一下,这个DJNZ R6,[        DISCUZ_CODE_1        ]nbsp; 是什么意思?

原程序中是:
DJNZ R6,$
但是坛子里不让发$这个符号,所以变成这样了
ID:61140 发表于 2023-10-22 22:51
鹈鹕 发表于 2023-10-22 09:42
是啊,就是这个DJNZ R6,$是什么意思呢?
遍观整个程序中并没有这个标号,跳到哪里去呢?

R6中的数减一,如果不为0原地执行,
就是说R6中的数不为0就重复执行这句,
直到R6等于0,才跳到下一句。
ID:397054 发表于 2023-10-22 10:58
刚试了下,可以编译,结果是-2,这样就省了个标号,这在Keil中行得通,在其他的汇编环境中不知怎样,这不是个标准用法,第一次看到。
ID:611626 发表于 2023-10-22 10:00
xiaoyuxinke 发表于 2022-5-8 14:05
本人不会C,所以只好汇编充大头了,各位见笑/

楼主既然对汇编熟系,对OD跟踪 WINhex这些一定也不陌生吧,能不能出个教程,工业控制上经常用
ID:397054 发表于 2023-10-22 09:42
xiaoyuxinke 发表于 2023-2-12 12:37
看我前面发的图片上面就知道了

是啊,就是这个DJNZ R6,$是什么意思呢?
遍观整个程序中并没有这个标号,跳到哪里去呢?
ID:78901 发表于 2023-10-21 22:49
如果环境温度不变更的情况下,时钟可以做得很准(不管是汇编还是C)
ID:61140 发表于 2023-10-21 20:24
Dream汇编男孩 发表于 2023-4-25 16:55
您好,我想问你点关于单片机汇编的问题可以吗?我是个新手小白,在做设计遇到了一些问题不知道咋解决想找您 ...

什么问题,工只是业余来一下这里,平时工作较忙。
ID:1072680 发表于 2023-4-25 16:55
您好,我想问你点关于单片机汇编的问题可以吗?我是个新手小白,在做设计遇到了一些问题不知道咋解决想找您帮个忙。如果不方便的话就算了,叨唠您了,不好意思啊
ID:61140 发表于 2023-2-12 12:37
songxia8013 发表于 2023-2-10 15:49
请教一下,这个DJNZ R6,[        DISCUZ_CODE_1        ]nbsp; 是什么意思?

看我前面发的图片上面就知道了
ID:102963 发表于 2023-2-10 15:49
请教一下,这个DJNZ R6,[        DISCUZ_CODE_1        ]nbsp; 是什么意思?
ID:61140 发表于 2022-5-30 18:04
fsj5098 发表于 2022-5-26 17:40
不管是c还是汇编,中断操作肯定影响计时

整个程序没用到中断,为什么要用中断呢
ID:78901 发表于 2022-5-26 17:40
不管是c还是汇编,中断操作肯定影响计时
ID:829973 发表于 2022-5-26 14:58
不错,我也是喜欢汇编!!!
ID:61140 发表于 2022-5-25 22:38
风云101 发表于 2022-5-9 23:53
就喜欢汇编的可操作性,就好比开车一样,我自己握方向盘总比使唤别人握方向盘爽的多,当然使唤别人握方向盘 ...

喜欢就好,喜欢的才是适合自己的.
ID:61140 发表于 2022-5-25 22:37
madell 发表于 2022-5-6 18:53
厉害,汇编做的延时是很精确的,直击底层,是C无法比拟的。

说的对,这是汇编的优点,C和汇编各有优缺点.
ID:61140 发表于 2022-5-25 22:37
axiongzhang 发表于 2022-5-6 20:03
看不懂汇编程序,失败

汇编并不是很难的,有人教就可以
ID:864787 发表于 2022-5-9 23:53
就喜欢汇编的可操作性,就好比开车一样,我自己握方向盘总比使唤别人握方向盘爽的多,当然使唤别人握方向盘肯定轻松多(类似C语言),但缺少那份激情,我喜欢汇编也是这原因,别跟我算法,我就编个时钟或者一个手电筒控制程序,你跟我谈算法
ID:61140 发表于 2022-5-8 14:05
本人不会C,所以只好汇编充大头了,各位见笑/
ID:744744 发表于 2022-5-6 20:03
看不懂汇编程序,失败
ID:99987 发表于 2022-5-6 18:53
厉害,汇编做的延时是很精确的,直击底层,是C无法比拟的。
ID:61140 发表于 2022-5-6 16:26
如果加上年累积误差校正,一年走时误差控制在1秒以内是做的到的(这里只计论走时误差,晶振的热稳定误差不讨论,那个是元件性能决定的)
ID:61140 发表于 2022-5-6 16:21
heicad 发表于 2022-5-6 16:13
一般来说 是不可能达到一年几秒误差的精度的,楼主测试过吗?

去理解一下C和汇编的差别,你会懂,一个汇编NOP指令,最多2-3微秒的时间,一个24M的晶振,几微秒,一年误差不会超过5秒种.
在C语言中,延时只是个模糊概念,不管你写延时多少都不一定,要看编译器怎么去做,但汇编语言你写延时多少就是多少,可以做到很精准.
ID:262 发表于 2022-5-6 16:13
一般来说 是不可能达到一年几秒误差的精度的,楼主测试过吗?

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表