单片机实验室的建设

2025-01-20

单片机实验室的建设(精选12篇)

单片机实验室的建设 篇1

0 引言

单片机课程是一门实践性非常强的课程, 原理性非常抽象, 学生学习起来比较困难, 因此需要开设单片机实验实训课程辅助教学, 通过大量的实验项目帮助学生更好的理解课程理论知识, 同时不断提高学生的实践操作能力, 让学生真正掌握单片机在实际生活中的运用。近年来, 随着仿真技术的发展, 仿真单片机的建设已经在高校得到了广泛的应用。

1 仿真单片机实验室的建设方案

1.1 传统单片机实验室存在的不足

在传统的的单片机实验室中, 学校需要投入大量的资金建设各项设备, 随着高校招生规模不断扩大, 需要建设大量的实验设备, 者对学校来说是非常困哪的, 很多单片机教学仪器和设备都得不到及时的配置和更新, 一些硬件设备还停留在比较落后的阶段。此外, 由于仪器设备的重复使用, 很多仪器容易老化和发生故障, 而对仪器设备的维护和维修力度不够。在实验教学过程中, 教学内容往往局限了一些验证性实验, 缺乏对学生自主探究能力的提高和培养。在以往的实验教学过程中, 学生通常是在教师的引导下完成实验步骤, 从而掌握一定的实验技能。通过这种实验方式, 虽然学生对于单片机技术有一定的了解, 同时也掌握了相关的实验技能, 在一定程度上提高了学生的实践动手能力。但是, 学生在实验过程中, 依然没有进行主动学习, 无论是实验步骤还是实验探究目的都是固定的, 学生并没有经过自身的思考, 对于提高学生的实验探究能力并没有多大帮助。

1.2 仿真单片机实验室的优势

考虑到传统单片机实验室存在的多种问题, 基于仿真软件的单片机实验室建设的运用越来越广泛。通过单片机仿真实验室, 很多仿真的实验和工作都可以在软件的环境中得以实现, 不仅使学生的实验教学更加便捷, 同时还可以减少单片机实验室建设的大量资金, 解决了资金不足的困境。仿真单片机实验室的建设是以Proteus为软件平台设计制作的一套单片机实验系统, 在这套单片机实验系统中, 主要包括LCD模块、数码显示模块、板上集成LED模块、键盘模块、串口通信模块和蜂鸣器模块等, 可以实现串口通信系统、I/O口设计系统的应用等。在仿真单片机实验室中, 学生可以从简单到困难掌握单片机技术, 通过对复杂项目的分解, 可以帮助学生更直观的认识、更好的理解。在仿真单片机实验室中, 可以实现传统实验室的所有功能, 此外, 还可以提供开放性实验的服务, 学生可以利用自己所掌握的知识设计自己的电子产品。

1.3 Proteus软件的强大功能

Proteus软件是混合电路仿真软件, 具有数字电路、模拟电路和模/数混合电路的仿真平台和设计平台, 也是多种型号微控制器系统的仿真平台和设计平台。通过Proteus软件, 可以在计算机上进行电路分析和设计等。Proteus软件主要有两个部分组成, 智能原理图输入、模拟系统和高级布线及编辑软件。Proteus软件具有非常强大的功能, 可以提供非常丰富的元器件库, 共有三十多个库共八千多个元器件, 具有数字电路、模拟电路的仿真, 用户主要通过单机鼠标、可调电阻和电位器等外设的模型, 就可以根据输入的信号使单片机做出对应的响应, 并且将处理结果显示在动态的显示器中, 从而是吸纳了用户和系统的交互性仿真。其次, Proteus软件还可以提供多种虚拟仪器和各种调试信号, 例如信号发生器、示波器以及显示设备, 从而使系统的仿真调试更加方便。除此之外, Proteus软件还可以支持主流单片机系统的仿真, 比传统的单片机实验班支持的系统和芯片要多的多。Proteus软件具有调试功能, 具有设置断点、单步和全速等功能, 还可以通过第三方的软件编译和调试环境实现调试功能。Proteus软件还具有PCB设计功能和原理图绘制功能, 可以生成多种不同形式的文件, 并且提供专用的PCB设计工具, 从而进行设计。

2 仿真单片机实验室的建设过程

在构建仿真单片机实验室的过程中, 主要包括四个方面的过程, Proteus仿真软件的安装运行、设置实验室的硬件电路、由Proteus仿真软件提供实验室资源和Proteus仿真软件的调试。

2.1 Proteus仿真软件的安装运行

Proteus仿真软件的安装是在默认的目录下完成的, 安装完成之后就是要运行Proteus仿真软件的ISIS程序。ISIS程序的运行是在仿真软件的主页面上, 将system下的图形、颜色以及view菜单下的捕捉等设置好。选择工具栏中的p命令, 此时就可以在pick devices的窗口中选择实验室构建需要使用的元件, 并将这些元件放置在相应的位置, 设置好元件的参数, 并将不同的元器件之间用线连接。完成之后, 则需要在source菜单下选择Define code generation tools菜单命令, 选择编译程序的方法、扩展名和工具等, 在source菜单命令下加入单片机硬件电路的对应程序, 通过一定的命令仿真电路和程序的具体运行情况。用debug菜单下的execute菜单项或F12快捷键启动程序使其运行, 选择debug菜单下的pause健或者pause animation菜单项使系统的运行暂停, 而debug菜单下的stop animation菜单项则可以使系统的运行停止。

2.2 设置实验室的硬件电路

设置实验室的硬件电路需要从两个方面来完成, 包括系统扩展和系统配置。系统配置主要是按照系统的实际要求来对外周设备进行配置, 并且设计合适的电路接口。系统扩展是当单片机自身的功能单元不能满足应用系统的需求时使用的功能, 例如单片机的计数器、定时器等功能单元不能满足系统的需求, 就需要在片外进行扩展, 选择合适的芯片设计电路, 从而使容量满足系统的需求。

2.3 Proteus仿真软件提供实验室资源

Proteus仿真软件提供的实验室资源主要有三个方面的资源, 主要包括元件库、虚拟测量工具箱和图形显示功能模块。Proteus仿真软件可以提供三十多个元件库, 共有八千多个元器件。元件库主要包括二极管、三极管、电阻、电路和电容、交流电路、直流电路等各种元器件的元件库。正是因为Proteus仿真软件可以提供丰富的元器件库, 因此在进行原理布图时, 只需要通过对应的元器件之间的连线和调用就可以实现, 正确的设置每一个元件的属性, 就可以完成整个原理的绘图, 接下来就可以进行仿真实验和虚拟测量了。

Proteus仿真软件提供的虚拟测量工具箱就是提供虚拟测量功能的工具, 在单片机的实验室中, 仪器仪表的测量工作是一个非常关键的工作, 因此必须要具备一定数量的测量工具, 包括各种类型的, 才能保证对不同测量要求都可以进行测量工作, 为了保证测量的精密度, 还需要保证工具箱的质量。Proteus仿真软件的虚拟工具箱具有电路测试中常见的工具和仪器, 在仿真测量的过程中, 可以对相关的电路参数进行观测, 并且在测量过程中还可以实时观查测量的结果。

Proteus仿真软件还具有图形显示功能模块, 可以通过图形的形式将线路上的变化信号显示出来, 作用好示波器的功能差不多, 但是比示波器的功能更强大。操作人员可以利用图形显示功能模块观察电路的运行情况。

2.4 Proteus仿真软件的调试

Proteus仿真软件提供了多种测量信号, 可以实现对单片机硬件电路的测量和测试, 这些测量信号主要包括数字信号和模拟信号。Proteus仿真系统中具有调试功能, 具有设置断点、单步和全速等功能, 还可以通过第三方的软件编译和调试环境实现调试功能。虽然Proteus软件不支持C语言, 但是却可以连接C语言Keil C51集成开发环境, 可以将C语言编写的程序使用汇编进行编译, 然后进行系统的仿真。

3 结语

随着仿真技术的不断发展, 仿真单片机实验室建设已经成为了高校人才培养的新方向, 仿真单片机实验室的构建避免了传统单片机实验室的多项缺点, 满足了学生对单片机教学大量实验的要求, 并且可以有效减少学校的实验室建设的资金投入, 不用过多的考虑单片机实验设备和器材的维护和保养问题等, 取得比传统实验室更好的实践效果, 提高学生单片机实践能力和应用能力。

摘要:单片机是电子工程专业的一门关键学科, 也是一门实践性很强的学科, 因此在单片机教学过程中, 单片机实验室发挥着重要的作用。但是就目前而言, 单片机实验室教学存在着很多问题, 通常情况下只配置了数量有限的硬件设备, 不能提供数量足够的仿真器、编程器、实验电路等设备, 在理论课堂中也没有足够的辅助软件协助教学, 缺乏软环境的建设, 在设备维护保养方面也没有做出相应的重视。

关键词:单片机,实验室,建设

参考文献

[1]李学礼, 林海峰.基于Proteus软件的单片机实验室建设[J].单片机与嵌入式系统应用, 2005 (09) :5-6.

[2]孙万麟, 杨莲红, 宋莉莉.单片机虚拟实验室的构建及其应用[J].实验技术与管理, 2014 (07) :229-231.

[3]刘海涛.基于Proteus的单片机仿真实验室构建[J].电子技术, 2008 (02) :31-33.

单片机实验室的建设 篇2

一、实验目的

1、理解A/D转换的工作原理;

2、理解掌握ADC0809的A/D转换原理和并行A/D转换器接口的编程方法; 3、学习使用并行模/数转换芯片ADC0809进行电压信号的采集和数据处理。

二、实验原理

在设计A/D转换器与单片机接口之前,往往要根据A/D转换器的技术指标选择A/D转换器。A/D转换器的主要技术指标-----量化间隔和量化误差是A/D转换器的主要技术指标之一。量化间隔可用下式表示,其中n为A/D转换器的位数: 量化间隔

绝对误差22

1 相对误差n1100%2

A/D转换器芯片种类很多,按其转换原理可分为逐次比较式、双重积分式、量化反馈式和并行式A/D转换器;按其分辨率可分为8~16位的A/D转换器芯片。目前最常用的是逐次逼近式和双重积分式。

A/D转换器与单片机接口具有硬、软件相依性。一般来说,A/D转换器与单片机的接口主要考虑的.是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。

一个ADC开始转换时,必须加一个启动转换信号,这一启动信号要由单片机提供。不同型号的ADC,对于启动转换信号的要求也不同,一般分为脉冲启动和电平启动两种:

对于脉冲启动型ADC,只要给其启动控制端上加一个符合要求的脉冲信号即可,如ADC0809、ADC574等。通常用WR和地址译码器的输出经一定的逻辑电路进行控制;

对于电平启动型ADC,当把符合要求的电平加到启动控制端上时,立即开始转换。在转换过程中,必须保持这一电平,否则会终止转换的进行。因此,在这种启动方式下,单片机的控制信号必须经过锁存器保持一段时间,一般采用D触发器、锁存器或并行I/O接口等来实现。AD570、AD571等都属于电平启动型ADC。

当ADC转换结束时,ADC输出一个转换结束标志信号,通知单片机读取转换结果。单片机检查判断A/D转换结束的方法一般有中断和查询两种:

对于中断方式,可将转换结束标志信号接到单片机的中断请求输入线上或允许中断的I/O接口的相应引脚,作为中断请求信号; 对于查询方式,可把转换结束标志信号经三态门送到单片机的某一位I/O口线上,作为查询状态信号。

A/D转换器的另一个重要连接信号是时钟,其频率是决定芯片转换速度的基准。整个A/D转换过程都是在时钟的作用下完成的。A/D转换时钟的提供方法有两种:一种是由芯片内部提供(如AD574),一般不许外加电路;另一种是由外部提供,有的用单独的振荡电路产生,更多的则把单片机输出时钟经分频后,送到A/D转换器的相应时钟端。

ADC0809与单片机接口

三、实验内容

四、小结与体会

单片机实验室的建设 篇3

关键词Proteus;单片机实验;仿真平台

中图分类号:G642.423 文献标识码:A 文章编号:1671-489X(2009)04-0067-02

Simulation Platform of Single Chip Computer Experiment based on Proteus and Keil//Li Fang, Li Jiaqing

Abstract In allusion to the limitation of teaching with single-chip computer laboratory equipment, a kind of simulation platform of single-chip computer experiment based on Proteus and Keil is introduced in this paper. Taking designing electronic-clock experiment for example, the construction and application method of the simulation platform for single-chip computer experiment is recommended in detail. This article also presents the complete principle circuit and programming measures. Finally, the advantage of teaching with the simulation platform, which is providing a flexible, complete, systemic experimental environment for laboratory running openly, comprehensively and innovatively, and for enhancing single-chip computer theory and training innovative mental vitality, is analyzed.

Key words Proteus;single-chip computer experiment;simulation platform

Author’s address Chongqing University of Science and Technology, Chongqing 401331

目前,许多学校在单片机实验教学中,都配置有不同厂家不同类型的装置。但单片机装置在实验教学中存在许多缺陷。首先,教学资源不足。随着生源的不断扩大,许多学校出现多人共用一台实验装置的现象。其次,学生硬件设计能力得不到培养。系统装置的硬件电路是固定的,学生无法进行硬件电路的设计,也难以有动手练习硬件的机会。再次,实验教师对教学装置的维护工作不断增加。由于装置使用时间不断加长,其寿命也不断减少,学生的误操作也易造成许多器件在使用过程中经常损坏,等等这些都为教学装置的维护增加了难度。另外,单片机装置实验教学中还存在其他局限性,如装置本身资金投入、学生实验内容固定、使用单片机类型固定、维护成本不断增加等。

Proteus和Keil的完美结合,可为单片机系统资源、软件技术、硬件接口电路、软件和硬件相结合的应用系统等单片机理论和实验教学提供一个很好的实验仿真平台。

1 单片机实验仿真平台的建立

1.1 Proteus软件Proteus是由英国Labcenter electronics公司开发的EDA工具软件,是模拟单片机及其外围器件的很好的工具。它的最大特点就是,可以仿真51系列、AVR、PIC等常用的MCU及其外围电路,如LCD、LED、RAM、ROM、键盘、马达、AD/DA、部分SPI器件、部分I2C器件等[1]。

1.2 Keil uVision3Kei1是美国Keil Software公司开发的,是目前广为应用的51单片机软件开发工具之一。它支持汇编、C语言以及混合编程,同时具备功能强大的软件仿真功能,在软件模拟仿真方式下不需要任何单片机硬件即可完成用户程序仿真调试,同时也提供多种硬件仿真功能。

1.3 Proteus与Keil的完美结合将Proteus与Keil整合起来,充分利用各自的仿真功能,建立一套完整的单片机系统仿真平台,可为单片机的实验教学工作带来极大方便。

下面是Proteus与Keil的整合过程。

1)在单片机实验室每台电脑上安装Proteus6.7SP3和KEIL uVision3软件。

2)把Proteus安装目录下VDM51.dll(C:Program FilesLabcenter ElectronicsProteus6 ProfessionalMODELS)文件复制到Keil安装目录下的C51BIN目录中。

3)编辑Keil目录下tools.ini文件,在[C51]项下,加入TDRV5=BINVDM51.DLL("PROTEUS MONITOR-51 DRIVER") (注意:TDRVX为单片机软件仿真的硬件配置设置,在本实验室中,设为TDRV5)。

4)确定单片机实验目的。

5)打开Proteus ISIS软件。设计单片机实验硬件组成框图,建立硬件连接原理图。

6)打开Keil uVison3软件。建立单片机系统软件工程,针对实验要求编制程序。

7)在Keil uVison3软件中选择菜单“Project”->“Options for Target‘Target1’”,在出现的对话框中选择“Output”页面,选中“Creat Hex File”选项;选择“Debug”页面,选中“Use”-PROTEUS VSM MONITOR-51 DRIVER,进入“Settings”,Host设为127.0.0.1,Port设为8000。

8)在Proteus ISIS软件中,选择菜单“Source”->“Add/Remove Source Code Files”,在出现的对话框中点击“Chang”按钮,选择从Keil uVison3软件工程中所生成的HEX文件,点击“OK”。在Debug菜单下选中“Use Remote Debug Monitor”。

9)在Keil uVison3软件中直接进行仿真,连续运行或单步运行,即可在Proteus ISIS软件中看到单片机硬件仿真运行结果。

在整合过程中,单片机实验教学平台建立过程为1)~3)项,实验过程为4)~9)项。

2 电脑时钟设计实例

以电脑时钟为例,介绍基于Proteus与Keil的单片机实验仿真平台的具体实验方法。

2.1 实验要求在“单片机原理及其应用”课程中,最基本的实验要求是独立完成一个电脑时钟:1)设计电脑时钟实现方案;2)具有显示北京时间(时分秒)的功能;3)具有修改时、分功能;4)其他发挥。

2.2 电路设计与实现实验分析:由实验要求决定,能够显示时分秒,可以选用单片机课程授课中所熟悉的6位数码管显示;能够修改北京时间,则需设有按键;附加功能可加上指示灯或声光提示等;单片机芯片选用普通的8031即可满足要求。

电路实现过程:打开Proteus ISIS软件,出现程序主窗口界面;鼠标左键单击窗口左侧元器件工具栏的P按钮;在出现的窗口中选择所需要的器件,点击OK按钮,器件被添加到主窗口左侧的元器件列表区;将所需器件都添加到元件列表区之后,再依次点击各器件,左键放到绘图区,右键选中元件,左键编辑其属性,合理布局后进行连线[2-3],最后加上电源和接地符号,原理图即可绘制完成(图1);保存设计文件。

2.3 软件设计与实现

1)功能设计,分为显示设计与按键设计。显示设计:设计2种显示模式——北京时间显示模式与修改时分模式。按键设计:3个按键分别定义为MODE、UP、DOWN,MODE键切换显示模式;UP与DOWN键在修改时分模式时有效,UP键修改时,DOWN键修改分。

2)软件编程思路。可用软件定时的方式,实现北京时间的运行。硬件选择11.0592M晶振,软件可采用定时器0,16位计时模式,定时5 ms实现数据管动态扫描。对按键处理需消抖处理,可采用定时消抖的方法。

3)经过编程实验,得出结果。连续运行程序,在北京时间显示模式可看到图1所示的运行结果;按下MODE键则切换到修改时分模式界面(如图2所示)。修改时分后,切换到北京时间,可实现北京时间的更新。因此仿真运行结果满足实验要求。

从电脑时钟实例来看,基于Proteus与Keil的单片机仿真平台可完全达到实验教学的目的。

3 单片机仿真教学优势

针对单片机课程实验相关的教学,可以采取硬件给定、软件及功能由学生自行完成的教学方法。针对单片机课程设计相关的教学,可采取根据课程设计内容、硬件与软件均由学生自行设计的教学方法,这正好满足课程设计的教学需求[4]。

基于Proteus与Keil的单片机仿真实验教学具有比较明显的优势,如涉及到的实验实习内容全面、硬件投入少、学生可自行设计、实验过程中损耗小、与工程实践最为接近、维护量少等。它可为实验室开展开放性、综合性、创新性实验,提供灵活、完备、系统的实验环境。这些优点是传统单片机实验装置无法比拟的[5]。

4 结束语

单片机实验仿真平台虽然可以为实验教学带来很大方便,但也存在其缺点,如无法代替对硬件的直观认识和培养实践动手能力。而对于如全国电子设计竞赛和毕业设计的辅导,均需要培养学生的整体系统设计、分析问题和解决问题的能力,单靠实验仿真平台是无法达到这种教学要求的。但无论是单片机实验教学或是单片机课程设计或毕业设计,该实验教学平台均为加深学生单片机理论知识和培养学生创新能力提供了完备的单片机系统实验环境。

参考文献

[1]赵义强,康静,郭向亮.Proteus仿真软件在单片机设计中的应用[J].中国集成电路,2007,16(2):58-61

[2]蔡希彪,曹洪奎,芳琳.单片机电子时钟系统的设计与仿真[J].中国科技信息,2007(4):61-63

[3]刘心红,郭福田,孙振兴,等.Proteus仿真技术在单片机教学中的应用[J].实验技术与管理,2007,24(3):96-98

[4]田丰.虚拟实验与真实实验的整合研究[J].实验技术与管理,2005,22(11):89-92

单片机实验室的建设 篇4

高校实验室不仅要满足课程实验的需要,而且要为科研和学生的个性化发展提供基地。它是培养具有工程实践能力应用型人才的重要保障,直接影响着创新人才的培养质量。实验室的建设和管理是教学改革的重中之重,其中实验室的开放是实验室生命的源泉,而这一点常常被人们忽视[1]。我通过分析所在学校单片机专业实验教学的特点,以及单片机实验室教学中存在的问题,提出了网络化虚拟单片机开放实验室的建设方法,并根据学校现状,对实验室的网络化和单片机实验平台的虚拟化,以及实验室开放管理等方面进行了探索研究。

2. 单片机实验室现状

《单片机原理及系统设计》课程的特点是应用性强,要求有较多的动手实验。实验室的开放性与硬件实验资源的充足程度是让学生有更多动手实践机会的关键所在。目前,我校单片机实验教学平台结构如图1所示。主要存在如下不足。

2.1 实验条件不足,开放度不够。

目前,很多学校都尝试开放实验室,希望能够让学生变被动学习为主动探索,这有利于培养学习的创新精神和实践能力,提高综合素质。但是,由于实验条件所限,往往效果都不尽如人意。以我院为例,《单片机原理及系统设计》实验室的硬件情况是约20台套实验硬件平台,开设实验时,每组3—4人。这样,每次操作的学生只有1—2人。另外,实验课程平均每学期80学时,而实验室开放时间大约50学时/学期,其他时间基本都是空闲的。显然,由于实验硬件条件、时间和空间所限,该实验课程的开设条件不能为学生提供更多的动手机会。

2.2 实验教学内容陈旧,实验缺乏创新。

由于实验教学时数所限,学生在实验课程中的教学内容都相对简单,并且大部分的实验都是验证性实验。按照实验指导书提供的操作步骤,学生在整个实验过程中都是“傻瓜式”操作。对于不善于思考的学生,不能很好地起到思维训练的教学目的。另外,学生所做的实验内容都相对较固定。由于硬件实验箱所限,学生不能灵活完成综合性的设计性实验内容。这一点不足,在每学期学生做课程设计的时侯,显得尤为突出。

2.3 设备管理维护困难。

由于在实验过程中,学生的流动性比较大,常常出现实验箱中元器件烧坏、实验台式电脑的软件平台丢失文件和其他的一些问题。这些问题给实验室的管理和维护都增加了不少人力和硬件成本。另外,对于开放实验室时间,需要额外为安排工作人员负责管理实验室,这也增加了管理成本。

3. 基于Proteus的网络化虚拟单片机开放实验室

通过以上对我院《单片机原理及系统设计》实验室、实验课程与管理方面存在问题的分析,论文下面对具有网络化的单片机开放实验的建设方案进行了研究和探索。

3.1 Proteus的功能。

Proteus是英国Labcenter公司开发的电路分析、实物仿真与印制电路板设计软件,它可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元器件与外部设备,以及各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。它支持的单片机类型很多,支持大量的存储器和外围芯片,并在同类产品中具有明显的优势,是未来单片机系统设计开发的新趋势之一[2]。Proteus有相应的网络版产品,支持局域网联网工作,这使得建立虚拟开放的单片机仿真实验室成为可能。

3.2 网络化单片机虚拟实验平台。

针对现有实验平台存在的不足,充分利用Proteus软件的强大单片机和外围电路仿真功能,以及支持网络平台联网功能的特性,结合我院实际情况,我构建了以下网络化单片机虚拟开放实验室平台,如图2所示。

网络化的单片机虚拟开放实验室总体上包括3部分内容。第一部分是整个网络的管理部分,即图中的网络管理中心部分。该部分的主要功能是完成整个网上开放实验室的服务器部分。Proteus服务器上需要安装网络版的Proteus软件,该软件是进行校园内网上单片机系统设计和模拟仿真的基础软件。整个网络管理中心网络通过校园网与学生宿舍和实验室(教师办公室)相连,以便于用户随时可以在网络上进行“开放”的单片机系统仿真实验。第二部分是校园网部分。该部分基于我校现成的校园网络环境,提供虚拟开放实验室的网络和计算机平台。第三部分是分布在校园内的各种Proteus客户终端。客户终端主要由两大类用户构成,即宿舍内的学生个人电脑和实验室、办公室的电脑。所有的客户端需要安装Proteus的客户端程序。客户端通过校园网络可以随时使用网络中心服务器上的资源包。

3.3 网络化虚拟单片机开放实验平台的优点。

首先,现有电子类实验室是封闭式的实验教学模式,即在规定的课时时间内,学生在规定的场地内,进行规定的实验内容;现有的各种电子类教学实验,基本是进行固定程式的验证式实验,实验所用的元器件,线路板已选好,学生所做的工作仅是对实验箱连连线,使用一下测试仪器、仪表,建立相应概念而已。理论上,以上不足都不利于巩固所学内容、提高实验效果;不利于提高学生的学习积极性和培养学生的创造性思维。当采用基于Proteus的网络虚拟实验室,有利于克服以上不足。

其次,在实践方面,基于Proteus的网络虚拟实验室,一方面,解决了时间与场地的限制(建立Proteus的网络服务器,只要有网络,随时随地都可以登录服务器学习),使学生能有充够的时间深入了解及研究实验的内容,学生对实验的兴趣也得到了鼓励和保护。另一方面,有利于学生创新思维能力的培养。基于网络的Proteus虚拟实验室,使得以下过程成为可能:学生从有一个概念(或想法)开始,然后着手电路原理图的设计、编写程序代码、调试、PCB设计,最后形成产品的整个开发过程的训练。

最后,利用Proteus软件建立的单片机虚拟实验室,只要配备相应的软件,就可以作为电路分析、电子技术、嵌入式等课程的虚拟实验平台。因此,该实验平台将是一个多功能的、先进的、创新型的、易于管理和维护及低投入高回报的实验平台。

4. 结语

网络化虚拟单片机开放实验室不仅合理利用了学生个人的电脑资源,在开发和网络化的实验环境中学生随时都可以做实验,而且网络化的平台降低了管理人员的数量和维护工作量。该平台能给予学生更大的自由度,培养学生的创新能力,极大地提高实验教学质量。

摘要:通过对单片机实验课程的实验环境、实验内容和实验室管理现状进行分析, 作者找出了现存实验的不足, 并针对这些问题, 提出了基于Proteus的网络化虚拟单片机开放仿真实验室建设目标, 从而解决了现存实验教学中的问题。

关键词:单片机,Proteus,网络化虚拟单片机,开放实验室

参考文献

[1]谢玲等.高校开放嵌入式实验室的探索[J].计算机教育, 2010, (7) :55-57.

单片机实验室的建设 篇5

姓名 吴凯

实验室 S2312

课程 单片机原理与应用

试验项目编号

专业 电子与电子信息工程班级10电专(2)学号 1060710057同组人/组号/指导老师肖鹏程日期成绩试验项目名称单片机定时器的综合应用

一、实验目的1.进一步熟悉Keil uVision2软件的应用;

2.进一步熟悉Proteus7.8软件的应用;

3.掌握单片机软件延时和定时器的使用方法;

4.掌握用C语言编写方波发生器和彩灯控制器的方法。

二、实验环境

1.微机一台;

2.Proteus7.8电路设计和仿真软件;

3.Keil uVision2编译和调试软件;

三、实验原理

图1是单片机实现1KHz方波发生器的电路原理图,P00接示波器,时钟电路接在单片机的DIP18、DIP19,复位电路接在单片机的DIP9,DIP31接Vcc。注意:所有元器件要按实物重新封装。

用C语言编写程序,使该电路的功能为,上电后示波器显示1KHz的方波。当示波器显示的方波频率不是1KHz时,修改程序,使示波器显示标准的1KHz方波。

图1单片机输出控制电路原理图

C语言1KHz方波发生器的程序

图2是单片机实现彩灯控制器的电路原理图,P00接8只LED,时钟电路接在单片机的DIP18、DIP19,复位电路接在单片机的DIP9,DIP31接Vcc。注意:所有元器件要按实物重新封装。

用C语言编写程序,使该电路的功能为,上电后8只LED灯显示彩灯滚动效果。修改程序,使彩灯显示效果发生变化。

图2彩灯控制器电路原理图

C语言彩灯控制器的程序

四、实验步骤

1.在Proteus ISIS环境下设计一个用单片机产生1KHz方波发生器的电路原理图,P00接示波器,时钟电路接在单片机的DIP18、DIP19,复位电路接在单片机的DIP9,DIP31接Vcc。

2.在Keil uVision2环境下,用C语言编写单片机实现1KHz方波发生器的程序,编译生成hex文件。

3.将生成的hex文件加载到单片机,运行仿真,观察现象,记录结果;

4.在Proteus ISIS环境下设计一个用单片机产生彩灯控制器的电路原理图,P0接8只LED灯,时钟电路接在单片机的DIP18、DIP19,复位电路接在单片机的DIP9,DIP31接Vcc。

5.在Keil uVision2环境下,用C语言编写单片机实现彩灯控制器的程序,编译生成hex文件。

6.将生成的hex文件加载到单片机,运行仿真,观察现象,记录结果;

五、实验记录与处理

1.单片机产生1KHz方波发生器的实验结果

图3为1KHz方波发生器的仿真图。

图3 1KHz方波发生器仿真图

当延时常数为(),方波频率为(当延时常数为(),方波频率为(数据处理:从以上数据我们可以看出,2.彩灯控制器的仿真结果

数据处理:从以上数据我们可以看出,。))

六、思考题

1.简述单片机定时的几种方法?每种方法举例具体说明。答:

2.与单片机的定时器有关的SFR有几个?每个SFR具体说明。答:

七、实验小结

单片机课程设计实验项目设计 篇6

【摘 要】针对单片机课程设计这门课程传统实验方式的不足之处,设计了一种新的实验项目;围绕“单片机系统设计方法”这一主线,从计算器系统电路的构成、仿真图的绘制、程序的编写、印制电路板的设计等方面对新项目的实施做了详细分析。

【关键词】单片机课程设计 计算器系统 实验课

【中图分类号】G 【文献标识码】A

【文章编号】0450-9889(2016)01C-0163-03

单片机课程设计作为单片机原理课程的延伸,是一门以学生动手实践为主的实验课。本课程在传统的教学中一般会以单片机实验箱作为操作的平台。教师设计一个综合的实验项目,学生在实验箱上完成线路的连接程序的调试运行等操作,之后学生完成设计报告。单片机实验箱内模块众多、接线杂乱,与实际应用不符,不利于学生理解和掌握单片机控制系统的设计过程及调试方法。因此在单片机课程设计中有必要引入一种新的实验形式。该实验项目作为单片机课程设计的一个综合实验内容,既要做到有别于单片机原理课程的验证性实验,又要做到理论联系实际,具有一定的实用价值,还要能够体现单片机系统开发的流程,激发学生的学习兴趣,增强学生的动手能力。

鉴于此,开发了一个“计算器的设计”项目作为单片机课程设计的教学内容。本项目的要求如下:设计一个简易计算器,能实现8位数之内的加减乘除运算,并要求学生按照单片机控制系统的开发流程,完成电路的仿真、程序的编写、电路图绘制、PCB板制作、焊接调试等工作。

一、计算器项目总体设计

为了实现计算器的功能,本系统应由单片机、输入模块、显示模块、声光提示模块和电源模块几部分构成,其组成框图如图1所示。

(一)控制器的选择

本项目中选取STC90C58RD+单片机作为控制器。STC90C58RD+与AT89C51完全兼容,可直接替换。前者具备高达1280Btye的SRAM,32K字节flash存储器,29K字节EEPROM,更高的可靠性及更低的功耗,使得它被越来越多的单片机开发者选用。

(二)显示模块的设计

单片机系统的输出显示部分,可以选用液晶屏或者数码管。液晶屏价格相对较贵,驱动程序编写较复杂,而数码管具有价格低廉、驱动电路简单、控制程序容易编写等特点。而且本设计要求完成8位数范围内的计算,因此使用8位数码管作为显示器件。

(三)输入模块的设计

按键作为单片机系统人机交互的输入部分,有独立式按键和行列式按键之分。独立式按键占用单片机的IO口资源较多,不选用。本计算器项目中,需要输入0-9的数字键以及代表各种运算操作的按键,需要按键数量多,因此选用行列式键盘。行列式键盘通过对行线和列线的电平状态的组合来判断哪个键被按下,可以用较少的IO口得到较多的按键。在本设计中采用4×4的行列式按键。

(四)声光提示模块的设计

本设计中需要在按键按下时发出“嘀”提示音,而且在运算结果溢出的时候发出声光提示。溢出选用最常用的蜂鸣器和发光二极管作为声光提示模块。

二、计算器项目的仿真

在电路实际制作之前的仿真是单片机系统开发过程中一个非常重要的环节,通过仿真能够验证设计方案是否可行。本设计是一个单片机系统,既有电路的仿真又有程序的仿真,因此选用Proteus软件进行系统仿真。

仿真软件Proteus是英国Lab Center Electronics公司研制的EDA软件。它不但和普通仿真软件一样能够仿真模拟电路,最大的特色是能够仿真单片机及外围器件,能进行代码调试。

学生熟练掌握本软件的使用,对完成单片机项目的设计开发有较大的促进作用。

(一)仿真电路设计

1.单片机最小系统仿真电路设计

单片机的最小系统指单片机工作的、由最少的电路构成的系统,包括晶振电路和复位电路。晶振X1和两个瓷片电容C1、C2构成了单片机的时钟电路。手动复位按键、电解电容C3和电阻R2构成单片机的上电复位和手动复位电路。

2.显示模块仿真电路设计

数码管的驱动由断码驱动和位选端驱动构成。单片机的P0口用于输出数码管的段码。由于P0口是标准的双向IO口,内部没有上拉电阻,因此P0口连了一个1K的排阻RP1。P2口的8个引脚用于控制8个数码管的位选端,分别经过Q2-Q9这8个三极管驱动8位数码管。

3.输入模块仿真电路设计

单片机的P1口连接一个4×4的行列式键盘。P1口的低4位作为行列式键盘的4条列线,高4位作为行列式键盘的4条行线。

4.声光提示模块仿真电路设计

声光提示电路由一个发光二极管和一个蜂鸣器构成。蜂鸣器由NPN型三极管Q1驱动。当系统上电时P3.6引脚为高电平,三极管截止,蜂鸣器不会误动作。当需要蜂鸣器发出声音时置P3.6引脚为低电平即可。发光二极管有P3.3引脚控制,低电平有效。

综上各个模块,此计算器系统完整的仿真电路如图2所示:

(二)计算器程序设计

计算器项目的控制程序在Keil C软件中完成。Keil 是一款针对51单片机内核的集成编译环境,具有很高的编译效率。

1.程序设计思路

本程序主要完成3方面的任务:扫描数码管、扫描按键、处理按键;因此编制了两个独立的函数Display( )和KeyBoard( )完成扫描数码管和扫描按键的功能。为了在按下不同的键值的时候完成不同的功能,使用了switch语句,这样程序的结构会比较清晰。

在主程序里面定义了以下几个变量:

unsigned char Key,InputCnt,LastOpt。

unsigned long Result,InputData。

变量Key用于暂存当前按下去的键值。

变量InputCnt用于存放输入数字的个数,当输入数字超过8个时就不能接收这个数字,并报警提示;

变量LastOpt用于存放前一次输入的运算类型。因为按下加、减、乘、除中某种运算的时候,计算器做的并不是当前的这种运算类型,而是前一次按下的运算类型。

变量Result用于存放运算的结果。由于计算器可以进行连续的多次运算,Result的值是会在每次运算之后改变的。

变量InputData用于保存输入的操作数,并作按下某种运算的按键后与Result的值进行相应的运算,把结果保存到Result里面。

2.主程序设计

程序的流程图如图3所示。

系统上电后首先进行系统初始化,对各个变量赋初值。然后调用按键函数,判断是否有键按下。若无按键按下则扫描数码管,接下来再次扫描按键。

若有按键按下,则会出现3种情况。第一种情况,按下的为数字键“0-9”,而且输入数字的位数InputCnt小于8的话,就把按下去的键值接收到变量InputData里面,更新一次显示缓冲区,让数码管显示输入的数字。如果InputCnt大于等于8,说明输入数字的位数已经达到最大不能再输入了,并发出报警提示;第二种情况,按下的键为“加、减、乘、除、等于”键,则根据LastOpt的取值把变量Result和InputData的值进行运算,并把结果存放到Result里面。同时更新一次显示缓冲区,让数码管显示运算的结果;第三种情况,按下的键为清零键“C”,则给各个变量重新赋初值,显示缓冲区清零,准备开始下一次计算。

3.子程序分析

在程序中调用了几个子函数,这几个子函数的逻辑关系如图4所示。

函数原型: void FillDispBuf(ulong a)

函数功能: 把ulong a这个数处理后存入显示缓冲区。若a没有超过8位十进制数的范围则把它拆分后直接存入显示缓冲区即全局数组DispBuf[8];若a超过这个范围则需要在数码管显示“Error”,因此需要把这几个字形的段码存入DispBuf[8]。

函数原型: uchar KeyBoard(void)

函数功能: 读取4×4行列式键盘的键值。若有按键按下则返回0- 15之间的某个键值,若无按键按下则返回21。

函数原型: void Display(void)

函数功能: 扫描8位数码管。全局数组uchar DispBuf[8]为显示缓冲区。本函数把数组DispBuf[8]里面的8个元素的数值在8个数码管上显示出来。

函数原型: void DelayMs(uint j)

函数功能: 延时N毫秒,参数 j 表示需要延时的时间为j毫秒。

在实验的过程中,只要把几个子函数的代码及相应功能告诉学生,学生就能在此基础上进行顶层代码的编写调试。如果学生时间充裕,也可自己编写以上几个子函数的代码。

三、计算器实物的制作及调试

本项目的设计内容在仿真软件中验证通过之后,就是实物电路的制作。电路图原理图和PCB图的设计在PROTEL99SE中完成。

本设计所需元件清单如表1所示。实验室为每个学生准备一套对应的元器件。

为了更好的让学生掌握单片机系统开发的流程,后续的实验有3种方式可以进行,每个学生可根据自己的实际情况选择。

A:学生可根据原理图和元件清单中的元器件,在万用板上自己焊接这个电路。直到电路调试成功,并下载程序运行。

B:学生可根据电路原理图绘制PCB电路板,并在实验中完成电路板的转印、腐蚀、钻孔等操作,然后焊接元器件并调试运行。

C:实验室通过专业的电路板工厂把“计算器项目”的PCB板加工出来。并且把此电路板及配套的元器件分发给学生焊接调试。统一生产出来的电路板及元器件套件如图5所示。

最终学生都能制作出一个调试成功的实物计算器。

通过对单片机课程设计新实验项目的实施,改变了本课程的教学组织形式,激发了学生的兴趣,增强了学生的动手能力。学生在完成“计算器设计”项目的过程中掌握了单片机系统的设计方法以及调试技巧。实践表明这样的方式收到了良好的效果,具有较大推广价值。

【参考文献】

[1]代芬,王卫星,邓小玲,等.单片机综合实验开发板设计[J].实验室研究与探索2010,29(8)

[2]林祥果.高职单片机课程设计与教学实践[J].宁波职业技术学院学报,2014,18(01)

[3]潘谈.基于STC89C58芯片的小型GPS船舶航迹仪的设计[J].船舶科学技术,20=14,36(12)

[4]袁芳,江伟,陈冬等.篮球比赛场地计时计分系统的设计[J].实验室研究与探索,2014,33(11)

[5]王海燕,杨艳华.Proteus和Keil软件在单片机实验教学中的应用[J].实验室研究与探索,201,31(5)

[6]包建华,张兴奎,丁启胜.模块化单片机实验系统的研制[J].电气电子教学学报,2010,32(6)

单片机虚拟实验室的建立 篇7

1 简介proteus软件

本文建立单片机虚拟实验室所使用的核心软件就是proteus。它不仅能够对单片机的CPU的运行情况进行仿真,而且对于单片机的外电路甚至于不包含单片机的电路,proteus软件也能对其在一定程度上进行仿真。所以,我们在执行相关程序时,重点考察的对象并不是存储器的改变,而是直接观察结果,看程序运行后电路的工作情况。只有这样,单片机的实验操作才能和相应的工程做到有机的统一。

2 简述proteus软件仿真的工作过程

基于proteus软件的ISIS程序,系统即可进入仿真环境。具体应用proteus软件的仿真过程可以简述为以下几步:首先,选中view菜单,根据具体情况设置捕捉对其项目的相关内容,并同时对system项中的界面大小、颜色等项进行相关设置。然后,运行元件命令后,打开pick devices,从中选择并放置仿真电路所需的各种元器件,根据实际电路设计将其连接,并按要求设定元器件的工作参数,并在软件环境下编程处理。其次,执行Define code generation tools命令,确定编译的路径、工具等。最后,在执行命令项Add/remove source files的环境下,输入相应的电路程序,通过debug选项进行仿真检测电路工作情况。

3 简述单片机实验的组织

单片机的实践教学中,一般包括以下几点:系统资源、软件技术、硬件的接口电路、软硬件结合的应用系统。下面以51单片机为例,简述单片机实验的组织情况。

3.1 关于软件技术的实验

关于软件技术实验,主要包括以下几个方面;对具体语句的执行、对具体算法的实现、对错误语法的检查、对错误逻辑的验证。当然具体实验的操作还需根据具体情况而定。

3.2 关于硬件接口电路的实验

单片机硬件的接口电路理论不仅涉及到电子电路的相关知识,还需要考虑到实际的应用需要。一般地,硬件的接口电路的相关理论主要包括如何选择或连接元器件、如何设置电路更好的工作方式、如何保障电路的稳定性以及其空间需求等知识内容。由于仿真情况下的电路工作环境与实际情况还是存在一定差距的,所以若进行单片机的实际教学,还需要求学生自己设计电路和电路的工作环境。通常情况下,可以让学生根据相关的条件,使学生对接口电路及相应的程序自行设计;或者也可以让学生根据程序设计对应的接口电路。

3.3 关于软硬件结合的应用系统的实验

实现软硬件结合,单片机就有一个应用系统了。此时的重点将不再是硬件设施的相关问题,而是软件系统如何设计、做相关的调试,并最终运行。

4 简述虚拟实验室的建立方法

要做好单片机的虚拟实验室的建设工作,一般需要考虑以下几个方面。第一,需要尽可能地保障虚拟环境与实际情况基本相符,虚拟环境下的硬件设备的供应尽可能完整。另外,在设计硬件电路时,一方面要考虑到对系统的扩展。也就是说,如果实际的应用系统需求的容量大于单片机的相关功能单元中的ROM,RAM,I/O口以及定时器、计数器等的设备容纳量时,可以通过选择适当的芯片对单片机进行片外扩展。另一方面,如果实际系统需要配置如键盘、显示器、打印机、A/D转换器、D/A转换器等设备时,系统可以对接口电路进行合理设计以满足设备调试。学生们通过对proteus软件的科学应用,以上要求都可以实现。第二,通过使用WAVE软件工具实施对应用软件的编制和调试,学生可以借此学到单片机软件的开发方法及相应的技巧。第三,在软件的调试界面选用WAVE软件,硬件的调试界面选用proteus软件的基础上,通过WAVE软件与Proteus软件的整合,即可以对虚拟的硬件和软件进行总调。第四,将WAVE软件和proteus软件所提供的软件和硬件调试进行有机整合。一般地,我们利用proteus软件绘制出所要仿真的硬件的电路图,利用WAVE软件写入相应的程序,进行编译后,系统即会生成一个*.HEX文件;并且利用proteus软件打开已绘制完成的硬件的电路图,双击芯片89C51,并打开Program File选项,在加载完成生成的*.HEX文件后即可对编译的程序进行仿真了。

5 结语

随着单片机技术在社会、工程中的应用越来越广泛,人们对其信息化、智能化的要求也会越来越高。因此,熟练掌握proteus等软件进行相关的模拟仿真成为了单片机技术发展的必然。学习proteus软件,不仅可以在机电、自动化等相关专业的教学中进行模拟仿真,还可以建立个人实验室做仿真试验,在减弱经费、时间、场地等客观条件对单片机实验的限制的同时,也在一定程度上提高了学生以及相关工程人员的实践操作能力,并且对进一步推动单片机技术的发展起到了重要的作用。

参考文献

[1]胡文金,钟秉翔,杨健.单片机应用技术实训教程[M].重庆:重庆大学出版社,2012:20-35.

[2]刘炳尧.KeilC+Protcus6.9-搭建自己的单片机仿真实验室[J].电子制作,2 01 3(8):52-54.

一种单片机虚拟实验室的建立方法 篇8

单片机的学习是一个实践性很强的过程, 目前的单片机实验室基本采用硬件仿真设备搭建, 受资金和场地的限制, 单片机实验室配置的灵活性和完整性受到一定的限制[1,2]。针对这些问题, 在此提出一种建立基于个人PC和各种软件的单片机个人虚拟实验室方案。所谓“虚拟实验室”, 就是将计算机上的各种虚拟仪器, 按实验要求和设计原理, 虚拟出与现实相同的实验系统, 进而在这个系统上完成整个实验。与传统实验模式相比, 虚拟实验具有比较明显的优势[3], 例如, 涉及的实验内容全面, 硬件投入少, 学生可自行实验, 实验过程中损耗小, 与工程实践最为接近等。一般的虚拟实验室仅包含单片机系统的调试, 本文在此基础上又加入了与上位机的联合调试。

在此, 以使用VB通过RS 232串口控制51单片机LED的亮灭为例, 介绍基于PC和软件建立单片机虚拟实验室的过程。

1单片机虚拟实验室的构成

原理框图如图1所示。上位机用于编写监控界面及程序, 实现对单片机系统的监控, 它可以使用VB, VC, Delphi等软件实现[4];虚拟串口用来实现上下位机通信的软件模拟, 在这里也可以使用自带通信类的LabVIEW来实现上位机软件和虚拟串口两项功能;虚拟调试一般以Proteus为平台, 建立单片机系统的硬件系统;联合调试软件可为单片机系统提供软件, Proteus支持Hex, COF, D90类型文件, 同时支持第三方的软件编译和调试环境, 联合调试软件一般有Keil, ADS, Wave等。

为了更具有代表性和一般性, 该方法的上位机软件使用VB 6.0开发, 虚拟串口采用Virtual Serial Ports Driver XP 5.1;虚拟调试平台采用Proteus 6.7 SP3;联合调试软件使用Keil C51 μVision 2。

2系统硬件的建立

单片机系统的硬件在Proteus中实现, 主要完成硬件平台的搭建和仿真效果的观察。

2.1 Proteus简介

Proteus是英国 Labcenter公司开发的电路分析与实物仿真软件, 它能够提供丰富的测试信号用于电路测试, 同时还提供Schematic Drawing, Spice仿真与PCB设计功能, 可以仿真51系列、AVR, PIC, ARM等常用的MCU, 并提供周边设备的仿真[5]。Proteus的强大功能为虚拟实验室的构建提供了基础。

2.2 硬件平台的搭建

在这里, 单片机采用AT89C52, 在P1口接8个LED, 单片机的P3.0, P3.1分别与串口元件COMPIM的RXD, TXD相连, COMPIM已经自带电平转换功能, 就不需要MAX232元件, 复位、晶振电路也不需要。硬件平台原理图如图2所示。

调出AT89C52属性设置窗口, 为了串行通信设置方便, 设置晶振Clock Frequency为11.059 2 MHz, 如图3所示, 其他参数保留默认即可。打开串口元件COMPIM属性对话框, 在Physical port 选项选择COM4, 即使用串口4, 该串口是在后面使用软件虚拟出来的, 其他参数设置如图4所示, 其代表波特率9 600 b/s, 8个数据位, 无奇偶校验, 1个停止位, 其余选项保持默认即可。上位机中的通信设置以及单片机的软件编写都要求与该设置一致。

3系统软件的建立

系统软件的建立包括单片机系统软件和PC上位机软件的建立。

3.1 单片机系统软件的建立

Keil软件是目前最流行开发MCS-51系列单片机的软件。在该例中, 单片机主要完成串口接收, 将接收的数据送到P0口, 从而实现上位机控制下位机的简单功能。该程序在Keil软件中编写。

串口初始化函数如下:

3.2 位机控制程序的建立

上位机使用VB建立界面和通信程序, 完成数据的发送。利用VB开发串口通信程序主要有两种方法:一是使用MSComm串口控件;二是调用Windows API函数。在实践中, 使用VB串口控件实现通信的方法比调用API动态链接库的方法更加方便快捷, 也减少了因编程不当导致的系统不稳定[6]。

建立8个checkbox数组, 分别对应控制P0口的8个小灯;8个label数组, 分别对应8个编号;2个按钮分别为发送、退出;1个MSComm控件。在这里, 使用虚拟串口COM3, 串口设置与Proteus中的一致, 运行如图5所示, 程序如下:

声明全局变量:Dim DataOutValue As Integer ′DataOutValue为发送值。

初始化程序:主要完成对串口的设置, 包括选择串口, 设置波特率, 设置数据格式, 打开串口等。

Checkbox控件Click事件代码, 生成控制单片机所需的数据:

发送按钮Command1的Click事件代码, 完成控制命令的发送:

4虚拟环境的集成

分别建立系统的软硬件之后, 还要在虚拟环境中实现软硬件的联系和上下位机的通信。

4.1 Proteus和Keil的联合调试

使用Proteus和Keil的联合调试, 在原理图的设计阶段就可以对设计进行评估, 验证所设计电路的软硬件是否达到设计要求的技术指标;还可以通过改变元器件参数使整个电路性能达到最优化, 以节省设计时间与经费, 提高设计效率与质量。

Proteus可以和Keil联调设置步骤如下:

(1) 复制安装目录 ProteusMODELS下的VDM51.dll文件到Keil安装目录的C51BIN目录中。

(2) 修改Keil安装目录下Tools.ini文件, 在C51字段加入TDRV5=BINVDM51.DLL ("PROTEUS 6 EMULATOR") 并保存。在这里, 不一定要用TDRV5, 根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。

(3) 打开Proteus, 画出相应电路, 在Proteus 的“Debug”菜单中选中“Use Remote Debug Monitor”。

(4) 进入Keil的Project菜单Option for Target“工程名”, 在Debug选项中右栏上部的下拉菜单选中Proteus Driver, 再进入Settings, PC的IP设为127.0.0.1, 端口号为8000。

(5) 在Keil中进行debug, 同时在Proteus中查看直观的结果。

通过这样的设置, 就可以像使用仿真器一样调试程序。

4.2 使用虚拟串口建立上位机和下位机的通信

PC上位机与下位机的联系, 传统上是通过物理接口如串并口等完成。虚拟实验室中, 由于下位机在PC中用软件模拟实现, 上位机与下位机的联系与传统有所区别。这里使用虚拟串口软件Virtual Serial Ports Driver XP 5.1, 其目的是用软件虚拟出VB上位机和Proteus中建立的单片机系统完成通信的串口。值得注意的是, 这种通信只能在两个虚拟串口之间进行, 该例子中, 上位机和单片机系统各使用一个虚拟串口, 从而实现通信。

Virtual Serial Ports Driver XP 5.1界面如图6所示, 左侧Physical ports代表PC机物理串口。该例子所用计算机为COM1和COM2, 点击Add/Remove ports中Add pair左边First, Second下拉框, 分别选中COM3, COM4;然后点击Add pair按钮, 就加入了虚拟串口COM3, COM4, 如图左侧Virtual ports所示。这样, 上位机VB程序以及Proteus中的单片机系统就可以像使用物理串口一样使用虚拟串口COM3, COM4。如前文所述, Proteus中的COMPIM元件使用虚拟串口COM4, VB中使用虚拟串口COM3。完成这些步骤, 就能使用虚拟出的串口COM3, COM4。

5上下位机联合调试及结果

以上步骤完成之后, 启动仿真就可以实现上、下位机的联合调试。运行虚拟串口软件 (vspdXP 5.1) 点击Proteus中的运行按钮, 选中或取消选中VB界面中代表LED的checkbox, 然后点击发送按钮, Proteus界面中对应的LED小灯便实现亮灭。运行效果如图7所示。通过观察, 该方法建立的虚拟实验室其功能得以实现。

6结语

在此通过一个简单实例详细介绍一种虚拟实验室的建立方法, 可以看出使用纯软件的方法代替传统单片机开发硬件或软硬结合的调试方法, 使得单片机实验室的建立仅依赖一台电脑和若干的软件, 实现了包括上位机在内的单片机系统的调试仿真。具有直观、节省成本, 与实际最为接近等特点。为个人单片机的学习提供了经济、高效的实现方案, 同时, 使得软、硬件配置更加灵活, 缩短了开发周期, 节省了开发成本, 避免了制版焊接等过程中的不确定因素, 为单片机项目的开发提供了新的方法。

参考文献

[1]马正强.单片机虚拟实验室的建立[J].单片机与嵌入式系统应用, 2005 (3) :20-23.

[2]李学礼.基于Proteus软件的单片机实验室建设[J].单片机与嵌入式系统应用, 2005 (9) :5-6.

[3]董普松.Proteus在单片机系统设计中的应用[J].现代电子技术, 2008, 31 (14) :153-154.

[4]林华, 宋世发.一类上下位机控制系统的仿真设计[J].湖北汽车工业学院学报, 2008 (1) :48-50, 80.

[5]周润景.基于Proteus的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社, 2006.

[6]李林功.单片机原理与应用[M].北京:机械工业出版社, 2008.

[7]张丹, 黄惟公.基于LabVIEW与Proteus的教学测控系统设计[J].上海计量测试, 2008 (3) :14-16.

[8]黄章华, 陆华忠, 李灌辉, 基于LabVIEW和单片机的步进电机控制系统设计[J].现代电子技术, 2007, 30 (17) :179-181.

[9]李长林.Visual Basic串口通信技术与典型实例[M].北京:清华大学出版社, 2006.

单片机实验室的建设 篇9

Proteus是目前最好的模拟单片机外围器件的工具,可以仿真51系列、AVR, PIC等常用的MCU及外围电路(如LCD、RAM、ROM、键盘、马达、LED、AD/DA、部分SPI器件、部分IIC器件等),当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,但对初学者来说,主要是熟悉单片机设计的原理和方法,用Proteus和Keil相结合的虚拟实验室也是非常可取的。

Keil是德国开发的的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件,后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,其界面友好,操作也不复杂,用户极为庞大。Keil的uVision2可以进行纯粹的软件仿真(仿真软件程序,不接硬件系统);也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还可以使用u Vision2的内嵌模块Keil Monitor-51,在不需要额外的硬件仿真器的条件下,搭建单片机硬件系统对项目程序进行实时仿真。

Keil C与Proteus在各自的环境下都可以进行一定程度仿真调试。然而,Keil C只能对程序进行调试,不能看到硬件的运行结果,因此并不直观;而Proteus软件在对单片机系统进行仿真调试的时候只能对硬件做出改动,不能直观的了解程序运行的情况,难以对程序中存在的不足和错误进行修改。如果能把这两者结合起来,同时观察程序的运行情况和当时硬件系统所处的状态,则可以方便地找出系统设计中存在的软、硬件错误。

利用PROTEUS与Keil整合构建单片机虚拟实验室,解决了传统单片机教学中以理论为主实践少,且实践以验证实践为主;学校设备落后的问题。使得每个学单片机的人,都可以拥有自己的"实验室"。

Proteus和Keil C51联合使用有两种方法,一种是离线联合仿真,另一种是在线联合仿真。

1、Keil C与Proteus的在线联合仿真

下面具体介绍Proteus 6.9与Keil C联合仿真的步骤[2]:

1)确保计算机上安装有TCP/IP协议。

2)安装Proteus 6.9和keil uision2ㄢ

3)从Proteus的官方网站上下载Proteus VSM AGDI Driver(其下载地址是http://downloads.labcenter.co.uk/vdmagi.exe)ㄢ

4)安装该驱动程序 (vdmagdi.exe) 。

安装完成后,在keil文件夹下的TOOLS.INI文件中的[C51]字段的最后多了两行内容,分别是TDRV5=BINVDM51.DLL ('Proteus VSM Simulator') 和BOOK10=HLPVDMAGDI.HLP ('Proteus VSM AGDI Driver') , 前者用于keil和Proteus6.9的联接,而后者是一个帮助文档。同时,该驱动程序还会对Proteus安装目录下BIN文件夹中的PROSPICE.dll文件进行修改,该动态链接库文件是专门用于Proteus的仿真功能的,如果是未经授权的非法用户,则不能与keil正确联接,会弹出"Error:Target DLL has been cancelled.Debugger aborted!"的出错提示。

5)进入keil开发环境,建立一个工程文件,在选中"Target1"的情况下选择Project→Options for Target'Target1'。

6)在'Debug'选项卡中,选择左边的"Use:',在下拉框中选择"Protesu VSM Simulator", 其它的选择默认值就可以了。点击"确定"按钮保存设置。这样,对于单机联接调试来说,在Keil里的设置就结束了。需要注意的是,对于每一个不同的工程文件,都要按此进行重新设置。

7)打开Proteus ISIS原理图输入环境,在菜单栏中选择"DE-BUG→Use Remote Debug Monitor", 选中之后,在该选项前有一个凹下去的"√"的符号。和keil不同,这项设置对于所有的原理图都有效,不用总是重新设置了。

所有这些设置完成以后,就可以开始联合仿真了。

在Proteus ISIS环境中画出电路图,然后在Keil C集成开发环境中编写相应的程序,检查无误后,在keil环境下选择"DE-BUG→Start/Stop Debug Session", 或使用快捷键"Ctrl+F5", 这时,Keil会将机器码自动加载到Proteus ISIS中的单片机模型中去,不用再次手动绑定HEX文件,Proteus就好像keil开发环境中的一个插件一样,在keil中进行程序的单步、过程调试时,对应的Proteus中的电路则会按照程序的语句做出相应的运作。当要取消联合调试时,只需再次按下"Ctrl+F5"就可以了。

2、Keil C与Proteus的离线联合仿真

所谓离线联合是指两者互相独立工作,先通过Keil C51编辑、修改、编译源程序并生成HEX等单片机能识别的文件,然后再运行Proteus ISIS, 将HEX文件与原理图中的MCU进行绑定即可,这种方法是最常使用的。

下面以一个实际例子来说明Keil C与Proteus是如何离线联合仿真的。

2.1 硬件电路的实现

运行Proteus ISIS, 通过选择相应的元器件,绘制硬件电路原理图(如图1所示)

2.2 软件的实现

打开keil uVision 2, 新建一个项目,命名为dlkg.uv2.选择project菜单下的Select Device for Target为这一项目选择目标CPU, 这里选择ATMEL公司的AT89C52,接着单击Project菜单下的Option for Target'工程名'菜单项,选择Debug选项卡,进行相应的设置,然后新建一个源文件dlkg.asm, 写入源程序(见图2中程序)。注意必须生成.hex文件才能实现软件对硬件电路的控制。.hex文件的生成方法:在Project窗口中右击Target 1, 选"Options for Target'target 1'", 在"OUTPUT"中勾选"Creat HEX File", 再点OK选择按钮就可以了。

单击Debug菜单下的Start/Stop Debug Session菜单项,这时切换到Proteus界面。右击硬件电路图中的单片机芯片AT89C52,在弹出的窗口中的Program File中加入dlkg.hex文件,然后单击图1中的play键,单片机就能正常工作了,这时发现四个按钮开关能分别控制四个灯的熄灭了。

3、结束语

本文介绍了利用Proteus和Keil软件构建单片机虚拟实验室的两类方法,结合一个实际例子,说明了用Proteus和Keil软件构建虚拟单片机实验室不仅简单可行,而且非常经济,解决了传统单片机实验室设备资金短缺和维护难的问题。不过,仿真软件不可能完全模拟出实际的硬件环境,另外要注意,虚拟实验室跟实际的基于开发板和仿真器的单片机实验有很多不同之处,如Proteus软件仿真时基本上没考虑其晶振的,因为它默认芯片上自带有晶振电路的,而实际开发板电路必须接晶振电路的。一定要在理解单片机的基础上多做硬件调试,只有这样才能真正学好单片机。

参考文献

[1].胡文金, 钟秉翔, 杨健。单处机应用技术实训教程[M]。重庆:重庆大学出版社, 2005:2-3。

[2].刘炳尧。keilC+Proteus6.9-搭建自己的单片机仿真实验室[J]。电子制作, 2007, 8:52-54。

[3].先锋工作室。单片机程序设计实例[M]。清华大学出版社, 2003, 6:44-45

单片机实验室的建设 篇10

高等学校教育的目标是培养有独立工作能力的各类专业技术人才。受传统教学模式的影响, 教学过程表现为重理论而轻实验, 并且实验教学大部分属于验证性或模仿性的实验, 不利于对学生创新能力和动手能力的培养, 同时实验内容与工厂实际差距较大。针对这种状况, 近年来高等教育正在慢慢适应社会发展的需求, 加强了对各类工程应用型人才的培养, 对传统的实验教学模式和体系进行改革, 形成了一个开放式的实验教学体系。结合机电控制综合实验室的实际教学和科研需求, 设计一套面向实验室的可视化称重系统。

1 系统硬件设计

选用C8051F340型单片机作为系统的控制中心, 它自带10位A/D转换电路和12MHz内部振荡器, 减少了外围电路设计, 提高了系统工作的可靠性。称重传感器型号为MCL-T5, 该传感器可以将0~5kg重量转变成4~20m A工业标准电流信号。利用12864液晶显示设备地址、过量程报警值、当前测量值。通过按键来设置报警值, 当重量超出传感器的量程时, 报警电路发出警报信号。系统具体工作流程:首先, 由拉压力传感器将重量 (0~5kg) 转变为工业标准的4~20m A电流信号, 经I/V转换电路与A/D转换器, 将重量信号变成数字量;然后, 通过MAX487芯片RS-485通信收发器, 按照工业标准MODBUS通信协议, 将数字化后的重量信息传递给上位机。系统整体电路如图1所示。

2 上位机软件设计

上位机采用Visual Basic 6.0设计可视化界面, 结合ACCESS数据库、ASP以及MD5数字指纹加密技术, 完成数据的储存和网络传输, 其功能主要包括称重组态、实验曲线绘制、学生登陆、实验成绩打分、实验成绩打印和网络在线查询等。

数据传输采用标准的MODBUS通信协议, CRC校验采用数据计算的方法获得。上位机使用MSComm控件通过串口进行数据的传输和接收, MSComm控件以事件驱动方式处理通信数据, 控件的On Comm事件捕获并处理这些通信事件, 设置接收缓冲区, 每收到一个字符就产生On Comm事件, 数据发送不产生On Comm事件。设置二进制取回数据方式, 同时, 需要设置波特率、奇偶校验位、数据位和停止位为“9600, N, 8, 1”。

为保证系统的安全性, 引入MD5数字指纹加密技术。当用户登录时, 系统对用户输入的密码进行MD5运算, 然后与保存在数据库中的MD5值进行比较, 以确定输入的密码是否正确。这样, 系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性, 避免用户的密码被具有系统管理员权限的用户知道。在数据库设计方面, 系统在ACCESS数据库中建立了4张表, 分别是实验成绩表、实验人员表、实验数据表、实验图片表。网络系统采用ASP动态服务界面, 它可以与数据库进行交互, 为学生的成绩查询、密码修改提供便捷。

3 系统实验使用步骤

称重实验流程如图2所示, 具体步骤:

(1) 管理员登陆, 将学生的信息添加到数据库中 (包括学号、姓名、班级、密码、照片、管理权限) 。

(2) 学生登陆, 登录到用户界面, 核实用户信息, 信息正确后选择称重实验。

(3) 进入称重实验界面, 核实信息, 如果身份信息不正确请重新登陆;检查称重传感器托盘上有无砝码, 如有, 将其取下;双击“设置零点”来设置传感器零点。之后向托盘中添加砝码, 增量0.5kg, 点击升程记录, 记录10组数据;然后记录回程数据, 减量0.5kg, 记录10组数据。称重实验过程如图3所示。

(4) 点击“绘制曲线”绘制出升程曲线和回程曲线, 如图4所示, 比较其重合度并得出结论。

(5) 点击“打印”将数据、实验图片保存到数据库中, 此步骤必须执行, 然后退出实验系统。

(6) 管理员登陆, 对学生实验进行打分, 并进行成绩单打印, 如图5所示。

(7) 学生在IE中输入网址首页, 可进行修改密码和查询成绩, 如图6所示。

4 结语

该面向实验室的可视化称重系统, 较好地实现了重量测量、实验数据记录、实验曲线绘制、实验学生管理、实验评分、打印成绩单、网络查询以及超量程报警功能。此外, 该系统还可作为《传感器技术》、《单片机技术》、《计算机接口技术》《可视化设计》、《VB程序设计》等课程综合实验的实验平台, 可以锻炼学生的单片机外围电路及传感器接口电路设计、单片C51程序设计、上位机程序设计及典型仪表设计等综合能力。

参考文献

[1]张波, 丁金华, 孙秋花, 等.基于微控制器的隔离变送器的设计[J].大连工业大学学报, 2010, (03)

[2]庄育锋, 翟宇.微量药品单元动态称重系统的设计与实现[J].仪器仪表学报, 2013, (02)

[3]朱蕴璞, 李大伟, 沈清.AD7799在电子称重系统中的应用[J].仪表技术与传感器, 2008, (12)

[4]才让卓玛.一种单片称重系统电子设计与实现[J].自动化与仪器仪表, 2014, (06)

[5]王法明, 张涛.包装生产线称重检测系统的研究与实现[J].计算机测量与控制, 2013, (03)

[6]李秉荣, 刘夫云, 鲁倪亚.基于RS485和TCP/IP网络的分布式称重系统[J].计算机系统应用, 2011, (09)

[7]张从力, 史记征, 陈增江.一种车载静态称重系统设计[J].传感器与微系统, 2013, (01)

[8]陈书立程志平.基于C8051F410的洞道干燥器温度控制系统[J].电子技术与软件工程, 2013, (17)

[9]景婧.应变式称重传感器的非线性校正[J].计算机应用研究, 2013, (01)

单片机实验室的建设 篇11

关键词:单片机原理;实验教学;教学改革

“单片机原理及应用”课程侧重于单片机在汽车领域的应用,其理论性和实践性都很强。要使学生真正掌握好本课程,必须做到理论教学与实验教学并重,用实验教学带动理论教学。[1,2]在实验教学过程中,要强调学生的主体地位,提高学生的动手能力与创新能力。

一、实验教学现状

1.实验学时少

以前的“单片机原理及应用”课程总学时为64学时,实验学时只有8学时,占总学时的12.5%,实验学时不足。为了在有限的实验学时内让学生尽可能多的完成实验内容,教师只能安排一些简单的验证性实验。在实验教学过程中基本上是“学生看教师做实验”,学生处于被动地位,达不到实验教学的最终目的。

2.实验教学内容陈旧、模式单一

传统的单片机实验教学内容中基础性、验证性实验多,综合性、设计性实验少,培养学生操作能力的实验多,培养学生创新能力的实验少。实验教学要求学生在规定的时间内按照步骤完成相同的实验,实验过程中教师教接线、给程序,学生在实验板上调试。在这种实验教学模式下,学生简单模仿,只用动手不用动脑,很难培养学生的创新能力和综合能力。

3.实验教学考核体系不完善

传统的单片机实验课程不单独考核,评价方式主要以实验报告为依据,而且实验成绩占总成绩的比例低。这种评价方式使学生对实验教学环节也不重视,很难调动起学生在实验教学环节中的积极性。

二、单片机原理实验教学改革内容

传统的实验教学无法达到培养学生创新能力和综合应用能力的要求,需要进行改革。“汽车单片机原理与应用”课程实验教学改革主要从以下几个方面入手:

1.实验室建设

目前NEC单片机在汽车电子领域市场份额较大,[2]而山东理工大学交通与车辆工程学院开设的“单片机原理与应用”课程却侧重于单片机在汽车领域中的应用。为此,山东理工大学交通与车辆工程学院对单片机课程的教学内容进行了调整,从原来的INTEL公司的8051系列单片机调整为NEC公司的78K0KF系列单片机。同时在原有实验设备的基础上,山东理工大学交通与车辆工程学院与NEC公司合作,建立了NEC单片机开放实验室。目前实验室拥有汽车电子嵌入式开发系统、NEC单片机综合仿真实验仪、NEC单片机开发系统等多套设备,计算机60台,能实现几乎全部单片机教学的软、硬件实验,为实验教学的改革打下了良好的基础。

2.增加实验学时

“单片机原理及应用”课程比较抽象,学生要真正掌握该课程,需要有充分的实验教学环节作保障,因此增加了实验学时,由原来的8学时增加到现在的20学时。实验学时的增加,既可以安排更多的实验教学内容,使其更加系统和全面,又可以灵活地安排实验内容,为课程实验教学改革的实施创造了条件。

3.更新、调整实验教学内容

针对78K0系列单片机,NEC公司开发了一系列齐备的开发工具,包括Applilet(驱动代码生成工具)、PMplus(编译工具)、SM + for78K0_Kx2(软件仿真工具)、ID78K0 for MINICUBE(硬件仿真工具)。[3]78K0系列单片机支持片上调试,可以由仿真器直接下载程序到芯片,也可以利用SM+进行软件仿真,丰富了实验内容。

在原有的实验项目的基础上,增加了综合性、设计性的实验内容,并对实验项目进行了分析,精选1/2的实验项目作为基础实验,要求学生必须完成,其余1/2的实验项目作为综合性、设计性实验项目,学生可以根据自己的爱好选做。这样既保证了基本的教学内容,又激发了学生的学习热情和积极参与的主动性。根据实验学时的安排和课程特点,将实验教学内容分成了四部分:

第一部分为软件模拟实验,主要目的是熟悉Applilet软件、SM+软件、PM PLUS软件等操作软件,让学生对整个系统有一个初步了解,为以后的实验打下了坚实的基础。实验项目包括用软件模拟十字路口交通灯等。

第二部分为基本端口实验,主要目的是让学生认识单片机系统的基本硬件。实验项目主要有端口输出实验、H0定时计数器实验、按键中断实验、A/D转换实验、多位数码管显示实验、直流电机控制实验、步进电机控制实验等。

第三部分为综合设计性实验,目的是帮助学生全面掌握所学内容,提高学生综合运用知识的能力。主要有用TM00定时器设计秒表实验、用A/D转换值控制步进电机和直流电机转速实验、键盘结合LCD液晶显示实验、利用外部中断设计流水灯实验、直流电机转速测量实验等。

第四部分为创新性实验,主要针对那些对单片机有兴趣的学生,锻炼学生的创新能力、动手能力和解决实际问题的能力等,该部分实验在课下进行,可结合教师的科研项目和各类大学生电子设计大赛,如教师科研课题中的控制系统、数据采集系统以及全国大学生电子设计竞赛(NUEDC)、全国智能车设计大赛、机器人设计大赛、机电产品创新设计大赛等。

4.完善实验考核体系

实验教学的主要目的是为了让学生进一步掌握单片机的原理及应用,培养学生的动手能力、创新能力和解决问题的能力,传统的以实验报告评价实验成绩的实验考核方法很难调动学生做实验的积极性,达不到实验教学的目的。为了改变这一状况,改革了实验成绩的评定方法。为引起学生对单片机实验教学的重视,把实验成绩占总成绩的比例提高到40%~50%。实验成绩的评定根据每次实验的成绩,结合实验报告给出,实验报告占实验成绩的比例较低。对每次实验现场打分,每次实验前都给学生布置两个实验内容,其中一个为基本实验,另一个为综合性强的实验,完成基本实验得60分,完成本次全部实验才能得满分。这种做法极大地调动了学生的实验积极性,表现在上课时认真听课,实验前积极准备,实验中相互讨论等。

三、实验教学改革的成效

从2009年开始在车辆工程、交通运输、热能与动力工程三个专业进行实验教学改革,约有1000名学生接受了新的实验内容。通过实验教学改革,激发了学生在实验教学中的主动性与积极性,通过实验教学又带动了课堂教学,提高了学生的动手能力,培养了学生的创新能力和综合应用能力,加强了学生对汽车单片机原理的理解与应用能力。具体成效表现在学生在实验中的积极性明显提高,主动思考,实验完成率达到100%。在三年的期末考试中学生的卷面成绩较以前学生的成绩有了较大提高,卷面不及格率降到了5%,学生在课程设计和毕业设计中使用单片机系统的上手速度逐年加快,设计能力、编程能力大大提高。学生利用单片机参加电子类大赛获奖的等级和人数逐年提高,2010~2011年,在全国大学生“飞思卡尔”杯智能汽车竞赛、“潍柴动力杯”山东省大学生汽车技术创新设计大赛、山东省大学生智能车竞赛等赛事中获奖20余项。2012年在全国大学生瑞萨超级模型车大赛上共有2支队伍荣获全国二等奖,在全国大学生智能汽车竞赛山东赛区中获得二等奖5项、三等奖1项。山东理工大学交通与车辆工程学院在第九届“泰汽新能源杯”山东省大学生机电产品创新设计竞赛中荣获省一等奖等。

参考文献:

[1]李洁,李卫兵,等.《单片机原理及应用》实验教学改革与实践[J].实验科学与技术,2012,(4):92-94.

[2]肖静,马临.单片机实验教学的改革与探索[J].南昌高专学报,

2007,(4):101-105.

[3]郭晓河,牛强,高原.开设NEC单片机实验课程的探索[J].实验室科学,2007,(3):54-56.

单片机实验教学方法的探讨 篇12

单片机应用技术是计算机科学与技术专业的一门专业任选课程。单片机在工业控制、机电一体化、智能仪表、无线通信、家用电器等诸多领域中已经得到广泛应用, 成为测控技术现代化不可缺少的重要工具。单片机教学的任务是从应用角度出发, 以MCS-51系列单片机为基础, 系统介绍单片机的基本结构、指令系统、程序设计、系统扩展与接口技术, 以及抗干扰技术等。

在我们近十年的单片机实验教学中, 一般采用模仿性的单片机实验教学方法和验证性的单片机实验教学方法。

(1) 模仿性的单片机实验教学方法。其主要思想是学生按照具有参考性质的一些电路和程序, 改造或者模仿设计出有关实验电路, 并改编或者重新编写实验程序, 来达到课程所要求的实验现象或者实验结果。该种实验方法要求学生部分掌握电路设计和程序设计的内容和方法, 提高分析和解决问题的能力。

(2) 验证性的单片机实验教学方法。验证性的单片机实验教学方法的主要思想是:学生按实验指导书给定的固定实验步骤、完整的电路接线图和编好的实验程序或者完整的流程图来连接实验电路, 并输入和运行程序, 最终验证性地观察、记录实验现象或者结果。这种实验方法要求学生能够看懂电路原理和程序, 能够分析实验现象或者结果。验证性单片机实验教学方法的优点是对学生的要求不高, 实验也容易组织。所以, 其一般适合于教学过程的初始阶段, 可以使学生对实验过程获得一些感性认识。但验证式的单片机实验教学方法单一、手段简单、照葫芦画瓢, 不但束缚了学生想象力的开发, 同时使学生过于追求表面应试成绩, 不能认真自主地深入研究, 提出问题, 分析讨论问题和解决问题, 扎实地完成自己的实践过程, 掌握真实知识。学生简单复制他人结果, 快速达到自己完成任务的目的, 养成极其不良的学习习惯。

2 单片机应用技术实验教学改革的实践

(1) 改用C语言进行单片机程序设计。8051是目前市面上相当流行的单片机。由于8051在业界的大量使用, 未来的市场非常看好, 众多的厂家纷纷推出兼容的单片机, 及支持8051的程序开发工具。可以预见未来几年单片机市场上8051还会占有一席之地。所以学习自动控制, 选择8051绝对不会后悔。即使做产品设计也是不错的选择。一般大专院校在单片机应用技术教学过程中选用的程序设计工具是使用汇编语言。但在实际开发中以汇编语言设计一个较长、较完整的控制程序, 将会发现注释比原始程序还要来得长, 而且原始程序过一段时间不看, 若是要修改一下功能, 又要重头再来读程序。对初学者而言, 学汇编语言的确是有点复杂, 但对从事硬件的设计者却是必备的, 在过去汇编语言一直是单片机程序设计师们唯一的选择。

C语言是目前唯一一种可以运行在从单片机、PC机直到巨型机等各种机型上的高级语言。目前8051单片机已具有了C语言编译系统和实时多任务操作系统, 用它来开发项目更是多快好省。C语言功能强大, 十分适用于控制系统的开发。作为一种编译语言, C语言的效率很高。在一些规模较大的程序开发中, 使用C语言开发程序的效率甚至高于使用汇编语言开发的程序。随着个人电脑的普及, 软件开发工具支持齐全, 在PC上我们可以很容易以C语言来设计一般的工程和应用控制程序, 直接来控制硬件的工作。只是在真正应用上往往会觉得用一部PC只做些小小的控制, 实在有点大材小用。单片机体积小, 又省电, 国内外有不少软件开发厂商纷纷推出支持8051的C语言编译器。在台湾常见的有IAR公司、2500A.D.公司开发的编译器和加拿大软件公司DAVEDUNFIELD推出的一套8051C编译器MICRO-C51等。上述这些编译器功能均相当齐全, 完全可以胜任单片机的开发工作。使用C语言做单片机程序设计相比用汇编语言来说有以下的好处: (1) 程序好写, 它是结构化语言; (2) 易于开发复杂的程序; (3) 程序易读易懂, 修改容易; (4) 除错方便; (5) 移植性高, 可在PC测试过后, 再移植到8051编译器上编译而执行。

(2) 开展综合性、设计性实验来培养学生创新素质能力。我们把一部分科研成果及时转化为教学内容, 引入到教学中去, 极大地丰富了的教学内容。为培养学生创新意识、科学思维方式、实事求是的科学态度、严谨的工作作风和钻研探索精神, 进一步进行教学改革创造了条件。为了提高学生的学习兴趣, 我们使用一片GI公司的可编程声效发生器 (PSG) AY-3-8910进行教学, 此IC可以产生各种常见的声效, 如机关枪声音、鸟叫的声音、子弹飞啸声音等。这些声效常常出现在电动玩具上, 机关枪声音是利用PSG噪声发生器产生, 产生随机数波形及可变振幅控制 (即包络发生器) , 制造衰减的包络外型所产生出来的效果。

3 实验项目的多元化, 让学生充分发挥自己的能力

从体现层次性、系统性与完整性的要求出发, 教学中设置了如下实验项目:

(1) 单片机系统的整体认识。教师首先利用一个完整的系统进行模拟卸料演示, 对该单片机应用系统进行整体介绍, 同时介绍实验方法和开发工具的使用。通过介绍一个控制IED信号灯的程序例子, 学生模仿进行简单程序设计、汇编、连接, 将程序代码写入AT89C52运行或通过仿真器运行对程序进行实际测试。通过该实验可以消除对单片机的神秘感, 提高学生的学习兴趣。

(2) 硬件调试。介绍单片机系统的硬件调试基本方法, 指导学生进行硬件调试试验。实验使用静态方法, 利用开关电路模仿CPU产生地址信号、数据信号、控制信号, 测试硬件连接的正确性, 加深对单片机接口时序信号的了解。

(3) 汇编语言程序结构与I/O控制程序设计。通过该实验使学生掌握汇编语言程序结构、51系列单片机的中断服务程序入口地址的使用。利用输入接口输入的二进制值模仿气压值P, 按卸料工艺流程设计阀门控制程序, 并写入运行。外部用信号灯代替阀门负载直观指示输出口的状态。

(4) 键盘与显示程序设计。可以选择软件延时, 或定时中断管理方式, 包括二进制到十进制的变换、显示译码、动态扫描显示程序等。学生可以自主选择某一方式。通过该实验, 介绍软件仿真的汇编语言程序调试方法。

(5) 运算程序设计。多字节的算术运算程序, 利用软件仿真运行对该程序进行调试, 通过该实验进一步掌握程序的调试方法。

(6) 中断服务程序与A/D程序设计, A/D的启动, 数据的读入、滤波程序等。A/D工作与中断方式, 可以自由选择滤波算法。

(7) 串行通信接口实验。编写单片机的发送与接收程序, 可以选择查询方式或中断方式。在PC机上运行的管理程序不要求学生编写, 它可以设置PC机的串行通信参数, 接收单片机送来的信息以二进制 (或十六进制) 和ASCII方式显示, 而且可以向单片机发送信息, 单片机将接收到的信息在LED数码管上以十六进制方式显示。

(8) 系统的整体运行测试。以上试验项目完成后, 将学生设计的功能程序组合可以得到一个初步的“卸料控制”程序。也可利用案例的示例程序, 将其汇编成目标代码写入单片机, 插入系统运行, 通过一个可调直流, 电源模拟压力传感器和压力变送器输出的压力信号 (0~5V) , 对系统进行实验模拟调试。

每一实验项目都有2~3个具体的内容供学生自主选择, 稍经努力学生可以完成教学大纲规定的基础试验, 有兴趣、有潜力的学生可以选择难度较大的试验。全部实验项目完成后, 学生将自己编写、调试完成的功能子程序, 以及示例提供的功能程序模块组合, 就可以完成卸料控制器完整控制程序的设计, 将其写入AT89C52插入系统运行。实验用程序设计作为理论课的作业在课外完成, 实验课进行程序的调试与运行测试。实验室对学生开放, 除安排集中实验时间外, 学生可选择其它空余时间, 自主选择试验项目进行实验。

4 结束语

计算机科学技术迅猛发展, 不断地向我们提出新的目标和要求, 这就要求我们的计算机课程教育也要与时俱进。计算机专业教师不仅要随时提高自己的专业知识, 还要不断地研究改革教学内容、方法及手段, 采取多种途径, 提高教学质量和学生的能力。以上是笔者在实践中的一些探索, 希望能够对单片机应用技术的实验教学改革起一些借鉴作用。

参考文献

[1]朱月秀, 尤佳.单片机实验教学改革的探索[J].实验室研究与探索, 2002 (17) .

[2]张俊谟.单片机中级教程[M].北京:北京航空航天大学出版社, 1994.

上一篇:古代诗词教学方法下一篇:小学数学的教学研究