代码是如何驱动硬件的?
这个十六进制代码它的每一个字节都有其特定的含义,比如数据程度,起始地址,数据类型等信息,而并非机器语言,那么这里为什么不直接生成二进制代码呢?
这个十六进制代码它的每一个字节都有其特定的含义,比如数据程度,起始地址,数据类型等信息,而并非机器语言,那么这里为什么不直接生成二进制代码呢?
我们说HEX代码自带校验位,在编译的时候能检验代码是否有错误,能够为代码的传输,存储带来便利,而二进制代码却没有这个功能,通过程序烧写,
我们把十六进制的代码转换成二进制的代码,这样CPU(单片机)就能识别了,那么CPU如何执行二进制的代码呢?
我们可以简单的把CPU看作是海量的开关组合,这个开关由三极管组成。
我们追溯计算机的发展历史,人类的第一台万用型计算机马克一号,它拥有三千多只继电器,这也是它的核心零部件,所以它也被称作为继电器计算机,继电器在这台计算机中的作用就是开关,而现在我们使用三极管来代替它,它们的原理是一样的,CPU是由工程师精心设计的,
且规模庞大的开关组,当给这个开关组输入一组特定的高低电平组合时,就会导致其内部出现复杂的开关动作,最终产生另一种高低电平的组合作为输出,输出的电平经过放大电路,模数转换电路等变换之后,就可以驱动相应的硬件动作。