PIC单片机实训装置设计
2016-10-25江超,景妮琴,韩伟
PIC单片机实训装置设计
单片机教学现状
单片机课程是电子专业的核心专业课。传统的单片机教学:理论讲解+实验箱验证。实验箱的硬件电路模式固定,只需要用导线简单连接,再将目标程序载入单片机就可以观察到实验结果。实验过程中,人对硬件电路的操作空间十分有限,面对一堆电路,学生很难对自己所用的电路有一个非常直观的认识。另外实验箱成本高,浪费也大,实验箱电路一般比较繁杂,一旦出现故障,很难维护,有问题的实验箱通常会被搁置起来等着报废,使得资源无法充分利用。
PIC单片机
PIC单片机是Microchip公司推出的, PIC单片机系列产品被广泛应用于从日常家用电器到智能仪器的各个领域。PIC单片机在国内发展非常迅速,而这方面的人才培养显得相对滞后,学校的单片机课程和实验还是以51单片机为主。作为高职学生,学习PIC单片机,不但可以提高自己的动手能力,还可以在就业方面领先一步。
PIC单片机的特点
PIC单片机最大的特点是从实际出发,根据产品的性能与价格比,发展多种型号来满足不同层次的应用要求,其片内功能由简单到复杂,封装形式多样化,引脚数也各不相同,最小的单片机只有8个引脚。
PIC单片机还集成了AD转换模块,在设计制作时,可以大大减少外围器件,使得产品设计更为便捷,可以制作出更小的产品。另外,PIC 8位单片机具有很高的代码兼容性,用户很容易将代码转移到其它型号的PIC 8位单片机当中。
PIC 8位单片机具有指令少、执行速度快等优点,其原因是PIC单片机采用RISC和哈佛结构,如图1所示,CPU在执行一条指令的同时,能对下一条指令进行取指操作,取指令和执行指令在时间上是相互重叠的,从而提高了CPU执行指令的速度和效率。
PIC单片机实训装置的设计
硬件设计
相同引脚数目的PIC 8位单片机一般都有好几个型号,它们外部引脚兼容,内部则有所区别。这里选择8脚、14脚、20脚、40脚的单片机,分别组成单片机最小系统。
如图2所示,单片机最小系统、若干功能模块组成单片机学习系统。每个功能模块都具有一定的代表性,对需要掌握的知识和技能力求循序渐进,功能模块之间既相互独立,又互相衔接,功能模块与单片机最小系统之间通过杜邦线互联,各部分电路原理简单,整体结构清晰明了,学生可以根据自己想法对功能模块进行灵活搭配。
图1 哈佛结构单片机内部构成
图2 PIC单片机实训装置方框图
图3 印制板快速制作流程图
例程设计
如图2所示,通过单片机最小系统和若干个功能模块组合,可以搭配成简单的电压表、频率计、温度计等。以频率计为例,显示部分既可以选用数码管模块,也可以采用液晶显示模块。PIC单片机实训装置为学生提供相应的演示程序,学生可以用来调试电路和参考编程。
PIC单片机实训装置的应用
熟悉电路原理图及仿真环境
Proteus软件建立了比较完备的电子设计开发环境,它可以仿真51、AVR、PIC、ARM等常用单片机。从原理图绘制、代码调试到单片机与外围电路协同仿真,到PCB设计。Proteus还提供虚拟仪器:示波器、逻辑分析仪、信号发生器、交直流电压/电流表、频率计等。
给学生下达任务时,提供单片机电路图和Hex文件,要求学生在Protues里绘制完成单片机电路仿真图,再将Hex文件配置到仿真环境里的单片机上进行仿真调试。学生可以在Protues进行电路仿真时看到模拟的实物运行状态和过程,再配合显示及虚拟仪器,能观察到程序运行的效果。学生调试通过,再进行下一步的编程训练。
熟悉单片机编程及编译环境
设置特定的验证结果,要求学生通过编程来实现。学生在MPLAB环境里编写程序并编译出Hex文件,再将Hex文件配置到仿真环境里的单片机上进行调试。单片机的编程语言使用C语言比较好。单片机产品开发应用中大多采用C语言编程,C语言易懂实用,比较适合高职学生的学习特点。
MPLAB 是PIC单片机的集成开发环境,它是以工程为单位,即先要为源程序创建工程文件,再进行配置,载入相应的源程序文件。MPLAB自带的MPASMWIN支持汇编程序编译,要使用C语言程序编译器,还需安装HTTECH C。
PCB制作
对于电子专业的高职学生来讲,动手能力尤为重要。在学习当中,他们不仅要尽快熟悉单片机的基本硬件设计和简单软件编程,还需要掌握比较扎实的电路焊接基本功。学生可以把通过仿真调试的电路绘制成PCB文件,再利用清华制板套件进行PCB制作,图3是印制板快速制作流程图。
单片机最小系统与功能模块电路板焊接
给学生提供电路板及相关元件、电路图、元件清单,要求学生焊接完单片机电路板后,把自己编译的Hex文件下载到单片机实物里进行调试,最后将实物电路的运行结果与仿真结果进行比对,看看Proteus仿真和实物电路有哪些差别。
小结
将单片机的功能电路分解成一个个的任务,教师边讲边做,学生边做边学,可以激发学生对单片机的兴趣,有利于他们提高硬件设计和软件编程方面的能力。项目实践中,以问题为导向,在遇到典型故障的时候,老师可以引导学生运用理论知识分析故障现象,让学生自己在实践中体会理论知识应用。
10.3969/j.issn.1001- 8972.2016.19.003