王日明,徐 杜,王友华
(1.广东工业大学信息工程学院,广东广州 510006;2.广东外语外贸大学工商管理学院,广东广州 510006)
随着8位单片机8051的普及应用,大学生对单片机的认知程度比以前大大提高了,因此直接开展16位单片机的教学是完全可行的。
16位S12X内核单片机拥有强大的XGATE协处理器和丰富的外设模块,且具有耐高温和极高可靠性,因此非常适合诸如工业控制、汽车车身控制和发动机控制等恶劣环境下的复杂可靠控制需要[1]。S12X单片机教学对于汽车电子、测控和自动化等偏重控制类的专业来说是非常适合和必要的。
在S12X单片机教学过程中,除了充分利用Flash动画课件动态演示讲解外,还采用了一些有新意的教学辅助手段。
调试片段是指针对抽象的知识点,使用CodeWarrior的Full Chip Simulation调试方式真实地调试该抽象知识点相对应的执行过程[2],引导学生注意观察执行前后的寄存器变化,加深学生对该知识点的具体理解。举例来说,对于汇编语言中的变址寻址方式,可以通过“PORTB=~LedCnt”这一简单语句的调试片段来给以具体说明,如图1(a)和图1(b)所示。
图1 PORTB=~LedCnt执行前后寄存器变化情况
启发式互动教学就是把整体中分解得到的相对简单的设计题目作为设计情景。例如,当讲授完单片机内部某个部件之后,把与该部件应用紧密相关的设计题目拿出来,由教师提出设计过程中可能遇到的问题,然后让大家一起讨论该如何解决这些问题,可能得出不同的设计思路,最后由教师对不同的设计思路进行点评。
在实际教学中,可以把飞思卡尔杯全国大学生智能车竞赛的摄像头组智能车作为一个实际工程项目来进行设计题目分解。举例来说,在讲解完S12X的定时器模块之后,就可以提出这样一个设计情景:智能车为了更好地控制车速,必须要将当前车速反馈回来,那么测速传感器输出的脉冲信号,应该使用定时器模块的哪个功能来检测呢?ECT输入捕捉功能还是脉冲累加器功能?为什么?具体怎么计算出速度?然后让学生讨论、分析和比较,从而得出不同的设计思路,最后由教师对不同的设计思路作分析和点评。实际上,用ECT和脉冲累加器都是完全没问题的,不过因为S12X在智能车中还要处理很多其他不同的外部模块的数据信息,所以当把这个问题放到一个智能车整体来考虑的时候,就有一个孰优孰劣的问题了。这种启发式互动更有利于学生从全局上思考和解决问题能力的提高。
单片机是一门技术性和实践性很强的课程,不管多么精彩的课堂教学都代替不了实验教学[3]。为了配合S12X单片机课堂教学和创新实践的需要,我们专门构建了以旗舰级16位单片机S12XEP100和汽车级FPGA EP3C10为核心硬件的可编程设计的单片机实验平台。
硬件可编程设计的单片机实验平台如图2所示。
图2 硬件可编程设计的单片机实验平台框图
S12XEP100通过XEBI接口与EP3C10交换数据,EP3C10片内的M9K RAM模块可以很容易地构建成双口 RAM[4]。外部设备模块的数据经过EP3C10预处理后存入双口 RAM,S12XEP100通过XEBI接口读取双口RAM中的数据从而达到与外部设备模块交换数据的目的。另外,S12XEP100也可以很方便地通过SPI同步串口与EP3C10交换数据。
由于EP3C10片内硬件逻辑是可编程设计并可随时在线更新,加上外部扩展接口可以接入学生自己制作的其他电路模块,所以该硬件平台完全可以满足不同学生自由发挥创意进行设计的需要。
把S12X的设计性综合实验和课程设计结合在一起的设计题目有:计算器设计,电子琴设计和电子时钟及闹钟设计等。每个设计题目参照电子设计竞赛题目分别设置有基本要求和拓展要求,硬件逻辑设计和软件功能都可以作为创意得分,可以鼓励学生利用硬件可编程单片机实验平台发挥自己的创新意识。
也可把智能车设计作为一个拓展的可选的课程设计题目来开设。学生将硬件可编程设计平台上的直流电机驱动电路、步进电机驱动电路、高速ADC、键盘、LCD和加速度传感器等组合起来,通过外部扩展接口接入自己制作的其他功能电路模块,就可以完成一个具有基本功能的智能车设计。
我们在S12X单片机教学实践中,把全国大学生智能车竞赛和16位单片机的教学实践有机结合起来,通过硬件可编程设计的单片机实验平台,鼓励学生发挥自己的创意,尝试发挥自己特色的设计思想,努力提高嵌入式系统的应用设计水平。这对今后S12X单片机教学实践的深入发展是一个有益的尝试和参考。
[1] 邵贝贝,宫辉.嵌入式系统中的双核技术[M].北京:北京航空航天大学出版社,2008
[2] 王宜怀,刘晓升.嵌入式系统—使用HCS12微控制器的设计与应用[M].北京:北京航空航天大学出版社,2008
[3] 唐鸿儒,夏扬等.单片机课程的实践教学探索[J].南京:电气电子教学学报,2009,1:67-69
[4] 徐光辉.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社,2006