1.5 单片机应用开发资源
单片机是一个具有微机含义且功能强大的芯片,但它毕竟是一个芯片,在构成一个单片机应用系统时需要解决以下问题。
1)硬件电路设计环境。首先通过电路设计环境实现电路原理图设计,包括连接输入、输出接口电路,实现对外部设备的控制(如键盘、LED显示器)等,为电路仿真调试及PCB设计提供支持。
2)编辑用户程序及下载。单片机芯片一般不具有控制程序,用户程序依赖于外部软件编辑、编译后,通过软硬件环境下载到单片机的存储器中。
3)仿真调试。为了保证单片机软硬件设计的可靠性,减少调试过程中软硬件修改的烦琐,可以首先对单片机软硬件进行仿真调试。
4)在仿真调试成功的基础上再进行脱机运行调试。
完成以上功能所需要的软硬件资源称为单片机开发资源。
常用的单片机开发资源包括单片机开发板(也可以自制)、Keil单片机集成开发环境、Proteus仿真软件、ISP下载软件及Protel原理图及PCB设计软件等。
1.单片机开发板
单片机开发板是用于学习51、STC、AVR、ARM等系列单片机的实验设备,用户可以根据选用的单片机芯片系列选用相应的单片机开发板。
(1)单片机开发板主要功能
1)与上位机通信。可以与上位机进行通信,以完成程序下载及调试功能。
2)单片机应用电路实验。在开发板中完成单片机课程实验项目及所需求的一般开发设计功能。
3)作为主控系统。由于当前单片机开发板品种繁多,有单片机最小开发系统,一直到功能强大的资源配备系统,用户可以根据需求直接选用单片机开发板作为主控系统。
(2)单片机开发板主要组成
1)硬件资源。主要包括单片机芯片及接口电路、键盘、显示器、SD卡、A-D及D-A转换、传感器(变送器)、外部通信电路、可编程扩展芯片及控制端口等。
2)软件资源。一般开发板都可以实现与上位计算机通信,进行程序下载及调试。
性能优良的开发板配备各种常用实验需求的汇编源程序及C51语言源程序代码、电路原理图、PCB电路图、实验手册、使用手册及单片机开发板的详细讲解视频等学习资料,方便读者自学使用。
2.Keil集成开发环境
KeilμVision开发环境是德国Keil Software, Inc. and Keil Elektronik GmbH开发的微处理器开发平台,可以开发多种51单片机程序。
Keil Ax51编译器支持对8051及其兼容产品的所有汇编指令集,Keil Cx51编译器兼容ANSI C语言标准,由于其环境和Microsoft Visual C++环境类似,所以赢得了众多用户的青睐。
Keil Ax51的主要功能如下。
(1)源代码编辑、编译
可以对51单片机汇编语言程序代码和C51程序代码编辑后进行编译,编译后产生4个文件:列表文件(.LST)、目标文件(.OBJ)、Intel HEX文件及程序源代码文件等。
(2)仿真调试
程序编译后对源程序进行仿真调试,可以全速运行、单步跟踪、单步运行等。
(3)仿真联调
可以与仿真软件Proteus进行软硬件仿真联调,达到在调试中修改程序和电路仿真同步进行。
3.Proteus仿真软件
Proteus软件是英国Lab Center Electronics公司开发的EDA工具软件。该软件已有20多年的历史,用户遍布全球50多个国家,是目前功能最强,最具成本效益的EDA工具。
软件支持从电路原理图设计、代码调试到处理器与外围电路协同仿真调试,并且能够一键切换到PCB设计,使电路原理图与PCB设计无缝连接,真正实现了从概念到产品的完整设计,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其支持的处理器模型有51系列、HC11系列、PIC、AVR、ARM、8086以及MSP430等
该软件受到单片机爱好者、从事单片机教学的教师及致力于单片机开发应用的研发人员的青睐。
4.ISP下载
ISP(In-System Programming)即在线系统编程,是无需将存储芯片(如EPROM)从嵌入式设备上取出就能对其进行编程的。
在线系统编程需要在目标板上有额外的电路完成编程任务。其优点是,即使器件焊接在电路板上,仍可对其(重新)进行编程。在线系统编程是Flash存储器的固有特性(通常无需额外的电路),Flash几乎都采用这种方式编程。
ISP下载线就是一根用来在线下载程序的线,类似USB线,但不一样。
5.Protel软件
Protel软件的主要功能是电路原理图及PCB设计,工程中常用的版本有Protel 99 SE、Protel DXP、Protel designer。
Protel 99 SE是一个Client/Server型的应用程序,它提供了一个基本的框架窗口和与Protel 99 SE组件之间的用户接口。在运行主程序时各服务器程序可在需要的时间调用,从而加快了主程序的启动速度,而且极大地提高了软件本身的可扩展性。Protel 99 SE主要功能模块包括电路原理图设计、PCB设计和电路仿真。各模块具有丰富的功能,可以实现电路设计与分析的目标。