单片机虚拟试验箱设计与研究

发布者:SerendipitySoul最新更新时间:2011-11-05 关键字:单片机  虚拟试验箱 手机看文章 扫描二维码
随时随地手机看文章

单片机是一门实践性很强的学科,目前单片机的课堂及实验教学中存在诸多问题。一方面,实验内容和实验形式要根据院校不同年级学生能力不断更新,不能以不变应万变;另一方面实验所需的软硬件设备和经费的保障压力越来越大,这在一定程度上影响了教学质量的提高和学生创新能力的培养。
    在此之前很多相关论文中都提到使用Proteus软件建立单片机虚拟实验室[4-5],让学生通过Proteus软件自行去设计实验电路图并完成实验。这种方法自然能大大提高学生的实践动手能力,但对于民办本专科级别的院校学生来说,由于他们的基础和理解力相对薄弱等因素,刚开始接触单片机很难自行进行电路设计并完成实验。
    因此,结合我院电子系现有的实际教学情况,本文设计开发了一套基于Proteus的虚拟试验箱,该试验箱不仅能够完成单片机教学基础实验内容,并可以解决传统真实试验箱诸多弊端,而且学生可以在网站下载该试验箱进行实验操作,从而极大地增强了学生做实验的便利性,也给学生提供了一个良好的开发性实验平台。
1 Proteus软件简介
    Proteus 是英国Lab center 公司开发的电路分析与实物仿真软件,是一款集单片机和SPICE分析于一身的仿真软件,功能强大。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路实验平台。
  利用计算机、KEIL C51仿真器和Proteus软件可创建一个可视化虚拟单片机类实验室, 通过操作这些虚拟的实验仪器或设备, 完成各种验证性、设计性和综合性实验。利用仿真技术达到与真实效果相一致的教学要求和目标,从而在不增加硬件投入的基础上, 提高学生的创新能力。
  Proteus与其他单片机仿真软件不同的是, 它不仅能仿真单片机CPU的工作情况, 也能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。因此在仿真和程序调试时, 关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验, 从某种意义上讲, 解决了实验与工程应用脱节的问题。
2 虚拟实验箱特点
    本虚拟试验箱除了具备相关论文中提到的使用Proteus软件建立单片机虚拟实验室的优点之外,还具备以下典型优势:
    (1) 给教学设计过程带来了很大的灵活性,有利于教学模式的革新。教师可以根据形势的发展,无须资金投入就可以在虚拟试验箱中增减反映新技术新成果的新实验内容。
    (2) 试验箱挂网,打破空间和时间的限制。学生可以零成本随时随地使用该试验箱,只要学生能够上网,学生便可以在网上下载该试验箱进行实验练习与设计。
    (3) 可以构建开发性的教学环境 ,有助于学生进行开发性实验。学生可以在没有实际硬件电路的情况下完成项目先期大量的验证工作及大部分程序的编制及调试工作,帮助学生提高工程应用能力。
    但是,虚拟试验箱可能使学生淡化对基本技能训练的重视程度,忽视规范掌握仪器操作,减少学生应对突发事件的机会、缺乏教学的艺术性等。因而,为了尽量避免上述弊端的发生,在实际的教学过程中要加强虚实的相互结合,采用虚实互补的原则安排教学,并加强教师的实验指导作用。
3 基于Proteus的单片机虚拟试验箱的设计
    单片机虚拟试验箱的设计应根据学生实际能力的水平制定相关实验内容。实验内容要在满足单片机基础教学基础上简单易懂、从易到难、循序渐进、环环相扣,使学生能通过虚拟单片机试验箱很好地掌握单片机原理,并学会单片机外围系统扩展及接口电路的设计和基础应用。
    根据本院某年级情况,现使用Proteus设计如图1所示的51单片机虚拟试验箱,此试验箱可完成如下基础及综合实验内容。

3.1 基础实验
    (1) 点亮一个发光管;
  (2) 流水灯设计、蜂鸣器发声、继电器控制;
  (3) 数码管的动、静态显示;
  (4) 独立键盘、矩阵键盘的检测原理及实现;
  (5) 1602液晶显示;
  (6) DA、AD的工作原理及实现;
  (7) 串口通讯原理及RS232接口的使用;
  (8) I2C总线扩展存储器AT24C1024芯片。[page]

3.2 综合实验
 (1) 利用51单片机的定时器设计一个时钟系统;
 (2) I2C总线扩展DS1307时钟芯片设计一个高精度时钟系统;
 (3) I2C总线扩展DS1621温度芯片设计一个实时温度报警的时钟系统。
4 单片机虚拟试验箱实现教学使用实例
    下面就以六位数码管动态显示实验为例说明基于Proteus的单片机虚拟试验箱的使用。
    实验内容:六位共阴数码管动态扫描显示数123456;
    实验目的:理解数码管动态显数原理并学会单片机控制数码管动态显数。
    实验电路图说明:使用了两个74HC573锁存器,取名为段锁存器和位锁存器,分别控制数码管(共阴极)的段选端和位选端,两个锁存器都使用P0口送数;并分别使用P2.0和P2.1来控制两锁存器的LE锁存控制端,LE=1时选通,LE=0时锁存。
    实验操作步骤:(1)根据实验电路图使用Keil C51 uVision2编写代码;(2)将编写好的代码编译生成HEX格式文件加载到试验箱中的51单片机中;(3)点击试验箱左下角运行按键即可完成实验。
    本实验部分C51语言代码如下:
    uchar code d_table[]={
    0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d}; //共阴0~6段码
    uchar code w_table []={
    0xff/*空选*/,0xfe/*选中第一位*/,0xfd,0xfb,0xf7,0xef,
         0xdf};  //1~6位选码
    sbit duan=P2^0;                      //段锁存器选通/锁存端
    sbit wei=P2^1;                        //位锁存器选通/锁存端
    void Display_123456()              //动态显示123456函数
{
    for(num=1;num<7;num++)
    {
        P0=w_table[num];  
                         //送位码(选中相应数码管)
        wei=1; //选通
        wei=0; //锁存
        P0=d_table[num];
                                    //送段码(即字型码)
        duan=1;
        duan=0;
        delay(5); //延迟5 ms
    }
}
    实验效果:如图2所示,六位数码管同时显示123456。

    利用Proteus软件设计的单片机虚拟试验箱具有很好的实用性。单片机虚拟试验箱,不仅克服了传统试验箱购买价格昂贵,实验内容固定,保养维护困难的缺点,而且可以帮助学生随时随地更快、更好地掌握课堂讲述的内容,加深对单片机概念、原理的理解,弥补课堂理论教学的不足,更进一步增强学生学习单片机的兴趣,大大提高学生的动手创新能力,并且作为个人实验平台,可以充分利用它所提供的资源,帮助学生提高工程应用能力。
参考文献
[1] 周润景,张丽娜.基于Proteus的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.
[2] 张毅刚.新编MCS-51单片机应用设计[M].第三版.哈尔滨:哈尔滨工业大学出版社,2006.
[3] 李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版社,2005.
[4] 唐勇波,徐东辉.基于Proteus的单片机课程教学与实验改革初探[J].宜春学院学报,2009,4(31):147-149.
[5] 苏红旗,朱红.关于虚拟实验室建设的思考与探讨[J].科技创新导报,2010,1:31.
[6] 葛海江,陶姗.融合Proteus于KeiluVision的C51教学模式探索与实践[J].中国科技信息,2009,24:238.

 

 

关键字:单片机  虚拟试验箱 引用地址:单片机虚拟试验箱设计与研究

上一篇:基于STC单片机学习平台的硬件电路设计
下一篇:TCP/IP协议单片机在网络通信中的数据传输技术

推荐阅读最新更新时间:2024-03-16 12:45

下一代MachXO3D FPGA 让汽车更安全
我们生活在一个高度互连的世界,很容易受到各种来源的网络攻击。仅 2018 年,硬件攻击让超过 30 亿系统暴露在数据盗窃、非法操作和其它安全隐患中 1。 在汽车领域,如今的智能联网汽车则加剧了这类安全问题。若网络攻击造成汽车失控不仅会对目标车辆中的人员造成伤害,更有可能危及附近的车辆、行人和财产。 因此,汽车的设计人员和厂商正极力寻找保障系统安全之道。正如本文所述,解决方法之一是采用莱迪思半导体的 MachXO3D™ FPGA。 老式汽车时代已经过去 汽车市场在不断演变,近些年来的变化尤其剧烈,变化速度极快。 以微处理器单元( MPU )和微控制器单元( MCU )为主的计算器件在 20 世纪七八十年代晚期开始
[汽车电子]
下一代MachXO3D FPGA 让汽车更安全
工程师教你如何学习单片机
1、万事开头难、要勇敢迈出第一步。 开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。 单片机 是注重理论和实践的,光看书不动
[单片机]
单片机成长之路(avr基础篇)- 003 AVR单片机的BOOT区
BOOT区的由来基于一个简单的道理,即单片机的程序是保存在FLASH中的,要运行程序就必须不停的访问FLASH存储器。对于一般的FLASH存储器,数据的写入需要一定的时间来完成,在数据写入完成之前,存储器中所有的数据都是不可读的,这就在运行旧程序和写入新程序之间造成了一个矛盾。 使用BOOT区是解决这个矛盾的方法之一,它将FLASH存储器从物理上分为两个独立的区域,对其中的一个区的数据写入不会影响到另一个区的数据读取操作。我们可以让单片机的程序在其中一个区(通常是BOOT区)运行,而运行着的程序代码写入另外一个区(通常为应用程序区)内。 AVR高档单片机ATmega系列中含有BOOT代码区,即程序引导区,也可称器件自身监控
[单片机]
单片机2408点阵时钟电子制作
这是一个单片机2408点阵时钟电子制作,用单片机直驱点阵,这里用的是STC89C52,驱动能力不是很好,有条件的话用STC12C5A60S,驱动能力已经比较好,屏的亮度会比较高。图中是用STC89C52单片机,直驱三个8*8的共阳点阵屏,亮度还基本可以,白天看都很清楚!P0口需要接上1K的上拉电阻,P1-P3口分别接三个8*8屏的阴极,用去了单片机的全部32个I/O口。为了能调时间,P2口的P2.0-P2.6接屏的1-7列,P2.7口接一个按扭作于调时间,调整方法: 长按一次是进入调时状态,短按是加1,长按二次是调分,短按是加1,长按3次回复正常状态! 感兴趣的爱好者可以动手实践一下,体验一下电子制作点阵时钟的乐趣。
[单片机]
基于单片机控制技术的无线电遥控多通道开关系统设计
  随着集成电路技术的飞速发展,基于各类芯片新型遥控的不断出现。遥控装置的中心控制部件已从早期的分立元件、集成电路逐步发展到现在的单片微型计算机,智能化程度大大提高。   在无线遥控领域,目前常用的遥控方式主要有超声波遥控、红外线遥控、无线电遥控等。由于无线电波的自身技术特点可以在很大区域和空间内实现,成为遥控的主要方式,并在生产、建设和日常生活中具有广泛的应用价值。   为此,在前人研究的基础上探索出了一种基于单片机控制技术的可编程无线电遥控多通道开关系统的设计方法。研究表明,采用该方法设计的遥控开关系统控制方便,适用于含有较多受控电器的场合,可实现多路多功能控制。   2 系统设计   2.1 系统分析   系统结构
[单片机]
PIC单片机实现护理机智能控制的设计
引言 随着我国老龄化进程的加剧,当今社会中存在着一种因失去生活自理能力而“长期卧床的弱势群体”,特别是那些几乎无意识的弱势群体,他们需要被人长期照顾,特别是他们的大小便的清洁处理。然而由于该弱势群体数量大、护理人员紧缺和护理费用高等问题,导致这些弱势群体的家庭护理矛盾日益凸显。目前市场上的长期卧床病人大小便清洁护理机在“智能护理”方面己比较完善,已经具有大小便自动识别与回收、温水清洗与自动烘干等功能,达到了“人性化”护理的要求,但在使用过程中仍然需要专门的“陪护人员”,对于绝大多数现代家庭而言,无论从人力还是财力,这都将是一个沉重的负担,同时也限制了大小便清洁护理机在家庭中的推广使用,因此,社会迫切需要一种在现有护理功能的基础上能
[单片机]
PIC<font color='red'>单片机</font>实现护理机智能控制的设计
第2课 keil软件及工程文件的建立
单片机系统设计主要包括硬件设计和软件设计,对于单片机初者来说主要在于软件的学习,也就是程序设计,等大家程序这块掌握得差不多了,再去结合具体的项目学习做硬件,最终掌握单片机系统设计的方法。而在进行软件学习的时候需要用到单片机实验板进行实验验证,实验板建议直接购买,当然如果电子技术基础好的话,自己做板也是可以的。这次教程开发程序所用到的软件为keil uVision2,该软件大家可以到实验室的下载中心进行下载;硬件实验平台主要采用我们实验室自行设计的实验板,有需要的请直接与我们联系。下面分别介绍这keil uVision2和实验板的使用方法,在程序编写完成后需把程序烧写到单片机中,我们是用ISP在线下载工具,这里一并进行介绍。 为了便
[单片机]
第2课 keil软件及工程文件的建立
51单片机P0口的特性及使用方法解析
一、P0口特性: P0口为三态双向I/O口。对于内部有程序存贮器的单片机基本系统(如定制的8051),P0口可以作为输入/输出口使用,直接连外部的输入/输出设备;也可以作为系统扩展的地址/数据总线口。对于内部没有程序存贮器的单片机(如8031),P0口只能作为地址/数据总线口使用。 1、P0口的输出驱动器中也有一个多路电子开关。输出驱动器转接至口锁动器的Q端时,P0口作为双向I/O口使用。 这时,CPU发来的控制信号为低电平,使输出驱动电路的上拉场效应管T1截止。P0口的锁存器为“1”时,输出驱动器中的两个场效应管均截止,引脚浮空;由于P0口输出电路是漏极开路的电路,必须外接10kΩ拉高电阻才能有高电平输出。而写入“0”时,下
[单片机]
51<font color='red'>单片机</font>P0口的特性及使用方法解析
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved