李学海,曲文敬,李 影
(石家庄邮电职业技术学院 电信系,河北 石家庄 050021)
单片机原理及应用技术的学习是一个实践性强、环节多的复杂过程,基于单片机的项目开发则是一项极富挑战性、创造性、开拓性和趣味性的工作。笔者在自己的专著中最先提出了关于单片机的“三链条”概念——全程知识链、软件工具链、硬件工具链。它高度概括了初学者要想学好、用好单片机所必须遵循的三条主线[1-2]。知识链用于指引初学者的理论学习过程;软件工具链和硬件工具链用于支撑学习者或应用者的实战训练或项目开发流程。为了更好地满足企业的用人需求,在高校的单片机实践教学中,必须直接面向单片机的工具链。
对于那些仅仅想了解单片机基本概念、学习单片机基本原理的初学者,也许只利用免费的KEIL软件包也能达到学习单片机的最低需求。不过,对于那些想把单片机应用于自己的课程设计、毕业设计、电子制作、科研项目或电子产品之中的应用者来说,就远不能满足需要了。
虽然在单片机的集成开发软件平台μVision上,可以实现“纯软件”方式的项目调试,但是毕竟与实际的单片机应用开发还有相当大的距离,往往解决不了真实问题、收获不到实际经验、学习不到硬工夫、理解和记忆也不够深刻。
“工欲善其事,必先利其器”。在单片机的学习和应用过程中,除了需要掌握一个系统的“软件工具链”之外,还需要掌握一个完整的“硬件工具链”。换言之,为了能够全面地学习到比较专业的单片机应用开发技术,除了要学会运用软件工具链当中的各种软件工具之外,还需要熟悉硬件工具链中所包含的3种必备硬件装备:实时在线仿真器、程序烧写器和单片机目标板。
笔者高度概括的一种工具流程图(见图1),它描绘了软件工具链和硬件工具链的工作流程及其关系。其中,调试器(Debugger)能够支持软件模拟器和硬件仿真器2种工作模式:(1)当Debugger工作于硬件仿真器模式时,它担当了仿真器的驱动程序或支持软件的角色,这时需要仿真器硬件的配合(图1中的Debugger和仿真器之间是连通的);(2)当Debugger工作于软件模拟器模式时,则是以“纯软件”方式来实现非实时、非在线的程序调试,这时不需要仿真器硬件的配合(图1中的仿真器可以被省略)。
图1 软件工具链和硬件工具链及两者关系
一般软件工具链可以免费获取,而硬件工具链则是需要购买。购置一套完整的专业级的硬件工具链往往需要上千元;而自行研制的成本有较大弹性,通过优化设计甚至可以把制作成本降到几十元,学生自己完全负担得起。
为此,笔者结合多年的教学和单片机应用项目开发经验,精心设计制作了一套功能丰富、用途广泛、性价比高的DH2013型单片机综合学习应用开发实验仪(简称单片机实验仪)。
在设计DH2013实验仪的电路时,尽量选用市场上常见、工程上常用,或功能上最基本、适合搭配或补充80C51内部模块功能的器件,例如:
模拟 器 件:LM324、LM339、NE555、NE567、LM7805、LM317、TL431;
数字器件:CD4013、CD4040、CD40106、74HC575;
多功能器件:EM91410、DS1232;
通信接口器件:MAX232;
电/声和声/电转换器件:有源蜂鸣器、微型扬声器、压电陶瓷扬声器、麦克风;
电/光 和 光/电 转 换 器 件:单 色 LED、双 色LED、PC817;
红外光通信器件:红外发射二极管、红外接收二极管;
传感器器件:热敏电阻、光敏电阻。
DH2013实验仪的电路功能比较丰富,元器件布局比较紧凑(见图2(a)),各单元电路和模块电路的布局如图2(b)所示,其中 A7—A0为开关、L7—L0为LED。
图2 DH2013实验仪布局图
虽然该单片机实验仪的成本比较低,但是在硬件功能上却可以代替传统意义上的三件套:简易型实时在线仿真器+串行下载程序烧写器+单片机应用开发目标板。在实验过程中基本可以代替这3种经典硬件工具的全部功能。
借助于该实验仪,能够让学生学习和体验到仿真器、烧写器的使用方法,以及电路规划、模块组合、器件连接、功能搭配等实际硬件的设计技巧,单片机初学者可以进行实际练习,单片机应用者可以进行单片机项目的开发和评估。
DH2013单片机实验仪的电路采用模块化设计,包含25个硬件模块电路,可以实现50余个实验项目,其中比较有特色的模块介绍如下。
布局印制电路板(PCB)时预留了焊盘位置,既可以焊装一片LM7805作为5V直流稳压电源,也可以焊装一片LM317作为可调节输出直流稳压电源。经过巧妙设计,电源开关S1又可以作为电源切换开关,用于选择USB供电(5V,可取自PC机或者手机充电器)或9V供电(可选用电源适配器或者层叠电池)。当外接电源适配器接入时,电路可自动切断USB电源。电路如图3所示[3-5]。
图3 多用途稳压电源电路
实现TTL电平与RS232电平的转换,可以被用作单片机UART串口与微机COM串口之间的桥梁,实现在线调试(ICD)、在线编程(ISP)功能,还可实现系统之间的串行通信功能。该电路还可以提供一个-9V(>10mA)电源。芯片型号可以选择MAX232、HIN232、DS232、AMD232等(见图4)。
图4 串行通信接口电路
可以用作增益可调的电压放大器、电压跟随器、RC方波振荡器、电压比较器、施密特触发器、功率驱动器(吞、吐电流可分别达到20mA和40mA)、信号调理电路等。芯 片 型 号 可 以 选 择LM 3 2 4、LA 6 3 2 4、NJM324、TA75324等(见图5)。
图5 LM324四运放电路
图6中,2个比较器U3A和U3B用于构建一个逻辑笔,用于探测逻辑电平或周期性脉冲信号。当从H3端子引入的信号为逻辑电平时,可以通过双色LED的发光颜色来判断测试电平的高或低;当引入的信号为周期性脉冲时,还可以通过颜色来估测信号的占空比。2个比较器开放全部引脚,以备用作电压比较器、RC振荡器、简易ADC、施密特触发器、集电极开路(OC)型功率驱动器(吞入电流可达16mA)等。芯片型号可以选择LM339、LA6339、TA75339等。
图6 LM339四电压比较器电路
在图7中,用U5A和U5B搭建一个按键触发单稳态电路,用于单脉冲产生或按键消抖;U5D用于晶体振荡器;U5E用于启/停可控的RC振荡器;U5C用于构建一个周期和占空比都可调的RC振荡器;U5F以备用作信号整形、信号缓冲器、反相器等。
图7 CD40106六施密特触发器电路
NE555是用途广泛、廉价易得的8脚通用芯片,单片机实验仪为它保留了可以任意组合的插接点。它可以被搭建成触摸触发或按键触发单稳态电路、频率可变的方波振荡器、施密特触发器、反相功率驱动器(吞入电流达100mA)、压控脉宽振荡器(VFC)、电流/频率转换器等(电路见图8)。
图8 NE555模拟定时器电路
在电路中创造性地选用了一片矩阵键盘编码器和多种信号发生器芯片EM91410,可以提供脉冲个数(1~10个)可控的序列脉冲信号、双音多频(DTMF)信号、报键音信号、模拟UART发送的帧信号等[6-7](电路见图9)。
图9 多功能信号发生器电路
设计了2种为单片机提供复位信号的复位电路:一种是常规RC型电路,另一种是利用一片多功能芯片DS1232(或 MAX1232)组成。复位电路可以实现上电延时复位、电源欠压复位、程序跑飞看门狗复位、人工复位等功能[8-11](电路见图10)。
图10 复位和DS1232电路
可以利用12级分频来提供12种频率不同的方波脉冲信号,芯片型号可以选择CD4040、74HC4040、CC4040等。
该模块通常作为单片机应用项目中必不可少的人机界面,L0—L7共8只分立的发光二极管(4只红色、4只绿色)可以用插接线连接到单片机的并口,作为单片机的简易输出显示器。8只独立的轻触按钮开关A0—A7(见图2(b)),也可以用插接线连接到单片机的并口,作为单片机的实用型输入设备。
选择 型 号 为 SST89C58(或 SST89E564RD、P89V51RD2等)的高性能单片机,其中固化了经过优化的4KB在线调试专用代码——固件,作为仿真调试的目标或者应用开发的目标单片机[12-15](见图11)。
图11 仿真目标单片机
在规划布局印制电路板时,预留了一块类似于洞洞板的自由焊接区块,具有378(27×14)个金属化焊孔。自由焊接区的主要用途是:(1)供用户自行搭建新电路,开发新实验;(2)供用户将市场上出现的新器件接口单片机和进行编程评估;(3)供用户进行二次开发,例如用于电子大赛项目的电路搭建、毕业设计的电子项目原型机等。
DH2013型单片机实验仪是为单片机的实践教学量身定制的实验、实训平台,使用方便、价格便宜、性价比高。我校在实践教学中采用了“先自制、后应用”方式,使学生人手一块DH2013单片机实验仪,明显提高了学生的动手能力,激发了他们对单片机的学习热情、钻研精神和自主创新能力。利用DH2013单片机实验仪,学生既能掌握软件编程,又能学会硬件搭建、程序烧写器的使用、在线仿真器的操作。该单片机实验仪还可以推广应用到数字电路等其他实验教学。经此训练的毕业生明显受到用人单位的欢迎。
(
)
[1]李学海.标准80C51单片机基础教程:原理篇[M].北京:北京航空航天大学出版社,2006.
[2]李学海.新型80C51单片机轻松入门与应用开发:AT89S8253[M].北京:金盾出版社,2011.
[3]李学海.单片机的状态迁移与复位操作[J].单片机与嵌入系统应用,2007(5):66-68.
[4]李学海.80C51复位标志位的设置与应用研究[J].单片机与嵌入系统应用,2006(9):76-78.
[5]李学海.80C51上电复位和复位延时的时序分析[J].单片机与嵌入系统应用,2006(12):63-65.
[6]李学海.电话拨号集成电路EM91410及其应用[J].国外电子元器件,1998(10):15-21.
[7]李学海.数控DTMF发生器HT9200及其应用[J].实用无线电,1998(2):3-6.
[8]ATMEL.External Brown-out Protection for C51Microcontrollers with Active High Reset Input[EB/OL].[2014-04-08].http://www.atmel.com/images/doc4183.pdf.
[9]李学海.80C51欠压检测技术的应用研究[J].电子制作,2007(2):34-38.
[10]李学海.多功能监控器 MAX705/706/813[J].电子产品世界,2002(增刊1):57-58.
[11]李学海.带人工复位的电源检测器IMP811/812[J].电子制作,1999(11):33-35.
[12]INTEL.MCS-51MICROCONTROLLER FAMILY USER’S MANUAL[EB/OL].[2014-04-06].http://plit.de/asem-51/mcs51man.htm.
[13]SST.FlashFlex51MCU SST89C54/SST89C58[EB/OL].[2014-04-06].http://www.microchip.com/pagehandler/zh-cn/family/8051legacy/products/rc.html.
[14]SST.FlashFlex51MCU SST89E52RD2 /SST89E54RD2 /SST89E58RD2/SST89E516RD2[EB/OL].[2014-04-06].http://www. microchip. com/pagehandler/zh-cn/family/8051legacy/products/rd5v.html.
[15]Philips.80C51 8-bit Flash microcontroller family P89C51RA2xx/RB2xx/RC2xx/RD2xx[EB/OL].[2014-04-05].http://www.zlgmcu.com/philips/philips-80c51.asp.