609178658 发表于 2013-9-6 13:29:08

关于数码管半字节单独设置的问题

一共有四个数码管显示,要进行设置例如2013,对每一位进行设置,首先是2,然后是0,然后是1,最后是3,设置时候从0开始加,加到9回零,再对第二个数进行设置,
就是要达到这样的一个效果,由于用的数码管驱动芯片是进行字节设置的,四个数码管分两个字节,高字节和低字节,假设20为高字节,先设置高字节的高半字节,即2,首先判断20H与90H大小关系
如果小 将20高低半字节呼唤,再加一,再互换回来,即30,完成了高半字节的设置,当进行低半字节设置时候,出现了问题,因为低半字节会产生进位,刷新了刚刚设置的高半字节,(我用的汇编),显示是
将十六进制转换十进制的的显示, 求高手给点提示,困扰了好久了

lxa0 发表于 2013-9-6 20:56:16

我也是玩汇编的
但我没看懂你要表达的意思~~~~~~~~~~~~~

little_Monkey 发表于 2013-9-6 21:44:04

既然是单独每位设置了,为什么还要考虑进位呢?另外,每位用一个字节表示,显示函数只管显示正确的数字,设置函数对每位的那个字节设置,不用考虑驱动芯片如何驱动的问题

n0831 发表于 2013-9-6 21:44:59

如果内存不是特别紧张,再使用4个字节分别保存2013然后对其每位进行运算,显示时候拼成2个字节!

n0831 发表于 2013-9-6 21:45:48

哈哈,和楼上一个意思。

609178658 发表于 2013-9-11 18:56:09

lxa0 发表于 2013-9-6 20:56 static/image/common/back.gif
我也是玩汇编的
但我没看懂你要表达的意思~~~~~~~~~~~~~

看我在楼下的回复

609178658 发表于 2013-9-11 19:05:43

little_Monkey 发表于 2013-9-6 21:44 static/image/common/back.gif
既然是单独每位设置了,为什么还要考虑进位呢?另外,每位用一个字节表示,显示函数只管显示正确的数字,设 ...

我好像是没说明白,显示的是2013,20一个字节,13一个字节,他们都是十六进制的,这个数据也就是2013我要保存的,我要保存的是10进制的,也就是说我将2013保存了20H是32,13H是19
设置13时候是16进制的设置,我设置高半字节的1,这个简单,我在设置低半字节的3,逢A,清零之后将这两个字节合并,就是十六进制的13H,后面我会用这个13H进行运算,也就是19,不是我要的结果
我说明白了?

lxa0 发表于 2013-9-12 03:09:39

2013可以用2个字节搞定~~~~~~~~~~~

moyanqd 发表于 2013-9-12 09:47:10

本帖最后由 moyanqd 于 2013-9-12 09:59 编辑

609178658 发表于 2013-9-11 19:05 static/image/common/back.gif
我好像是没说明白,显示的是2013,20一个字节,13一个字节,他们都是十六进制的,这个数据也就是2013我要 ...

“。。。也就是说我将2013保存了20H是32,13H是19 设置13时候是16进制的设置”

20保存的值还是20(D)啊,其16进制值是14(H) ,13保存的值还是13(D)啊,其16进制值是D(H),像你你这样做2013 在内存里是3219,我感觉挺令人糊涂的,
不用管保存的格式,十进制20写到内存的一个字节后,读出就是20,而你写到内存的不是20而是20H,这样就不是你想要的了
页: [1]
查看完整版本: 关于数码管半字节单独设置的问题