软件的本质是信息,并且软件存储再flash中,软件中可以包含地址信息和状态信息,并且都可以采用二进制0或1进行表示。而通过电子工程师们硬件电路设计(数字电路)可以用软件逻辑的0或者1等效成电子电路的高电平或者低电平用来驱动电子电路进行相应的逻辑转换工作。相应逻辑相应后的数据0或1可以存储在相应的寄存器中,通过一定的协议,软件可以读取相应寄存器中的数据,这样就实现了软件和硬件之间的互换或者说信息交互。
软件1和0的数据状态-----硬件端口的电平状态
例如8个开关,我们定义开关的开启为1,关闭为0;那么Ox3E就表示0011 1110,对应的第3,第4,第5,第6,第7开关为开启状态。
如软件描述:str P1=0x90 定义P1对应地址为0x90;一般单片机或芯片内部寄存器地址都分配好了,可以查看相应的手册。
这样通过操作寄存器,就可以控制硬件对应引脚的高低电平;更进一步,人们设计了更上一层的语言,通过高级语言或者库函数就可以间接控制操作寄存器。用户根本不需要了解寄存器地址。
在此核心基础上,人类构建了广阔的信息系统,通过软件对相应硬件进行控制。