APP下载

基于清华大学TPC-USB系统的《微机原理》典型实验VC++实现教学设计

2009-09-23陈智勇

商情 2009年17期
关键词:交通灯微机流程图

陈智勇

【摘 要】本文主要探讨了基于清华大学TPC-USB实验系统平台下,高等职业院校计算机类专业《微机原理》实验VC++实现教学设计典型案例。设计了实验教学各环节的组织与衔接,尝试从中总结出部分内在规律,探索出循序渐进的实验教学模式。以提高该课程的实验教学效果,增强学生的学习兴趣,促进我院计算机系该课程教学水平的提升。

【关键词】交通灯 汇编语言 指令 流程图 芯片 TPC-USB VC++ ISP1581 USB2.0

《微机原理与接口技术》是一门理论性和实践性都很强的计算机类专业的主干专业课程。笔者依据高等职业院校培养实用型人才的方针,结合本院计算机系教学实践,针对于以往学生对该课程的理论与试验难以结合,VC++/汇编语言指令与实验流程图脱节,芯片功能引脚理解艰涩等问题,尝试通过循序渐进的实验教学模式,就基于清华大学TPC-USB实验系统的一典型实验案例——交通灯控制,让学生在实验操作,数据验证的过程中,潜移默化将理论知识融汇于实验操作,将实验流程图“翻译“成具体VC++指令,用实验现象佐证芯片引脚功能。

一、实验平台简介

我院微机原理实验室采用的是清华大学TPC-USB实验系统,该系统由一块USB总线接口模块、一个扩展实验台及软件集成实验环境组成。USB总线接口模块通过USB总线电缆与PC机相连,模块与实验台之间由一条50芯扁平电缆连接。其主要特点是USB总线接口使用ISP1581 USB2.0高速接口芯片,完全符合USB2.0规范。提供了高速USB下的通信能力。即插即用、速度快、使用方便。

二、实验过程设计

由于我院微机原理实验室TPC-USB实验设备充足,教师将学生分成每两人一组。并要求学生在实验操作时,一名学生操作,之后另一名学生检查,如此反复。这样既能充分满足学生的实践动手需要,又能培养学生的团队协作精神,有利与实验教学水平的提高。

(一)实验前期准备

1.实验预习

实验前,布置好预习的内容,要求学生必须结合自己所学的理论知识,通过查阅8255A交通灯控制并口芯片有关资料,获得实验的第一手资料,做到实验目的明确,实验原理清楚。

2.布置实验任务

教师不向学生提供具体的、详细的交通灯控制实验电路与VC++程序,只提出具体的实验要求,让学生通过自己的预习以及对实验要求的理解和分析,自行设计实验方案,小组独立完成实验程序编写。

3.连接主机与TPC-USB实验系统(通过50芯线缆的USB2.0接口模块),开机—运行USB2.0接口模块驱动程序,完成实验硬件平台的搭建。运行软件集成实验环境TPC-USB,进入实验环境。完成实验软件平台的搭建。

(二)教师讲解实验项目

着重讲解实验的设计思想、设计方法,并演示实验操作,通过并行接口8255A实现十字路口交通灯的模拟控制,掌握对并行口的使用。让学生能够从教师的示范中获得启发,突出学生的主体地位,实验过程是学生进行思维训练、提高分析问题与解决问题能力的重要实践活动,整个过程应以学生为主体,鼓励学生动手、动脑,采用多种方式去完成实验任务。

(三)芯片功能分析报告

要求学生将查阅的有关资料与实验平台上的8255A并口芯片实物进行对比,分析相关引脚功能,并记录于实验报告中,强化学生深入钻研问题的能力培养。

参考如图-1:L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。

(四)线缆的连接

要求学生自行完成实验芯片8255A的相关通信引脚线的连接。再参照实验指导书的连线规则,进行检查与校正。

(五)VC++编程实现

要求学生先参照TPC-USB实验系统的汇编语言程序, 小组独立自行设计交通灯控制实验方案,绘制实验流程图,完成VC++实验程序对TPC-USB系统自带汇编语言程序的“翻译”编写。并记录与实验报告中。

交通灯控制实验编程提示:十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮30秒左右。(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。(3)南北路口的红灯、东西路口的绿灯同时亮30秒左右。(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。(5)转(1)重复。

(六)运行实验

启动实验箱电源,TPC-USB软件,运行实验,查看实验结果。检查并校正错误。

参考程序JTD.CPP如下(注:为便于读者理解,编者在程序中添加了部分中文注释,上机编程时应删除相应注释)

#include

#include

#include ”…\\ApiEx.h”

#pragma commnet(lib,”…\\ApiEx.h”)

Void main()

{

Int i;

Int portc[]={0x24,0x44,0x04,0x44,0x04,0x44,0x04,0x81,0x82,0x80,0x82,0x80,0x82,0x80,oxff};*六个灯可能的状态数据结束标志*

if(!Startup())*打开设备*

{

Printf(“ERROR:Open Device Error!\n”)

Return;

}

Printf(“Enter any key will return!\n”);

PortWriteByte(0x28b,ox80); *输出一个负脉冲*

for(;;)

{

For(i=0,i<14;i++)

{

PortWriteByte(0x28a,portc[i]);

if(kbhit())*判断是否有键按下*

Exit(0);

If(portc[i]&0x21)

Sleep(30000)*延迟30秒钟*

Else

Sleep(500)*延迟0.5秒钟*

}

}

Cleanup();*关闭设备*

}

三、总结

通过该教学实验设计在我院计算机系学生的执行,学生能够自觉预习实验内容,把握实验原理,操作过程更为准确规范,能够循序渐进的融汇基础性,设计性和综合应用性知识点,建立VC++/汇编语言与实验流程图的沟通学习渠道。部分学生已经开始尝试基于交通灯控制实验的实际项目设计。教学效果得到了明显提高,也历练了教师的教学创新能力。

参考文献:

[1]韩雁.微机原理与接口技术.电子工业出版社,2005,1.

[2]张毅.单片机原理与应用设计.哈尔滨工业大学出版社,2008,7.

[3]杨立.微机原理实验指导书.人民邮电出版社,2008,4.

[4]蒋本珊.微机原理与接口技术实验指导与习题集.人民邮电出版社,2008,08.

猜你喜欢

交通灯微机流程图
云的识别指南
以核心素养为导向的微机原理及应用教学探索
荷塘区民办学校首试“微机派位”
矿工灯
为什么交通灯是红黄蓝三种颜色?
荷兰小城为“低头族”设置专属路面交通灯
流程图学习指南
检讨书
微机—单片机红外线通信