课程小结单片机(共8篇)
学习单片机原理及应用这门课程,我们要掌握单片机指令系统中汇编语言各种基本语句的意义及汇编语言程序设计的基本知识和方法,以及单片机与其他设备相连接的输入输出中断等理论技术,更重要的是使得我们能够从硬软件的结合上,理论联系实际,提高我们的动手能力,从而全面掌握单片机的应用。
单片机实验如果只是进行软件的编制和调试,便会与实际应用中的硬件电路相脱节,使我们缺乏硬件设计及调试分析能力,对单片机如何构成一个单片机最小应用系统,缺乏认识。这个学期的单片机原理及应用课程,我们通过计算机连接仿真器在实验板上把硬件和软件结合起来一起调试,知道了实际与理论上的差距以及编写汇编程序的过程当中需要注意的问题,需要对原理性的汇编程序做哪些改进以便消除误差,得到我们想要的结果。
本学期我们一共在学校单片机实验室做了5个实验,还有一个单片机课程项目设计实验,分别是仿真器及实验平台的使用,七段数码管的显示及应用,定时器的原理及应用,键盘扫描及其应用,A/D、D/A转换及其应用实验,系统总线及综合扩展,数字钟的设计(软件仿真)。实验内容层次由浅入深,在理解读懂和改写代码的同时,对汇编语言和单片机产生了浓厚的兴趣,锻炼了自己的思维,提高了自我的动手能力,知道了实践与理论相结合的重要性。
一、应用电子技术专业培养目标
学生应具有对电子电路进行分析和初步设计、制作和调试的能力, 具备从事电子产品和设备的“智能化”改造和开发能力。
二、课程性质和教学目标
单片机原理及应用课程是应用电子技术专业的一门核心课程, 可以培养学生应用单片机进行电子电路设计的能力。本课程的最终目的是:培养具备单片机应用能力的高素质、高技能应用型人才。
三、教材选用
目前湖南电气职业技术学院单片机课程选用的教材为电子信息通信类21世纪高职高专规划教材《单片机应用技术》, 由倪志莲主编。课程组正在进行校本教材的编写工作。
四、课程教学设计
1. 指导思想
本课程的教学重点在于培养学生的实践技能和创新意识, 以培养应用型人才为目的, 以提高学生的实践技能为目标, 突出能力培养, 体现实用性原则。
2. 项目化教学设计
3. 贯穿于整个教学的项目图
4. 项目分解基本知识模块
5. 基本知识模块再分解
模块一单片机内部资源与指令系统: (1) 楼层报警系统的演示 (项目) ; (2) 基本结构 (存储器、SFR、部分引脚、复位电路、晶振电路、I/O口线) ; (3) 仿真、实验装置的介绍、使用; (4) 实验部分 (程序下载、调试、程序改错) ; (5) 实训部分 (应用延时实现流水灯设计) 。
模块二汇编语言程序设计: (1) 顺序程序设计; (2) 分支程序设计; (3) 循环程序设计; (4) 实验部分 (方波信号发生器;忙音发生器) ; (5) 实训部分 (简易交通灯设计) 。
模块三外部接口实现: (1) 按键输入应用; (2) 按键去抖应用; (3) LED数码显示原理及应用; (4) LED动态扫描原理及应用; (5) 实验部分 (P1口输入实验;LED动态扫描显示) ; (6) 实训部分 (按键序号显示) 。
模块四中断系统、定时器/计数器的应用: (1) TCON介绍; (2) IE介绍; (3) TMOD介绍; (4) 定时计数初值计算; (5) 实验部分 (电子琴) ; (6) 实训部分 (应用定时/计数器设计流水灯) 。
模块五外部存储器应用: (1) 外部存储器扩展原理; (2) SRAM 6264芯片; (3) 计数器设计原理; (4) 实验部分 (外部数据存储器实验) ; (5) 实训部分 (两位计数器设计) 。
模块六并行口扩展: (1) 74LS373应用; (2) 实验部分 (74LS373应用) ; (3) 实训部分 (应用74LS373进行流水灯设计) 。
模块七模/数、数/模转换: (1) 模/数转换芯片介绍; (2) 数/模转换芯片介绍; (3) PWM波形设计; (4) 实验部分 (ADC0809实验) ; (5) 实训部分 (直流电机调速程序设计) 。
模块八LED点阵显示: (1) LED点阵显示原理; (2) LED点阵编程; (3) 实验部分 (LED点阵显示实验) ; (4) 实训部分 (一位计数器设计并利用LED点阵显示) 。
模块九综合训练:将模块一中的项目利用模块二到模块八里面的内容实现。
6. 课程的重点、难点及解决办法
(1) 重点:硬件结构、指令系统、软件编程、内部资源的应用、各种接口设计及接口驱动软件设计、最终根据需求设计一个应用系统。
(2) 难点及解决办法: (1) 片内的存储器结构:要把存储器的类型介绍清楚, 画出各种存储器的结构图; (2) 4个并行口应用:结合并行口的硬件结构图和端口的用途来介绍; (3) 扩展I/O:讲清楚74LS373芯片, 应用74LS373芯片编程; (4) 键盘显示器接口应用:要把软硬件结合起来讲, 尤其是软件中的每一条指令对应的硬件动作一定要结合起来, 讲课时边讲边演示。
7. 教学设施及教学环境
采用一体化教学, 所有教学均在单片机实验室进行, 单片机实验室配有单片机实验箱22套, 并配备计算机、示波器、编程器、仿真器、焊接工具及各类电子芯片原件等, 学生可以自行设计单片机硬件电路, 设计单片机控制程序, 自行安装电路板, 对整个系统进行调试。
五、课程教学方法
(1) 项目驱动法:该方法是本课程教学的总体方法, 通过对项目分解获得相关知识和技能模块; (2) 模块教学法:根据项目分解得到知识模块, 以此模块作为教学内容的基本单元, 教学目标明确; (3) 听看练结合法:将“听、看、练”融为一体, 这种教学方法特别适合于在实验室开展教学; (4) 问题探究法:教师提出典型的问题, 然后加以分析, 并提出解决办法, 使学生从中领会思路, 学会解决问题的办法; (5) 现场演示法; (6) 开放式教学:实验/实训室在空余时间对学生开放, 学生自己预约时间, 自行设计实验方案和步骤, 完成实验项目或开展创新的实验项目, 这种模式能充分提高学生独立思考问题和解决问题的能力, 贯彻了因材施教的指导思想。
六、考核方法
为了培养学生的实践动手能力, 本课程以实践考查为主。具体为:考查每个模块学习任务的完成情况, 按完成的多少分别记A、B、C、D四等, 最后结合理论知识考试给出期评成绩。期评成绩=平时成绩 (20%) +实践成绩 (40%) +期考成绩 (40%) 。
现在, 湖南电气职业技术学院单片机课程已经成为师资队伍优秀、教学体系合理、教学内容先进、教学方法手段多样化、课程定位准确、有特色有影响的院级精品课程。我们将不断探索、不断研究、继续改革教学体系和教学内容, 使单片机这门课程更好地发挥在技能人才培养中的作用。
摘要:本文介绍了单片机课程的说课过程, 从应用电子技术专业需要的角度出发, 量身打造适合专业发展的授课模式, 制定新的教学大纲, 改变传统的考核方式。以多楼层防盗报警系统作为项目教学, 激发学生学习兴趣, 提高学生的学习主动性。
传统的单片机教学一般以教材章节顺序为教学进程,配以少量实验课,并且实验课多是在实验箱上做教师事先设计好的实验 [3]。如此模式下,易让学生感觉知识点太多,理论知识枯燥,且硬、软件设计能力没有提高。
因此,必须在单片机课程教学上进行新尝试,将课堂教学改革与课外活动结合起来,进行改革探索。
课堂教学的改革
1.以实际应用项目为核心开展教学
坚持以应用为目标,放弃传统的以硬件结构为主线的教学方法,改为以实际项目的开发过程和方法为主线。
在不同章节的授课中,引用一些与该章节内容相关的单片机应用实例。同时以课后作业的形式布置该章节的设计题目,例如,挑选一些任课教师本人科研项目中实际的单片机应用题目或比较有实用价值的题目,要求学生以小组的形式,通过团队合作,提出自己的解决方案。教师对各小组的作业进行评讲,指出设计中所存在的问题,然后教师介绍已经完成的实际项目,并作出对比。这样做可以达到以下目的:
(1)学生在完成项目作业的过程中,加强团队合作精神,提高资料检索的技能,培养独立思考的能力;
(2)学生可以从教师讲评中,获得教师科研中的很多宝贵经验;
(3)让学生参与实际应用的设计,培养学生的学习兴趣。
2.强调单片机系统设计的基本理念和设计思想
目前的单片机课程多以51系列为例进行教学,由于51系列单片机片上资源相对较少,在应用时经常需要在片外扩展各种芯片。而对于单片机系统来说,最好是将整个系统都集成在一个芯片上,才能达到高可靠性、低成本的目标。不得已的情况下,才进行片外扩展。因此在教学中除了讲授51系列8位单片机,还要介绍16位单片机和32位单片机典型芯片及其应用。并且要告诉学生,虽然本课程主要以51单片机为例来介绍单片机应用,但针对不同的应用需求,应采用不同档次的单片机。
因此,教学中始终以单片机应用的基本方法为目的,而不仅单纯地学习某种或某几种单片机。教师在授课时要注意向学生灌输单片机系统设计的基本理念,教给学生正确和规范的系统设计理念和思想,不至于碰到新型号的单片机就束手无策。
3.调动学生学习的兴趣
只有将理论联系实际,强调课程的实用性才能调动学习兴趣。授课时尽量结合一些平常生活、学习中能接触到的应用对象为例进行介绍,通过这些实例的介绍能让学生认识到本课程有很强的实用性。
4.充分发挥计算机辅助教学的作用
通过制作图文、声、动画结合的课件,达到刺激学生感官的目的,可以强化学生对新知识点的理解和记忆。利用PROTEL、Keil C51、PROTEUS等软件,教师在课堂上可以进行设计实例演示。在课堂上用PROTEL软件,演示硬件设计的基本方法。用Keil C51和PROTEUS软件结合,在课堂上现场演示编程、调试、仿真的整个过程。
5.课程考核方式改革
在课程考核方式上,采取理论笔试成绩、项目成绩、实验课成绩棕合评定的办法给出期末成绩,学生的理论笔试成绩不再作为唯一计入期末成绩的部分,这也是对传统的死记硬背式的应试教育模式的一种改革尝试。
与课外活动结合
1.与大学生科技竞赛相结合
组织优秀学生参加有针对性的训练,并挑选出部分学生参加全国大学生电子设计大赛等比赛,将课堂上所学习的知识充分地应用到比赛项目中,这样做可以充分满足优秀学生的学习要求,更激发学生主动学习的热情。
2.与课外兴趣小组相结合
组织学生成立单片机应用课外兴趣小组,定期组织活动,并举办单片机应用竞赛,对于优胜者给予奖励。
结束语
通过对单片机课程课堂教学的改革,以实际应用项目为核心开展教学、强调单片机系统设计的基本理念和设计思想、充分发挥计算机辅助教学的作用。这些手段充分调动了学生的学习积极性和培养了学生的学习兴趣,课程考核方式的改革改变了传统的应试教育模式,注重培养学生动手实践的能力。课余时间将单片机课程教学与竞赛及课外兴趣小组相结合,既激发了学生的学习热情,也满足了不同层次学生的学习要求。通过对单片机课程教学模式的改革,激发了学生的学习兴趣、注重实用性、提高了教学效果。
参考文献:
[1]尹勇,刘岚,龙毅宏,撒继铭.新形势下《单片微型计算机原理与接口技术》课堂教学改革[J].理工高教研究, 2010,29(1):111-113.
[2]李群芳,张士军,黄建.单片微型计算机与接口技术(第3版)[M].北京:电子工业出版社,2008.
[3]高健.目标教学法在单片机实验教学中的应用[J].中国电力教育, 2009,131:89-90.
[4]田东兴,梁万雷,关晓丹.《单片机》课程教学研究[J].北华航天工业学院学报,2008,18(1):58-60.
[5]涂立,杨格兰.单片机的现代教学方法研究[J].科技创新导报,2008,17:231.
设计题目: 基于单片机的8*8点阵显示数字设计
学生姓名: 指导教师: 二级学院: 专
业: 班
级: 学
号:
目 录
摘要„„„„„„„„„„„„„„„„„„„„„„„„„„Ⅱ 1 方案选择及总体设计„„„„„„„„„„„„„„„„„„„1 1.1方案确定„„„„„„„„„„„„„„„„„„„„„1 1.1.1功能要求„„„„„„„„„„„„„„„„„„„„1 1.1.2方案确定„„„„„„„„„„„„„„„„„„„„1 1.2器件选择„„„„„„„„„„„„„„„„„„„„„1 2 控制系统设计„„„„„„„„„„„„„„„„„„„„„„2 2.1 控制系统硬件设计„„„„„„„„„„„„„„„„„2 2.1.1整体模块设计„„„„„„„„„„„„„„„„„„2 2.1.2单片机AT89C51„„„„„„„„„„„„„„„„„2 2.1.3单片机最小系统设计„„„„„„„„„„„„„„„5 2.1.3.1晶振电路设计„„„„„„„„„„„„„„„„„5 2.1.3.2复位电路设计„„„„„„„„„„„„„„„„„5 2.1.4驱动电路设计„„„„„„„„„„„„„„„„„„6 2.1.5LED点阵显示设计„„„„„„„„„„„„„„„„9 2.2控制系统软件设计„„„„„„„„„„„„„„„„„11 2.2.1软件设计思想„„„„„„„„„„„„„„„„„„11 2.2.2主程序流程图„„„„„„„„„„„„„„„„„„11 2.2.3子程序流程图„„„„„„„„„„„„„„„„„„13 3 系统仿真及调试„„„„„„„„„„„„„„„„„„„„14 3.1系统调试„„„„„„„„„„„„„„„„„„„„„14 3.2系统仿真„„„„„„„„„„„„„„„„„„„„„14 3.2.1protrus软件仿真„„„„„„„„„„„„„„„„14 3.2.2程序„„„„„„„„„„„„„„„„„„„„„„14 总结„„„„„„„„„„„„„„„„„„„„„„„„„^„17 参考文献„„„„„„„„„„„„„„„„„„„„„„„„18
I
摘 要
现在市场上各类基于LED的显示屏较多,但大部分产品为单一模式的LED显示屏,其在显示内容的更换及显示屏的重组等方面都存在不便之处。但随着信息化社会的迅速发展,LED显示屏正在向显示内容丰富、信息更改方便等方面发展。因此制作一款多功能的LED广告显示屏是非常有意义地。
LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以8×8点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;第8行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
本次课程设计的题目为8×8点阵数字显示,设计的任务为使用单片机控制8×8的点阵显示0到9的数字,不仅显示清晰,并且每经过一定时间,显示的数字加一,从0 到 9 循环。以AT89C51单片机为核心,采用串行传输、动态扫描技术,制作一款模块化LED多功能显示屏。
在资料收集方面,主要是参考了《51单片机原理及应用—基于Keil C与Proteus》一书,结合了一些网络资料,以及一些集成块的使用说明书。
在整个工作过程中,根据收集来的资料绘制出大概的原理图,然后通过Proteus仿真,与此同时运用Keil 编程,用Keil 与Proteus进行联调,调试成功后确定了原理图和控制程序。
II
第一章 方案选择及总体设计
1.1 方案确定
1.1.1 功能要求
1、采用STC-51单片机作为微处理器。
2、设计一个8×8点阵LED数码字符显示器。
3、在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰。
4、动态显示“0——9”几个字符。
1.1.2 方案确定
采用ST89C51单片机作为微处理器,将共阳极二极管用共阴型接法连接成8×8点阵LED数码字符阵列,通过程序控制,采用动态显示,建立字符库“0——9”。
1.2 器件选择
微处理器采用ST89C51系列单片机,ST89C51单片机是这几年在我国非常流行的单片机,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)高性能单片机,可擦除只读存储器可以反复擦除100次,具有低功耗、高性能的特点。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
第二章 控制系统设计
2.1控制系统硬件设计
2.1.1整体模块设计
本设计行、列驱动电路,显示器电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如图2-1所示。
点阵显示器行驱动电路PC上位机单片机8×8点阵LED显示器电路点阵显示器列驱动电路
图2-1 硬件系统框图
此次需要实现的功能是利用一个ST89C51,一个8×8LED点阵,动态显示“0——9”10个字,采用PC上位机驱动显示电路。
2.1.2 单片机AT89C51 AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产, 兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机能提供许多高性价比的应用场合,可灵活应用于各种控制领域。
AT89C51单片机引脚图如图2-2所示。
图2-2 AT89C51引脚图
AT89C51管脚说明: VCC:供电电压。GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行
存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示: P3口管脚
备选功能: P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:
来自反向振荡器的输出。
2.1.3 单片机最小系统设计
单片机的最小系统是能够让单片机工作的最小硬件电路。除了单片机外,最小系统还包括复位电路和时钟电路。
复位电路:单片机的复位电路接在复位信号RST上,复位电路用于将单片机内部电路的状态恢复到初始值。需要复位时按下按钮即可。
时钟电路:时钟电路为单片机工作提供基本时钟。时钟电路中包含一个晶体振荡器,简称晶振,频率范围是1.2~12MHz。晶体振荡频率越高,系统的时钟频率也越高,单片机的运行速度也就越快
ST89C51单片机最小系统电路由复位电路、晶振电路两部分组成。2.1.3.1 晶振电路设计
ST89C52单片机芯片内部设有一个由反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡电路的的输入端和输出端,时钟可有内部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率采用12MHZ,C1、C2的电容值取30pF,电容的大小起频率微调的作用。晶振电路图如图2-3所示。
C1XTAL130pFC2XTAL230pF图2-3 晶振电路图
X112MHZ
2.1.3.2 复位电路设计
ST89C51单片机在启动运行时或者出现死机时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。单片机有多种复位方式,常用的复位操作有上电复位和手动复位方式。本设计采用最简单的上电复位方式,电路如图2-4所示。上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由RST引脚送入到内部的复位电路,对ST89C51单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使ST89C51单片机可靠复位。当上电时,C1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以取得很好的效果。
ST89C51单片机复位电路如下图所示:
VCCAT89C51VCCC510MF/25VRSTR94.7KVSSR24.7KVSSRSTR1C10MF/25VS5 RSTVCCAT89C51VCC
图2-4 上电复位电路图
图2-5 按键电平复位电路图
复位电路工作原理:
上电瞬间RST引脚的电位与VCC等电位,RST引脚为高电平,随着电容C5充电电流的减少,RST引脚的电位不断下降,可以保持RST引脚在为高电平的时间内完成复位操作。
当单片机已在运行当中时,按下复位键S5后再松开,也能使RST引脚为一段时间的高电平,从而实现ST89C51单片机复位。
2.1.4 驱动电路设计
驱动电路图如图2-6所示。
图2-6 驱动电路图
74LS245引脚图如图2-7所示。
图2-7 74LS245引脚图
引出端符号: A A总线端
B B总线端
/G 三态允许端(低电平有效)DIR 方向控制端
74LS245是用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74LS245还具有双向三态功能,既可以输出,也可以输入数据。
如果用89C51的P0口输出到数码管,那就要考虑到数码管的亮度以及P0口带负载的能力,当89C51单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。选用74LS245提高驱动能力。P0口的输出经过74LS245提高驱动后,输出到数码管显示电路。
工作原理:
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。
正向点亮一颗LED,至少也要10~20mA,若电流不够大,则LED不够大。而不管是ST89C51的I/O口,还是TTL、CMOS的输出端,其高态输出电流都不是很高,不过1~2mA而已。因此很难直接高态驱动LED,这时候就需要额外的驱动电路,通常有共阳型与共阴型LED阵列驱动电路,本设计才用共阴型高态扫描信号驱动电路。
共阴型LED阵列驱动电路采用高态扫描,也就是任何时间只有一个高态信号,其它则为低态。一行扫描完成后,再把高态信号转化到近邻的其他行,扫描信号接用一个反向驱动器,ST89C51本身内置一个反向驱动器,本设计将ST89C51作为点矩阵显示控制系统的控制核心,通过点矩阵实时显示并移动字符。
单片机的串口与行驱动器相连,用来发送显示数据信息。P3口与LED阵列的行引脚相连,送出数据、地址以及系统控制信号。输出低态时,最大可吸取0.5A,即500mA,若每个LED取30mA,7个LED同时点亮,需要210mA,完全满足LED点亮的基本条件。
所要显示的信号送入74LS245芯片,然后连接到LED阵列的列阵脚。对于高态的显示信号,将可提供其所连接LED的驱动电流,而这个驱动电流经过LED到输出端,形成正向回路,即可点亮该LED。其中每个晶体管任何时间只需负
责驱动一个LED,所以选择30mA射极电流的晶体管。驱动电路如图2-6所示。
2.1.5 LED点阵显示设计
本设计采用ATMEL公司的AT89C51作矩阵显示控制系统控制核心,12MHZ晶振,88点阵共阳LED显示器。其中,P0口作为字符数据输出口,P3口为字符显示扫描输出口,第31脚(EA)接电源,改变电阻(270×8)的大小可改变显示字符的亮度,驱动用74LS245芯片。
本设计LED矩阵显示器电路选用8×8点阵模块,系统由单片机控制。LED显示屏是将发光二极管按行按列布置的,在扫描驱动方式下可以按行扫描按列控制,也可以按列扫描按行控制。本文就是使用1块8×8点阵,采用按列扫描按行控制控制方式,扫描顺序自左向右,以满足数字显示的要求。8×8点阵LED结构如图2-8所示。
8×8点阵LEDabcdefgh12345678
图2-8 LED数码显示管
8×8 点阵LED的工作原理:LED点阵的显示方式是按显示编码的顺序,一行一行地显示。对于共阳型的点阵来说,当某一点所在的行对应高电平“1”并且其所在的列对应低电平“0”的时候,这一点就会被点亮。将每一行的显示时间进行一定的延时,由于人的视觉暂留现象,就会感觉到8行LED是在同时显示的。若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。图2-9为8×8点阵LED外观及引脚图,其等效电路如图2-10所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。一个8×8点阵是由64个发光二极管按规律组成的,如图2-10所示。图中,行接高电平,列接低电平,发光二极管导通发光。
图2-9 8×8点阵LED外观及引脚图
图2-10 8×8点阵LED等效电路
8×8点阵数字显示的编码原理: 8×8点阵数字显示主要应用行扫描动态显示的方法实现,如图2-11所示,将行线依次置零,一次对列线编码,有红色填充部分为1,无填充部分为0。
图2-11 8×8点阵数字显示的编码原理
如此可得到“0”的编码为{0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00},同理可得到:
{0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00}
//1 {0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00}
//2 {0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00}
//3 {0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00}
//4 {0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00}
//5 {0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00}
//6 {0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00}
//7 {0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00}
//8 {0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00}
//9 2.2控制系统软件设计
2.2.1 软件设计思想
主程序先进行设置中断,并启动,再进行键盘扫描载入“0——9”字型,然后判断一组字型是否扫描完,按不同情况进行循环调用子程序。进入子程序后,首先设置相应的程序,反复调用显示子程序,并在显示过程中反复调用键盘扫描子程序进行延时,判断是否退出相应的方式显示子程序。设计过程中,能很好得提高按键响应速度。
2.2.2 主程序流程图
主程序首先设置并启动T0中断,然后调用初始化程序,为后面程序要用到的数据调入,并清零一些用到的数据单元,然后载入“0——9”字型,进行扫描。图2-12为主程序流程图。
图2-12 主程序流程图
2.2.3 子程序流程图(定时中断服务程序)
图11 子程序流程图(定时中断服务程序)
第三章 系统仿真及调试
3.1系统调试
根据硬件电路图核对了元器件的型号、极性,安装是否正确,检查硬件电路连线是否与电路原理图一致,检查电路元器件是否都已经连接好。
通电后,用示波器检测单片机的复位和晶振电路是否有复位信号和振荡信号。
3.2 系统仿真
3.2.1 proteus软件仿真
使用proteus原理及仿真如图3-1所示。
如图3-1 proteus原理及仿真图
3.2.2 程序
#include
{ 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,//0 //1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,//2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,//3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,//4 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00
};uchar i=0,t=0,Num_Index;//主程序 void main(){ P3=0x80;
Num_Index=0;
//从0开始显示
TMOD=0x00;
//T0方式0 TH0=(8192-2000)/32;//2ms定时
TL0=(8192-2000)%32;IE=0x82;
//允许T0中断
TR0=1;
//启动T0 while(1);}
//T0中断函数
void LED_Screen_Display()interrupt 1 { TH0=(8192-2000)/32;
//恢复初值
TL0=(8192-2000)%32;P0=0xff;
//输出位码和段码
P0=~Table_of_Digits[Num_Index*8+i];P3=_crol_(P3,1);
//P3循环向左一位 //5 //6 //7
//8 //9
}
if(++i==8)i=0;if(++t==250){
} t=0;
//每屏一个数字由8个字节构成 //每个数字刷新显示一段时间
if(++Num_Index==10)Num_Index=0;//显示下一个数字
总结
经过单片机的课程设计,我有了很大的收获。
首先,就是让我加深了对单片机的掌握和理解与应用,知道单片机到底是怎样控制点阵,怎样应用在生活中的。并且让我懂得了要善于思考,追求严谨,认真解决问题,才会有更多的收获。
然后,提高了通过查阅资料解决问题的能力。通过查阅大量的相关资料,详细了解了LED的发光原理和LED显示屏的原理,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些优点,明确了研究目标。并且通过对单片机资料的查阅和应用,更进一步增加了对单片机知识的理解和运用能力。并证实了自己的思路:“查资料→思考总结→运用→找出差错,再查资料和向别人询问→再次运用”的正确性。
最后,本系统能够完成设计任务,能够显示数字0-9,并且显示也较为稳定清晰。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。在本次课程设计中,主要使用了Proteus和Keil等软件进行硬件电路和控制程序的设计,加深了对这些软件的了解。感到Proteus对电子专业的同学来说是一个很有用的软件。总体来说这次的课程设计很成功,达到了预想的目的:学到了知识,提高了能力,完成了任务。
参考文献
[1] 张靖武,周灵彬 《单片机系统的PROTEUS设计与仿真》北京 电子工业出版社 [2] 吴金戌,沈庆阳,郭庭吉 《8051单片机实践与应用》北京 清华大学出版社 [3] 李群芳,肖看 《单片机原理、接口及应用》北京 清华大学出版社
1.树立新的学生观、教学观和评价观
首先,根据多元智能理论,我们应该树立积极乐观的学生观。每个学生都有自己的优势智能,有自己的学习风格和方法。我们看待学生时应该时刻清醒地认识到,每个学生都是多种不同智能不同程度的组合,问题不再是一个学生有多聪明,而是一个学生在哪些方面聪明和怎样聪明。
2.向学生展示多方面的智能领域
受遗传因素和环境因素的影响,儿童之间很早就表现出兴趣爱好和智能特点的不同。美国心理学家的一项实验研究表明,四五岁的儿童在完成需要不同智能共同参与的多项游戏任务时,都表现出了不同的智能特点。教育工作者的任务就应该是向儿童提供多种多样的智能活动机会,在充分尊重儿童发展独特性的同时,保证儿童的全面发展。
3.注意鉴别并发展学生的优势智能领域
在多元智能理论看来,每一位学生都有相对的优势智能领域(无论是相对于自己还是别人),如有的学生更容易通过音乐来表达,有的学生则更容易通过数学来表达。我们应该在对学生进行评价的基础上注意发现他们的优势智能领域并加以挖掘和发展。
4.帮助学生将优势智能领域的特点迁移到其他智能领域多元智能理论强调八种智能中的每一种在人类认知结构中均具有同等重要的地位,教育应该对不同的智能一视同仁。但它更强调每一个人的智能特点是不一样的,强调每一个人都应该在充分展示自己智能长项的同时,将自己优势领域的意志品质等迁移到弱势智能领域中,从而使自己的弱势智能领域得到发展。
5.应该注重培养学生的创造能力
加德纳多元智能理论告诉我们应该注重学生创造能力的培养。在多元智能理论看来,现实生活需要每个人都充分利用自身的多种智能来解决各种实际问题,社会的进步需要个体创造出社会需要的物质产品和精神产品,这两种能力的充分发展,才应该被视作智能的充分发展。从智能的本质上讲,解决实际问题的能力也是一种创造能力,因为它主要是综合运用多方面的智能和知识、创造性地解决现实生活中没有先例可循的新问题特别是难题的能力。
6.建构全新的课程设计思路
多元智能理论为我们挑战传统的课程设计思路并形成新的、有时代特点的课程设计思路提供了有意义的借鉴。根据多元智能理论的理念和实践,有时代特点的课程设计思路可以概括为两点,其一是“为多元智能而教”,其二是“通过多元智能来教”。
1.不相信自己的意志,永远也做不成将军。
春秋战国时代,一位父亲和他的儿子出征打仗。父亲已做了将军,儿子还只是马前卒。又一阵号角吹响,父亲庄严地托起一个箭囊,郑重地对儿子说:“这是家袭宝箭,佩带身边,力量无穷,但千万不可抽出来。”果然,佩带宝箭的儿子英勇非凡,所向披靡。当鸣金收兵的号角吹响时,儿子再也禁不住得胜的豪气,完全忘记了父亲的叮嘱,强烈的欲望驱使他呼一声就拔出了宝箭。骤然间他惊呆了,断箭,箭囊里装着一枝折断的箭。儿子顿时吓出了一身冷汗,意志轰然坍塌。结果儿子惨死于乱军之中。
Skill 1:把胜败寄托在一枝宝箭上,多么愚蠢,而当一个人把生命的核心与把柄交给别人,又是多么危险!永远记住:自己才是一枝宝箭。
2、乐观者和悲观者
从前,有一对夫妇养育了两个儿子,大儿子以卖煤为生,小儿子则卖雨伞。每到下雨,母亲就唉声叹气说大儿子的煤要卖不出去了,天晴时,母亲又惆怅抱怨小儿子的伞没人要。但父亲则和母亲恰恰相反,下雨天,他为小儿子高兴,天晴时,他为大儿子叫好。
Skill 2:性格决定命运,乐观的人会在逆境中找到快乐,悲观的人看不到生活中的希望,有什么样的思维方式就会有什么样的人生。
3、为生命画一片树叶
美国作家欧・亨利在他的小说《最后一片叶子》里讲了个故事: 病房里,一个生命垂危的病人从房间里看见窗外的一棵树,叶子在秋风中一片片地掉落下来。病人望着眼前的萧萧落叶,身体也随之每况愈下,一天不如一天。她说:“当树叶全部掉光时,我也就要死了。”一位老画家得知后,用彩笔画了一片叶脉青翠的树叶挂在树枝上。最后一片叶子始终没掉下来。只因为生命中的这片绿,病人竟奇迹般地活了下来。
Skill 3:人生可以没有很多东西,却唯独不能没有希望。希望是人类生活的一项重要的价值。
4、飞翔的蜘蛛 一天,我发现,一只黑蜘蛛在后院的两檐之间结了一张很大的网。难道蜘蛛会飞?要不,从这个檐头到那个檐头,中间有一丈余宽,第一根线是怎么拉过去的? 后来,我发现蜘蛛走了许多弯路——从一个檐头起,打结,顺墙而下,一步一步向前爬,小心翼翼,翘起尾部,不让丝沾到地面的沙石或别的物体上,走过空地,再爬上对面的檐头,高度差不多了,再把丝收紧,以后也是如此。蜘蛛不会飞翔,但它能够把网结在半空中。它是勤奋、敏感、沉默而坚忍的昆虫,它的网织得精巧而规矩,八卦形地张开,仿佛得到神助。这样的成绩,使人不由得想起那些沉默寡言的人和一些深藏不露的智者。
Skill 4:信念是一种无坚不摧的力量,当你坚信自己能成功时,你必能成功。
5、成功并不像你想像的那么难
1965年,一个韩国学生到剑桥大学主修心理学。他常到学校的咖啡厅或茶座听一些成功人士聊天,他们中有诺贝尔奖获得者,有学术权威,还有一些创造了经济神话的人。这些人幽默风趣、举重若轻,把自己的成功都看得非常自然和顺理成章。时间长了,他发现,在国内时,一些成功人士把自己的创业艰辛过分地夸大了。作为心理系的学生,他对韩国成功人士的心态进行了研究。1970年,他把《成功并不像你想像的那么难》作为毕业论文,提交给现代经济心理学的创始人威尔布雷登教授。布雷登教授读后,大为惊喜。这本书后来鼓舞了很多人,它从一个新的角度告诉人们,成功与“劳其筋骨,饿其体肤”、“三更灯火五更鸡”、“头悬梁,锥刺股”没有必然的联系,只要你对某一事业感兴趣,长久地坚持下去就会成功,必有收获。
Skill 5:人世中的许多事,只要想做,都能做到,用不着什么钢铁般的意志,更用不着什么技巧或谋略。只要一个人还在朴实而饶有兴趣地生活着,他终究会发现,造物主对世事的安排,都是水到渠成的。
6、勇于冒险
有一天,龙虾与寄居蟹在深海中相遇,寄居蟹看见龙虾正把自己的硬壳脱掉,露出娇嫩的身躯。寄居蟹非常紧张地说:“龙虾,你怎可以把唯一保护自己身躯的硬壳也放弃呢?难道你不怕有大鱼一口把你吃掉吗?以你现在的情况来看,连急流也会把你冲到岩石去,到时你不死才怪呢?” 龙虾气定神闲地回答:“谢谢你的好心,可是你不了解,我们龙虾每次成长,都必须先脱掉旧壳,才能生长出更坚固的外壳,现在面对的危险,只是为了将来发展得更好而作出准备。” 寄居蟹细心思量一下,自己整天只找可以避居的地方,而从来没有想过如何令自己成长得更强壮,整天只活在别人的护荫之下,难怪永远都限制自己的发展。
Skill 6:对于那些害怕危险的人,危险无处不在。
7、再试一次 有个年轻人去微软公司应聘,而该公司并没有刊登过招聘广告。见总经理疑惑不解,年轻人用不太娴熟的英语解释说自己是碰巧路过这里,就贸然进来了。总经理感觉很新鲜,破例让他一试。面试的结果出人意料,年轻人表现糟糕。他对总经理的解释是事先没有准备,总经理就随口应道:“等你准备好了再来试吧。” 一周后,年轻人再次走进微软公司的大门,这次他依然没有成功。但比起第一次,他的表现要好得多。而总经理给他的回答仍然同上次一样:“等你准备好了再来试。”就这样,这个青年先后5次踏进微软公司的大门,最终被公司录用,成为公司的重点培养对象。
Skill 7:以勇敢者的气魄,坚定而自信地对自己说一声“再试一次”!再试一次,你就有可能到达成功的彼岸!
8、天道酬勤
曾国藩是中国历史上最有影响的人物之一,但是他小时候的天赋却并不高。有一天在家读书,对一篇文章不知道重复了多少遍,还是没有能够背下来。这时候他家来了一个贼,潜伏在他的屋檐下,贼想等到读书人睡觉之后捞点好处。可是等啊等,就是不见他睡觉,还是翻来覆去地诵读那篇文章。贼大怒,从梁上跳出来说,“这种水平读什么书”?然后将那文章背诵一遍,扬长而去。贼是很聪明,至少比曾先生要聪明,但是他只能成为贼,那贼的记忆力真好,听过几遍的文章都能背下来,可惜,他的天赋没有加上勤奋,变得不知所终,而曾国藩便是凭着勤奋和坚忍的毅力成为一代宗师。
Skill 8:伟大的成功和辛勤的劳动是成正比的,有一分劳动就会有一分收获,日积月累,从少到多,奇迹就可以创造出来。
9、居安思危
一只野狼卧在草上勤奋地磨牙,狐狸看到了,就对它说:“天气这么好,大家在休息娱乐,你也加入到我们队伍中吧!” 野狼没有说话,继续磨牙,把它的牙齿磨得又尖又利。狐狸奇怪地问道:“森林这么静,猎人和猎狗已经回家了,老虎也不在近处徘徊,又没有任何危险,你何必那么用劲磨牙呢?” 野狼停下来回答说:“我磨牙并不是为了娱乐,你想想,如果有一天我被猎人或老虎追逐,到那时,我想磨牙也来不及了。”
Skill9:做事应该未雨绸缪,居安思危,这样在危险突然降临时,才不至于手忙脚乱。“书到用时方恨少”,平时若不充实学问,临时抱佛脚是来不及的。机会只给那些有准备的人。千万不要相信,临阵磨枪不快也光,那是自欺欺人。
10、你也在井里吗?
有一天某个农夫的一头驴子,不小心掉进一口枯井里,农夫绞尽脑汁想办法救出驴子,但几个小时过去了,驴子还是在井里痛苦地哀嚎着。最后,这位农夫决定放弃,他想这头驴子年纪已经太大了。农夫于是请来左邻右舍帮忙一起将井中的驴子埋了。邻居们人手一把铲子,泥土一铲铲进了枯井。但出人意料的是,这头驴子好像安静下来了,农夫好奇地往井底探头,出现在眼前的景象令他大吃一惊:当泥土落在驴子的背部时,驴子便将泥土抖落在一旁,然后站到铲进的泥土堆上面。就这样,驴子将大家铲倒在它身上的泥土全数抖落在井底,然后再站上去。很快,这只驴子便得意地上升到井口,然后在众人惊讶的表情中快步地跑开了!
Skill 10:在生命的旅程中,有时候我们难免会陷入“枯井”里,会被各式各样的“泥沙”倾倒在我们身上,而想要从这些“枯井”脱困的秘诀就是:将“泥沙”抖落掉,然后站到上面去!
成功等于知识加人脉,不断地补充知识是获得成功的前提.华人首富,我们 的创富凯模李嘉诚先生也说:知识是一个人成就大业的基础.在二十一世纪竞争激烈的今天,我们 大学生必须具备哪些技能才能在这个时代脱颖而出?我个人认为当代大学生在无论是职场还是自己创业都必须获得以下三种技能技能才能更加成功及我对这三种技能的提升计划
1、拥有勇气
万丈高楼平地起,不积跬步无以成千里,不积小流无以成江河。飞机要起飞,先求稳再求快,一个人要成功,打基础非常重要,大学生要成功,勇气是必不可少的基本功。人之一世,殊为不易。在看似平坦的人生道路上却充满了无数的荆棘。有些人会志气消沉变得一蹶不振,有些人会因其迷失前进的道路,从而半途而废,也有些人依然奋勇向前,最终看到的是柳暗花明之后的又一座美丽的村庄。勇气是成功的保证,每当面临抉择,许多人会犹豫不决,也会因此错过瞬息即逝的机会。但如果拥有当机立断的魄力与勇气,机会就不会溜走。
2、坚持乐观
每天做一件让他人感到舒服的事,或是说让他人感到高兴的话,我可以非常轻松的做到这一点,我可以用电话、明信片的方式,训练自己在每一困境中,用积极的心态面对这一切。每天阅读一篇励志文章,从他人的经验中汲取面对困难的勇气。同时我也会坚信,积极乐观的心态会对一个人的命运产生极大的影响。与成功和积极乐观的人交朋友,从他们身上汲取积极正面的力量,并与他们分享成功的经验。
3、坚定信念
南通大学电气工程学院
labVIEW课程设计
课程小结
姓 名: 朱 鹏
班 级: 电 097 班
学 号: 0912002171 labVIEW课程设计--朱鹏
目 录
第一部分 基础题
第一题(1)................................................1(2)...............................................2 第二题...................................................2 第三题...................................................3 第四题...................................................4 第五题...................................................5 第六题...................................................6 第七题...................................................7 第八题...................................................8 第九题...................................................9 第十题..................................................11 第十一题................................................12 第十二题................................................13 第十三题................................................15
第二部分 设计题
第一题..................................................16 第三题..................................................18
第三部分 心得体会........................................19 第一部分 基础题 labVIEW课程设计--朱鹏
第一题:
用LabVIEW的基本运算函数编写以下算式的程序代码:
2857x21007-683;
102-2563163253(2)178
13817.2-8.132(1)
解答:(1)
一、前面板截图:
二、程序框图截图:
三、设计过程:
在前面板添加一个数值显示控件,命名为“结果”。在程序框图中添加 加,减,乘,除函数,数值型常量,按上图连接,运行得出结果。
(2)
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板添加一个数值显示控件,命名为“结果”。在程序框图中添加 加,减,乘,除函数,数值型常量,按上图连接,运行得出结果。
第二题:
利用摄氏温度与华氏温度的关系C=5(F-32)/9编写一个程序,求华氏温度F为32、64、4、98.6、6、104、212时的摄氏温度.解答:
一、前面板截图:
二、程序框图截图: labVIEW课程设计--朱鹏
三、设计过程:
在前面板添加一个数值输入控件,命名为“华氏温度值”,添加一个数值显示控件,命名为“摄氏温度值”。在程序框图中添加公式节点并添加输入输出,转换公式为C=5*(F-32)/9 ,按上图连接,运行得出结果。
第三题:
用数组创建函数创建一个二维数组显示件,成员为:
编程将上述创建的数组转置为:
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板添加数组,在数组中添加数值型显示控件,并拉到四行六列,命名为“输入数组”。用同样的方法在前面板添加两个数组输出,命名为“显示数组”和“转置后数组”。在程序框图中添加二维数组转置控件,按上图连接,运行得出结果。
第四题:
创建一个簇控制件,成员分别为字符型控制件姓名,数值型控制件学号,布尔型控制件注册。从这个簇控制件中提取出簇成员注册,显示在前面板上。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板中添加两个簇,分别命名为“输入簇” “输出簇”,在输入簇中添加字符串输入控件,数值型输入控件和布尔确定按钮,在输出簇中添加相应的输出控件。在程序框图中添加“按名称接触捆绑”和“捆绑”,按上图连接,运行得出结果。
第五题:
创建一个字符串显示件,程序运行后显示当前系统日期、时间和自己的班级、姓名。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板中添加四个字符串输出控件,分别命名为“当前系统日期”“时间”“班级”“姓名”,在程序框图中添加“获取日期/时间字符串”控件获取系统日期和时间,添加字符串常量“电097”“朱鹏”,按上图连接,运行得出结果。
第六题:
将范围0—10的5个随机数转换为一个字符串显示在前面板上,要求保留2位小数,每个数之间用逗号分隔。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板添加字符串输出控件,命名为“所得字符串”,在程序框图中添加for循环结构,循环五次,用随机函数发生器产生0~1的随机数,用乘法函数获得0~10的随机数,添加“数组至电子表格字符串转换”控件和“格式化写入字符串”控件,“%.2f,”设置格式,保留两位小数,第七题:
用for循环产生4行100列二维数组,数组成员如下:
1,2,3………100
100,99,98………..1 6,7,8………….105 105,104,103………6
从这个数组中提取出2行50列的二维数组,成员如下:
50,49,48…………1 56,57,58…………105
将这两个数组用数组显示件显示在前面板上。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板添加数组,在数组中添加数值显示控件,拉到四行一百列,命名为“数组”,同理添加“子数组”。在程序框图中添加for循环,循环100次,通过“创建数组”控件输出数组,再通过“数组子集”获得子数组,按上图连接,运行得出结果。
第八题:
产生100个随机数,求其最小值和平均值。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板中添加三个数值显示控件,分别命名为“平均值”“最大值”“最小值”。在程序框图中添加for循环,循环100次,通过“数组元素相加”和除法函数获得平均值,通过“数组最大值与最小值”获得最大值和最小值。
第九题:
程序开始运行后要求用户输入一个口令,口令正确时滑钮显示件显示一个0—100的随机数,否则程序立即停止。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程: labVIEW课程设计--朱鹏
在前面板中添加字符串输入控件,命名为“请输入口令”,数值显示控件,命名为“随机数”。在程序框图中添加条件循环,为真时通过随机函数发生器乘一百获得0~100的随机数,为假时通过“单按钮对话框”和“停止”输出ERROR。按上图连接,运行得出结果。
第十题:
编写一个程序测试自己在程序前面板上输入以下字符所用的时间,A virtual instrument is a program in the graphical programming language.解答:
一、前面板截图:
二、程序框图截图:
labVIEW课程设计--朱鹏
三、设计过程:
在前面板中添加字符串显示控件,命名“输入字符串”,布尔确定按钮,命名“输入完成”,数值显示控件,命名“所需时间”。在程序框图中添加层叠式顺序结构并添加至三帧,在第一帧中添加时间计数器,并添加顺序局部变量,第二帧中,字符串输出,布尔确定按钮,第三帧中,时间计数器,减函数和除函数,数值显示。按上图连接,运行得出结果。
第十一题:
在一个chart中显示3条曲线,分别用红、绿、蓝3中颜色表示范围0—1,0—5和0—10的3个随机数。labVIEW课程设计--朱鹏
解答:
一、前面板截图:
二、程序框图截图:
三、设计过程:
在前面板中添加波形图表,并建立三条曲线“0~1红”“0~5绿”“0~10蓝”。在程序框图中添加for循环结构,用随机函数发生器获得0~1的随机数,再通过乘法函数获得0~5和0~10的随机数,添加捆绑将三个随机数波形在一个波形图标中显示。按上图连接,运行得出结果。
第十二题:
用一个Graph显示下列计算的结果: y1=x*x*x-x*x+5;y2=m*x+b,X的范围是0—100 labVIEW课程设计--朱鹏
解答:
一、前面板截图:
二、程序框图截图:
三、设计过程:
在前面板中添加波形图表,幅值设置成0~1000000,并建立两条曲线“y1”“y2”,添加两个数值输入控件分别命名为“m”“b”。在程序框图中添加for循环结构,在for循环结构中添加公式节点,以“m”“b”作为输入,y1=x*x*x-x*x+5;y2=m*x+b;添加输出y1、y2,通过捆绑将y1、y2波形由波形图表输出。按上图连接,运行得出结果。labVIEW课程设计--朱鹏
第十三题:
用XYgraph显示一个半径为10的圆。
解答:
一、前面板截图:
二、程序框图截图:
三、设计过程:
在前面板中添加XY图。在程序框图中添加for循环,循环次数为360,即360度一周,在for循环结构中乘法、除法函数,正弦、余弦,循环结果乘上2π/360通过正弦余弦捆绑后再乘上10后在XY图中输出图形。按上图连接,运行得出结果。labVIEW课程设计--朱鹏
第二部分 设计题 设计题第一题:
设计一个VI程序模拟一个电压测量采样过程(随机数发生),从10ms开始每隔50ms采集一个点,共采集30个点,电压在采样前经过了一个信号处理电路的10倍衰减。要求程序的显示能够反映出实际的采样时间及电压值。
解答:
一、前面板截图:
二、程序框图截图: labVIEW课程设计--朱鹏 labVIEW课程设计--朱鹏
三、设计过程:
在前面板中添加一个波形图表,幅值改为电压值,时间改为采样时间;水平进度条滑动杆,用于显示采集进度;布尔确定按钮、布尔停止按钮,用于开始和停止采集;一个数值输入控件输入电压上限值,三个数值显示控件,分别输出报警计数值、时间和电压值。在程序框图中添加一个while循环,在while循环中用确定、停止控制采集开始和停止,在while循环中添加条件结构,分支选择器接布尔确定,在条件结构中添加层叠式顺序结构,第一帧中添加for循环结构,循环次数为30,通过随机函数发生器产生模拟电压值,并输出波形,添加条件结构,分支选择器接电压上限与电压值的比较结果,若电压值超过电压上限,报警计数加1,若没超过则报警计数不变,通过等待控件产生50ms的延时。第二帧中添加单按钮对话框和停止控件,输出“30个点采样完毕”。按上图连接,运行得出结果。
设计题第三题:
设计一个VI程序,实现按帐号和密码登陆的人机界。若输入的帐号和密码相符,则显示欢迎登陆对话框,按“确定”退出程序;若输入的帐号和密码不相符,则显示出错对话框,按“确定”返回程序。
解答:
一、前面板截图: labVIEW课程设计--朱鹏
二、程序框图截图:
三、设计过程:
在前面板中添加两个字符串显示控件,命名为“账号”“密码”。在程序框图中添加条件结构,分支选择器连接账号和密码分别和设定值比较是否相等后逻辑与后的结果,若为真,通过单按钮对话框输出“欢迎登陆”,若为假,通过单按钮对话框输出“账号或密码错误”。
第三部分 心得体会
通过一星期的LabVIEW课程设计,对一学期来学习的LabVIEW的基本操作和编程技巧有了进一步的掌握,LabVIEW作为一门新式的以图形化编程的语言,不仅提供了简单易学的编程方法,而且提供了海量的可调用的模块,涉及到各个方面。LABVIEW应用领域广泛,我们可以十分方便地找到各种适用于测试测量领域的LabVIEW工具包。这些工具包几乎覆盖了所需的所有功能,在这些工具包的基础上设计程序相对于其他编程方法显得容易多了,这也让我对这门课程产生了更加浓厚的兴趣。LabVIEW包含多种多样的数学运算函数,特别适合进行模拟、仿真、原型设计等工作。在设计机电设备之前,可以现在计算机上用LabVIEW搭建仿真原型,验证设计的合理性,找到潜在的问题。使用LabVIEW进行软件模拟,可以达到同样的效果,使我们获得实践的机会,labVIEW课程设计--朱鹏
同是也大大缩短程序开发时间。
本文从该课程的特点和目前教学的不足出发,结合笔者在课程教学中的实际经验,探讨改进单片机课程教学模式的途径,提高课程的教学效果。
1 单片机课程特点与教学现状
单片机原理与应用是一门应用性极强的综合性课程,包含理论与实践两部分,单片机技术是硬件设计与软件编程的有机结合。对于初学者而言,往往感觉单片机概念繁多,内容枯燥,结构抽象,入门较难。其次,单片机常采用汇编语言作为编程语言,而汇编语言是面向机器的语言,缺乏通用性,设计程序时必须对单片机的硬件结构有相当深入的了解。相较于不受具体机器限制且参照一些数学语言设计的高级语言(如C语言)来说,汇编语言缺乏了直观、易懂、可读性好的特点,学习起来难度更大。另外,单片机技术综合性强,涉及内容涵盖了电路、模拟电子、数字电子、接口技术、传感与检测技术、自动控制原理等诸多课程的内容。 (2)
鉴于单片机课程的特点,传统的教学模式存在着以下不足之处: (3) (1)课程讲授重理论、轻实践,讲授内容仍按照硬件结构、指令系统、汇编语言程序设计、中断与定时器/计数器、接口技术这一固定模式进行,教学以灌输单片机结构知识为主,忽略其实际应用,让学生感到抽象、乏味,失去兴趣。(2)强调单片机应用程序设计的讲授和训练,忽略系统整体设计,使学生缺乏对单片机系统软硬件有机结合的认识,常常出现学生编写的程序与自己设计的单片机系统完全不对应的情况。(3)实践环节相对薄弱,多以验证性和演示性实验为主,设计性、综合性实验不足,实验条件和实验学时有限,学生没有足够的机会在实践中去理解和提高,更谈不上培养学生主动设计和创新的能力。
2 课程教学模式研究
改进单片机课程的教学模式,应通过改进教学方法,调整教学内容,优化实践教学体系,达到激发学生的学习兴趣和主动性,改善教学效果,培养应用型人才的目的。
2.1 改进教学方法
合适的教学方法能够有效地提高学生对课程的兴趣。传统的以教师灌输知识为主的教学方式与单片机的课程特点大为不符,严重影响了学生的学习热情,而引入任务驱动式的教学法能有效地解决这个问题。任务驱动法是一种探究式的教学模式,其主要形式是将教学内容转换成一项或几项任务来完成,通过任务的提出、分析到实现来引导学生主动思考,培养其独立分析和解决问题的能力。譬如,在单片机控制LED闪烁的教学中,首先设定为简单的驱动一个LED定时闪烁任务,使学生掌握延时程序和定时器控制两种不同的方法;接着将其扩展为8个LED的跑马灯控制任务,使学生学习分别应用左移(右移)方式和查表方式实现;继而在该系统上引入按键控制跑马灯的开始和停止,使学生学习按键的使用和按键去抖动的方法。学生在任务中学到知识的同时,获得了成就感,学习兴趣也自然提高了。
2.2 调整教学内容
单片机应用系统的程序设计,既可以采用汇编语言,也可以采用C语言。且在单片机的实际开发中,由于应用系统的规模较大,设计人员更趋于采用C语言进行程序设计。C语言相比于汇编语言,具有良好的可读性,可移植性。采用C语言进行程序设计时,编译器能自动完成变量的存储单元的分配,使得学习编程者可以更多地专注于应用程序的逻辑思想。 (4) 此外,在开设单片机课程之前,一般都已开设过C语言程序设计课程。学生对C语言已有基础,利于接受和理解。因此在讲授汇编语言程序设计之后,引入单片机标准C语言的教学内容,可以让学生在两种语言的对照学习中更快地掌握单片机的编程技术,也使得学生对于单片机的学习更具实用性。
2.3 优化实践教学体系
传统的实践教学多以演示性、验证性实验为主,实验设备以单片机实验箱居多。学生进行实验时直接按照实验指导书中现成的电路图在实验箱上进行简单的电路连接并照搬现有的程序代码,并不理解该实验电路的设计原理和程序的设计思想,只是将指导书中的示例进行了简单的验证,没有达到训练学生独立设计的目的。有效的实践教学应该加大实验学时比重,尽量减少验证性实验,增加设计性、综合性实验。在布置实验任务时,应只说明本次实验的目的和功能要求,提前让学生进行预习和准备,待学生有了初步的设计思路和程序初稿方可开始实验。这样,有限的实验时间主要用于学生的自行验证、调试、修改中,即使一个简单的实验也能锻炼学生的独立思考和解决问题的能力。此外,增加独立于课程外的实训环节,以综合性的课题设计来培养学生对单片机应用系统整体开发的能力。引入单片机系统虚拟仿真软件-proteus,与开发工具keil及实验板相结合,从电路原理图设计、软件设计到虚拟系统仿真再到实物系统调试和实现,整个过程环环相扣,锻炼了学生综合设计的能力。
3 结语
单片机是一门强调应用性的课程,有效的教学模式才能保证学生对该课程的学习兴趣和热情。本文通过改进教学方法,调整教学内容,优化实践教学体系,多方位地调动了学生的积极性和主动性,达到了改善教学效果的目的。
摘要:从单片机课程的特点出发, 阐述了当前单片机课程教学模式的不足。从教学方法、教学内容、实践安排等方面提出了改进单片机课程教学模式的措施。通过引入任务驱动法, 增加单片机标准C语言教学, 改进实践教学体系, 达到提高学生的学习主动性, 增强学生的动手能力, 培养应用型人才的目的。
关键词:单片机,教学模式研究,任务驱动,实践教学
注释
1 张毅刚, 彭喜元, 董继成.单片机原理及应用[M].北京:高等教育出版社, 2003.
2 聂一雄, 程汉湘, 周永旺.“单片机原理与应用”教学的研究与实践初探[J].广东工业大学学报 (社会科学版) , 2007.7:166-167.
3 金志明.基于任务驱动与案例教学相结合的单片机课程教学模式的研究[J].才智, 2011.1:314-315.
一、引言
20世纪80年代以来,单片机发展迅速,由于单片机具有体积小、可靠性高和价格便宜等独特优点,现已成为工厂自动化和各控制领域的支柱产业之一。因此,职业技术学校作为以专门培养全面发展的且掌握一门专业技术为目的的技术型人才的摇篮,在学校开设的自动化、机电一体化、数控等专业中,单片机课程无疑是一门既基础又重要的学科。然而,目前单片机教学的发展缓慢,现状令人担忧。因此,本文结合在教学过程中的实际例子,阐述了一种以任务为教学单元的新的教学方法。
二、教学中发现的问题
在教学过程中,学生普遍反映该课程难学,部分学生在课程过半后还没有入门,究其原因,归纳如下:
1.先修课程基础薄弱
单片机是一门涉及硬、软件技术的综合性很强的学科,除了需要具备良好的单片机专业知识外,它还要求学生必须具备数字电子技术、计算机组成原理以及模拟电子技术等方面的基础知识。根据这一情况,开设单片机之前应先将数字电子技术、计算机组成原理和模拟电子技术等相关课程进行开设。让学生有了相关的专业知识作为铺垫,在以后学习单片机原理这门学科时就会很快掌握简单的计算和原理问题。还没见过电容、电阻,就要求学生学习单片机,这种在基础较为薄弱的情况下,迫使学生理解,会适得其反。
2.传统教学步骤的缺陷
传统的单片机教学,均是以单片机的结构为主线,先讲单片机的硬件结构,然后是指令、软件编程、单片机系统的扩展和各种外围器件的应用,最后再讲一些实例。此种教学方法过于死板,模式单一,不利于学生的个性发展。因而,学生普遍感到难学。一个从未接触过计算机结构,甚至数字电路也是刚刚接触的学生,要理解单片机内部结构,这实在不是个容易的事。于是糊里糊涂地学完了第一部分,第二部分一开始就是寻址方式,更抽象,好多人直到学完单片机还不能理解寻址方式究竟是什么意思,然后是指令,111条指令,全部要记住,让人望而生畏。第三部分是编程,如果说前面的东西不能理解,还能靠记忆来获得知识的话,这部分就纯是理解和掌握了。往往有的学生在课堂上对单片机每个单独的知识点掌握得很好,一旦要设计单片机系统时就一头雾水,更不必说编程技巧了。
3.轻视实践课程
单片机基础实际上是一门理论和实践相结合的课程,然而很多教师在教学过程中,多讲理论,却轻视实践,最后考核也是以理论考核的形式来进行,束缚了学生的创新意识和创造性能力。许多学生也反映在课堂上老师讲的能听懂,但是要在实验室里编写一个程序却无从下手,从而放弃了实践机会。导致学生对知识的理解只停留在表层概念,无法真正应用。
三、课堂教学采取的相应措施
1.激发兴趣,注重理论联系实际
从实用性角度出发,激发学生的学习兴趣,排除学习单片机无用的顾虑。单片机教材中的内容理论性强,结构、指令、编程等知识的罗列让学生不清楚该课程有何用途,在学习中表现出抵触情绪,因此在教学过程中,多举例联系实际,可以调动学生的学习积极性。
例如,在学习单片机概述的过程中,我们往往笼统的介绍微机的发展,单片机的发展,单片机的用途等等,条条杠杠让人厌烦。其实我们可以这样来介绍:
(1)单片机就是将CPU、RAM、ROM、输入/输出设备做到一块集成电路芯片中了,所以就称为单片(单芯片)机。2.PC中的CPU一块就要卖几千块钱,这么多东西做在一起,还不得买个天价!再说这块芯片也得非常大了。其实单片机价格并不高,从几元人民币到几十元人民币,体积也不大,一般用40脚封装,当然功能多一些的单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只有8只引脚。为什么会这样呢?功能有强弱,打个比方,市场上面有的组合音响一套才卖几百块钱,可是有的一台功放机就要卖好几千。
(2)另外这种芯片的生产量很大,技术也很成熟,51系列的单片机已经做了十几年,所以价格就低了。
(3)既然如此,单片机的功能肯定不强,干吗要学它呢?话不能这样说,实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用PIII?应用的关键是看是否够用,是否有很好的性能价格比。所以8051出来十多年,依然没有被淘汰,还在不断的发展中。
这样一来,学生不但对单片机有了初步的概念,而且对他的使用场合也知道了一些,就会产生这样的想法:原来我们生活当中也能接触到单片机啊,原来单片机也不贵啊,我学了这个课能不能也做一个单片机用用啊……从而激发学生的学习兴趣。
2.采用任务驱动教学方法
在讲述知识时,以任务为教学单元,打破原有界限,不管硬件结构、指令、编程的先后顺序,将各部分知识分解成一个个知识点。为了完成一个任务抽取每个部分的不同知识点,加以组合,完成第一个任务就能清楚单片机的开发过程,完成第二、三个任务,就能自己模仿性地编出自己的程序,使得学习过程是一个不断成功地完成任务的过程。当所有任务全部完成,知识点就全学完了。即便只完成部分任务,也可以去做一些程序了——事实上并没有必要学完全部知识才可以去做开发的。任务教学的过程与实验紧密结合,可以把每一个任务看作是一个实验,通过实验、实践来发现问题,在老师的指导下、书本的理论及自己的探索总结下解决问题,从而获得知识和能力。实验的目的就绝非简单的验证,而是学生发现、获得知识的重要组成部分。
例如,在介绍单片机外部结构时,常用方法就是拿出一块单片机芯片(或者示意图),说说它有多少个引脚,每个引脚的作用,能连接什么部件等,这样学生是听到完忘到完。在这里,我们可以提出一个任务,要用单片机点亮一只发光二极管LED。要完成这个任务,我们要做三件事:(1)给单片机连线,使它工作。(2)接上发光二极管LED。(3)发出命令,点亮二极管。在给单片机连线和连接发光二极管的过程中,我们了解了单片机的外部结构和一些引脚的功能,在点亮二极管的过程中,我们知道了指令的作用。这样一个任务,将前后的一些知识点结合在一起,显得直观易懂,学生也很快能掌握怎么去点亮一个发光二极管,在实践课中立即就可以检验自己对知识的掌握程度。
四、实践教学采取的相应措施
单片机课程实际上是一门对实践要求很强的课程,要想深入了解单片机的编程,直至单片机的开发,都离不开实践。只有这样,才能提高学生分析问题、解决问题的能力,才能实现把学生培养成动手和理论相结合的技术型人才。
单片机课程实践教学包括两方面:一是与课程同步的上机实验;二是课程结束后的课程设计。可设置验证型、设计型和综合型三个层次的实验内容,分别在课程实验和课程设计中完成。验证型实验与单片机的各个理论知识点对应,培养学生对单片机的理解,消除学生对单片机的神秘感。设计型实验在验证型实验的基础上进行,培养学生的单片机系统的设计思路,设计方法及程序的编写。综合型实验强调单片机系统与相关电子技术的结合,培养学生创新能力。实验步步深入,激发学生的学习热情,变被动学习为主动学习。在整个教学过程中,两者缺一不可,相辅相成,通过这两方面循序渐进的训练,可以使学生掌握更多的编程技巧和方法,真正帮助学生提高分析问题、解决问题的能力。
由于单片机是一门实用技术课程,因此单片机课程教学内容必须符合当前单片机的发展潮流,所使用的实验设备必须与教学内容配套。
五、结束语
总之,在教材、教学过程的安排上不能不考虑学生的接受能力。我们在教学和学习的过程中,都应该摒弃教材的限制,做到以人的认知规律为主线,而不是以课程结构为主线。当完成第一个任务即可进行单片机的初步应用尝试,不必学完单片机的全部知识体系。随着任务的逐渐进行,知识逐渐完善,能力逐渐提高,所有任务完成时,已具有初步开发能力。
参考文献:
1.何燕.浅谈单片机原理在职高中的教学.2007
2.金杰.单片机应用基本功.人民邮电出版社,2009
3.马静等.单片机原理与应用实践教学指导书.中国计量出版社,2004
【课程小结单片机】推荐阅读:
课程开设情况小结05-26
珠宝工艺课程小结10-27
模型制作课程小结05-28
产品设计课程小结09-19
音乐剧课程小结10-01
围棋校本课程研究小结11-09
团队管理课程小结12-14
运动课程汇报课小结12-18
基础工程课程设计小结11-01
《数字电路与单片机课程设计》课程设计报告11-01