单片机技术是一门实践性很强的软硬件结合的技术。无论是程序设计方法,还是硬件结构,都必须通过大量的实践才能理解、掌握。单片机的实践主要包括编程练习和硬件实验,编程练习需要使用有关开发软件,而硬件实验需要准备基本的实验板。
单片机软件的开发过程是先编写程序,再进行编译、仿真和调试,然后用编程器(烧录器)将程序写入单片机。
Keil C51软件是德国Keil 公司开发的51系列单片机编程软件,它采用目前流行的集成化开发环境,集编辑、编译和仿真于一体,界面友好,易学易用。在该软件中,用户可以编写汇编语言或 C语言源程序,并可利用该软件将源程序编译生成单片机能够运行的十六进制文件。图1-6所示为Keil C51的工作界面。
图1-6 Keil C51的工作界面
为了验证所编译程序的正确性,传统单片机学习与开发往往采用软件仿真和硬件仿真两种形式,软件仿真只能验证程序的正确性,不能仿真具体硬件环境;利用仿真器进行硬件仿真,硬件仿真功能有限。Proteus是英国Labcenter Electroncis公司研发的模拟电路、数字电路、模/数混合电路的设计与仿真平台,是目前世界上最先进的单片机和嵌入式系统的设计与仿真平台。它真正实现了在计算机上完成从原理图与电路设计、电路分析与仿真、单片机系统测试与功能验证到形成 PCB的完整的电子设计、研发过程,为单片机教学改革提供了很好的新思路。
图 1-7所示是 Proteus软件仿真数字电压表的运行效果。为了降低学习成本,本书不介绍仿真器对程序的仿真,而主要介绍 Proteus软件的仿真方法,可以达到几乎和仿真器一样甚至更好的仿真效果。
图1-7 数字电压表的Proteus仿真效果
程序经仿真确定无误,就可以用程序烧录器(编程器)将程序写入单片机了,这就需要借助相关的烧录软件才能进行。市场有多种程序烧录器,烧录软件在购买烧录器时都会附带。
学习单片机当然离不开硬件实验,这需要两个必不可少的条件:一是编程器;另一个是单片机实验板。
当程序在实验板上仿真无误后,就需要一个专门的工具––––编程器,将程序代码“烧”写入单片机芯片,这是单片机开发的最后一道工序。
A51编程器支持目前最为经典和市场占有量最大的 Atmel公司生产 51系列的AT89C51、AT89C52、AT89C55、AT89C1051、AT89C2051、AT894051和最新的AT89S51、AT89S2等单片机,并且价格低廉,非常适合于 51单片机的初学人员。图 1-8所示是 A51编程器的外形图。A51编程器具有如下特点:
(1)使用串口通信,芯片自动判别,编程过程中的擦除、烧写、校验等各种操作完全由编程器上的监控芯片 AT89C51控制,不受计算机配置及其主频的影响,因此烧写成功率可以高达到100%。烧写速度很快,并且与计算机的档次无关。
(2)采用 57600bit/s高速波特率进行数据传送,编程速度可以和一般并行编程器相媲美。经测试,烧写一片4KB ROM的AT89C51仅需要9.5s,而读取和校验仅需要3.5s。
(3)体积小巧,省去笨重的外接电源适配器,直接使用 USB端口 5V电源。携带方便,非常适合初学者学习51单片机。
(4)功能完善,具有编程、读取、校验、空检查、擦除、加密等系列功能。
(5)采用优质万用锁紧插座,没有接触不良等问题,可烧写 40脚单片机芯片和 20脚单片机芯片。
(6)改进的烧写深度确保每一片C51系列芯片的反复烧写次数都能达到1000次以上,内部数据至少保存10年。
图1-8 A51编程器的外形图
为了看到单片机的真实运行效果,提高动手能力,必须利用单片机实验板进行基本实验,如 LED流水灯、数码管显示、键盘控制、音乐播放、继电器控制、I 2 C通信实验、液晶显示实验、串口通信实验、红外线遥控信号解码实验等。这是学习单片机程序设计和掌握单片机应用技术的必备条件,也是进一步开发单片机高级应用程序的基础。