软件为什么能控制硬件,软件是怎样控制硬件的

有许多方法可以控制软件和硬件 。IO直接控制扩展地址 , PLC、CPLD、FPGA可编程芯片控制CAN、EtherCAT、ISA、PCIE等总线接口 。不管怎么变 , 软件控制硬件 , 离不开电脑的CPU或者MPU 。
芯片为什么能控制家用电器?软件为什么能控制硬件?

软件为什么能控制硬件,软件是怎样控制硬件的


芯片是家电用电的控制中心 , 通过件硬结合来实行控制这里的芯片指的是单片机(MCU) , 是一颗下载了电子工程师编写的控制程序的集成电路 。单片机集成了CPURAMROMIOADC定时器等等功能 , 其实就是一个微型的计算机 , 当然它的运算能力是比较弱的 。家用电器功能主要是用户按键输入控制加热制冷开启风扇声音报警温度检测显示界面等等这些功能 , 本文将通俗的能大家说说芯片是怎么控制家用电器的 。
加热怎么控制?加热需要用到发热管 , 发热管其实就是电阻丝 , 给它通电就会发热对吧?我们可以用一个继电器来控制发热管电源的开和关 , 如下面电路图 , 当继电器K1闭合时 , 发热就会工作 , 而继电器的闭全和断开则由继电器开关控制信号来控制 。当DR为高电平时 , 三极管Q1导通 , 继电器K1闭全 , 发热管就工作了 , DR为低电平 , 但发热管停止工作 。
这个电路中的所有电子元件则称之为硬件 , 控制信号则通过单片机的软件提供 。单片机有什么多引脚 , 最主要是GPIO普通输入输出 , 控制继电器的开关 , 单片机需要输出一个信号对吧?编程时 , 需要把单片机连接继电器开关控制信号(DR)的引脚设置为输出 , 程序按照实现功能输出对应的高电平或者低电就可以了 。比如温度低时 , 输出高电平 , 让发热管加热 , 温度高时 , 输出低电平 , 停止发热管工作 , 这个控制我们可以称之为软件 。
显示怎么实现?显示可以用管码管液晶管示器对吧?以简单的8字管码管为例 , 它其实由7个LED组成一个8的形状再加一个LED作为数码管后面的小数点 , 只要点亮指定的段画就可以形成一个数字 , 比如点亮A/B/C/D/G的位置 , 它就是一个3了 , 对吧?这些组合在一起的LED会有一个公共引脚 , 如果公共引脚为LED的负极 , 则称为共阴 , 公共引脚为LED的正极 , 则称为共阳 。
当然 , 驱动这个数码管也需要一个简单的硬件电路 , 以共阳数码管为例 , 可以用三极管来控制公共端 , A/B/C/D/E/F/G/DP这些段画则单独控制 。至于什么时候谁显示什么数字 , 该点亮哪些段画 , 同样需要软件来处理 , 对吧?比如把温度数据在数码管上显示出来 。按键输入怎么获取?上面两个实例都是输出的控制 , 这里说说怎么获取按键输入 。
下图是单个按键输入的硬件电路 , 按键没有按下时 , Key Input通过电阻R1与VCC连接 , 这时候Key Input是高电平 , 对吧?当按键按下 , Key Input就与GND连通了 , 就变为低电平了 , 对吧?单片机的程序就可以通过读取Key Input位置的电平为判定按键是否按下了 。当然 , 编程的时候 , 需要把单片机与按键连接的引脚设置为输入 。
【软件为什么能控制硬件,软件是怎样控制硬件的】

推荐阅读