摘 要:单片机系统设计是一门实践性和应用性都很强的课程。为了充分激发学生的创造力,使学生熟悉单片机应用系统的研制和开发过程,掌握单片机的设计原理和开发步骤,我们开设了单片机系统设计综合实践课程。本文阐述了此综合实践课程的实施方案,给出了典型的设计范例。经过几年的教学实践,本课程取得了良好的教学效果。
关键词:单片机系统;综合实践课程;实践教学
abstract: single-chip system design is a practical application and have a strong curriculum. in order to fully stimulate the creativity of students so that students are familiar with single-chip application system and development process, to master the single-chip design and development of the principle, we created an integrated single-chip system design practice courses. this article describes the practice of integrated curriculum implementation plan, gives a typical example of the design. after several years of teaching practice, this course has been a good teaching results.
key words: single-chip system; the practice of integrated curriculum; teaching practice
1 前言
单片机系统设计是一门实践性、应用性很强的课程。传统的单片机系统设计实验教学,具有:①实验应用机会少;②缺乏具体的实验教学内容和完善的考试、考核方法;③验证性多,创新性少;④实验教学内容与实践应用脱节的弊端[1]。这样的教学模式和方法,很难让学生完全掌握单片机系统设计的基本原理和开发方法,更不用说培养学生的创新能力。因此,为了培养和训练学生具备独立设计简单的单片机应用系统、编写系统控制程序的能力和技能,激发学生的创造力,我校在学生完成了《单片机系统设计》的理论课和汇编程序设计、七段数码显示、键盘扫描、ad转换、串行通讯等实验教学后,特开设了为期2周的综合实践教学环节。此教学环节让学生完成一个单片机系统的设计、开发、调试的完整过程,整个综合实践教学环节完成后,学生对单片机系统的学习和应用兴趣更浓了,而且具备了自行设计、开发简单的单片机系统的能力。
2 任务与要求
利用伟福lab6000系列单片机仿真实验系统构成简单实用的单片机系统,要求如下:
(1)充分应用mcs-51系列微处理器和伟福lab6000系列单片机仿真实验系统所提供的硬件资源,自由选题实现一个简单实用的单片机系统。
(2)要求具备必需的人机接口。
(3)可以选用汇编或c51语言进行控制程序开发。
设计的系统性能如下:
(1)系统运行稳定,具有一定的抗干扰和故障自测能力。
(2)系统设计安全可靠,具有出错报警和应急关闭能力。
(3)系统精度达到一般民用品的基本要求。
(4)人机接口界面友好、直观、操作简单。
另外,我们提供了一些选题供学生拓展思路,主要有:
(1)出租车计价器。
(2)温度控制系统。
(3)可编程交通灯系统。
(4)pwm电机调速系统。
(5)数字温度计。
(6)数字频率计。
3 设计范例
3.1 pwm电机调速系统
pwm电机调速系统如图1所示,系统包含电机驱动电路和测速电路,两者构成闭环系统。电机驱动采用脉宽pwm调压电路,测速电路的核心部件是霍尔元件。
图1 pwm直流电机调速系统原理图[2]
霍尔元件是一种磁传感器。用它可以检测磁场及其变化,可在各种与磁场有关的场合中使用。在外磁场的作用下,当磁感应强度超过霍尔元件导通阈值bop时,霍尔元件输出管导通,输出低电平。若外加磁场的b值降低到brp时,输出管截止,输出高电平。在直流电机的转盘上粘贴着一枚小磁铁,霍尔元件安装在转盘附近,每当磁铁靠近霍尔元件时霍尔元件导通,输出低电平,远离时霍尔元件截至,输出高电平。这样,直流电机转动一圈,霍尔元件就会输出一个脉冲,通过这个原理能够测出电机的转速。
pwm是单片机系统中常用的模拟量输出方法,通过外接的转换电路,可以将脉冲的占空比转化成电压。直流电机的转速和驱动电压呈近似线形关系,改变脉冲的占空比,就可以改变直流电机的转速。
系统结构图如图2,闭环工作时,测速电路测得的转速和给定的转速相减获得差值e,根据差值e运用pid增量控制算法获得控制量,即占空比,通过mcs-51的口线输出给定占空比的脉冲,再通过转换电路转化成电压来驱动直流电机。系统控制算法采用增量型pid控制算法,如果k时刻电机当前转速是y(k),给定转速是r(k),pid控制器输入信号为e(k),输出信号为u(k),则离散的pid递推算法如下:
图2 pwm直流电机调速系统结构图
3.2 数字温度计
数字温度计的核心电路——温度传感器调理电路如图3所示,温度传感器采用负温度系数的热敏电阻(ntc),ntc的阻值随着温度的上升而非线性下降,具体温度-阻值特性为
(4)
式中,rt 、 rt0是温度分别为t、t0 时的电阻值;b为负温度系数热敏电阻的材料常数[3]。
固定电阻和ntc组成的电阻桥输出电压随ntc阻值的变化而变化,这种变化经过差动放大器的放大后送给ad转换器转换成数字量,具体转换遵循以下公式:
(1) 电桥输出电压u
(5)
(2) 差动放大器输出电压 u'(一般r7=r8,r9=r10)
图3 数字温度计原理图[2]
一般情况下,会事先根据ntc的温度-阻值特性计算出一张温度-阻值对应表。根据ad转换的数字值逆运算获得当前ntc的阻值,再根据ntc的温度特性表运用分段查表和表项间线性运算就可以获得当前温度值,把当前温度在输出设备(如七段数码管、lcd)上显示出来就构成了完整的数字温度计。本范例也可在其他温度测量的系统中应用。
3.3 出租车计价器
出租车计价器是一个较实用的设计范例,它的结构如图4。出租车计价器包含里程测量电路、实时时钟电路和人机接口。
出租车计价器里程测量的核心部件是霍尔元件,具体电路和图1的测速电路一样。在轮胎的转轴上粘贴了6个小磁铁,轮胎转动一圈,霍尔元件就会输出6个脉冲,对脉冲进行计数就可以获得轮胎转动的圈数,圈数乘以轮胎的周长就可以获得车辆行驶的里程数。
图4 出租车计价器结构框图
一般情况下,出租车白天和晚上的里程单价并不一样,因此需要一个实时时钟来获得当前时间。ds1307是一个i2c总线的实时时钟(rtc),在外部电池的供电下,它能提供高精度的年月日时分秒bcd码时间。另外,它还包含56字节的非易失性sram(nv sram),可以用来保存系统的设置信息。
显示设备可以采用七段数码管或lcd,用来显示当前时间、行驶里程数、里程单价、和行驶
里程价格等信息。还需要少量的按键或矩阵式键盘用于输入里程单价、开始计价、清零、时间设置等操作。
4 实施过程
4.1 根据任务与要求进行总体规划与设计
这个过程包括:
⑴ 课题选择。
⑵ 硬件模块的选择和设计。
⑶ 软件整体流程的设计。
⑷ 查找各种所需资料。
综合实践课题题目是不是新颖,是不是能够激发学生的创造性和好奇心,直接影响学生实验的积极性,有的学生觉得做实验非常无聊,就是因为他们的好奇心和热情没有被激发起来。而集知识性、趣味性、创造性于一体,能应用所学知识解决具体问题的综合实践课题,是本综合实践的最大亮点,也是本教学环节区别于其他教学环节的标志。我们要求学生思考在实际生活中能应用单片机系统技术能解决的具体问题,并且考虑伟福lab6000系列单片机仿真实验系统所能提供的硬件资源,选择一个有自己特色、能在两周内独立完成的题目,题目要求新颖,鼓励创造性的思维,并且能解决实际生活中的具体问题。
受限于实验条件,硬件设计无法完全按照单片机系统设计的一般方法和标准步骤来实施。在教学过程中,我们要求学生可以根据伟福lab6000系列单片机仿真实验系统所提供的硬件资源自主地完成硬件部分的理论设计,也可以不完全局限于此实验平台进行理论设计。理论设计完全遵循单片机系统设计的一般流程,学生自己查阅资料,设计硬件电路图。指导老师对硬件部分的理论设计进行评审后,再根据具体的实验平台指导学生完成课题。
软件设计可以采用汇编语言或keil c51高级语言开发环境来实现,这两种软件开发环境是当前mcs-51系列单片机系统开发的主流环境。根据学生选题的特点,指导学生选择较为容易实现的开发环境。
4.2 根据总体规划实施软硬件的开发与设计
这个过程包括:
⑴ 硬件连接。
⑵ 软件编程。
⑶ 软硬件联调。
在这一过程中主要培养学生的硬件设计能力、编程能力和积累软硬件调试经验,熟练掌握单片机系统中人机接口的设计、控制算法设计、硬件驱动程序设计,体会理论与实践之间的差别,对单片机系统的设计与实现由理性认识转化为感性认识,激发学生的求知欲望,锻炼学生克服困难解决问题的能力。
4.3 交流总结
在2周的综合实践中抽出一天时间让能力较强的学生陈述他的设计思想和设计过程、设计中的难题和解决方法以及自己的心得体会。让进展不顺的学生提出他在设计中没能解决的难题,全班同学共同讨论,集思广益,找到解决问题的方法。这样可以使学生互相学习,取长补短,拓宽知识面,活跃思维,能在以后的工作和学习中更好地完成任务。
4.4 完成实践报告及验收评分
最后两天是综合实践报告的完成阶段,在进行了两周的综合实践以后有必要好好地总结一下,把自己在综合实践中所学到的知识以文字的形式表述出来,这样更有助于水平和能力的提高。
实践报告完全按照毕业论文要求书写,包含中英文摘要、设计任务与要求、系统结构及工作原理、主要单元电路的设计过程、控制软件的编写及调试、测试数据及调试中故障分析、收获和体会、参考文献等部分。要求学生重点讲述清楚故障分析和收获体会。
综合实践成绩由平时表现、实践报告、设计成果、创新点4部分组成,成绩构成比例是2:3:4:1[4]。
5 效果
经过几年的教学实践,单片机系统综合实践教学环节取得的效果主要体现在以下几个方面:
(1)让学生掌握了单片机系统设计的一般原理及其基本的实现过程,实现了从理论向实际的迁移,强化了学生所学的知识。
(2)让学生掌握了单片机系统硬件、软件设计的基本方法,具备了软硬件相结合的系统设计的基本能力和调试经验。
(3)本综合实践的课题真实性很强,让学生经历了单片机系统设计的全过程,提高了学生的研制开发能力和创新能力。
(4)本综合实践涉及到多学科、多知识点,是计算机软硬件知识的大综合。经过综合实践,学生运用所学知识分析解决问题的能力有了较大的提高,完成了多学科知识的融会贯通。
参考文献
[1] 罗钧,廖红华,付丽,黄勇.单片机实验教改与创新性人才培养的关系[j]. 实验室研究与探索,2006,25(8):958-959
[2] 南京伟福实业有限公司. 伟福lab6000系列单片机仿真实验系统实验说明书[eb/ol] .
[3] 何希才. 传感器及其应用 [m] . 北京:国防工业出版社,2005
[4] 厉荣卫,傅中君. 计算机控制技术综合实验及其效果[j]. 实验室研究与探索,2001,20 (6):50-51