打印

机器语言的1010这一堆数字怎么变成高低电平的

[复制链接]
30092|120
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qcmc|  楼主 | 2010-8-4 15:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      高级语言编译成机器语言后,将这些机器语言存于存储器中,然后按顺序输出高低电平,实现用户的要求。。。我的问题是机器语言是怎么存进存储器中的,也就是说机器语言怎么变成高低电平进入存储器的。。       也就是说机器语言的1010这一堆数字必须要变成高低电平才能存进存储器,从而被cpu读取,我就是想知道机器语言的1010这一堆数字是怎么变成高低电平的。

相关帖子

沙发
NE5532| | 2010-8-4 17:01 | 只看该作者
电平只出现在端口上,数据在存储器中。不是一个概念,单片机的任务是照你说的去做,就是设置端口的高低电平。

使用特权

评论回复
板凳
欧阳青云| | 2010-8-4 17:20 | 只看该作者
可以去看下模电和数电

使用特权

评论回复
地板
qcmc|  楼主 | 2010-8-5 12:51 | 只看该作者
本帖最后由 qcmc 于 2010-8-5 12:56 编辑

数电里面好像没有说得很具体,只是说机器语言1010就是代表高低电平,至于说编译后产生的机器码1010是怎么变成高低电平的没有说,莫非只有做cpu的厂家才知道?
  我看了一下数电和计算机原理,都只是说了机器语言1010就是代表高低电平,都没有说是怎么转换过来的,不知道有没有这样的书可以解释下啊?

使用特权

评论回复
5
yytdragon| | 2010-8-5 12:55 | 只看该作者
这个问题……
还是去看数电吧……
从第一页开始看

使用特权

评论回复
6
qcmc|  楼主 | 2010-8-5 13:07 | 只看该作者
电平只出现在端口上,数据在存储器中。不是一个概念,单片机的任务是照你说的去做,就是设置端口的高低电平。
NE5532 发表于 2010-8-4 17:01

这位兄弟,你没有看清楚我的问题哦。。。任何高级语言都要编译成机器语言存进存储器中,好让cpu拿来执行,要把机器语言存进存储器中,必然要把机器语言的1010变成高低电平才能存进去啊。。。(存储器的原理)

使用特权

评论回复
7
qcmc|  楼主 | 2010-8-5 13:08 | 只看该作者
这个问题……
还是去看数电吧……
从第一页开始看
yytdragon 发表于 2010-8-5 12:55

看了几遍,还是没有找到答案啊。。。

使用特权

评论回复
8
icecut| | 2010-8-5 13:22 | 只看该作者
1010本来就是高低电平....
根本不是数字.

使用特权

评论回复
9
computer00| | 2010-8-5 13:32 | 只看该作者
01和电路上的两种状态相对应的,是人为规定的。只要是两种不同的状态,都可以认为某种状态是1,另外一种状态是0。
例如高电平为1,低电平为0。反过来也可以。
一旦定义好了0和1,数据和电路上的状态就对应起来了。

使用特权

评论回复
10
qcmc|  楼主 | 2010-8-5 13:47 | 只看该作者
1010本来就是高低电平....
根本不是数字.
icecut 发表于 2010-8-5 13:22

机器语言的1010还是语言吧,既然是语言怎么会是电压或者电流呢?

使用特权

评论回复
11
qcmc|  楼主 | 2010-8-5 13:50 | 只看该作者
01和电路上的两种状态相对应的,是人为规定的。只要是两种不同的状态,都可以认为某种状态是1,另外一种状态是0。
例如高电平为1,低电平为0。反过来也可以。
一旦定义好了0和1,数据和电路上的状态就对应起来了。 ...
computer00 发表于 2010-8-5 13:32

人为规定的我明白,1或者0可以定义成高或者低电平,就是搞不明白定义的1010是怎么变成电压或者电流啊。

使用特权

评论回复
12
new1988| | 2010-8-5 14:09 | 只看该作者
你去看看一下数字电路里面D锁存器那一部分的东西吧!!你就想象存储器中的每一位都是一个D锁存器。

使用特权

评论回复
13
computer00| | 2010-8-5 15:07 | 只看该作者
一个灯泡,有亮和灭两种状态,对应着就是1和0。通过电源开关,就可以控制亮和灭。那我给你一串1和0,你能把它变成灯泡的亮和灭么?就这么简单。可以通过开关来控制电路的状态,来实现0和1到电路状态的转换。如果把灯泡换成继电器,就可以通过它来控制其它的设备了,甚至反过来控制自己。用很多继电器和灯泡,就可以构成一个复杂的逻辑系统。如果再加上一个输入信号(例如一个时钟源),就可以让这个系统自动跑起来。最简单的例如做个流水灯。

使用特权

评论回复
14
qcmc|  楼主 | 2010-8-5 15:46 | 只看该作者
一个灯泡,有亮和灭两种状态,对应着就是1和0。通过电源开关,就可以控制亮和灭。那我给你一串1和0,你能把它变成灯泡的亮和灭么?就这么简单。可以通过开关来控制电路的状态,来实现0和1到电路状态的转换。如果把灯 ...
computer00 发表于 2010-8-5 15:07


这个比喻很好,我的疑问就在于:
      如果用开关来比喻,是用人的手按动开关,使开关动作,使灯泡亮灭;(开关之所以动是因为有手去按它)
      如果用继电器比喻,是有电压加在继电器的线圈,产生磁场,使触电动作,使灯泡亮灭; (继电器之所以动作是因为有电压加在线圈两端)
      那么,机器语言的二进制数怎么就有了能量了,它是软件啊,怎样使得输出了高低电平信号,就好比使“开关动作,使继电器上有了电压”。。。。
      我想二进制数肯定和高低电平信号有个转换关系,我就是想知道是怎么实现的。

使用特权

评论回复
15
qcmc|  楼主 | 2010-8-5 16:30 | 只看该作者
:L,这么纠结,你在芯片内部定义了O,1的状态,OK,让它知道给它1端口要输出高电平,0要输出低电平,这不就是机器语言对应起来了,你要问,这高低电平怎么出来的?芯片内部自身那么多电路,内部电路产生的呗。。。。。L ...
50833713 发表于 2010-8-5 16:10

哈哈,那也是,只有cpu的设计者才知道啊。。。

使用特权

评论回复
16
ZRL700424| | 2010-8-5 16:31 | 只看该作者
机器语言的1010是通过编程器(烧录器)烧进存储器中的

使用特权

评论回复
17
ZRL700424| | 2010-8-5 16:37 | 只看该作者
烧录器没有能量也是烧不进存储器的,所以外部要提供一个正确的电源。

使用特权

评论回复
18
yzs0126| | 2010-8-5 16:57 | 只看该作者
呵呵 楼主钻研精神可嘉啊 这个问题我想很多人都没有仔细去考虑过吧!其实这个关键应该是存储器的原理,存储器的接口电路接受到外部的一个规定的电压状态,会往对应的地址写入1或0,这个1对应了某种电气状态,即接口电路给对应的地址修改了电气状态,然后这种电气状态一直存在于相应的地址中。当被读取的时候,存储器里某个地址的电气状态被接口电路读出,输出了1,接口电路向外输出了一个电压状态,然后被别的部件读取。计算机运行,无非就是数据写来写去的,读来读去的!不知道 大家同意我的看法不?

使用特权

评论回复
19
ZRL700424| | 2010-8-5 17:05 | 只看该作者
这个比喻很好,我的疑问就在于:
      如果用开关来比喻,是用人的手按动开关,使开关动作,使灯泡亮灭;(开关之所以动是因为有手去按它)
qcmc 发表于 2010-8-5 15:46


楼上没明白楼主的意思。

使用特权

评论回复
20
qcmc|  楼主 | 2010-8-5 17:12 | 只看该作者
呵呵 楼主钻研精神可嘉啊 这个问题我想很多人都没有仔细去考虑过吧!其实这个关键应该是存储器的原理,存储器的接口电路接受到外部的一个规定的电压状态,会往对应的地址写入1或0,这个1对应了某种电气状态,即接口 ...
yzs0126 发表于 2010-8-5 16:57

嗯嗯,是这样的,关键是二进制数和电压是如何联系起来的。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

72

帖子

0

粉丝