软件如何控制硬件
软件在工作的时候也是实体,软件的实质就是电流信号,用电压的高低代表不同是信息,用这些电流信号去控制逻辑电路的通断,靠逻辑电路的通断来控制硬件的工作。
说到底软件就是起到一个开关信号的作用,开关要工作,必需保证硬件是加电的,没有接通电源的硬件是无法用软件来控制的。就好比没有插上电源的台灯,你怎么按开关都是不会亮的。
任何软件在运行前都要有一个将其转化为电流信号的实体化过程,你写在纸上的软件代码是永远也不能控制硬件的。早期电脑用人工接线输入程序,相当于用人体的力量将软件代码实体化为电信号;现在我们用的软盘、硬盘是通过磁头将程序代码转化为电信号,光盘需要通过光头将程序代码转化为电信号等等。
操作系统和驱动程序在其中起到什么作用?
操作系统:你进行的操作(例如QQ、音乐、视频、游戏等)都必须有操作系统的支持。所以说,操作系统是计算机里最接近计算机硬件的、最重要的软件!操作系统传统的定义是:操作系统是控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用。
驱动程序(Device Driver)全称为“设备驱动程序”,是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。
正因为这个原因,驱动程序在系统中的所占的地位十分重要,一般当操作系统安装完毕后,首要的便是安装硬件设备的驱动程序。不过,大多数情况下,我们并不需要安装所有硬件设备的驱动程序,例如硬盘、显示器、光驱、键盘、鼠标等就不需要安装驱动程序,而显卡、声卡、扫描仪、摄像头、Modem等就需要安装驱动程序。另外,不同版本的操作系统对硬件设备的支持也是不同的,一般情况下版本越高所支持的硬件设备也越多,例如笔者使用了Windows XP,装好系统后一个驱动程序也不用安装。
硬件的含义太广了,比如CPU、声卡、显卡、LED灯、蜂鸣器等都算是硬件。
每种硬件都有不同的运行方式。
比如最简单的一个LED灯,它有两个引脚,其中一个引脚接限流电阻,限流电阻另外一端接电源,LED灯的另外一个引脚接到CPU的控制引脚上。这样,CPU的控制引脚是高电平的话(等于电源电压),灯是灭的,如果是低电平的话(一般为0V),灯是亮的。
至于如果使用软件来控制CPU的引脚,一般都是使用P口控制,在软件和编译程序中定义了P口对应的寄存器,一个寄存器定义了多个引脚。改变寄存器的值,就改变了引脚上的电平。
以上是最简单的原理。
至于更复杂的硬件,那么控制起来将有更多的考虑
总体来说,软件能够控制的是寄存器,一个或多个寄存器控制CPU引脚,CPU引脚与其它硬件相连接,通过一系列的引脚电平变化来控制其它硬件。
驱动程序在操作系统的处理下,变成CPU看得懂的10010100100101(二进制数),然后CPU根据驱动程序的指令,协调各硬件工作。CPU与各硬件之间的通信当然也是二进制数。
你的问题很怪异啊 什么叫软件如何驱动硬件工作 下载个驱动安装就可以了啊
去驱动之家可以找到硬件配套的驱动