Ⅰ 程序和电路的关系
1、电路编程(设计)与软件编程的区别表面上看只是一个图形形式,一个是文字形式;但实质上有很大的不同。
2、计算机编程实际上是“按步骤解决问题”:把解决问题的方法分成若干的大步骤,每个大步骤又分为若干个小步骤,一直分下去,直到分不可分;然后计算机就按照步骤来一丝不苟的执行。这种“按步骤解决问题”的思路很利于执行。
3、与计算机编程不同,电路是连续工作的,没有“步骤”一说。数据(电流或电压)持续的流入一个器件,经过一个器件加工后,又流出这个器件。例如放大器,会只要通电,就会持续不断的对输入信号放大,在工作范围内,输出信号一直与输入信号成正比或反比。数字电路同样如此,例如二输入与门,其输出信号时时刻刻是两个输入信号的与。即使有时钟参与的时序数字电路,可认为时钟也是一个输入信号,同样脱离不了上述规律。即使不把时钟当作输入信号,时序电路也没有“步骤”,只是信号处理不再是连续的,而是离散的而已。
4、综上所述,计算机编程关注的是解决问题的步骤。如果步骤太多(程序规模较大),则编程时很容膝疏忽某些步骤,造成程序隐含的BUG。而电路设计关注的是数据流动,每个器件都对数据进行特定的处理,数据按照指定的方式路径流过这些器件后,自然就解决了要解决的问题。因此,电路的行为比计算机编程更容易预测,更容易理解,也就更不容易出错。计算机领域中,硬件发展的速度远高于软件发展的速度就很好的证明了这一点。
Ⅱ 程序是怎么控制电路的
确实很复杂,但是也很简单。
1 程序编写完运行时需要一个或多个条件来触发电路通断内。比如到时间容关机就是一个条件。
2需要有一个接口电路来翻译软件想要干嘛然后发出信号给驱动电路来实现电路通断。比如接口卡。没它就不能控制外部电器。
3有时还需要测量外部参数,如温度 压力等。有的接口卡集成了这些功能。
单片机系统集成了所有这些,软件固话在单片机里面运行,发出指令,译码电路翻译成电信号给驱动电路,驱动电路(有时需功率放大)推动继电器或其他控制元件完成任务。