仅使用汇编语言,你完全能实现对微控制器的编程,但是,通常这种方式并不被推荐。很多嵌入在设备中工具都能帮助简化编程,它们使用高级语言,可以避免不少设计上的麻烦,即使你已经熟悉这些语言。最好的方法是在一个PC计算机中,建立所有软件,然后将其配置入你的嵌入微计算机中。以下有两个步骤的方法。
首先,在你的PC机上开发,保证软件能在你的微控制器上运行。测试软件,并需要一个独立的程序来模拟目标系统。这个模拟系统仅以软件存在。
模拟
想象模拟系统是一个黑匣子,你将你的控制软件设置的控制变量输入这个黑匣子,然后你能从黑匣子中得出相应变量结果,模拟你出目标系统的传感器中得出的值。
模拟系统通常拥有自己的控制盘柜,你能用以手动方式模拟故障,改变环境状况,等等。记住,所有你的设置,都在改变变量的值,两个程序共享的,同时也在你的PC上运行。
一旦,你确定并仔细地测试过你的控制软件,你已经完成了控制器的设置,你的硬件已经建立,而且连接到你的目标系统的测试版上。
正像你看到的,这
是一个复杂的过程,需要你建立和集成不少独立的元件。要成功地实现这个过程,你需要尽可能得到一切你能得到的帮助。从你准备使用的控制器的制造公司来看,所有主要的半导体公司都提供开放套件软件,帮助你在尽可能减少麻烦的情况下了解整个过程。三个主要的厂商包括:Rabbit 半导体、Fressscale半导体和AMD。
第三代和第四代
你应该计划如何实现你的应用程序,至少使用第三代语言,如C语言。第三代于语言适应性比较强,这种新一代的语言易于理解和编程。汇编语言,属于第二代语言,通常在低级别的机器上运行,并随着目标处理器的不同而改变。当写入汇编语言时,你必须自己追踪所有的寄存器、存储器的地址等。而第三代语言就能解决这类问题。
第四代语言,有时候称其为框架结构,建立抽象的层即可。以NI(National Instruments) 的LabView举例,它能提供目标(被称为虚拟仪器或VI),收集所有通信所需要的的低级代码模块,例如,数据采集卡,或电机。若在某个发电系统中,你能通过建立VI,控制所有的燃气发电机,并从子VI中读取的各个传感器和继电器。
当处理第三代和第四代语言时,你能通过实际的硬件来通信,通过软件驱动器来控制。驱动器是代码模块,通常以第二代语言编写,由生产计算机控制的硬件元件公司编写(如电机的驱动),这样你能在实际应用中正常使用。
如果你已采用第三代语言编写,你不仅包含了相关的驱动库,而且使用硬件制造商提供的高级别的指令。第四代语言,则更为简化。