电子钟调试详细过程

嵌入式新闻

6人已加入

描述

1.下载了第一个程序进去,数码管不亮。查看了硬件方面的改动,发现添加了三极管进去,用的是PNP型1015三极管

软件也要相应的修改成低电平驱动才行,修改了这个,第二次下载,数码管全亮,非常亮,亮的耀眼。
虽然软件没调试好,但数码管全亮了至少说明硬件没问题,低电平驱动是对的。至于太亮的问题,三极管到数码管间
还没加限流电阻我是想软件调好了后视当时亮度而言来加电阻。
 
2.软件调试过程中发现了好重要的问题,我的定时器其实一直都没真正开启,IE功能寄存器中的ET0没有置1
嗨,这是个问题,都是不应该出现的,犯一些低级错误。主要是没看书。好了,继续。。。]
3.维泽凌峰 23:51 2011-10-18把刚修改过的程序写入,看到数码管没那么亮了,估摸着因该在扫描了,心里有点底了。马上就修改了
定时初值,延长中断时间,放慢来看。果然,看到一个8字从左至右扫描过去。一阵狂喜!!!总算调通中断扫描部分了,今天早点睡吧
4.阳光灿烂的深秋。根据我的调试方法:1.先验证定时中断。2验证164移位是否还是一样正常。3判断A中的值。
果然,找出了BUG:我理解错了明白教授的显示方式。我先送电再显示的。这在164中是不行的.(164没锁存)应该给164送数再
给电的。这个还是自己太死板。好了,下载,一个“0”在扫描四个数码管。嘿嘿,立马把定时器调到5MS,给显示标志
分别置:1.2.3.4。四个数码管上分别显示了很可爱的1.2.3.4四个字符。行了。前期显示器准备工作也可以告一段落了,进入攻坚阶段了....
5.维泽凌峰 00:01 2011-10-20今晚先是调整了中断的时间,实验发现0.5MS中断比较合适,亮度适中。第二就是尝试用主程序做了个秒针
雏形,也就是加一实验。只是由于没画流程图,想了半天,但还是搞出来了。汇编居然一次通过,效果还不错...
6.今天尝试提高数码管亮度等,大概有两个参数:1减小中断时间,也就提高了刷新频率。使显示没那么晃。2.亮度的话就延长数码管的点亮时间。
开始的程序显示很暗,后来加了8US点亮延时后,亮度提高了一倍左右,相当有效。
二.计时模块
 
7.搞定了显示模块,心情一下也轻松了许多。接下来就进入了计时模块设计了,计时模块计划先用主程序做一遍,看看涉及到的关键参数,
再用T1中断来做,反正它闲着也是闲着,况且定时器要精确许多,又方便计算时间,为以后提高走时精确性打基础,今晚先完成秒点调试与
主程序框架。维泽凌峰 19:59 2011-10-22
8。看来最重要的事情我没看见,那就是秒点处理,因为我用的是共阳的数码管,中间的秒点不是单独的一位,而是后面个位,十位
的PD段。之前我做显示模块用的定时中断动态扫描,显示什么数都是没问题的。但是要一个数码管的某一段与其他段做不同的事,
也就是我要做的秒点闪烁,还真难倒我了,是不是要做两个TAB?其中一个带秒点,一个不带秒点的?那我的显示模块是不是要推倒重来啊?那编程是不是复杂了许多?
待我好好捋捋思路...
9.秒点的问题发到论坛上去了,明白教授给了一种很好的方案:设置一个秒点位变量,3.4位数码管显示时判断这个变量,
等0查表找不带秒点的字符,等1时查TAB找带秒点的同一字符。下午编程已经实现了,调试过程中因为一个16进制的立即数忘了写后面的
“H”结果汇编报错好多,我还怀疑程序出问题了,查找了好久。看来这个马虎不得...失之毫厘差之千里...今天第一次使用了位直接寻址
SETB 00H ;对00H位直接操作指令
MOV A,OOH ;而这条指令将00H单元中的值赋给ACC,是字节寻址,它们的访问指令不同
以前觉得很模糊,现在51的RAM区要清晰很多了..看来这个真要多点实践才了解...
还有就是{EQU}是字节变量,常量等值伪指令,而变量有不同种类:有位变量{BIT},字节变量{EQU}
定义数据地址{DATA}星期日 2011年10月23日
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分