单片机课程设计报告书(共9篇)
单片机课程设计报告书 篇1
成绩:
华中科技大学机械科学与工程学院 《数字电路与单片机原理》课程设计报告
(在此输入项目设计题目)
姓名:学号:专业/班级:指导老师:
小组成员、分工及签名:
年
说明
组织形式
每个小组3-5人,每组选择一个题目,每人独立承担一部分设计内容,分工合作,共同完成课程设计任务。设计任务
每个小组完成电路设计与制作、程序设计、软硬件调试及演示工作。答辩及演示
以小组为单位进行课程设计答辩。要求介绍设计原理,分析计算过程,并
演示设计成果。 各小组答辩时间共计15分钟,其中,演讲8分钟,演示2分钟,回答问
题5分钟。成果提交
实物及打印材料(答辩时提交)
每个小组需提交一份电路板实物;每人需提交一份独立完成的课程设计报告(A4纸打印,以软件开发为主要设计任务的学生需要提交完整的程序清单)。 电子版材料(以小组为单位打包压缩后,答辩时提交)
每个小组完成并提交一份答辩材料(PPT文档)、实物照片、演示视频(并配音)。每人独立完成的课程设计报告(word文档,以软件开发为主要设计任务的还需提交程序清单电子版)。
注意事项
由于多媒体教室计算机没有安装Protel等软件,为方便答辩时讲解,请将电路原理图粘贴到PPT文档和Word文档中,重点部分局部放大后再粘贴,确保电路图及标注清晰。 为节省答辩时间,每个小组提前准备好电子文档并考入U盘的同一个文
件夹中(以“班级+小组编号”为文件夹名)。文件夹中包括:小组每个成员提交的课程设计Word报告(以学生姓名作为文件名)、小组答辩PPT电子文档、程序、演示视频。
(在此输入项目设计题目)
(专业、班级、学号、姓名)
摘要:(100-200字)
(以下为课程设计说明书参考结构,请每人根据具体完成的课程设计任务进行适当的增减、修改。)
1.课程设计任务概述
1.1 课程设计任务描述(或定义)1.2拟达到的设计目标
1.3拟采用的技术手段、方法
2.系统功能、技术指标分析
2.1系统功能划分与定义 2.2主要技术指标分析
3.系统方案设计与主要参数计算
3.1系统总体方案设计、系统原理框图
3.2系统主要模块工作原理、各模块间的关系 3.3主要参数计算
3.4主要器件选型及其主要参数
图1 H-桥驱动电路原理图
4.算法及软件开发
4.1算法分析与选择 4.2软件框图
5.系统调试、实验及结果分析 5.结束语
课程设计总结、感言、思考、建议等
参考文献
1.胡乾斌等编,单片微型计算机原理与应用(第二版),武汉,华中科技大学出版社,2006
年。
2.槐创锋、李振军、张克涛编著,Protel 99 SE电路设计基础与典型范例,北京,电子
工业出版社, 2008
附录:电路原理图、程序清单、实物照片、实验照片等
单片机课程设计报告书 篇2
单片机具有控制功能强、体积小、功耗低、性能价格比高的特点, 广泛应用在家用电器、智能仪器仪表、自动化和工业控制等各个领域。作为一门实用性较强的应用电子技术, 单片机课程在强调高技能型人才培养的电类专业中是一门重要的专业必修课。单片机课程是实践性很强的课程。本课程的教学内容对于缺乏社会实践和工程实践的在校学生来说, 显得较为空洞和枯燥, 而对于有一定工作和实践经验的技术人员, 虽然讲授时数少得多, 但由于他们具有实践经验, 学生反响更大, 教学效果也更显著。这充分说明了实践性教学环节在本课程教学中的重要地位。除了课堂讲授、布置作业和简单的上机实验外, 课程设计是重要一环。学生组成课题小组, 在教师指导下开发一个实际项目, 实际领会系统分析、系统设计和实施各个阶段的个中滋味, 可以有效地弥补课堂教学的不足, 也是做一般习题和简单实验所不能替代的。学生反映, 通过课程设计加深了对教学内容的理解, 一些原理、方法“具体”了, “有血有肉”了。但以往课程设计一般都是全班一个题目, 学生抄袭现象非常普遍, 完全没有达到预期的教学效果。笔者通过从事本课程设计教学的实践, 结合其它院校的做法, 并参考了一些资料, 采用了一些特别的做法, 取得了非常明显的效果, 受到普遍好评。
二.目前单片机课程设计现状与问题
在单片机系统教学中, 应该包含软件、硬件、综合应用的教学, 还应包含日新月异新技术新器件在智能控制项目中使用的教学, 这样才能符合现代本科院校的教育教学宗旨。但现在很多教师往往是根据教材注重软件语言的教学、单纯的编程, 一本教材一统天下, 而对涉及硬件的综合性分析几乎不做讲解, 不能使学生领悟单片机的智能控制机理。重理论教学, 轻实践指导是普遍存在的问题。造成这样的问题主要原因主要是以下几种: (1) 部分学校受设备条件的束缚, 缺少开发应用装置, 学生能完成实验就不错了; (2) 师资条件限制, 不少单片机老师自己从未开发过任何产品, 他们不具备指导学生开发产品的能力, 这是一个不争的事实。 (3) 即使有条件的高校, 一般也都是采用高度继承的单片机实验箱进行课程设计的。价格昂贵的单片机实验箱看起来功能非常强大, 好像无所不能, 给学生做课程设计再适合不过了。但是实践证明, 大部分学生并不喜欢使用功能强大的实验箱。拿它给学生做课程设计学生的收获并不是很大。那是因为实验箱功能强大, 集成度高, 厂家为了方面用户使用, 用户通过简单的按说明书连线就可以对实验箱进行操作。如果问学生为什么这样连线, 有的说是按实验箱的说明书连的, 以为单片机开发应用就这么简单。这样会造成学生对在开发项目中实际的单片机应用开发运作过程不清楚, 不利于培养单片机应用开发的能力。
总的来说, 目前的单片机课程设计现状是不利于学生对单片机系统在实际工程项目中应用能力的培养, 不利于学生的开拓能力培养, 当他们走上工作岗位, 与现实技术存在一定的距离。
三.单片机课程设计的改革与思考
课程设计应该是学生把所学知识综合加以运用的过程, 是学生消化知识、升华知识、锻炼能力、提高综合素质的重要手段, 通过课程设计可以使学生把单片机课程理论知识与实践相结合, 更好的掌握所学的知识。
针对以上的问题, 本着教学实践原则, 以使学生在短短的课程设计实践里最大可能的获得较好的单片机应用开发能力。根据学生已学习知识水平、实际接受能力, 我们的做法主要分为以下几个阶段:
1.要统一思想, 培训教师。参加课程设计指导老师要认清改革的目的和意义, 以及改革中要完成的工作, 对从未参加过开发单片机产品的教师组织培训, 让他们掌握单片机开发的整个过程。
2.统一制定课程设计题目和要求。学生根据自己的兴趣爱好, 5个人1组选定课程设计题目, 在两天之内根据自己选定题目的要求, 提出可行的方案并还要提交改方案的元器件清单 (包括器件的型号、封装、数量等信息) 。根据这一信息老师统一购买和发放元器件。
3.学生选定题目和设计好方案后, 开始画电路图、腐蚀电路板、准备好程序框图。这个过程大概需要两三天的时间。
4.接下来的就是焊接电路板, 调试硬件和调试软件了。这过程是最艰苦也是最有乐趣了, 学生往往也乐在其中, 从中学到了不少的知识, 这在用实验箱做课程设计时是无法获取的知识。
5.编写设计说明书且在设计说明书内要求附有软件流程图、程序清单和电路原理图等资料, 使学生了解单片机工程设计流程和方法, 提高学生工程项目实践能力。
6.组织答辩和现场演示。询问系统设计思路、分工情况, 在团队中发挥了哪些作用。让学生拿自己的产品现场演示, 询问设计实体软硬件情况。
通过课程设计改革, 已经取得明显的成效。主要体现在以下几个方面: (1) 学生学习的主动性大为提高。从选题开始学生就一直思考做什么、什么做、什么做才好, 这过程学生会发现好多问题, 然后想方设法去解决这些问题。无形中就得到了锻炼和提高。 (2) 提高了学生的实际动手能力。除了提高学生的焊接技术外, 对布线的技巧, 及如何将图纸转化为实物都是一个很好的锻炼, 无疑对今后的毕业设计打下了一个良好的基础。 (3) 提高了学生系统设计思想, 使学生掌握了工程项目开发的过程。 (4) 提高学生团队协作能力。 (5) 真正做到了把教学的中心从教师转移到了学生。在这一过程中学生自己设计软硬件, 老师根据学生的思路进行指导和帮助。
单片机课程设计不同于毕业设计, 因此它不能替代毕业设计, 只能是一个过渡和补充, 当然它对毕业设计是一个促进和提高。另外毕业设计时间长, 而课程设计只有短短的两个星期。在课程设计改革过程中, 注重培养学生的工程素质。从选题开始, 就强调注意收集相关资料、协作分工、实验记录、调试心得等, 注意相关文档的设计、管理等, 使学生熟悉从立项、方案论证、软硬件设计与调试、PCB设计、结构设计、安装调试等电子设计的全过程, 系统地培养学生的学习技能、交流技能等, 理解并认识良好的工程规范。在模仿前人的基础上, 引导学生从不同角度观察问题, 培养提出问题、解决问题的能力, 实现创新设计。在报告整理阶段, 引导学生注重小结和总结, 从方案设计到器件选型, 从程序开发到调试等, 将实践中获取的经验总结升华, 在设计过程逐步体验本课程的系统性。例如, 选择时钟系统作为课程设计的同学, 其硬件电路尽管相对简单, 涉及的单片机资源并不多, 大部分同学都能够很快的实现基本功能, 但在此基础上, 引导学生进行创新设计, 在硬件电路基本不变的情况下, 通过重新规划、设计软件, 实现许多如计时器、万年历、秒表、定时报警器等附加功能。
经几年进行本课程设计的改革和实践, 取得了一些经验与教训, 也积累了一些适合本课程设计的课题。搞好课程设计的关键是课题, 课题要多样化、趣味化、实用化。作单片机设计时应有多个题目可供选择, 如自动测温系统, 万年历程序设计, 自动压力测试系统, 步进电机控制系统, 单片机硬件仿真系统设计等。学生能够根据自己的兴趣和爱好自由地选题, 充分发挥了学生的潜能。如选单片机硬件仿真系统设计的学生, 到图书馆认真查阅仿真系统设计资料, 查阅芯片使用手册, 了解不同芯片的性能, 之后加以构思并与老师研究、讨论, 一周后就画出了用单片机、LED显示器、键盘、晶体振荡器等器件组成的仿真系统的电路原理图, 用电子CAD成功地绘制了印刷电路板图。然后腐蚀制版, 最后学生亲自焊板、调试。在设计过程中学生们遇到了许多平时课上没有碰到的问题, 如有的单片机不工作, 起初学生都显得措手不及, 不知从何下手查找问题所在, 在老师的指导下通过分析、判断, 终于找出单片机不工作的原因是石英晶体振荡器没有起振, 并解决了有的复位电路不能正常工作、有的显示器不亮等实际问题, 终于成功地制作出五套单片机硬件仿真系统。学生从收集资料、查阅文献、设计构思、原理图的绘制到系统的组装调试, 真正使所学到的知识达到了融会贯通的目的。通过实践, 学生不仅把所学单片机知识加以复习, 而且为从事单片机的实际开发积累了许多宝贵的经验, 提高了动手能力, 为以后参加工作奠定了坚实的基础。
四.结束语
通过单片机课程设计改革的实践, 培养了学生对单片机的学习兴趣, 掌握了单片机系统项目的开发过程, 调动了学生主动学习的积极性, 对单片机学习很好的促进作用, 提高了教学质量。当然单片机学习不是通过一个课程设计就可以使学生成为单片机高手的, 学习是要不断积累经验。老师应该经常鼓励学生要培养自己甘于吃苦, 勇于创新, 勇于献身科学的精神。“老师引进门, 修行在个人”, 成为单片机高手的秘诀在于坚持不懈。
参考文献
[1]张毅坤, 陈善久, 裘雪红.单片机微型计算机原理及应用[M].西安电子科技大学出版社.1998.
[2]刘栅.关于单片机教学改革的探讨[J].九江职业技术学院学报.2007. (1) :50-51
单片机课程设计实验项目设计 篇3
【摘 要】针对单片机课程设计这门课程传统实验方式的不足之处,设计了一种新的实验项目;围绕“单片机系统设计方法”这一主线,从计算器系统电路的构成、仿真图的绘制、程序的编写、印制电路板的设计等方面对新项目的实施做了详细分析。
【关键词】单片机课程设计 计算器系统 实验课
【中图分类号】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)
单片机课程设计报告要求 篇4
报告内容:
1.完成电子钟系统设计,包括软件资源分配,硬件资源分配,程序分模块设计规划,说明各个
功能模块子程序实现的任务、算法思路、程序设计流程图。
2.完成电子钟程序设计并注释。
3.分析电子钟走时的误差和产生此误差的原因。
4.分析总结编程调试过程中出现的问题和解决的办法。
5.总结数字电子钟设计心得和体会。
单片机课程设计报告书 篇5
目 录
一、设计目的二、程设计具体要求
三、单片机发展简史
四、8051单片机系统简介
五、8051单片机内部定时器/计数器简介
六、程序电路
七、程序流程
八、程序代码
九 实验总结-要求写出完整的论文以及心得体会
十 参考资料及小结
原 文 :一.目的1. 进一步熟悉和掌握8051单片机的结构及工作原理。
2. 掌握单片机的接口技术及相关外围芯片的外特性,控制方法。
3. 通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。
4. 通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。
5. 通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。
二.课程设计的体要求
a)原理图设计。
1. 原理图设计要符合项目的工作原理,连线要正确,端了要不得有标号。
2. 图中所使用的元器件要合理选用,电阻,电容等器件的参数要正确标明。
3. 原理图要完整,CPU,外围器件,扩器接口,输入/输出装置要一应俱全。
b)程序调计
1. 根据要求,将总体项能分解成若干个子功能模块,每个功能模块完成一个特定的功能。
2. 根据总体要求及分解的功能模块,确定各功能模块之间的关系,设直出完整的程序流程图。c)程序调试将设计完的程序输入,汇编,排除语法错误,生成*OBJ文件。
1. 按所设计的原理图,在实验平台上连线,检查无误。
2. 将汇编后生成的*OBJ文件传送到实验装置的,执行该程序,检查该程序、是否达到设计要求,若未达
到,修改程序,直到达到要求为止,d)说明书
1. 原理图设计说明
简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。
2. 程序设计说明
对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细的描述。
3. 画出工作原理图,程序流程图并给出程序清单。
目前,单片机已广泛应用到图民经济建设和日常生活的许多领域,成为测控技术现代化必不可少的重要工具。
单片机电子时钟
作者:佚名来源:本站原创点击数:
491更新时间:2007年06月27日
DS1302是Dallas公司生产的一种实时时钟芯片。它通过串行方式与单片机进 行数据传送,能够向单片机提供包括秒、分、时、日、月、年等在内的实时时间
信息,并可对月末日期、闰年天数自动进行调整;它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也能保持时钟的连续运行。另外,它还能提供31字节的用于高速数据暂存的RAM。鉴于上述特点,DS1302已在许多单片机系统中得到应用,为系统提供所需的实时时钟信息。
一、DS1302的主要特性
1.引脚排列
500)this.width=500 border=0>
图1DS1302引脚排列图
DS1302的引脚排列如图1所示,各引脚的功能如下:
X1,X2——32768Hz晶振引脚端;
RST——复位端;
I/O——数据输入/输出端;
SCLK——串行时钟端;
GND——地;
VCC2,VCC1——主电源与后备电源引脚端。
2.主要功能
DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器、实时时钟电路以及用于高速暂存的31字节RAM。DS1302与单片机系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。其工作过程可概括为:首先系统RST引脚驱动至高电平,然后在作用于SCLK时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK
时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。因此,其与单片机之间的数据传送是十分容易实现的。
二、时钟的产生及存在的问题
(1)在实际使用中,我们发现DS1302的工作情况不够稳定,主要表现在实时时间的传送有时会出现误差,有时甚至整个芯片停止工作。我们对DS1302的工作电路进行了分析,其与单片机系统的连接如图2所示。从图中可以看出,DS1302的外部电路十分简单,惟一外接的元件是32768Hz的晶振。通过实验我们发现:当外接晶振电路振荡时,DS1302计时正确;当外接晶振电路停振时,DS1302计时停止。因此,我们认为32768Hz晶振是造成 DS1302工作不稳定的主要原因。
500)this.width=500 border=0>
图2DS1302与单片机系统的连接图
(2)DS1302时钟的产生基于外接的晶体振荡器,振荡器的频率为32768Hz。该晶振通过引脚X1、X2直接连接至DS1302,即DS1302是依靠外部晶振与其内部的电容配合来产生时钟脉冲的。由于DS1302在芯片本身已经集成了6pF的电容,所以,为了获得稳定可靠的时钟,必须选用具有6pF负载电容的晶振。
然而,许多人在选用晶振时仅仅注意了晶振的额定频率值,而忽视了晶振的负载电容大小,甚至连许多经销商也不能提供所售晶振的负载电容。所以即使在使用中选用了符合32768Hz的晶振,但如果该晶振的负载电容与DS1302提供的6pF不一致时,就会影响晶振的起振或导致振荡频率的偏移,出现上述在应用中的问题。
三、利用辅助电容实现负载匹配
(1)当所选的晶振负载电容不是6pF时,可以采用增加辅助电容的方法提高或降低DS1302振荡器的电容性负载,使之与晶体所需的电容值匹配。如果已知晶体的负载电容为CI,若CI<6pF,则可以增加一个并联电容CS以产生所需的总负载电容CI,即CI=6pF+CS;若CI>6pF,则可以在晶体的一端增加一个串联电容CS,以产生所需的负载电容CI,即1/CI=1/6pF+1/CS,通过计算即可得出应增加的辅助电容大小。辅助电容的接法如图3所示。
图3CS连接电路图
(2)在使用前对晶体的负载电容并不知道的情况下,通过测定晶体振荡频率的方法可以确定该晶体的负载电容。
对于晶体振荡器来说,其振荡频率与负载电容之间的关系是确定的。以本文讨论的DS1302使用的32768Hz晶振为例:当它工作于所要求的负载电容时,能较准确地产生 32768Hz的频率;当它的负载电容小于6pF时,其振荡频率会正向偏移;当它的负载电容大于6pF时,其振荡频率就会负向偏移。因此,对于未知负载电容的晶体应首先采用实验的方法,在其两端加入辅助电容使晶体起振,然后用频率计测出振荡频率。若测得频率大于32768Hz,说明负载电容偏小;若测得频率小于32768Hz,说明负载电容偏大。对辅助电容逐步调整,最终使振荡频率尽可能接近32768Hz,则此时晶体端所接负载电容的总和就是适合该晶体的负载电容。
结论
以上方法经我们在实际工作中多次使用,证明确实有效。它放宽了DS1302在使用中对晶振的条件要求,增强了DS1302在工作中的稳定性,对DS1302更广泛地应用具有积极的意义。
华东交大理工学院_2007-2008 _学年第_ 一 学期
课程设计安排计划
班级:_05应电__课程:_单片机原理及接口技术_
一、课程设计题目:数码管时钟电路的设计
二、设计内容及要求:
LED数码管时钟电路24小时计时方式,时、分、秒用6位数码管显示。选用AT89C2051单片机,12MHZ晶振,6位共阳数码管,要求有调时功能,其他功能学生可自由发挥。
三、设计方法与步骤:
1.设计硬件原理电路,选择元器件、确定其参数。
2.设计印刷电路板电路(用面包板做)、焊接硬件电路。
3.设计汇编语言程序,调试硬件电路和程序。
4.编写课程设计报告。
四、设计时间安排:
1.第十九周:周一、二,设计硬件原理电路,选择元器件、确定其参数。
周三、四、五,设计印刷电路板电路(用面包板做)、焊接硬件电路。
2.第二十周:周一、二,设计汇编语言程序。
周三、四,烧录程序,调试硬件电路和程序。
周五,编写课程设计报告。
指导老师: 杨威
单片机(飞思卡尔)课程设计报告 篇6
1设计要求:
LCD的第一行显示运算式,第二行显示运算结果。比如要计算机12+34,在键盘上按下相应键后,LCD的第一行显示“12+34”,按下“=”号后,LCD的第二行显示“=46”。其他功能参考普通计算器。
扩展功能:负数、小数运算、复合运算。连续运算、2进制、8进制运算。
亦可直接在LCD上显示一个计算器,用触摸屏操作。
2设计思路
在LCD上显示一个与键盘功能相同的计算器,可实现用键盘、触摸屏混合操作。
1、在LCD显示屏上按下某一个符号或者在键盘上某一个按键符号时,将相应字符存入数组中
并显示在LCD上。
2按下“=”就运算处理并在第二行显示计算结果。
3、按下“C”就进行退格操作。
4、按下“=”后显示结果,并且能连续运算,其中,将操作数和操作码全部显示在第一行,第二行显示当前计算结果。
5、当出现连续按两个操作符、按等号前一个字符为操作符、最开始按下的不是操作数等非法输
入时,自动在LCD屏幕上报错并实现清屏重启计算器。
3设计步骤
1、添加基本计算器的+、-、*、/ 四则运算和退格功能;
2、在1的基础上实现复合运算和连续操作;
3、在LCD上通过调用函数在下方画出计算器的按键图画并实现与键盘同等的功能;
4、综合调试并进行优化。
4程序流程(含流程图及详细步骤解释)
详细步骤解释
程序运行时即进行初始化,在LCD显示屏上显示计算器界面。接着判断是否有键盘按键按下或者有触屏,没有就继续扫描判断,有则将按下的键所对应的字符存入数组savedata。在此之中,也在判断键入的字符是否是退格键,如果是则将上一个字符清除掉。当检测到字符“=”时,将savedata数组中所存储的字符分离,其中,数值存在操作数数组op1中,操作符存在操作符数组op2中,然后进行运算。运算开始时,先扫描op2数组,当检测到操作符则将op1数组中对应操作符前后的两个操作数进行运算(先乘除后加减),结果放在两个操作数的前一个的位置,将op1和op2数组向前移动一个位置以覆盖已经运算过的操作数和操作符。当继续进行连续运算时,将字符继续存到savedata数组后面,否则清除op1的值,将字符存到savedata数组第一个开始的位置。
程序中考虑了各种非法输入的情况:当连续输入两个操作符时、当按“=”时检测到前一个字符是操作符时、当程序第一个字符不是操作数时,都报错,自动清屏并重启计算器。
按照实际中计算器的原则,当按下“=”后,退格键不能清除,比如1+2=3;不能将“2”、“+”、“1”退格。如果是连续运算,继续按下“-3+8/2”时,退格键有效,能清“-3+8/2”中的字符。清除后继续连续运算。
5操作步骤及方法
下载完程序后:
1、普通计算:例如计算123+456,直接在显示屏上连续触发“123+456”,然后触“=” 就可以在第二行显示=579;
2、连续运算。例如先计算123+456,结果为579,此时再按下“+” “1” 先在第一行显示123+456+1,在第二行就会显示=580,再按下“-” “9”,第一行显示123+456+1-9,在第二行就会显示=571,依次类推。
3、当输入的字符是非法输入时,在LCD第三行显示 illeagle enter!然后自动清屏重启计算器。
单片机课程设计报告书 篇7
一、传统教学方法的缺陷
目前, 中职开设的课程具有较强的实践性、专业技术性, 需要学生勤思考、多操作, 无形之中增加了学生的学习难度, 也增加了教师的教学难度。近年来, 各中职学校虽对课程的教学模式进行了改革, 但仍存在以下几个问题 (3) :
(一) 教学方法墨守陈规, 未能因材施教
多数教师未注重学生的实际情况, 单纯照本宣科进行灌输式教学, 没有与学生充分互动, 自然难以调动学生的积极性, 加之教学中缺乏激情, 导致整个课堂学习氛围消沉, 长此以往教师的授课与学生的听课就会进入了一个“互不理睬”的恶性循环。
(二) 传统的中职教材难度偏大, 缺乏校本教材
多数教材均采用传统的章节式教学, 知识系统被人为地割裂, 学生在学习中对一些知识理解缺乏必要的联系, 影响学生综合能力的提高。学校缺乏校本教材, 所学的中职教材多数编写偏难, 没有考虑到中职学生的基础情况, 很多学生表示学习吃力, 很难掌握学习的知识点。
(三) 课程考核机制不健全, 考核形式缺乏灵活性
学校对于学生的考核形式缺乏灵活性与多样性, 仍停留在笔试考试上, 注重对知识记忆的考查, 而缺乏对实际操作的量化考核, 阻碍了学生的开拓创新, 固化了学生的思维能力。
二、实验项目驱动式教学探讨
针对中职学校上述教学方法的不足, 笔者从主讲的单片机原理与应用课中提出了一种创新的教学方法——实验项目驱动式教学。所谓实验任务驱动式教学是指教师提出一个完整的实验项目激发学生参与研究与讨论学习的教学模式 (4) 。实验项目是指针对某几个教学知识点而设计的, 能在教师的指导下由学生独立完成的、收到良好教学效果的小任务。
中职学校的学生本身基础相对较差, 不擅长于逻辑思考和理论分析, 但喜爱动手操作, 因此, 我们应该利用这一特点, 在单片机原理与应用课程中采用实验项目驱动式教学, 将理论与实践相结合, 让学生在做中学、在学中做, 教师则在学中评。下面以单片机原理与应用中简易时钟电路设计与实现这一课题为例, 来设计项目式教学 (5) 。
(一) 划定项目任务, 做好准备工作
时钟电路实验项目主要分硬件和软件两部分:硬件部分主要让学生绘制电路板;软件部分主要要求学生编写程序与调试, 当然也涉及到与此相对应的应用软件学习与操作, 例如绘制电路板的制作软件Protel DXP、编写程序的Keil软件及实现仿真功能的Proteus软件等, 特别是Proteus软件, 它是一款包含大量系统资源、丰富硬件接口电路, 具有强大调试功能和软硬件相结合的仿真系统, 它在单片机应用系统开发中占有重要地位 (6) 。
以实验任务为前提, 有效促使学生自主学习实验相关软件, 增加了学生学习的内在动力, 有利于激发学生的学习兴趣和提高思考能力。为进一步确保该实验项目的顺利完成, 可以引导学生进行分组研究, 即将任务分派给每一小组, 每组又根据自身情况分派任务, 可安排部分学生负责硬件部分, 部分学生负责软件部分, 查找并收集相关资料, 互帮互助, 交流经验, 共同为项目做好准备工作。
(二) “学中做, 做中学”, 培养情感目标
在项目教学的基础上, 协调好理论学习与实践操作的关系, 分任务、分情境组织学生通过实际动手操作完成理论和技能的培养。对于时钟电路项目, 主要操作集中在时钟电路的电路板制作、相关程序的编写和调试等方面。首先, 在时钟电路的电路板制作过程中, 要求学生通过反复实践真正掌握DXP软件绘制电路图方法和电路板的制作步骤, 进而加深和巩固学生对时钟电路的理解。其次, 在程序编写与调试过程中, 要求学生熟练掌握编写程序的相关语言的指令, 包括汇编语言、C语言以及混合编程指令等, 并在反复编译调试中掌握和巩固相关程序的编写。最后, Keil软件具有强大的软件调试功能, 同时集编辑、编译、仿真等功能于一体, 支持汇编、C语言以及混合编程, 可与Proteus软件实现软硬件联合仿真, 是众多单片机应用开发软件中最优秀的软件之一 (7) 。因此, 加深Proteus仿真软件和Keil编程软件的学习, 明确操作的内在联系, 编写单片机的相关指令和程序, 检验程序是否正确, 能较好促进学生的研究。
在实际操作过程中, 要注重培养每组成员的团结合作精神, 可以列举世界500强企业的文化, 引导学生提高合作奋进、共同提高的意识, 要让他们在潜意识里明白团结互助的重要性, 并将其内化为行动指南。同时, 鼓励学生要有攻克难关的恒心和决心, 杜绝出现部分学生遇到困难就打“退堂鼓”的现象。如在DXP的绘制过程中, 部分学生因DXP中的布线环境很繁琐而缺乏耐心, 以至于不能较好地完成该项任务。那么, 这时就应对这部分学生采取团队鼓励的方法, 让会做的带动不会做的, 把繁琐的内容逐渐细化, 以讨论交流的形式增强学生的信心, 形成互帮互助的良性氛围。
(三) 还原指导身份, 实现“做中评”
由于企业电子产品更新换代的速度非常快, 对于单片机的学习, 需与当代电子产品的相关功能相结合, 以企业的发展方向为依托, 既为学生在单片机领域的学习提供方向与目标, 又要锻炼学生的开拓创新能力。因此, 教师可对每一个任务或者每一个学习情境给予相应的指导, 注重对相关知识点的讲解, 指导学生理清时钟电路的概念, 总结归纳涉及的知识点, 构建时钟电路的知识体系, 并在实践中检验理论的正确与否。同时, 以学生自评、学生互评、教师评价等方式进行综合评价, 增强时钟电路学习的趣味性, 提高学生的积极性和主动性, 有效提高学习的效果。
以上三个方面的内容是相辅相成的, 符合咨询、计划、实施、评价、总结和反馈的规律。建立科学的课程设计与实施体系是全面提高学生的职业素养和职业能力的关键, 通过这种模式的不断深化改革, 必将推动我国职业教育向前发展, 真正响应国家“职教强民”的号召。
三、与其它教学方法相结合的新思路
传统的教学模式是经过多年实践证明具有较好成效的教学方式, 实验项目式教学并不是要完全摒弃传统的教学模式, 而是要与其他的教学模式相结合, 采取取长补短的方式寻求教学新思路。如何将传统的教学模式与实验项目式教学完美的结合起来, 是当前需要思考的问题。
实验项目式教学主要培养学生的实际操作能力, 对于理论的学习掌握仍需要靠传统的教学模式来查漏补缺。当学生完成了项目教学的任务后, 需要对知识进行梳理, 在这个过程中, 教师可根据学生的实际情况, 选择合适的教学方法, 如讲授法、讨论法及练习法等, 做到让学生在自主参与活动中复习、巩固、提高相关的知识。
四、总结
目前, 中职教育的课程设计与实施相对灵活和多元, 不同的学校、不同的学科及不同的教师可采用不同的渠道去进行试验和探索分析。总体上来讲, 如何设计教学, 切实将学校对学生的能力培养与企业工作岗位对毕业学生的要求进行“零距离”结合则是必须坚持的方向和目标 (8) 。
“职教强民”不是一句空口号, 是基于我国对技术人才的匮乏这一基本国情而提出来的, 虽然目前我国的职业技术教育还不够完善, 民众对中职教育的认同感也不高, 对于从事中职教育的工作者来说将是任重而道远的事情。为此, 首先, 增强学生的自信心, 在观念上要让学生摆脱对中职教育的偏见, 普遍提高民众对中职教育的认同感。其次, 要将就读于职业学校的学生培养成才, 让他们在学校里真正学到适用于社会的有用技术, 从而为学生提供一个更好的就业平台。最后, 教师要有“让学校成就学生, 也让学生成就学校”的意识, 奋力为国家的中职教育贡献出一份绵薄之力。
“路漫漫其修远兮, 吾将上下而求索”, 国家职业教育发展处于攻坚阶段, 广大中职教育工作者要有足够的耐心、信心和恒心, 不断开拓进取、奋力拼搏, 我国的中职教育一定会迎来属于自己的春天, 中职教育培养的学生也一定能在他们今后的事业中绽放最绚丽的光彩。
摘要:针对目前中职学校学生普遍存在的厌学现象, 以教师反思教学方法为切入点, 以中职单片机课程为例, 采用任务探讨与实践相结合的方式来激发学生的学习兴趣, 探讨出一种新的教学方法——实验项目式教学, 有效提高了中职的教学质量。同时, 还提出了项目式教学与其它教学方法相结合的新思路。
关键词:实验项目式教学,单片机,教学设计
注释
11赵志群、赵丹丹、弭晓英:《我国职业教育改革理论与实践回顾》, 载于《教育发展研究》, 2005年第8期, 第66-70页。
22 李立群、纪芝信、汤海涛:《职业技术教育学》, 福州·福建教育出版社, 1995年, 第132-135页。
33 鲍晶晶、魏海红:《项目教学在高职单片机课程教学中的探索与研究》, 载于《电子世界》, 2012年第6期, 第151-152页。
44 杜惠洁:《德国教学设计的理论与实践研究》, 上海·华东师范大学, 2006年, 第71-74页。
55 徐国庆:《实践导向职业教育课程研究》, 上海·华东师范大学, 2004年, 第225-228页。
66 刘心红、郭福田、孙振兴等:《Proteus仿真技术在单片机教学中的应用》, 载于《实验技术与管理》, 2007年第3期, 第96 -98页。
77 孙凌燕、黄允千:《Proteus与Keil软件的整合在单片机实验开发中的应用》, 载于《实验室研究与探索》, 2008年第4期, 第59 -61页。
单片机课程设计报告书 篇8
关键词:单片机;课程;教学载体;学习情境
以工作过程为导向的课程教学方式,已成为近年来职业教育课程改革的热门话题。工作过程导向的课程的实质,在于课程的内容和结构追求的不是学科架构的系统化,而是工作过程的系统化。单片机课程作为高职高专院校电子、电气、机电、计算机与通信等专业的一门专业课,是一门综合性和实践性较强的课程,适合按照工作过程导向的模式组织教学。单片机课程的教学目的是为从事电子产品、机电产品设计的企业培养具有单片机应用产品设计、分析、调试和创作能力的实践性人才,单片机应用的过程就是用单片机设计产品的过程。以电子产品作为单片机课程的教学载体,将产品的设计制作过程与单片机的知识点有机结合组织教学内容,可以抓住单片机教学的切入点和着力点,教学过程有明确的实践目标——完成电子产品设计,紧密联系单片机应用的实践,有利于提高学生的学习积极性和主动性,提高教学效果。本文以“循环流水灯”、“电子钟”、“温度测量报警系统”三个电子产品作为教学载体,按照系统化的工作过程系统化教学模式,构建单片机课程系统化的学习情境。
一、教学载体的选取原则
作为教学载体的电子产品应具有完整性。工作过程系统化的教学模式要求每个学习情境都是一个完整的过程,因此作为教学载体,它应是具有完整功能的电子产品,它的设计制作过程应当是一个完整的项目制作过程,包括如图1所示单片机应用产品的设计步骤。
和传统教学方法中的实验有本质区别,传统的实验仅仅是为了验证部分理论知识的正确性,而“循环流水灯”、“电子钟”、“温度测量报警系统”在现实中都有产品原型,“循环流水灯”的原型是五彩缤纷的霓虹灯,“电子钟”的原型是学生都比较熟悉的电子手表,“温度测量报警系统”是典型测量控制系统。
作为教学载体的电子产品应具有系统性。根据工作过程系统化教学模式的要求,学习情境之间不仅要有内在的联系,而且不能是简单的重复,前面的学习情境是后面学习情境的基础,后面的学习情境是在前面基础上的拓展与综合。以上述三个产品为载体设计的学习情境,实施过程的步骤是重复的,而实施的内容上则是包含递进的,是一个螺旋上升的学习过程,在硬件设计、程序设计、软件工具使用、调试方法等方面都是包含和逐步递进的。以硬件设计为例,“循环流水灯”用I/O(输入/输出)口输出开关量,控制灯亮灭,“电子钟”用I/O口输出数据,在显示器件上显示字符,“温度测量报警系统”用I/O口输出其他芯片的工作时序,控制其他芯片按设定的方式工作。
作为教学载体的电子产品应具有拓展性。根据工作过程系统化教学模式的要求,学习情境应具有拓展性,拓展性是指学习情境应涵盖课程的所有知识点和该课程在实践中的典型工作任务。上述三个产品为载体的学习情境,涉及单片机所有资源应用:I/O口的输入、输出,外部中断,定时/计数器,串行口等,涉及单片机应用中的典型工作任务:开关量的输入输出控制、显示电路设计控制、键盘电路设计控制、并行接口器件扩展控制、串行接口器件控制和串行通信控制等。学生通过这些系统化的学习情境学习,可以掌握单片机应用产品的开发步骤、环节,掌握单片机资源的应用方法、步骤和技巧,并能应用于其他电子产品的设计中。
二、针对产品设计制作过程的系统化学习情境设计
从图1可知,单片机应用产品的开发是一个综合的系统工程,需要开发人员具有相应的职业能力、职业素养和工程意识。这里的职业能力是指基于单片机应用产品开发过程的职业技能,包括电子产品功能分析分解、资料检索引用、单片机资源调配、硬件电路设计、软件程序设计与调试、编程软件使用、产品制作调试、技术文件编制等。职业素养是基于企业文化的职业素质,包括认真努力、严谨规范、吃苦耐劳、遵纪守时、求真务实、团结协作、拓展创新等素养。工程意识是从社会经济角度考虑的最优设计制作方案,包括成本意识、安全性、可靠性、节能、环保等。本课程在教学组织中将职业能力、职业素养和工程意识的培养有机结合起来,特别是后二者融入教学体系中,更加突出了工学结合的特点,实现单片机课程的培养目标,包括知识目标和能力目标。
为便于课堂教学的组织实施,将每一个学习情境分解为几个学习任务(或子情境),如表1所示。在每个任务里学习相关的单片机知识点,进行相应的实践制作活动,完成相应的职业能力、职业素养和工程意识的训练,每个学习情境最后的学习任务都是对前面任务的综合。
三、学习情境实施
每个学习情境的实施按照图1所示单片机应用产品的开发步骤进行,依照“资讯、计划、决策、实施、检查、评估”的六步骤组织教学内容,将学生的职业能力、职业素养和工程意识的培养融于教学的过程中,针对不同的阶段采用恰当的教学方法。下面以第二个学习情境“电子钟设计”为例,简述学习情境的实施情况。在“产品功能分析”阶段,采用案例对比法,引导学生思考讨论,然后确定电子钟所应具有的功能,确定系统方案(功能模块)。在“器件资料准备”阶段,按照系统方案选择所需的器件资料,采用器件资料比较法,考虑器件使用的难易程度和成本。在“功能电路设计”阶段,采用示范引导法,可以将其他系统的对应电路移植并加以改进,或参照器件资料提供的应用电路。在“功能程序设计”阶段,采用积木编程法,先编写模块程序,再逐步综合构成系统软件。在“系统功能联调”阶段,采用头脑风暴法,引导学生讨论,按照系统的功能要求调配硬件,调试程序使之实现系统功能。在“产品制作”阶段,采用内外互补法,课外制作,课内检查。在“产品测试”阶段,采用自互评价法,由学生自己以及其他同学对作品进行检查评价,最后老师检查验收,综合学生自互评价,给一个综合的成绩。
在学习情境的实施过程中,我们充分利用现代教学手段,对于难以理解的内容,制作动态演示的电子课件帮助学生理解掌握,同时注重虚拟仿真技术的学习,依照学习情境开发系列的虚拟项目(Keil C软件模拟,Protues硬件模拟),供学生在课堂课外练习,这些项目也可以通过网络完成训练,突破学习训练在时间、空间上的局限性。另外,我们注重现代交流技术手段的应用,通过QQ群、电子邮件、MSN等建立网上论坛,实现了师生之间、学生之间的多样化交流。
四、结束语
以产品为载体的单片机课程学习情境设计体现了工作过程系统化课程的工学结合特点,以产品设计制作过程为导向,在“做”中“学”,在“学”中“练”,以练促学,为学生提供了更多实践动手机会,实践能力和综合能力都有很大提高。
参考文献:
[1] 姜大源.关于工作过程系统化课程结构的理论基础[J].职教通讯,2006,(1):7-9.
[2] 田淑波.基于工作过程课程设计初探[J].教育论坛,2008,(11):78.
单片机课程实习报告 篇9
一、实习目的 《单片机原理与接口技术》课程实习安排在该课程理论教学结束后进行。其目的是通过实习,使学生进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/计数控制、程序设计、应用开发等基本理论知识的理解,提高单片机应用技术的实践操作技能,掌握单片机应用系统设计、研制方面的一般方法,培养利用单片机进行科技革新、开发和创新的基本能力、为毕业后从事和单片机相关的工作打下一定的基础。
二、实习内容要求 要求能输出4种花型,并能由人工进行花型的切换。可以使用按键,也可以使用波动1)开关来实现切换,方法不限。参考花型:(1)使彩灯从右到左逐一循环点亮。(2)使彩灯交替闪烁。(3)使彩灯从左到右逐一点亮,当全部点亮后同时闪烁一次。(4)使彩灯从两边到中间顺序点亮,直至全部点亮;再将彩灯从中间到两边熄灭,直至全部熄灭。2)循环彩灯的循环速度可调。按键要求:(1)启动/暂停。按动一次启动,再按一次暂停。是一个双态转换键。(2)花型变化。按一次,立即停止当前花型的显示,转换为下一种花型。4种花型可以循环切换。(3)速度+。按键一次,速度略加快一点。(4)速度-。按键一次,速度略减慢一点。(5)在LED显示器上显示相应的花型号。利用TDN86/51二合一微机实验教学系统设计一个用8051单片机控制的循环彩灯控制系统。
三、程序设计
1、程序分模块设计 1)基本程序模块:延时程序、设置按键处理程序、主程序初始化及初值设定 2)LED控制程序
3)取消按键抖动程序 4)控制程序
2、设计流程图
开始
字型码赋值 8155初始化字位码初始值 总控制开关 字位码 C口 花型控制开关 显示数据
查表字形码
C口 花型 显示字形 显示 选择花型 结束
调速 P3.4=0? 否 P3.2=1? 是 否 是 P3.3=1? 加速 P3.1=0? P3.0=0? 是 否 是 否 减速 00 01 10 11 花型1 花型2 花型3 花型4
3、总体设计
充分利用TDN86/51二合一微机实验教学系统的硬件资源来实现循环灯的功能,因此:(1)利用8051的P1端口接发光二极管,以模拟彩灯控制。(2)利用8051的P3端口接拨动开关;利用拨动开关提供逻辑0和逻辑1,模拟按键操作,以实现4种花型之间的切换、加快循环速度、减慢循环速度以及暂停循环灯循环等操作,具体定义如表1.1和表1.2所示。表1.1 拨动开关与对应的花型
K1 K2 花型 0 0 花型1 0 1 花型2 1 0 花型3 1 1 花型4 表1.2 拨动开关功能表 K3 K4 K5 功能 功能 功能 0 0 0 加速无效 减速无效 暂停 1 1 1 加速 减速 启动(3)8051通过8155对LED显示器控制显示相应的花型编号。(4)利用软件子程序或单片机内部的定时/计数器实现定时功能,以模拟循环速度的基准值。
4、设计程序如下: ORG 0000H SETB ET0 LJMP MAIN SETB EX0 ORG 0003H SETB ET1 LJMP JIAN SETB EX1 ORG 0013H SETB EA LJMP JIA LOOP:LCALL KEY ORG 1000H LJMP
LOOP MAIN: MOV
SP, #60H JIAN:JNB P3.2,$ MOV 20H,#8 INC 20H MOV P1,#0FFH INC 20H
MOV
A,20H JIA: JNB
P3.3,$
CJNE A,#14,YY DEC 20H MOV A,#14 DEC 20H YY: MOV 20H,A MOV A,20H RETI JNZ YY MOV A,#02 MOV DPTR, #SEGTAB MOV 20H,A MOVC
A, @A+DPTR
RETI MOV
DPTR, #8002H KEY:MOV A,P3 MOVX @DPTR, A ANL A,#03H MOV A, R2 MOV 19H,A MOV DPTR, #8001H CJNE A,#00H,L1 MOVX @DPTR, A LJMP LP0 MOV R3, #00H L1: CJNE A,#01H,L2 DISP3: DJNZ R3, DISP3 LJMP LP1 INC R0 L2: CJNE A,#02H,L3 RR A LJMP LP2 MOV R2, A L3: LJMP LP3 JB ACC.7, DISP1 DISP: MOV A,#03H RET MOV DPTR,#8000H PUTT: MOV R1,A MOVX @DPTR,A ANL A, #0FH MOV R0,#4FH MOV @R0, A MOV A,27H RET ACALL PUTT LP0: MOV 27H, #01H MOV R0,#4FH LCALL DISP MOV R2,#0FEH MOV DPTR, #TABLE DISP1: MOV DPTR,#8002H MOV R4, #09 MOV A,#00H L6:MOV A, #09 MOVX @DPTR,A SUBB A, R4 MOV A,@R0 LCALL XX
DJNZ R4, L6 MOV A, #09H RET LCALL XX LP1: MOV 27H, #02H MOV A,#10 LCALL DISP LCALL XX MOV DPTR, #TABLE RET LP2: MOV 27H, #03H CJNE A , 19H, PP LCALL DISP MOV R2, 20H MOV DPTR, #TABLE D1:MOV R3, #30 MOV R5, #11 D2:MOV R1, #120 L7: MOV A, #22 DJNZ R1, $ SUBB A, R5 DJNZ R3, D2 LCALL XX DJNZ R2, D1 DJNZ R5, L7 RET RET PP:LJMP LOOP LP3:MOV 27H, #04H SEGTAB:
LCALL
DISP DB 3FH,06H,5BH,4FH,66H
MOV DPTR, #TABLE TABLE: MOV R6, #09 DB 0FFH L8:MOV A, #30 DB 0FEH ,0FDH ,0FBH ,0F7H ,0EFH ,0DFH ,0B SUBB A, R6 FH ,07FH
LCALL
XX
DB 0AAH,55H DJNZ
R6, L8
DB
RET 7FH,3FH,1FH,0FH,07H,03H,01H,00H,0FFH, 00H XX: MOVC A, @A+DPTR
DB
MOV
P1, A 7EH,3CH,18H,00H,18H,3CH,7EH,0FFH LCALL DEL1S DB 00H RET END DEL1S: JNB P3.4, $ MOV A, P3 ANL A, #03H
四、软、硬件调试 将程序装载进MD51,用U命令调试检查有没有错误,生成HEX文件,装载进8031内,装载成功后,输入G=0000按回车运行,看LED数码显示器显示花形号,二极管按花型的设计亮起。没有装载成功按复位键重装。
五、设计仿真图
六、实习总结与心得 通过这次的实习设计使我认识到我对单片机方面的知识学习得不够透彻,对书本上的很多知识还不能灵活的运用,有很多我们必须的知识没有掌握,还需要在以后的学习中弥补所缺失的知识。了解和掌握了一些编程思想和对I/O口的使用。本次实习的设计是以单片机8051为核心,结合相关的元器件(共阴极LED数码显示器、通用I/O接口芯片8155等),再加上装载设计的汇编程序,以达到LED二极管实现多种花样彩灯的功能及实习设计要求的功能。在实习准备前期,对编程设计不懂,就查阅了很多有关资料,最后还是没能解决实习要求控制彩灯“加减速”的功能,仿真图及程序见附页。实习的时候,“加减速”程序不符合要求,就拿其他程序进行调试,在实习调试的过程
中,遇到很多困难,插线没插好,导致“加减速”按键没能正常工作,还有就是数码管没能正常显示相应花样样式以及运行一段时间后会卡机;最后卡机问题还是没能解决。最后就是觉得自己对本次实习的态度不够认真。附页:
1、设计准备阶段仿真图:
2、设计程序: ORG 0030H JNB P3.2,STAR3 MOV A,#03H LJMP STAR4 MOV DPTR,#8000H STAR0:JNB P3.2,STAR1
MOVX @DPTR,A
SJMP STAR2 MOV R5,#7FH STAR1:MOV R0,A MOV R3,#00H MOV A,#00H MOV R2,#0FEH MOV DPTR,#TAB MOV A,#0FEH MOVC A,@A+DPTR LOOP:JNB P3.1,STAR0 MOV DPTR,#8002H
MOVX @DPTR,A MOVX @DPTR,A MOV R2,#0FEH MOV A,R0 MOV A,R2 MOV P1,A MOV DPTR,#8001H JB P3.5,$ JNB P3.3,NEXT0 RR A LCALL DELAY SWAP A RL A
SJMP LOOP
SJMP LOOP NEXT2:JNB P3.4,NEXT3 NEXT0:JNB P3.4,NEXT1 LCALL DELAY LCALL DELAY1 LCALL DELAY1 RL A RR A SJMP LOOP SWAP A NEXT1:LCALL DELAY SJMP LOOP LCALL DELAY NEXT3:LCALL DELAY RL A LCALL DELAY SJMP LOOP RR A STAR2:MOV R0,A SWAP A MOV A,#01H
LJMP LOOP
MOV DPTR,#TAB STAR3:MOV A,#02H MOVC A,@A+DPTR MOV DPTR,#TAB MOV DPTR,#8002H MOVC A,@A+DPTR MOVX @DPTR,A MOV DPTR,#8002H
MOV A,R2
MOVX @DPTR,A
MOV DPTR,#8001H
MOV A,R2
MOVX @DPTR,A
MOV DPTR,#8001H MOV A,R0 MOVX @DPTR,A MOV P1,A MOV A,R5 JB P3.5,$ MOV P1,A JNB P3.3,NEXT2 JB P3.5,$ LCALL DELAY JNB P3.3,NEXT4
LCALL DELAY MOV R1,A LCALL DELAY1 CJNE R1,#0FFH,TWO
INC A
MOV P1,#00H
LCALL DELAY LJMP LOOP TWO: MOV A,R5 STAR4:MOV A,#03H RR A MOV DPTR,#TAB MOV R5,A MOVC A,@A+DPTR LJMP LOOP MOV DPTR,#8002H NEXT4:JNB P3.4,NEXT5
MOVX @DPTR,A LCALL DELAY1
MOV A,R2
LCALL DELAY1
MOV DPTR,#8001H LCALL DELAY1 MOVX @DPTR,A INC A MOV A,R3
MOV R1,A
MOV DPTR,#TAC
CJNE R1,#0FFH,TWO MOVC A,@A+DPTR MOV P1,#00H MOV P1,A
LCALL DELAY
JB P3.5,$
MOV A,R5
JNB P3.3,NEXT6 RR A LCALL DELAY;加速 MOV R5,A MOV A,R3 LJMP LOOP INC A NEXT5:LCALL DELAY CJNE A,#08H,ZOU LCALL DELAY MOV A,#00H INC A ZOU:MOV R3,A
MOV R1,A
LJMP LOOP
CJNE R1,#0FFH,TWO NEXT6:JNB P3.4,NEXT7 MOV P1,#00H LCALL DELAY;减速 MOV A,R5 LCALL DELAY RR A LCALL DELAY MOV R5,A MOV A,R3 INC A
MOV R3,A
CJNE A,#08H,ZOU LJMP LOOP MOV A,#00H NEXT7:LCALL DELAY;正常 LCALL DELAY MOV A,R3 INC A CJNE A,#08H,ZOU MOV A,#00H MOV R3,A LJMP LOOP DELAY:MOV R7,#02H D1: MOV R6,#0FFH D2: DJNZ R6,D2
DJNZ R7,D1
RET DELAY1:MOV R7,#04H
D3:MOV R6,#0FFH
【单片机课程设计报告书】推荐阅读:
重邮51单片机课程设计报告10-05
单片机课程设计05-11
单片机原理课程设计05-14
单片机课程设计学生07-07
51单片机课程设计作业10-06
单片机课程设计撰写说明10-25
单片机课程学习总结报告05-21
11级单片机课程设计任务书06-08