1.软件及硬件功能分配
明确系统的功能要求以后,就必须对软件和硬件各自完成哪些功能进行分配。通常,对速度要求很高的功能多用硬件完成,而对速度要求不高的场合则尽量用软件实现。此外,还与系统对成本的要求、开发工具,以及单片机的资源配备情况有关。
2.硬件电路设
计硬件设计必须建立在熟悉单片机的片内资源,以及清楚其I/O口的功能分配和电气特性的基础上。
比如说,应清楚I/O口的驱动能力、某I/O口是否能作为双向口、有无中断响应功能等等。
3.软件设计
软件设计是单片机系统设计中工作难度和工作量最大的部分,也是初学者最头疼的地方。在进行软件设计前,设计者只有清楚地了解所选单片机内部的硬件资源及指令系统,才能通过编程有效地调动单片机的片内资源,实现系统所要求的测试和控制功能。
4.软件调试和软硬件联调
编制的程序能否实现预想的功能要通过实践的检验,软件调试是分阶段检验程序的过程,软硬件联调是检验程序能否与硬件系统有机结合的过程。
软硬件联调需要借助于单片机开发工具,用一个具体的、编制了正确程序的单片机对系统进行控制,该单片机系统是透明的,其片内资源的状况以及程序执行后的结果,都可以通过电脑观察到,同时该单片机又是可控的,使用者可以直接修改相关的寄存器的内容,改变程序运行的结果,其次,该单片机内的程序可以用多种方式运行,以方便使用者分阶段或整体地检测程序运行的情况。对于这些开发工具,我们统称为仿真器。
5.程序固化
程序固化是将在仿真器中调试通过的程序写入到真实的单片机的过程。要将程序写进单片机,必须按照单片机规定的时序把指令一条一条地送到单片机相关口线上去,并检验写入的指令是否正确。这些工作是由专门的写入工具,也就是写入器来完成的。