标题: 单片机数码管显示如何消除多余地址的空运行? [打印本页]

作者: 海阔天空8    时间: 2019-2-18 06:27
标题: 单片机数码管显示如何消除多余地址的空运行?
本帖最后由 海阔天空8 于 2019-2-25 10:58 编辑

   存储器实现7段数码管0-9的循环显示只需要10个地址就够了,而0000-1111共16个地址将会有6个无效地址的空运行。如何消除这6个地址的空运行呢?
    这个问题单片机是如何实现的?    可能单片机和存储器的数据,地址运行是不一样的?不知道单片机两个地址运行时间间隔是如何调节长短的?我觉得存储器可以用地址累加周期和“空地址”来调节?
    看来”单片机空地址“是个子虚乌有的伪命题了??我用的存储器地址,数据关系可是存在这个问题的呀?
    “单片机数码管显示如何消除多余地址的空运行?”----这个问题我基本解决了,用的74LS20----接成四输入与门。还是回到最初问题:不用电脑,编程器,烧录器如何给单片机(89C2051)输入程序(电平高低0和1)麻烦低效那是另一回事。

作者: xuyaqi    时间: 2019-2-18 10:22
当1001显示完后,要显示1010(A)时,经过判断强行再显示0就可以了。
作者: 海阔天空8    时间: 2019-2-18 12:16
xuyaqi 发表于 2019-2-18 10:22
当1001显示完后,要显示1010(A)时,经过判断强行再显示0就可以了。

我也是这么想的,刚刚实验基本成功。就是及时复位的意思吧?我用的是继电器常闭触点,可不可以用开关三极管完成?强行复位。待实验,,,,
作者: 海阔天空8    时间: 2019-2-18 12:17
本帖最后由 海阔天空8 于 2019-2-18 13:15 编辑
xuyaqi 发表于 2019-2-18 10:22
当1001显示完后,要显示1010(A)时,经过判断强行再显示0就可以了。

你这个括号里的A我估计是16进制的10吧?
作者: 佛云    时间: 2019-2-18 16:34
海阔天空8 发表于 2019-2-18 12:16
我也是这么想的,刚刚实验基本成功。就是及时复位的意思吧?我用的是继电器常闭触点,可不可以用开关三极 ...

楼主的硬件基础应该不错,可以尝试玩玩可编程逻辑芯片(cpld),加个比较器就可以实现当地址=1010实现强行复位地址的功能
作者: a0931727149    时间: 2019-2-18 18:35
本帖最后由 a0931727149 于 2019-2-18 19:40 编辑

要用單片機來實現7段數碼管顯示0-9的內容絕對不是10個記憶空間那樣這是我用我用的編譯器(keil)編譯(AT89C2051)驅動P1得到 75 90 XX
用共陰7段顯示器 單片機的震盪頻率10HZ應該可以
75 90 3f 7段顯示器顯示字型內容 0
75 90 06 7段顯示器顯示字型內容 1
75 90 5b 7段顯示器顯示字型內容 2
75 90 4f 7段顯示器顯示字型內容 3
75 90 66 7段顯示器顯示字型內容 4
75 90 6d 7段顯示器顯示字型內容 5
75 90 7d 7段顯示器顯示字型內容 6
75 90 07 7段顯示器顯示字型內容 7
75 90 7f 7段顯示器顯示字型內容 8
75 90 6f 7段顯示器顯示字型內容 9
02 00 00 跳躍到顯示0 的位址
一般單片機的震盪頻率不會這樣低,而在一個7段顯示器顯示字型內容 之後需要加一段延時之後在顯示下一組內容






作者: 海阔天空8    时间: 2019-2-19 09:08
xuyaqi 发表于 2019-2-18 10:22
当1001显示完后,要显示1010(A)时,经过判断强行再显示0就可以了。

我是在“数据输出”的其中一个端口在数据输出完成后设置成高电平这个高电平信号使继电器常闭触点断开一下,强迫地址回零的。应该没问题呀?可是实际上不知这个端口哪来的“干扰高电平信号”在设定高电平信号到来之前就使地址复位了??还没找到原因,,,,,,,,
作者: xuyaqi    时间: 2019-2-19 11:03
海阔天空8 发表于 2019-2-18 12:17
你这个括号里的A我估计是16进制的10吧?

对,2进制 1010 就是16进制0x0A.
作者: xuyaqi    时间: 2019-2-19 11:12
海阔天空8 发表于 2019-2-19 09:08
我是在“数据输出”的其中一个端口在数据输出完成后设置成高电平这个高电平信号使继电器常闭触点断开一下 ...

这是软件应该完成的工作,怎么用上了继电器,要用软件思维。
作者: 海阔天空8    时间: 2019-2-19 12:55
xuyaqi 发表于 2019-2-19 11:12
这是软件应该完成的工作,怎么用上了继电器,要用软件思维。

我要懂软件还用这笨办法吗?就是个开关的问题(说到底还是0和·1的问题)。给地址计数电路加一个脉冲信号
作者: 春风十里吹    时间: 2019-2-19 14:08
路过,来转转!好像又将话说没了
作者: 海阔天空8    时间: 2019-2-19 18:12
佛云 发表于 2019-2-18 16:34
楼主的硬件基础应该不错,可以尝试玩玩可编程逻辑芯片(cpld),加个比较器就可以实现当地址=1010实现强行复 ...

当地址是任何数时强制复位还比较困难,理论上多输入与门应该可以,但太麻烦。我想留出一位数据输出专当复位信号(高电平)结果失败了,,,,,,
作者: 海阔天空8    时间: 2019-2-19 18:15
a0931727149 发表于 2019-2-18 18:35
要用單片機來實現7段數碼管顯示0-9的內容絕對不是10個記憶空間那樣這是我用我用的編譯器(keil)編譯(AT89C20 ...

我觉得存储器很容易做到呀。地址变换频率可调
作者: 海阔天空8    时间: 2019-2-19 18:18
本帖最后由 海阔天空8 于 2019-2-25 08:28 编辑
xuyaqi 发表于 2019-2-18 10:22
当1001显示完后,要显示1010(A)时,经过判断强行再显示0就可以了。

当程序显示完以后给地址累加一个复位回零信号(断开累加脉冲)地址就自动回零了,想得听海,为什么实际行不通呀?还没找到原因,,,,,,,,,,利用4输入与门初步解决了”强制复位“,如图:
   ”下拉电阻“阻值很重要,TTL电路的H,L电位好像是2V以上0.8V以下,和CD4520对接要调整到这个范围吧?我是根据手头元件瞎鼓捣!见笑了,,,,,,,

IMG_20190223_074319.jpg (314.1 KB, 下载次数: 68)

IMG_20190223_074319.jpg

作者: 海阔天空8    时间: 2019-2-19 18:23
a0931727149 发表于 2019-2-18 18:35
要用單片機來實現7段數碼管顯示0-9的內容絕對不是10個記憶空間那樣這是我用我用的編譯器(keil)編譯(AT89C20 ...

我是把7段笔画ABCDEFG和8个LED由左到右1234567对应起来设置数据的。
作者: a0931727149    时间: 2019-2-19 19:50
海阔天空8 发表于 2019-2-19 12:55
我要懂软件还用这笨办法吗?就是个开关的问题(说到底还是0和·1的问题)。给地址计数电路加一个脉冲信号

AT89C2051燒錄程式碼是不需要地址計數器,因為它是自動遞增,忘掉你之前需要設定地址內容...你手工燒錄器搞定了嗎?可以燒錄一個記憶單元了嗎?可以燒錄3個記憶單元嗎?要可以燒錄多個連續內容你的手工燒錄器才是可以用......
衷心的給你一個建議既然手工燒錄器搞不定...何不將燒錄的工作交給燒錄器...優點是不會誤動作....
用買的燒錄器.配上燒錄器驅動軟件....也是可以手動編輯燒錄到AT89c2051的內容的....這樣是不是比你搬動指撥開關來的容易一些,而且較不易出錯,,,,
燒錄器軟件非常容易學的...不出幾分鐘就會用了.....



作者: wc86110    时间: 2019-2-20 05:03
海阔天空8 发表于 2019-2-19 12:55
我要懂软件还用这笨办法吗?就是个开关的问题(说到底还是0和·1的问题)。给地址计数电路加一个脉冲信号

这个编程方法反倒最考验基本功编程器还得自个弄,这两者不具备说啥都是空话


作者: 海阔天空8    时间: 2019-2-20 07:06
佛云 发表于 2019-2-18 16:34
楼主的硬件基础应该不错,可以尝试玩玩可编程逻辑芯片(cpld),加个比较器就可以实现当地址=1010实现强行复 ...

冬闲户外活动少,就一片89C2051解闷吧。几十年就玩动不了它!死不瞑目!看来没有外援不行,高人一语就能点破梦中人!,,,,,,,
作者: 海阔天空8    时间: 2019-2-20 07:10
关键就是7590后的差别。020000,我还没解决呢!没找到那个“复位脉冲”
作者: 海阔天空8    时间: 2019-2-20 07:17
wc86110 发表于 2019-2-20 05:03
这个编程方法反倒最考验基本功编程器还得自个弄,这两者不具备说啥都是空话

编程器硬件电路倒不是什么问题,现在就是有现成的编程器我也不会用。手动输入明白了编程器就是水到渠成的事。我想编程器的出现是在单片机之后吧?不知什么原因我非要倒着走呢?倒行逆施,,,,,,
作者: 海阔天空8    时间: 2019-2-20 07:23
a0931727149 发表于 2019-2-19 19:50
AT89C2051燒錄程式碼是不需要地址計數器,因為它是自動遞增,忘掉你之前需要設定地址內容...你手工燒錄器搞 ...

我这存储器可能有2的11次方个单元吧?数据输出端口只有8位。每个单元(地址)输入数据(0或1)组合不是问题了。只是地址强制复位还做不到,,,,,,,,
作者: 海阔天空8    时间: 2019-2-20 10:52
佛云 发表于 2019-2-18 16:34
楼主的硬件基础应该不错,可以尝试玩玩可编程逻辑芯片(cpld),加个比较器就可以实现当地址=1010实现强行复 ...

请告知加个比较器的复位原理好吗?谢谢。
作者: iofree    时间: 2019-2-20 12:21
楼主把IO理解为地址是错误的,单片机送到数码管的不应该理解为地址而是码段数据,所以不存在有多余地址的说法,只是有些码段信号组合通常没有意义罢了,不存在浪费的问题,如果你愿意可以利用它来表达其他的含义,只是别人看不懂罢了!
作者: 海阔天空8    时间: 2019-2-20 15:36
iofree 发表于 2019-2-20 12:21
楼主把IO理解为地址是错误的,单片机送到数码管的不应该理解为地址而是码段数据,所以不存在有多余地址的说 ...

IO是什么?输入输出口吗?地址是存储数据的呀?
作者: 海阔天空8    时间: 2019-2-20 17:50
iofree 发表于 2019-2-20 12:21
楼主把IO理解为地址是错误的,单片机送到数码管的不应该理解为地址而是码段数据,所以不存在有多余地址的说 ...

    听不懂宁的意思。
    我是说存储器的地址和数据,地址一一直累加运行(8位或4位二进制数),有的程序用不了那么多地址数,像0-9LED数码循环显示只需要10个地址就够了,地址如果不强制复位将会有6个地址空运行。
作者: Y_G_G    时间: 2019-2-20 22:29
实现7段数码管0-9的循环显示只需要10个地址就够了
地址空运行
IO是什么
比较器的复位原理
地址变换频率可调
每天才能看到楼主在创造新名词,我差点感觉我对电子一无所知了!
作者: 海阔天空8    时间: 2019-2-21 06:03
xuyaqi 发表于 2019-2-18 10:22
当1001显示完后,要显示1010(A)时,经过判断强行再显示0就可以了。

    把数据输出端口留出一位专做(程序输出完成后)高电平强制复位怎么不行呀?实验多次偶尔可以?
   只好考虑可预置数计数复位方式。
作者: iofree    时间: 2019-2-21 10:08
海阔天空8 发表于 2019-2-20 17:50
听不懂宁的意思。
    我是说存储器的地址和数据,地址一一直累加运行(8位或4位二进制数),有的程 ...

前面说过了单片机送给数码管的不是地址而是码段数据,你理解为地址是错误的,所以就会钻进牛角尖里出不来,要数码管循环显示0-9很简单,用一个for函数轮流送0-9的码段数据到数码管就行了,不存在什么强制地址复位的问题!
作者: 海阔天空8    时间: 2019-2-21 10:45
Y_G_G 发表于 2019-2-20 22:29
实现7段数码管0-9的循环显示只需要10个地址就够了
地址空运行
IO是什么

哈哈我创造新名词?我连老名词还不懂呢!
作者: 海阔天空8    时间: 2019-2-21 10:50
iofree 发表于 2019-2-21 10:08
前面说过了单片机送给数码管的不是地址而是码段数据,你理解为地址是错误的,所以就会钻进牛角尖里出不来 ...

    对呀!送到数码管的是数据呀!每个地址都有相同或不相同的数据呀。地址按一定的频率累加数据就不断的输出了。这样说对吗?
作者: 海阔天空8    时间: 2019-2-21 12:49
iofree 发表于 2019-2-20 12:21
楼主把IO理解为地址是错误的,单片机送到数码管的不应该理解为地址而是码段数据,所以不存在有多余地址的说 ...

”楼主把IO理解为地址是错误的“?我还真不明白您这句话的意思,”IO“是什么?我都搞不清!地址是存储数据的地方。这话对吧?输出/输入端口就是您说的”IO"吧?它是存在地址里的数据对吗?
------------我是对存储器而言,单片机我一点不懂呀。
作者: 海阔天空8    时间: 2019-2-21 12:58
Y_G_G 发表于 2019-2-20 22:29
实现7段数码管0-9的循环显示只需要10个地址就够了
地址空运行
IO是什么

     你好!你挖苦我没关系。可你也给我来点实际的正能量呀!^_^。就说我把“IO"理解为地址吧?我什么时候这样说的呀?
    ”比较器的复位原理“?---------不是我说的呀!我还不明白什么是比较器呢!
    ”地址变换频率可调“,是我说的:我这个存储器累加就是用方波实现的呀!(加到CD4520的第2脚)。方波频率可调不就是地址变化速度可调吗?
   
作者: Y_G_G    时间: 2019-2-21 19:00
实现7段数码管0-9的循环显示只需要10个地址就够了(这是错误的,别想当然去认为,你的想法是错误的)
地址空运行(这是错误的,地址就是地址,不会运行)
地址变换频率可调(不存在这个说法,别自己制定游戏规则)
我知道你会找理由来反驳我,但意义何在?你肯定不会认同我所说的,但你的依据是什么呢?
而0000-1111共16个地址将会有6个无效地址,0000-1111你确定这中间只差16个数字吗?0000B-1111B才是。
在问别人一个问题之前,你应该自己制造问题出来,再问别人这个是怎么回事?
你就直接问“单片机数码管显示的原理是什么,本人不懂编程,尽量直白详细点,先谢谢了”
然后就去看别人是怎么回答的,再去查一下相关资料,而不是用自己想当然的想法去反驳别人。
作者: 海阔天空8    时间: 2019-2-22 07:07
Y_G_G 发表于 2019-2-21 19:00
实现7段数码管0-9的循环显示只需要10个地址就够了(这是错误的,别想当然去认为,你的想法是错误的)
地址 ...

^o^~你说你的理我说我得理,我说存储器你说单片机。存储器有地址和数据没错吧?存储器的地址可以用二进制数表示吧?数据端要完成7段数码管0-9的循环显示不是只需要10个地址就够用了吗?二进制数0000-1111是16个地址呀?如果16个地址循环变化对显示0-9是不是有6个地址空运行?
     您只说我的错误,我究竟错在哪呀?
     我“想当然“?0-9显示完了就是有6个地址空运行呀?我想叫他显示完9以后下一个显示0(完成下一个循环),想当然了吗?
作者: iofree    时间: 2019-2-22 08:39
海阔天空8 发表于 2019-2-21 10:50
对呀!送到数码管的是数据呀!每个地址都有相同或不相同的数据呀。地址按一定的频率累加数据就不断的输 ...

你脑子里装了太多似是而非自以为是的东西,建议你还是沉下心来找本基础入门的单片机书籍来看看,先把一些最基本的概念搞清楚,比如IO、累加器、寄存器什么的,再老老实实把书上例子代码敲一边,搞懂其中的功能和编程思路,想学新的东西,自己先得把脑子腾空一些才能装得下是不?否则你总用一些想当然的见解来这里抬杠,除了浪费时间是不会有什么进步的。
作者: Y_G_G    时间: 2019-2-22 10:06
海阔天空8 发表于 2019-2-22 07:07
^o^~你说你的理我说我得理,我说存储器你说单片机。存储器有地址和数据没错吧?存储器的地址可以用二进制 ...

就只说存储器吧.
地址空运行(这是错误的,地址就是地址,不会运行)没有地址空运行这个说法
0000-1111你确定这中间只差16个数字吗?0000B-1111B才是。
0000-1111一共有1112个数,0000B-1111B一共有16个数.
如果你觉得我是玩文字游戏,那没关系,你记住我的话就可以了:如果你还是这种态度,你永远搞不定入门低端级的数字电路,更不用说单片机了.
看一下35楼的说法,我赞同他的说法.
作者: 海阔天空8    时间: 2019-2-22 10:44
Y_G_G 发表于 2019-2-22 10:06
就只说存储器吧.
地址空运行(这是错误的,地址就是地址,不会运行)没有地址空运行这个说法
0000-111 ...

地址不停的累加数据没有内容输出叫什么?
作者: xrtu    时间: 2019-2-22 10:58
用74HC154试试,一片可以解4位地址,刚好可以解决你的16个存储单元问题。
作者: 李良伟    时间: 2019-2-22 11:10
加个看门狗
作者: 海阔天空8    时间: 2019-2-22 12:41
李良伟 发表于 2019-2-22 11:10
加个看门狗

是有看门狗这个词,可我根本不懂!谢谢。
作者: 海阔天空8    时间: 2019-2-22 12:48
本帖最后由 海阔天空8 于 2019-2-22 17:51 编辑
xrtu 发表于 2019-2-22 10:58
用74HC154试试,一片可以解4位地址,刚好可以解决你的16个存储单元问题。

我正实验用4输入(或8输入)与门解决地址运行强制归零,手里只有74ls00。它和CD4520怎么连接还是问题,高低电平不一样呀?4011就好办些吧?终于找到74LS20了(2-4输入与非门)。地址累加强制复位解决了。

作者: wc86110    时间: 2019-2-22 16:23
海阔天空8 发表于 2019-2-22 10:44
地址不停的累加数据没有内容输出叫什么?

你那 留了一手 的完整电路图是怎么连接的?好像藏宝图似的还得藏着掖着

芯片的容量不变但写入多少只能读出多少,不存在什么空运行一说,读时运行到高位后即自动进入到下一个循环

学问学问没学就问,还用惯性思维去理解,难怪被人说楼主是在胡言乱语

作者: 海阔天空8    时间: 2019-2-22 17:54
iofree 发表于 2019-2-21 10:08
前面说过了单片机送给数码管的不是地址而是码段数据,你理解为地址是错误的,所以就会钻进牛角尖里出不来 ...

您说的没错,单片机完成这个任务很简单。我是说存储器。
作者: 海阔天空8    时间: 2019-2-22 18:57
wc86110 发表于 2019-2-22 16:23
你那 留了一手 的完整电路图是怎么连接的?好像藏宝图似的还得藏着掖着

芯片的容量不变但写入多少只能 ...

     电路图改来改去的面目全非了!基本原理图给你了呀!“不存在什么空运行一说”我这是存储器就是有“空运行”。例如地址数是4位2进制数就是十进制的16,我每个地址存放一个1个阿拉伯数字连续输出“0-9”循环,不是还有6个地址“空运行”吗?
    “不存在什么空运行一说”?我相信你说的,看来这是存储器和单片机的又一不同了。
    “胡言乱语”用词不当。“不学就问”也是欲加之罪。^_^,难道你们先知先觉者一点也不明白我的问题?还是解释不了?哪怕是一点点不是胡言乱语的也没有?
   几句话就解决的问题看看你们洋洋洒洒的?!不就是怎么接线吗?20个管脚怎么接不就完了吗?我看你们也是离了拐棍走不了路了?初中说明文没学好!
作者: 海阔天空8    时间: 2019-2-22 19:01
xuyaqi 发表于 2019-2-18 10:22
当1001显示完后,要显示1010(A)时,经过判断强行再显示0就可以了。

您这样说我怎么能不明白呢?可能单片机不是这样的,可我不懂单片机呀!总是跳不出存储器这个圈子倒是事实!说我胡言乱语?^_^,,,,,,,,,,
作者: 海阔天空8    时间: 2019-2-22 21:35
Y_G_G 发表于 2019-2-20 22:29
实现7段数码管0-9的循环显示只需要10个地址就够了
地址空运行
IO是什么

“我差点感觉我对电子一无所知了!”----你不知道的还多着泥!手动编程你就不知道嘛!^_^,,,,,,,,,,,,
作者: 海阔天空8    时间: 2019-2-22 21:40
xrtu 发表于 2019-2-22 10:58
用74HC154试试,一片可以解4位地址,刚好可以解决你的16个存储单元问题。

8输入与门可以解决8位地址任意数强制回零吧?我仅有4输入与非门(74LS20).
作者: Y_G_G    时间: 2019-2-22 21:59
海阔天空8 发表于 2019-2-22 10:44
地址不停的累加数据没有内容输出叫什么?

那这是谁告诉你这叫“地址空运行”的呢?书上说的?网上说的?
要显示0-9这10个数字,为什么要用到1111B这个地址呢?谁告诉你的?书上说的,网上说的?
我看过你说的这个IC,它有11位的地址线,2048位也就是常说的2K内存,想要显示0-9,就先把0-9这10个字据分别存放在10个地址中,再通过四根地址数据线和使能端把这10个地址的数据显示出来。
显示的原理:从最先开始的0000B地址开始显示,频率可以是一HZ或者其它的频率,把地址位从0000B一直加到1001B,到了1001B之后,地址输出的器件复位(也就是回到0),然后重新一次一次的加到1001B。
可以用一个74161计数器来完成地址的加1到1001B就复位的运算,74161的时钟可以是手动的,也可以是由一个门电路IC或者555输出。
74161可以设定0000B-1111B之间的任意数复位,不一定要加到1111B的。
我不知道你有没有看过你用的那IC的资料,我看过了,对于它而言:读就是读,写就是写,1就会亮灯,0就不会亮灯,这个过程不存在空与不空,不亮灯,读出来的数据就是0,“0”也是数据,不是说你不想要的数据就不是数据。
不管是在编程还是在别的地方,有“空指令”“空操作”但不会有"地址空运行“
作者: wc86110    时间: 2019-2-22 23:33
海阔天空8 发表于 2019-2-22 18:57
电路图改来改去的面目全非了!基本原理图给你了呀!“不存在什么空运行一说”我这是存储器就是有“ ...

明知道地址会累加怎么又会多出 6个地址“空运行”,很疑惑这个结论楼主是怎么得出来的?


作者: Y_G_G    时间: 2019-2-23 01:36
海阔天空8 发表于 2019-2-22 21:35
“我差点感觉我对电子一无所知了!”----你不知道的还多着泥!手动编程你就不知道嘛!^_^,,,,,,, ...

你应该反省一下你自己了,你有没有发现:很多热心网友帮你回答了问题,你从没有一句"谢谢",反而是你来这提问,问问题,却几乎是把所有帮你回答问题的给怼回去了,只要是你认定的东西,总会有一堆大道理出来.
当别人否定你的观点时,你不去验证一下对不对,第一时间是想着怎么去反驳别人,相信你看到了,叫回去看书的人不止我一个.
这里是论坛,大家都因为兴趣走到这里,你一个问题一问出来,很快就有人帮你回答,我们这些个回答的图什么呢?没有工资拿,也没有什么名利可图,甚至是回答了几百个问题也不会有一个人记得我的ID,那我们图个什么呢?不就本着相互学习一种心态去回答帮助别人也等于是在帮助自己.
你倒好,从不会说"谢谢",只要是和观点不同的,你都要反驳回去,你也不管你的观点对与否,人家为你打那么多字,你却一直把我们这些人当消遣.
作者: 海阔天空8    时间: 2019-2-23 06:46
本帖最后由 海阔天空8 于 2019-2-23 12:01 编辑
xrtu 发表于 2019-2-22 10:58
用74HC154试试,一片可以解4位地址,刚好可以解决你的16个存储单元问题。

谢谢。74HC154是4线16线译码器,我没用过。谢谢您的提示,正在学,我现在正在鼓捣74ls20解决0000-1111地址强行复位,,,,       上午实现了输出显示1,2,3,4自动复位循环(4以后的空地址运行没有了)用的74LS20(4输入与门)

IMG_20190223_074319.jpg (231.55 KB, 下载次数: 577)

IMG_20190223_074319.jpg

作者: 海阔天空8    时间: 2019-2-23 06:52
李良伟 发表于 2019-2-22 11:10
加个看门狗

“看门狗”我哪懂啊!如果您能深入浅出说明一下那就谢谢了!我就是东一榔头西一棒槌碰到什么说什么,比不了科班系统正规出身的行家里手,
作者: 海阔天空8    时间: 2019-2-23 08:46
Y_G_G 发表于 2019-2-22 21:59
那这是谁告诉你这叫“地址空运行”的呢?书上说的?网上说的?
要显示0-9这10个数字,为什么要用到1111B ...

那请问你:0000-1111是16个地址我只需要10个就够了,还没有复位电路。这6个多出的地址会不会在输出0-9后“无效运行”?(你又会说我造辞儿了)。
作者: 海阔天空8    时间: 2019-2-23 09:11
Y_G_G 发表于 2019-2-23 01:36
你应该反省一下你自己了,你有没有发现:很多热心网友帮你回答了问题,你从没有一句"谢谢",反而是你来这提问 ...

     你这次的回复似乎我们有点共识了“这里是论坛,大家都因为兴趣走到这里”,非常正确!原来你很在意“谢谢”呀?哈哈哈哈哈谢谢谢谢谢谢,,,,,,君子之交淡如水!谢谢各位的回复倒是真的。至于争论吗?那是免不了的,请你不必介意好了。问问题也很有讲究的,我承认我问的叫人费解,因为搞不懂才问嘛!另一方面回答问题也有是不是切中要害的问题,我总觉得有些“隔靴搔痒”的感觉呢?其实就是个“破玩意儿”(89C2051)这我承认,我迫切想知道的就是各引脚怎么连接能对89C2051输入数据或程序(不用编程器,不用电脑,不用C语言!)就是基本元器件的连接和怎样加高,低电位的问题!我对很多专业术语确实不懂,什么串口并口看门狗,,,,我是手里有什么元件就想实验一下,没见过的没听说过的多了去了!
    在下是业余爱好,请各位先驱别动不动就“看书去!”好不好?我要都看明白了论坛就失去“问答”功能了,不是吗?师者,,,,解惑也!诲人不倦,谢谢谢谢谢谢谢谢谢谢谢谢,,,,,,,,,。
作者: 海阔天空8    时间: 2019-2-23 09:19
wc86110 发表于 2019-2-22 23:33
明知道地址会累加怎么又会多出 6个地址“空运行”,很疑惑这个结论楼主是怎么得出来的?

     可能是地址累加(0000-1111共16个或256个 8位二进制数)是独立运行的,而写入的数据程序可能不需要那么多地址(例如0-9的数码管显示)于是就多出来6个没有意义的地址,也占用了输出时间吧?如果不“强制复位”的话下,显示完了0-9后还要等1010以后的6个地址“空运行”完以后才恢复0-9的显示,,,,,,,
      我说的是存储器!我说明白了吗?
作者: wc86110    时间: 2019-2-23 11:24
那也是楼主凭空想象出来的“空运行”,写入多少个地址数据也只能读出多少个

很浅显的就能理解事情非要复杂化,例如一张光盘,内存卡无论容量多大,往里面存一首歌也只能读出一首歌的时间就停止或循环。

曾经有人用 1G 的内存卡跟 256M 的换,只因为 256M 的歌多放得久就认为容量大,


作者: 海阔天空8    时间: 2019-2-23 12:09
iofree 发表于 2019-2-20 12:21
楼主把IO理解为地址是错误的,单片机送到数码管的不应该理解为地址而是码段数据,所以不存在有多余地址的说 ...

我不记得我“把IO理解为地址”了呢?请明示,谢谢!
作者: 海阔天空8    时间: 2019-2-23 13:02
wc86110 发表于 2019-2-22 23:33
明知道地址会累加怎么又会多出 6个地址“空运行”,很疑惑这个结论楼主是怎么得出来的?

地址就像一定数量的车一辆一辆循环往复的路过,当您只向某几辆车上装货物,(用不了这么多车),那多余的车岂不是空运行吗?
作者: 海阔天空8    时间: 2019-2-23 13:03
xuyaqi 发表于 2019-2-19 11:12
这是软件应该完成的工作,怎么用上了继电器,要用软件思维。

软件我不懂呀!!
作者: 海阔天空8    时间: 2019-2-23 13:06
a0931727149 发表于 2019-2-18 18:35
要用單片機來實現7段數碼管顯示0-9的內容絕對不是10個記憶空間那樣這是我用我用的編譯器(keil)編譯(AT89C20 ...

我这存储器地址累加的频率可调,周期0.几秒到几秒大致范围。单片机的延时,我不懂呀!
作者: 海阔天空8    时间: 2019-2-23 13:13
Y_G_G 发表于 2019-2-22 10:06
就只说存储器吧.
地址空运行(这是错误的,地址就是地址,不会运行)没有地址空运行这个说法
0000-111 ...

“地址空运行(这是错误的,地址就是地址,不会运行)没有地址空运行这个说法”----------单片机可能是您说的那样,可我不懂。存储器的地址可以不同的变化累加怎么不可以说成运行?我把没有写入数据的地址视为“空地址”有什么不可以的?(当然00000000也是一个数)
作者: 2583715224    时间: 2019-2-23 14:53
1.先用数组存进你所要显示的数(16进制)2.用for语句来实现
作者: Y_G_G    时间: 2019-2-23 21:11
海阔天空8 发表于 2019-2-23 09:11
你这次的回复似乎我们有点共识了“这里是论坛,大家都因为兴趣走到这里”,非常正确!原来你很在意“ ...

我们是为了你那句一点诚意都没有的谢谢吗,你那谢谢自己收回去放着,我不要了.
只谈技术的西东.
数字电路是很严谨的,是就是,不是就不是.不是说单片机是这样,存储器就不是.
关于你制造的名词:地址空运行,不是我一个人在反对你,是吧?可你从不想着去搞明白为什么不是这样的?而是第一时间用你自己的"知识"反驳和想法不一样的人,存储器显示的原理根本就不是你说的这样!!!!!!!!!!!!!!!!!!!!!!!!你不要说"难道不是这样的吗?"
对于单片机,你想不用编程器,不用电脑,不用C语言就可以操作它,这是不行的
不编程你不能让单片机干你想干的事,就算是用你创造的"手动编程"也不行
在电脑没有像现在一样普及的时候,人们只用那种只有三个按键的机器语言来对单片机进行编程编程编程编程编程,明白吗?用古老的机器来编程,"编程"二字重音!!
比如,你想要P1.0为高电平,用汇编语言就是"SETB P1.0" 如是用你所想的那个手动编程,对应的二进制机器码就是:1101001010010000  ,这不是我乱打,这是8051的操作码转换过来的,如果你错了一位就不行,现在你知道那个古老的机器为什么没有人用了吧?
SETB P1.0对于1101001010010000更直观,更容易找到问题
完事,收工,以后不会再干这种S事了我

作者: 海阔天空8    时间: 2019-2-24 07:14
iofree 发表于 2019-2-22 08:39
你脑子里装了太多似是而非自以为是的东西,建议你还是沉下心来找本基础入门的单片机书籍来看看,先把一些 ...

“似是而非自以为是”?很有这种可能,我问问题的初衷也有等待您的纠正的意思呀!我说的很可能不对,您说对的呀!,,,,,,
作者: 海阔天空8    时间: 2019-2-24 07:21
Y_G_G 发表于 2019-2-22 21:59
那这是谁告诉你这叫“地址空运行”的呢?书上说的?网上说的?
要显示0-9这10个数字,为什么要用到1111B ...

就说你说的“空运行”吧。空运行以后到下一个地址输出数据之前的间隔时间如何设定?
作者: 海阔天空8    时间: 2019-2-24 07:24
a0931727149 发表于 2019-2-19 19:50
AT89C2051燒錄程式碼是不需要地址計數器,因為它是自動遞增,忘掉你之前需要設定地址內容...你手工燒錄器搞 ...

我相信您最后一句话是对的。但我目前还做不到,因为我现在没有烧录器,,,,,,
作者: 海阔天空8    时间: 2019-2-24 07:36
wc86110 发表于 2019-2-22 23:33
明知道地址会累加怎么又会多出 6个地址“空运行”,很疑惑这个结论楼主是怎么得出来的?

不错,地址是自动累加的。0到9十个数输出完了,地址还要自动累加到第16个地址呀!“9”以后的地址没有数据显示呀(或说是00000000)我理解为“空运行”了。这16个地址全部显示完了才重复从0123456789显示呀。后面的显示“无效”呀。怎样叫显示完“9”以后紧跟着显示“0”呢?
作者: 海阔天空8    时间: 2019-2-24 10:49
Y_G_G 发表于 2019-2-23 21:11
我们是为了你那句一点诚意都没有的谢谢吗,你那谢谢自己收回去放着,我不要了.
只谈技术的西东.
数字电路 ...

我说存储器你说单片机,我说单片机你又说不明白,算了,不麻烦你了。谢谢你的时间。
作者: 海阔天空8    时间: 2019-2-24 12:51
本帖最后由 海阔天空8 于 2019-2-24 13:06 编辑
海阔天空8 发表于 2019-2-22 17:54
您说的没错,单片机完成这个任务很简单。我是说存储器。

    ^_^胡说八道也好,自以为是也好,一无所知也好,“霸屏刷分”也好,反正我是不可救药了!尔等这么多高人也没把我这个糊涂虫说明白!可见老师也不怎么高明!我的胡言乱语居然引出这么多的(没有针对性的)高谈阔论来!“分”有什么用?我还真不知道!谁要?奉送!    倒是有这种感觉:某人不舒服(可能是感冒)去3甲医院求医,自己可能也说不明白哪里不舒服,于是大夫就给他讲了B超,核磁,脑CT,,血常规,肾功能,肝功能,,等等先进的医疗设备和检验手段,建议他去查查,,,,,结果一通折腾开了很多药,,,,一周后他也没有什么不舒服了-----白折腾一通!这叫什么“过度医疗”,^_^这词儿到庭贴切!!各位,息怒,我还继续鼓捣我的破玩意儿!就是解闷嘛,能帮您就帮,谢谢。

作者: a0931727149    时间: 2019-2-24 18:13
敢問樓主經過這麼努力....究竟目前是否有愈到難處.....如有要解結... 那請要說明卡在那理 ...要說明您是用哪一個電路圖喔,,

作者: wc86110    时间: 2019-2-24 19:24
海阔天空8 发表于 2019-2-24 07:36
不错,地址是自动累加的。0到9十个数输出完了,地址还要自动累加到第16个地址呀!“9”以后的地址没有数 ...

发不上全图又没实际验证过仅凭我理解为就盖棺定论,这和男妇产科去讨论生产感受不是一样很扯淡么?


作者: 海阔天空8    时间: 2019-2-24 20:10
wc86110 发表于 2019-2-23 11:24
那也是楼主凭空想象出来的“空运行”,写入多少个地址数据也只能读出多少个

很浅显的就能理解事情非要复 ...

“写入多少地址就读出多少地址”有道理!这或许是(与存储器)一个不同?谢谢。
作者: 海阔天空8    时间: 2019-2-25 07:17
a0931727149 发表于 2019-2-24 18:13
敢問樓主經過這麼努力....究竟目前是否有愈到難處.....如有要解結... 那請要說明卡在那理 ...要說明您是用 ...

    原理图已发了呀!基本就是一片HM6116存储器和CD4520组成的地址,数据存、取电路。0000-111116个地址我想存入LED数码管显示0-9十个阿拉伯数字,0000-1111地址是连续累加的,0-9数字显示完以后仍有1011-1111共6个地址还在累加,到1111以后才从0-9显示,,,,,,我想去掉1011-1111地址的“空运行”(有人说我乱造新词儿),0-9以后就继续显示0-9。
作者: 海阔天空8    时间: 2019-2-25 08:03
iofree 发表于 2019-2-22 08:39
你脑子里装了太多似是而非自以为是的东西,建议你还是沉下心来找本基础入门的单片机书籍来看看,先把一些 ...

不管怎么说你等高人也没有把“编程步骤”向我说明白!(当然您们没有这个义务)F:\照片文件\2019年\2019,02\199221\编程步骤3.jpg

编程步骤3.jpg (929.92 KB, 下载次数: 564)

编程步骤3.jpg

作者: 海阔天空8    时间: 2019-2-25 08:09
wc86110 发表于 2019-2-24 19:24
发不上全图又没实际验证过仅凭我理解为就盖棺定论,这和男妇产科去讨论生产感受不是一样很扯淡么?

我就真奇怪了:“最初我的问题已经说的很明确了,怎么就没有一位高人能明白我问题的意思??真和你说的叫男人体验生孩子的感受了,和”隔靴搔痒“类似!讲得很多很多,就是不入正题(编程步骤怎么操作?)没办法我听不懂!

编程步骤3.jpg (929.92 KB, 下载次数: 590)

编程步骤3.jpg

作者: 海阔天空8    时间: 2019-2-25 08:24
wc86110 发表于 2019-2-22 16:23
你那 留了一手 的完整电路图是怎么连接的?好像藏宝图似的还得藏着掖着

芯片的容量不变但写入多少只能 ...

”读时运行到高位后即自动进入到下一个循环“!!很有启发!谢谢。
我可没想留一手的呀!!

作者: 海阔天空8    时间: 2019-2-25 10:51
wc86110 发表于 2019-2-22 23:33
明知道地址会累加怎么又会多出 6个地址“空运行”,很疑惑这个结论楼主是怎么得出来的?

我说的是我这个存储器!
作者: 海阔天空8    时间: 2019-2-25 10:54
a0931727149 发表于 2019-2-24 18:13
敢問樓主經過這麼努力....究竟目前是否有愈到難處.....如有要解結... 那請要說明卡在那理 ...要說明您是用 ...

就一个简单问题:不用编程器不用电脑不用烧录器,怎么给单片机(89C2051)加程序?
作者: 海阔天空8    时间: 2019-3-6 17:16
a0931727149 发表于 2019-2-24 18:13
敢問樓主經過這麼努力....究竟目前是否有愈到難處.....如有要解結... 那請要說明卡在那理 ...要說明您是用 ...

就是这个图呀!不就是数据和地址的存入和输出吗?

6116.jpg (536.25 KB, 下载次数: 549)

6116.jpg

作者: 海阔天空8    时间: 2019-3-6 17:18
本帖最后由 海阔天空8 于 2019-3-6 21:31 编辑
a0931727149 发表于 2019-2-24 18:13
敢問樓主經過這麼努力....究竟目前是否有愈到難處.....如有要解結... 那請要說明卡在那理 ...要說明您是用 ...

6116的D0-D7加高电平就把数据设置了,21脚(WE)加低电平就把数据写入了。

6116.jpg (797.81 KB, 下载次数: 531)

6116.jpg

作者: 7358655    时间: 2019-3-6 21:08
你存0~9到存储器不就完了10个数据地址,读也是10个,C语言数组只写0~9的真值表完事。
作者: 7358655    时间: 2019-3-6 21:17
搞个38译码器,三线控制1个数码管,其它8脚接数码管,适合模拟电路,不管怎么控制都是给数码管上电。
作者: 海阔天空8    时间: 2019-3-7 07:44
7358655 发表于 2019-3-6 21:17
搞个38译码器,三线控制1个数码管,其它8脚接数码管,适合模拟电路,不管怎么控制都是给数码管上电。

还得有相当于地址的脉冲来进行地址累加吧?
作者: 海阔天空8    时间: 2019-3-31 10:36
Y_G_G 发表于 2019-2-23 21:11
我们是为了你那句一点诚意都没有的谢谢吗,你那谢谢自己收回去放着,我不要了.
只谈技术的西东.
数字电路 ...

“地址空运行,”---------是我制造的词儿吗?“用你自己的"知识"反驳和想法不一样的人”---------这有什么奇怪的?个人理解不同争论是难免的。“对于单片机,你想不用编程器,不用电脑,不用C语言就可以操作它,这是不行的”---------------我不同意你的结论可以吗?编程器,电脑(相关软件),“语言”---都是单片机出现后的产物吧?“古老的机器为什么没有人用了”--------这不奇怪,但它曾经存在过这是事实吧?
作者: wc86110    时间: 2019-4-2 03:17
海阔天空8 发表于 2019-3-31 10:36
“地址空运行,”---------是我制造的词儿吗?“用你自己的"知识"反驳和想法不一样的人”---------这有什 ...

    楼主的主题都火得发紫了,但是时间过去辣么久了难道楼主还在原地踏步兜圈?楼主手上拿的那货就是个原始的编程器可知?这货无需电脑,C语言汇编支持,但要说不用编程器那是万万不能向 6116 等这些芯片写入程序的

    初学者很容易被数制转化搞蒙,但无论芯片有多少位地址数,向随机存储器 6116 输入数据 0~9 这十个数字只需写入十次,地址数也只需变化十次而已


   而不是楼主所说的“例如地址数是4位2进制数就是十进制的16,我每个地址存放一个1个阿拉伯数字连续输出“0-9”循环,不是还有6个地址“空运行”吗?这类混淆概念的说辞

作者: 海阔天空8    时间: 2019-6-14 14:52
wc86110 发表于 2019-4-2 03:17
楼主的主题都火得发紫了,但是时间过去辣么久了难道楼主还在原地踏步兜圈?楼主手上拿的那货就是个原 ...

我说的“空运行”的意思是:6116的地址有1024个或512个,但某些应用还觉得多,只需要某一个地址(小鱼512或1024)就够了,余下的就没用了成为“空运行”状态,,,,,
作者: 海阔天空8    时间: 2019-6-14 14:58
wc86110 发表于 2019-4-2 03:17
楼主的主题都火得发紫了,但是时间过去辣么久了难道楼主还在原地踏步兜圈?楼主手上拿的那货就是个原 ...

“但要说不用编程器那是万万不能向 6116 等这些芯片写入程序的”----您的“程序”是什么意思?在下理解就是叫电路按预定的状态输出出信号。例如叫8个数据输出端LED依次闪亮,这不叫程序吗?

作者: suncat0504    时间: 2019-6-14 21:44
根据楼主的逻辑。0-9,用存储器通过控制地址输出0-9用的笔段,点亮数码管显示0-9,那么地址计数到10的时候,根据二进制数的分析,只要把CD4520的输出脚Q1,Q3做与处理,输出1,用来复位CD4520即可,不需要额外使用继电器。
我把proteus的仿真线路图传上来,你可以看看。这个是已经运行成功的,但是没有接6116,你只需要观看4520的四个输出(Q0,Q1,Q2,Q3)的变化(0000-1001,当下一个技术脉冲到来后,经4511形成复位信号,复位4520,是Q3-Q0又变成了0000)就能懂的。

pic.png (43.48 KB, 下载次数: 187)

pic.png

4520计数器.zip

5.08 KB, 下载次数: 2


作者: suncat0504    时间: 2019-6-14 21:53
楼主知道与非门的作用,就没有必要再通过继电器来控制4520复位。因为4520有复位管脚。利用二进制计数的特点,在Q1和Q3同时变成1时,把他们两个的信号做与处理,就会形成1的复位信号。另外,尽量不要把cmos和ttl的芯片一起用。ttl只能工作于5V电压,而cmos的工作电压在3~18之间。所以我给你提供的电路里,使用的都是cmos集成块。
作者: 海阔天空8    时间: 2019-6-18 17:45
Y_G_G 发表于 2019-2-22 10:06
就只说存储器吧.
地址空运行(这是错误的,地址就是地址,不会运行)没有地址空运行这个说法
0000-111 ...

你们理解的单片机我这辈子是学不会了,我也不想学了。我满脑子“似是而非的东西”是可以用实践检验的,如果能达到我“似是而非”的想象也许就是对得呢?至于”自以为是“你们冤枉我了,至于你们的”是“如何能纠正我的非那就是另一个问题了:师者,传道授业解惑,解惑才体现了你们的本事,只有不合格的老师没有不合格的学生!莫生气,我学不学无所谓了。。。。。。,
作者: 海阔天空8    时间: 2019-6-23 21:27
suncat0504 发表于 2019-6-14 21:53
楼主知道与非门的作用,就没有必要再通过继电器来控制4520复位。因为4520有复位管脚。利用二进制计数的特点 ...

问题是TTL电平除发不了4520复位脚
作者: yzwzfyz    时间: 2019-6-24 08:27
脑子蛮灵活的,就是基础没打牢。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1