购物车0种商品
IC邮购网-IC电子元件采购商城
机器语言是如何成为高低电平的
(2011/10/19 9:04:00)
高级语言编译成机器语言后,将这些机器语言存于存储器中,然后按顺序输出高低电平,实现用户的要求。。。我的问题是机器语言是怎么存进存储器中的,也就是说机器语言怎么变成高低电平进入存储器的。。 也就是说机器语言的1010这一堆数字必须要变成高低电平才能存进存储器,从而被cpu读取,我就是想知道机器语言的1010这一堆数字是怎么变成高低电平的。

网友评论:这些状态的读取写入都是靠一些电路实现的,具体是什么电路,实现的电路原理,这个就不大清楚了!

网友评论:烧录器有自己的软件,用软件打开你要烧入的代码,烧录器不就知道了?然后根据不同的单片机选择不同的算法进行烧录。

网友评论:
这些状态的读取写入都是靠一些电路实现的,具体是什么电路,实现的电路原理,这个就不大清楚了!
yzs0126 发表于 2010-8-5 17:16
嗯嗯,确实,这方面资料网上找不到,教科书上也没找到啊,估计只有cpu设计者才知道吧

网友评论:
嗯嗯,确实,这方面资料网上找不到,教科书上也没找到啊,估计只有cpu设计者才知道吧
qcmc 发表于 2010-8-5 17:19
书上都有.就是你不知道而已.

压控流源.
mos管.
你这些不懂,就别想了.
电压/电阻=电流.你初中没毕业啊.

网友评论:世界上那么多单片机,教科书上怎么可能都有呢?
每种单片机的烧写算法都是不一样的。

网友评论:
书上都有.就是你不知道而已.

压控流源.
mos管.
你这些不懂,就别想了.
电压/电阻=电流.你初中没毕业啊.
icecut 发表于 2010-8-5 17:22
你没看明白我的意思,二进制数怎么变成电压的啊。。。你知道你说说哟

网友评论:
你没看明白我的意思,二进制数怎么变成电压的啊。。。你知道你说说哟
qcmc 发表于 2010-8-5 17:27
二进制数是我们描述的方式,其实在电路中他是对应一种状态的,这种状态是规定好的,通过电路产生和识别的。

网友评论:二进制数无论如何也是变不成电压的。我一天能写(包括复制粘贴)好多二进制数,如果能变成电压的话,还要发电站干什么?

网友评论:
二进制数无论如何也是变不成电压的。我一天能写(包括复制粘贴)好多二进制数,如果能变成电压的话,还要发电站干什么?
ZRL700424 发表于 2010-8-5 17:33
我的意思是对应成电压信号

网友评论:LZ真够纠结……
可以形象的的比喻为
一个存储器里是有无数个可以长时间保持电量的电容
1,也就是高电平,那么就对那个电容充电,怎么充电不用说吧?
0,……
这也就是为什么,有些存储器的内容会丢失
因为里面的电容的电量放干净了……

网友评论:
我的意思是对应成电压信号
qcmc 发表于 2010-8-5 17:34
呵呵 楼主 有人被你激怒了!别钻再牛角里出不来 二进制数就是对应两种电压状态,能量是有外部电源提供,具体的电压值的产生与读取是通过电路实现的

网友评论:
二进制数是我们描述的方式,其实在电路中他是对应一种状态的,这种状态是规定好的,通过电路产生和识别的。
yzs0126 发表于 2010-8-5 17:33
有点意思了,是不是编译机器代码就是把这种电路状态给确定下来,这个电路状态的能量来源就是我们写程序敲击键盘时产生的高低电平。

网友评论:
我的意思是对应成电压信号
假如人家单片机规定1表示高电平,0表示低电平,不就对应了?

网友评论:编译机器代码?

网友评论:
假如人家单片机规定1表示高电平,0表示低电平,不就对应了?
ZRL700424 发表于 2010-8-5 17:40
人家单片机只认识电,你是二进制数,怎么让这个数变成单片机认识的电。

网友评论:我的水平很菜,所以一般高手听不懂的话我一般都大概知道是什么意思(虽然不知道答案),可以翻译成高手们能听懂的话,但这次没办法了,不知道楼主是真糊涂还是装糊涂。

网友评论:
人家单片机只认识电,你是二进制数,怎么让这个数变成单片机认识的电。
qcmc 发表于 2010-8-5 17:42
不是跟你说了吗?烧录器就是干这事的啊

网友评论:
编译机器代码?
ZRL700424 发表于 2010-8-5 17:41
口误,应该是“编译成”

网友评论:
呵呵 楼主 有人被你激怒了!别钻再牛角里出不来 二进制数就是对应两种电压状态,能量是有外部电源提供,具体的电压值的产生与读取是通过电路实现的 ...
yzs0126 发表于 2010-8-5 17:38
呵呵,啥也不说了,哥们

网友评论:楼主,建议你出点小钱找人搞定,不是贬你,而是人各有各的专业,单片机上你重新研究很费时间。

网友评论:

早些年的时候,输入程序是用纸带的,它就是一个外部存储器。纸带上按照相等的间隔划分,如果在该间隔内打孔,表示0,不打孔表示1,这就是对存储器进行编程,也就是把01数据写到纸带(存储器)中去了。计算机运行时,从纸带(存储器)上读取这些01(当然需要给计算机提供能量了,即供电),然后就可以根据这些数据进行相应的操作了。

纸带是最容易理解的存储器了。另外还有磁带,根据磁带上不同区间的磁化强度和方向不一样,可以存储信息。这些信息是怎么写进去的呢?当然是由外部磁场了,只不过它是用机器写进去的,你也可以考虑用个小磁铁,人工一点点写进入,其实没啥区别,就是没机器快、准而已。磁盘、硬盘等,都是和磁带类似的原理,用磁场存储信息。

对于一些ROM芯片,编程时可以用电荷存储信息,也可以用通断来存储信息。简单点的,就是容丝型的ROM,这种芯片刚出产时,里面所有的小金属丝都是连通的(即所有的开关都处于闭合状态,假设为1)。当对其进行编程时,可以给部分小金属丝加上较大的电流,使小金属丝熔断(就象保险丝那样,被熔断),被熔断的金属丝就相当于一个处于断开状态的开关(假设为0),就这样,把0101数据写到存储器中去了。当给编程好的存储器通电后,它就可以根据开关的状态,输出高低(即10)电平了。

对于一个锁存器,好比是通过一个继电器它用自己一个触点来维持自己的吸合,一旦该继电器吸合后,电源就通过吸合的触电继续给线圈供电,继电器就会一直处于吸合状态,直到电源中断为止。这样,就构成了一个bit的RAM,给个信号让它吸合,它就会一直吸合,给个信号叫它断开,它就一直处于断开状态。它就具有了记忆的功能,并且可受外部的控制。

不知道这样说楼主能理解了不?

网友评论:
楼主,建议你出点小钱找人搞定,不是贬你,而是人各有各的专业,单片机上你重新研究很费时间。
NE5532 发表于 2010-8-5 19:40
什么贬我,这个没看明白。

这个问题应该是微电子方面的知识,与运用单片机做产品关系不大,也是不需要了解的,我也是临时想到问问罢了。有人知道就正好学习下,没人知道就算了,我也不是重新研究。

网友评论:
早些年的时候,输入程序是用纸带的,它就是一个外部存储器。纸带上按照相等的间隔划分,如果在该间隔内打孔,表示0,不打孔表示1,这就是对存储器进行编程,也就是把01数据写到纸带(存储器)中去了。计算机运行时, ...
computer00 发表于 2010-8-5 19:54
存储器知道的,数电里面有

网友评论:
呵呵 楼主钻研精神可嘉啊 这个问题我想很多人都没有仔细去考虑过吧!其实这个关键应该是存储器的原理,存储器的接口电路接受到外部的一个规定的电压状态,会往对应的地址写入1或0,这个1对应了某种电气状态,即接口 ...
yzs0126 发表于 2010-8-5 16:57
非常支持yzs0126的讲法,也是楼主想要的答案吧

网友评论:感谢 computer00 ,我也理解了~~~

网友评论:我以为你是菜鸟,如果不是的话,可能是你想复杂了,见谅哈。其实0和1是硬件行为,如果用单片机实现,就是单片机对端口的一些列有序操作的集合,而程序是指导单片机进行这一系列有序操作的源泉,所以是单片机端口在程序的“指导”下进行的这一系列有序操作组合,形成了端口上的01电平序列。

网友评论:中国的教育,唉,,,,

网友评论:一般用刷写器写进ROM里 或者有些51单片机自己有程序写入接口 可以连电脑的COM口直接刷写

网友评论:规定龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚

明白了?.1就是5v.0就是0v.
如果1就是0v0就是5v这个也行,只不过不是业界标准.

网友评论:
我以为你是菜鸟,如果不是的话,可能是你想复杂了,见谅哈。其实0和1是硬件行为,如果用单片机实现,就是单片机对端口的一些列有序操作的集合,而程序是指导单片机进行这一系列有序操作的源泉,所以是单片机端口在程 ...
NE5532 发表于 2010-8-6 12:36
你看得明白我说什么吗

网友评论:
规定龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚龟腚 ...
icecut 发表于 2010-8-6 15:53
1就是5v或者0就是5v。停电了,你对着你的泡大声叫1或者0,你家的灯泡就亮了。呵呵,玩笑玩笑。
如果连1和0是定义的高低电平都不明白还来注册21ic?

你明白我要问什么吗

网友评论:我确实看不懂你想问什么,下面两个问题可能是你想问的

A.如何让单片机发送需要的电平序列
B.程序是如何转化为数据并进而存储在单片机内的ROM中的

网友评论:好好看看数电吧

网友评论:其实楼主的问题是因为楼主自己想多了,
其实你的语言在你用键盘输入的时候,就已经变成高低电平了,借助于键盘和鼠标上的机械按键,
从此之后,至于编译啊,烧录啊,就只不过是电平转换的问题了,但是也没离开高低电平的概念。
你在屏幕上看见的字,也都是通过高低电平转换和传输得来的。

网友评论:我觉得很多人都没能真正明白楼主的意思,我觉得可以从两个方面考虑:锁存器的原理;
另一个,当单片机POWER ON 的时候,或RESET的时候,启动了最初的信号,以此触发到后来存储器里的电平状态(信号);存储器里信号电压,表征了程序所反映的逻辑。

不知道我的理解对不?请指正

网友评论:我觉得很多人都没能真正明白楼主的意思,我觉得可以从两个方面考虑:锁存器的原理;
另一个,当单片机POWER ON 的时候,或RESET的时候,启动了最初的信号,以此触发到后来存储器里的电平状态(信号);存储器里信号电压,表征了程序所反映的逻辑。

不知道我的理解对不?请指正

网友评论:
我觉得很多人都没能真正明白楼主的意思,我觉得可以从两个方面考虑:锁存器的原理;
另一个,当单片机POWER ON 的时候,或RESET的时候,启动了最初的信号,以此触发到后来存储器里的电平状态(信号);存储器里信号 ...
wangved 发表于 2010-8-7 09:08
存储器里哪里有电平状态啊,只有程序,电平是由程序产生的。

网友评论:
存储器里哪里有电平状态啊,只有程序,电平是由程序产生的。
NE5532 发表于 2010-8-7 10:39
电平状态是微观的,属于物质类,主要是和底层硬件打交道。

电脑程序是宏观的,属于抽象类,主要是便于人们记忆和分析。

存储器里的电平变化决定了其记忆状态,从本质上讲,存储器里只有电平状态,而存储器里存储程序之说法,只是简化模型结构,便于人们记忆和分析。

网友评论:或者说:
搞芯片设计的,关心的是存储器里的电平变化。
搞芯片应用的,关心的是存储器里的程序。

网友评论:看看《计算机原理》之类的书吧

网友评论:
电平状态是微观的,属于物质类,主要是和底层硬件打交道。

电脑程序是宏观的,属于抽象类,主要是便于人们记忆和分析。

存储器里的电平变化决定了其记忆状态,从本质上讲,存储器里只有电平状态,而存储器里存储 ...
xuyiyi 发表于 2010-8-7 11:18
电平是硬件对逻辑的表达哈,存储器里只是靠电荷(例如FLASH)或其他物理方法(如铁电)来表达BIT序列,BIT序列只有经过单片机的解释(指令解码和运行),对端口进行顺序操作,才表现为芯片外部可以用示波器来观察的0、1电平哈。

网友评论:楼主就是个懒蛋,数电根本没看

网友评论:看完数电还不明白就看计算机体系结构

网友评论:
电平是硬件对逻辑的表达哈,存储器里只是靠电荷(例如FLASH)或其他物理方法(如铁电)来表达BIT序列,BIT序列只有经过单片机的解释(指令解码和运行),对端口进行顺序操作,才表现为芯片外部可以用示波器来观察 ...
NE5532 发表于 2010-8-7 11:30
触发器就是最原始的一位存储器!

常用的D型触发器、JK型触发器或T型触发器都可以用来存储电平0或1,很早以前俺用D型触发器搭过一个4bit的存储器,用于一位机的中间运算变量暂存。

网友评论:来踢馆的……
鉴定完毕!

网友评论:LS说的对

网友评论:楼主早跑得无影无踪了,你们还在热烈地讨论!
其实你们谁都不明白楼主想问什么,或许他自己现在已经明白自己想问的问题了,或许到现在为止他还是没明白自己想问的问题。

网友评论:ding

网友评论:楼主先去看看数电中有一章是专门讲存储器的结构的,也许能找到答案

网友评论:他是放在移位寄存器里的。

网友评论:你问的问题很细致,像我一般知道个原理就行了,至于在电气上是如何实现的,确实没有仔细想过、
向楼主学习

网友评论:我的问题是机器语言是怎么存进存储器中的,也就是说机器语言怎么变成高低电平进入存储器的。。
------------------------------------------
机器语言为一串01010101010...,代表高低电平,编译器把代码编译成为机器语言之后,通过烧录器被烧到存储器中;至于如何烧,可看存储器的构造原理、烧录驱动;


也就是说机器语言的1010这一堆数字必须要变成高低电平才能存进存储器,------------------------------------------------------
1010...代表高低电平了,存进存储器的时候,烧录程序读当前数据,根据当前值为0或者1来改变存储器某位置的状态(高或低)


从而被cpu读取,我就是想知道机器语言的1010这一堆数字是怎么变成高低电平的。 -------------------------------------------------------------
可参考烧录器驱动程序

网友评论:就是控制开关的闭合与断开,可以把单片机看成简单的开关(虽然单片机内部不是这样简单的结构),给单片机高电平开关闭合输出高电平,反之,输出低电平。微控制器内部结构不是几小时能说得清的,毕竟他积累了60几年的电子技术,咱们只要理解他的工作原理学会则、么用就行了。

网友评论:都没有回答出该问题的本质答案。

网友评论:这个估计数电里面不会有了,估计要去读下数字集成电路设计了。。

网友评论:
有点意思了,是不是编译机器代码就是把这种电路状态给确定下来,这个电路状态的能量来源就是我们写程序敲击键盘时产生的高低电平。
qcmc 发表于 2010-8-5 17:39
楼主是个打字发电机,敲击键盘就能产生高低电平,还能把代码写入单片机
以楼主这个看过,那个读过来说,估计只有这样说才能楼主理解

网友评论:个人觉得楼主是搞不明白数据形式的信息(01)怎么可以和能量形式的信息(高低电平)等同吧!
一是信息组成的问题,机器语言0101是人为了更加好的描述电路中两种状态而创造的数学描述,你可以用ABAB来描述也行,你可以看作是二进制,也可以看作是状态描述,其本质是没有变的。而将状态的排列组合定义成一种信息,这就成了机器语言。就好像汉字里的笔画构成语言,英文中的字母构成语言。
二“机器语言的1010这一堆数字”这一堆数字如果是在你脑海里的话就是你脑细胞储存的状态的体现,敲进键盘时就是转化为键盘电路中的高低电平状态,进入储存器就是前面高手说的开关状态,这时你也可以理解成是机器语言0101的一堆数字。信息在这个其中都没有发生变化,变化的只是表达的形式。

网友评论:LZ问机器语言的1010这一堆数字是怎么变成高低电平的?
1.0和1就是表示高低电平,0和1只是只是一个符号而已,当然你可以选择其他的符号来表示。0和1是规定的表示法了!
2.我们称之为0和1的机器语言,在机器内部就是电压和电流。比如:一般可以将0~2V左右的的相对低一点的电压规定为0,将3~5V的相对高一点的电压规定为1.若越接近0v,这个0越明显;越接近5v,这个1越明显了~
3.存储器里面就是存储就是这些电气性质不等的电压,我们称之为0和1的东西,读取的时候,按照一定的算法读取,是接近高电压的是1,接近低电压的是0.
以上就是我个人的理解,不知道对不对,欢迎大家批评指正!

浏览:(8752)| 评论( 5 )
博文评论
0:2014/3/8 4:55:00
朋友,你在输出上看到的图形,文字,都是光点的集合,光点组成的数字1和0不是高低电平。所有眼睛能看到的都是光的集合反到眼里的,还有那些看不到的。比如,你在白色上用黑笔写上一个1,那么纸上所有你能看到的数字和白纸都是光子的集合反到眼里的,能理解吗?
0:2014/3/8 4:54:00
朋友,你在输出上看到的图形,文字,都是光点的集合,光点组成的数字1和0不是高低电平。所有眼睛能看到的都是光的集合反到眼里的,还有那些看不到的。比如,你在白色上用黑笔写上一个1,那么纸上所有你能看到的数字和白纸都是光子的集合反到眼里的,能理解吗?
0:2014/3/8 4:42:00
个人见解:晶振通电后,与电子发生反应,产生振动,形成振动频率,经过晶振的电流越稳定,晶振通电后的振动频率也越稳定。至于电流大小的控制,也就是高低电平,是电子对颗粒物质作用出来的,要达到这样的工艺,我国在这块还有待加强。
ding:2012/12/7 14:55:00
dingdingding
建议:2012/11/27 11:24:00
实际这个问题可以到《EDA》这本书中得到答案,里面有FPGA、CPLD两种可编程逻辑器件,也就是可以多次读写的存储器,里面对这种器件有介绍的。

  • 昵 称:
  • 内 容:10~250个字符
  • 验证码: 验证码看不清楚?请点击刷新验证码
  •                      
  • 博文分类

    热点博文

    最新博文

    最新评论

    IC电子元件查询
    IC邮购网电子元件品质保障