单片机课程设计实验报告。
设计题目:基于单片机的多功能综合应用系统的设计。
专业: 电子工程信息。
班级: 电嵌q1241
姓名学号。指导老师。
摘要。单片机原理与应用“是电气工程及其自动化、自动化、电子信息工程、通信工程、电气控制等电类相关专业的专业必修课,也是一门应用性很强的课程,而单片机课程设计则是”单片机原理与应用“课程不可缺少的实践教学环节。单片机课程设计是训练学生运用单片机及其相关知识进行单片机应用系统设计与开发的能力。
本次单片机课程设计基于单片机的基本原理设计了几个具有一定的趣味性、实用性和趣味性的单片机课程设计课程,系统地介绍了单片机课程设计的任务与要求,单片机硬件设计以及课题的设计要求、系统方案、软件设计等内容。本次单片机课程设计第一部分讲述的是51单片机的基础知识,并运用这些基础知识设计了一些基本的应用,如流水灯、流星雨、左右循环、键盘扫描。1620lcd显示屏的显示等功能。
第二部分介绍了led点阵的应用。第三部分系统的介绍了ds28b20传感器的应用。通过这几个实例的学习让学生通过由浅入深、由易到难的独立单元的训练练习,逐步掌握各种独立环节的硬件电路连接、编程、设计方法与技巧,可进一步提高学生的编程能力和技巧,为以后工作打好良好的基础。
第一章设计说明
1.1 设计目的。
1.2 设计内容及要求
第二章方案分析。
2.1 方案分析。
第三章硬件电路**实现。
3.1 硬件结构分析。
3.2基本功能**电路图。
3.3扩展功能**电路图。
第四章软件设计实现。
4.1软件程序内容
4.2模块分析
4.3 程序流程图。
4.4 程序。
第五章系统测试。
5.1 测试电路。
5.2测试结果。
5.3测试结果分析。
第六章心得体会
第七章参考文献
附录。基于单片机的多功能综合应用系统的设计。
第一章设计说明。
1.1 设计目的
由多个单项设计综合构成一个综合系统的设计,每组可根据本组实际情况进行内容组合选择。
1.2 设计内容及要求。
第一部分:基本功能。
1.设计并实现具有复位功能的单片机小系统。
2.利用单片机进行左右循环、扩散收缩式移动、流星雨及速度变化控制
3.利用单片机进行灯光的色彩连续变化效果控制。
4.利用单片机进行灯光的三色联动定时控制(以交通灯为例)。
5. 配合2至5项中功能,实现液晶屏输出功能或状态信息。
6. 以调节5或4项中的时间为例实现基于4x4键盘的输入功能。
第二部分:基本应用模块。
7. 数字温度计的设计(要求:实时显示温度、设置限值温度、超限报警等)
第三部分:基于**的扩展模块。
8.16x16点阵led显示同组同学汉字名。(利用取字模软件获取数据)。
原件清单。第二章方案分析。
方案分析。首先所有功能的实现都是基于单片机这个中心元器件,复位电路和晶振电路就比较固定。我们可以在p1端口接8个led灯实现各种led灯的变化,p2端口接1620液晶显示屏达到显示的功能,p3端口接矩阵键盘实现按键扫描的功能,通过键值控制程序流程的走向。
第三章硬件电路**实现。
3.3.2 复位电路。
3.2.3 lcd显示电路。
3.2.4 按键扫描电路。
3.3扩展功能**电路图。
数字温度计**图如下:
16x16点阵led显示**图如下:
第四章软件设计实现。
4.1软件程序内容
1)基本功能:p1端口的led灯有伸缩扩展(同时有速度的变化)、循环亮灯、流星雨、色彩的连续变化、交通灯功能。
2)1602液晶驱动程序。
3)键盘扫描程序。
4)ds1802的驱动程序。
4.2模块分析
4.2.1 交通灯功能实现说明。
1)该控制系统能控制东西南北四个方向的红绿黄灯正常工作。
2)东西方向绿灯亮,南北方向红灯亮,亮灯30s,此后,东西方向、南北方向黄灯闪烁3下。然后,东西方向红灯亮南北方向绿灯亮,亮灯30后,东西方向、南北方向黄灯闪烁3下。如此循环。
3)相应方向绿灯亮时,同时伴随着喇叭响以提醒盲人可过马路。
4)当发生紧急情况(交通事故、救护车等),东西方向,南北方向都是红灯亮(可通过外部中断实现此功能)。
4.2.2 4*4矩阵键盘扫描流程图。
4.2.3 1602驱动程序的流程图。
4.2.4 数字温度计的设计。
基本功能。1)通过ds18020实时检测温度,并在lcd上显示当前温度的数字值。
2)可设置温度阈值(最低温度、最高温度),当温度高于或者低于阈值时,蜂鸣器响报警。
设计原理。温度计电路设计总体设计:控制器采用单片机at89c51,温度传感器感采用ds18b20;用lcd实现温度显示。
模拟温度值经过ds18b20处理后转换为数字值,然后送到单片机中进行数据处理,处理后的数据送到lcd中显示。
ds18b20的工作时序。
ds18b20的工作时序包括初始化时序、写时序和读时序,如下图:
1)初始化:单片机将数据线的电平拉低480~960us后释放,等待15~60us,单总线器件即可输出一持续60~240us的低电平(存在脉冲),单片机收到此应答后即可进行操作。
2)写时序:当主机将数据线的电平从高拉到低时,形成写时序。写时序开始后,ds18b20在15~60us期间从数据线上采样。
如果采样到低电平,则向ds18b20写“0”;如果采样到高电平,则向ds18b20写入“1“。两个独立的时序间需要1us的恢复时间(拉高总线电平)。
3)读时序:当主机从ds18b20读取数据时,产生读时序。此时,主机将数据线的电平从高拉到低使读时序被初始化。
如果此后15us内,主机在总线上采取到低电平,则从ds18b20上读“0“;如果此后15us之内,主机在总线上采取到高电平,则从ds18b20上读”1“。
对ds18b20操作的软件流程图:
4.3 程序流程图。
第五章系统测试。
5.1 测试电路。
5.2测试结果。
5.3测试结果分析。
软件部分的测试我们是分模块完成的,各个模块在单独测试的时候还是比较顺利的。我们把各个模块封装在一个程序或者是一个文件中,然后在主程序中调用或者是添加该文件的。**件,这时问题就来了,有些功能在单一模块中是一个死循环,放在主程序之后,程序就无法往后执行。
后来想到用break语句强制结束循环。经过多次测试后,**部分的结果总算是出来了。硬件部分就比较苦恼了,开始我们一遍又一遍的烧程序,但led灯始终不亮,按键没有反应,我们一遍遍的检查硬件电路,最后经已经测试出结果的同学和汪老师指导,我们不断地调试复位电路和晶振电路,总算是出了部分结果。
硬件部分借鉴了一些同学的电路设计,所以跟软件部分的测试结果有些许不同,不过大同小异啦。晶振电路还是不太好调出来的,有时候晶振插上去,直接所有的灯全灭,对这点还是有点不理解。不过基本功能还是实现了,不负半学期的时间吧。
第六章心得体会。
张丽兰 30 总结:
历经半学期的单片机课程设计算是有了一个句点了,在这半学期中,我经历了很多,也收获了许多;途中一波三折,心情也是起起落落;
犹记得第一天汪老师布置完任务的时候,我好迷茫地问了一句:老师,我们这是要干嘛?因为大二学习51单片机是基于汇编语言的,当时对汇编语言真的是好反感,又是要背指令,又是程序不具备可读性,那时候就没有好好学,拿到题目顿时觉得无从下手,唯一庆幸的一点是,所有软件的实现都是基于c语言的。
第一节课,老师说让我们画流程图,我们什么都没干,取而代之地是漫无目的的浏览网页,没有画流程图,这大概就是后来我把各部分功能放在一起时,整个人都觉得很凌乱的原因吧。第二次课有些同学已经上手的时候,我们才开始慢慢摸索起来,我们从最基本的流水灯程序开始,一步一个脚印,慢慢地,发现自己已经对单片机的基本结构有了一个初步的了解。实现交通灯功能的时候用到了外部中断,当时对这个中断的概念也是模模糊糊,于是,我开始翻阅一些单片机课程设计的相关书籍,写了一些基本的中断程序。
但在实现交通灯功能的时候还是遇到了一些问题,导致无法启动中断,记得当时还拉着老师问了一下,汪老师又给我讲了一下中断的概念,不过竟然没有指出我的**电路外部中断端口接错了(后面我自己发现了)。正因为如此,我对51单片机的中断部分又有了一个比较深入的了解,这还是要感谢汪老师。像1602液晶的驱动和ds16b20都是之前没有接触到的,但通过这次课程设计,我对这些器件也有了基本的认识,同时也知道了怎么用软件实现它们的功能。
这次单片机课程设计,让我对51单片机有了深入的认识,不再停留在一些理论知识上,而是真正将它同具体的应用联系起来,相信这层认识将推动我今后更深入地学习单片机,同时提高了我将理论知识同具体应用结合起来的能力。想到这些,真的觉得半个学期的努力都是值得的。
罗婧 09 总结:
最开始拿到课程设计的题目的时候,其实我们两个都有点懵,毕竟上学期的单片机课程中我们学的是用汇编来写的**,而且学的还不是很扎实。后来,网上查了很多资料,在图书馆借了几本书,慢慢的心里才有点底。一步步的,我们最终把软件部分完成了(这句话我现在说着听起来感觉很轻松的样子,但是当时真的熬了几晚上,每一次进展我们都会激动半天)。
然后真正头疼的时候来了,硬件部分搭好之后还有同学过来看看觉得挺好看的,但是它怎么都不出结果啊!于是就一遍遍写最简单的程序,一遍遍往芯片里面烧写,最终在一点点改进的过程中“奇迹”般的成功了。其实,直到现在我都还不是特别清楚它为什么没有出结果,也不知道最后为什么又出结果了,有在实验室的同学说我们做工科的要的就是结果,过程怎样都不重要,只要最后实现想要的功能就好了,也许吧。
这样的机会对我们来说不多但却是非常可贵的,在一次次这样的实验中,我们不停地摸索、总结,积累了我们的实践经验,以便为以后打下牢固的基础。而这些才是我们作为一名工科学生最宝贵的财富。非常感谢汪老师,不停地给我们讲设计要求,认真解答我们的问题,从来都没有不耐烦。
通过这次的单片机课程设计,我对单片机的定时器、中断这些难点有了更加清晰的认识,同时也更好地与同伴合作、与人分享与交流,以后再做类似地实验时我一定能做的更好。
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...