数码管显示小数点位如何确定???

[复制链接]
4107|5
 楼主| dongjia 发表于 2007-4-3 10:49 | 显示全部楼层 |阅读模式
我现在正在编一个4位数码管显示程序,但是不知道小数点位如何确定,还有不知道高位如果是零不显示这段程序,如何编写。<br />望各位大侠,能够指点一、二。<br />谢谢了。
tyw 发表于 2007-4-8 17:59 | 显示全部楼层

参考一下

从高至低逐位检查待送显数据,把第一个不为&quot;0&quot;左边的位(无效0)改为&quot;黑&quot;<br />&nbsp;<br />;**********************<br />;*&nbsp;无效0改为F不显示&nbsp;*<br />;**********************<br />;<br />OFL0:&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,#08H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;R0←08H投币数十万位(00XX0000D)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,#03H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;设置循环次数(R08~R06)<br />OL4:&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,@R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;读待判断数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OL1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是&quot;00&quot;转OL1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,#0FFH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;是&quot;00&quot;则置为&quot;FF&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@R0,A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;送回内存<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LJMP&nbsp;&nbsp;&nbsp;&nbsp;OL2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;转OL2继续判断下一位<br />OL1:&nbsp;&nbsp;&nbsp;&nbsp;ANL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,#0F0H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;屏蔽出左面半位(R08~R06为压缩BCD码)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JNZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OL3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;不是&quot;0&quot;转OL3出口<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,@R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;是&quot;00&quot;则重读待判断数<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A,#0F0H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;将左面半位置为&quot;F&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@R0,A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;送回内存<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LJMP&nbsp;&nbsp;&nbsp;&nbsp;OL3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;转OL3出口<br />OL2:&nbsp;&nbsp;&nbsp;&nbsp;DEC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;R0←07H&nbsp;OR&nbsp;R0←06H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DJNZ&nbsp;&nbsp;&nbsp;&nbsp;R2,OL4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;循环次数到?<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;R0←06H<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@R0,#0F0H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;(06H)←F0H保留最末位显示&quot;0&quot;<br />OL3:&nbsp;&nbsp;&nbsp;&nbsp;RET<br />;
孤独泪 发表于 2007-4-3 11:00 | 显示全部楼层

看来还是毕业生啊

你写到什么程度,你这样别人很难回答你的,或者把你的程序发上来,帮你修改修改,因为你这个问题太简单了,如果你要高位不显示,你只要送NUL就可以了。
maychang 发表于 2007-4-3 11:10 | 显示全部楼层

程序与硬件电路有关

动态显示还是静态显示?串行扩展还是并行扩展?这些都不知道,虽然问题简单,也没法回答。
allen2006 发表于 2007-4-8 17:16 | 显示全部楼层

很多书上有这种DEMO程序呀

很多书上有这种数码管显示程序呀,你把它COPY过来就可以了
杨真人 发表于 2007-4-8 19:37 | 显示全部楼层

问题笼统

小数点是数学内容,让它按实际数值显示就是了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部