基于AT89S51单片机的实验系统的设计
扫描二维码
随时随地手机看文章
摘要:针对传统单片机实验系统依赖于仿真器调试,实验成本高且效率低,不适应现代科技的开发要求的问题,为改善单片机实验系统的性能,采用在系统编程(ISP)的方法,利用AT89S51芯片设计了一种单片机实验系统。实验表明系统结构简单,实用性强,达到了工科类高职生快速掌握单片机的基础知识的预期效果。
关键词:AT89S51;实验系统;ISP;74LS164
目前单片机应用已渗透到各个领域,单片机技术的发展也因此日新月异。作为实践性很强的应用型学科,单片机研发及教学离不开实验。传统的单片机实验系统需要频繁拔插烧写单片机芯片来编程,依赖于仿真机调试,实验成本高且效率低,已不适应现代科技开发需求。如何充分合理利用单片机的性能,方便用户高效学习与开发产品成为当前的研究热点。
单片机在电子产品中的应用已经越来越广泛,并且在很多学校也开设了相关的课程。通过对在校学生的调查,以及网络上收集到资料的综合分析,得知:目前无论是社会上还是在校学生,学习单片机的人数呈不断增加之势,对于单片机实验板的需求也不断增加。但是由于目前多数实验板价钱较高,实验项目不适于初学者学习。所以,开发出一套价格低廉,易学易用的单片机实验板,供实验室使用,也可以为今后学生学习单片机技术提供一个开发平台。
1 开发方案
开发此套实验板一方面要价格低廉,另一方面要易学易用。除了可以完成单片机课程教学大纲规定的“LED实验”、“按键操作实验”、“蜂鸣器操作实验”、“数字显示实验”等常规基础实验以外,还要满足课程设计、实习实训、毕业设计等教学环节的需求,开发诸如“双机通信”、“电子温度计”、“万年历”、“电子琴”、“数显秒表”、“模拟交通灯”、“红外遥控”等较高档次的综合实验项目。
首先,对于开发成本方面,电子元件占的比重最大,减少这方面的开销成为重点。还有电路板的花费,以及其他原材料的开销,这些花费要相对较少。因此,在购买电子元器件时尽量选用市场上常见产品,由于这些元件的普遍性和常用性,其性能不但可靠,且价格低廉。
其次,对于实验板的易学易用性,借鉴已有的开发板方面的资料,总结其优缺点,取其精华,选用目前开发单片机开发板中最常用的开发工具和开发语言。
进行单片机的实验或开发时,通常需要借助编程器将调试好的目标程序写入到单片机内部程序存储器中。普通的编程器价格从几百元到几千元不等。另外,在开发过程中,程序每改动一次就要拔下电路板上的芯片编程后再插上,比较麻烦。
随着单片机技术的发展,出现了可以在系统编程(ISP)的单片机。ISP一般是通过单片机的串行接口对内部的程序存储器进行编程,如Philips公司的P89C51RX+、P89C51RX2单片机;Atmel公司的AT89S8252单片机;Winbond公司的W78E516等。利用在系统编程(ISP)的单片机,单片机的实验和开发不需要编程器,单片机芯片可以直接焊接到电路板上,调试结束即成成品,甚至可以远程在线升级单片机中的程序,使得单片机应用系统的设计、生产、维护、升级等环节都发生着深刻的变革。
因此,本着价格低廉、易学易用的原则,采用Atmel公司生产的支持ISP技术的AT89S51单片机为控制器。
2 单片机实验开发系统
2.1 单片机实验开发系统电路原理图
单片机实验开发系统电路原理图如图1所示。
2.2 装配与焊接
2.2.1 单片机实验开发系统的装配与焊接
单片机实验开发系统的装配主要包括:实验板的装配和串行口下载线的装配。焊接前,需对照附录中的元件清单及电路原理图,检查元器件是否完整。
2.2.2 单片机实验板的装配
单片机实验板元器件的插装与焊接主要是需要注意元器件安装的先后顺序和每个元器件的方向,步骤如下:
(1)电阻的焊接:先对照装配图,将所有电阻安装并焊接到相应位置,然后将剪下的电阻引脚保留,作为下一步的跳线使用。
(2)跳线的焊接:因为在画PCB图时,为了美观,跳线常设置在大元件下面,所以必须在安装元件前焊接跳线。跳线可以用单股粗导线,也可以使用其他元件剪下来的引脚。
(3)74LS164及数码管的焊接;作为数字显示单元的数码管是安装在74LS164上方的,所以要先安装74LS164,并注意方向,紧贴电路板焊接,然后再安装数码管。
(4)集成块底座的焊接:单片机AT89S51和MAX232两个集成块是.安装在集成块底座上的,千万不能直接将集成块焊在电路板上,所以这里要先焊底座。
(5)发光二极管的焊接:这里发光二极管有4种颜色,其中白色的作为电源指示使用,其他红、黄、绿三色的LED作为“交通灯”指示使用(安装时最好统一为;顺时针依次为红、黄、绿三种颜色)。发光二极管的两个引脚是分正、负(阳极、阴极)的,需注意装配图中的标注方向。
(6)二极管IN4007、电解电容、三极管8550、蜂鸣器、7805稳压模块、第6脚自锁按键等的焊接:上述这些元件也都是有方向的,请大家在安装时特别注意。
(7)其他元件的焊接:最后焊接完剩下的其他元器件。
说明:在电路板上预留有温度传感器DS18B20和红外遥控接收模块RSM0038的安装位置,这两个元件不包含在本实验板套件之中,在此无需焊接。
2.2.3 串行口下载线的焊接与装配
实验板要与PC机连接进行程序下载烧写,必须有一根专用的串行口下载线。
在这里采用了1根4排的平行导线将两个串行口接头的4~8四个引脚一一对应的连接起来(引脚标号在串行口接头上可以看到),并可靠焊接,需注意相邻两引脚之间,千万不要短路。最后将外壳及螺丝安装上,这根下载线就做好。
2.3 开发板调试
2.3.1 硬件调试
(1)元器件失效
元器件失效可能原因有两个:一个是元器件买来时就已坏;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法就可以排除错误。
(2)排除电源故障
在通电前,一定要检查电源电压的幅值和极性,否则很容易造成元件的损坏。加电后检查各插件上引脚的电位,一般先检查Vcc与GND之间电位,若在5~4.8 V之间属于正常。
(3)液晶模块调节
主要是在液晶模块的对比调节上,液晶模块显示很暗,可以调节一下电位器,可能是电压低的原因。
(4)电解电容
对于电解电容焊接时要特别注意其管脚的正负,其中长的管脚是正极,短的是负极。
2.3.2 软件调试
(1)开发工具和开发语言:电路板开发工具为Multisim 10;编译软件一Keil C51;开发语言为C语言、汇编语言。
(2)调试注意事项:
①与此实验开发系统配合使用的软件主要有WAVE和ISP下载软件。在与PC机连接时,单片机实验开发系统一定要断电,否则可能会烧坏MAX232芯片和PC机的主板。
②在断电的情况下,将AT89S51单片机插入实验板的单片机插座上,并将实验板与PC机之问的串行通信电缆连接好,通信电缆一端接在PC的串口COM1或COM2上,另一端接实验板。
③正确接通电源,并按下实验板左下角的编程开关,它旁边的编程指示灯亮,说明该实验系统处于程序下载烧写状态。
3 部分实例
3.1 跑马灯实验(8个发光二极管轮流点亮)
(1)实验任务。利用程序控制来实现发光二极管的轮流点亮发光,该实验用到P0的全部8个端口,以及P1.4端口。
(2)程序流程图如图2所示。
(3)实验总结。实验是实验板的第一个实验,这里要做的就是对单片机的熟悉,对I/O口的一些操作,也是对实验板的性能的一个简单测试。
3.2 一键多功能识别实验
(1)实验任务。开关K6按键接在P3.7/RD管脚上,在AT89S51单片机的P1端口的4个发光二极管。上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1时,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1时,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1闪烁了,如此轮流下去。
(2)程序流程图。一键多功能识别程序流程如图3所示。
(3)实验总结。该实验是对键盘和显示系统的一个起步介绍实验,通过这个实验,能够实现一个按键控制显示不同的结果。实验结束后,学生对按键和显示的配合使用有了更深入的了解。这个实验既是对上个实验的巩固,又为以后的实验提前作了准备,其中对按键的去抖动处理,应特别关注。
3.3 定时器对蜂鸣器控制
(1)实验任务。改变定时器的初值来改变频率使蜂鸣器发出不同的声音。
(2)程序流程图如图4所示。
(3)实验总结。该实验是利用定时器中断来改变扬声器的频率,实验中要注意中断函数的书写方法以及对定时器处置的改变方式。定时器在单片机中是很常见的,所以对定时器要熟练的掌握和应用。
3.4 六位数码管显示实验
(1)实验任务。让6个8位数码管同时显示0~5六个数字。
(2)程序流程如图5所示。
(3)实验总结。作为一种输出方式,数码管显示不仅可以实现友好的人机界面,而且设计简单,价格便宜。数码管显示可以分为静态显示和动态显示两种。静态显示很占用电路板空间,而且大量占用I/O端口,因此,该实验选用了节省电路板空间的动态显示方式。
3.5 串行通信实验
(1)实验任务。由上位机发送命令控制发光二极管的亮灭。
(2)程序流程图如图6所示。
(3)实验总结。该实验的代码很简单,而且没有用到串行口中断,通过EA=0关闭了所有中断,通过这个实验学生可以体会到上位机与单片机通信的原理和规划,以及使用方法,现今上位机和单片机的通信系统广泛应用,希望通过这个小实验能使学生掌握应用这一技术。
3.6 DS18B20温度采集实验
(1)实验任务。通过电子元件DS18B20,进行温度采集。
(2)程序流程图如图7所示。
(3)实验总结。数据采集和处理是51单片机的常用领域,除了电信号以外,单片机还可以利用传感器实现对非电信号的采集。该实验采用了一种直接输出式的温度传感器芯片DS18B20实现单片机控制温度系统。
4 结语
该实验开发系统基本涵盖了C52单片机中的所有资源,是集单片机开发实验板、在系统可编程,并可以升级成为在线仿真器的综合实验开发系统。除了可以完成单片机课程教学大纲规定的“LED实验”、“按键操作实验”、“蜂鸣器操作实验”、“数字显示实验”等常规基础
实验以外,还可以满足课程设计、实习实训、毕业设计等教学环节的需求,开发诸如“双机通信”、“电子温度计”、“万年历”、“电子琴”、“数显秒表”、“模拟交通灯”、“红外遥控”等较高档次的综合实验项目,它是一款经过多次改型和完善的、高性价比的单片机学习和开发系统。