单片机实训课程设计报告书.doc_第1页
单片机实训课程设计报告书.doc_第2页
单片机实训课程设计报告书.doc_第3页
单片机实训课程设计报告书.doc_第4页
单片机实训课程设计报告书.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学单片机实训报告书目录摘要2第一章 设计任务及其分析2第二章 硬件电路22.1 电源部分22.2 USB下载部分32.3 单片机最小系统32.4 LED部分42.5矩阵键盘部分52.6 LCD部分52.7 红外接收模块以及蜂鸣器62.8 数码管部分62.8.1 数码管的结构62.4.2数码管的显示原理7第三章 电路板焊接7第四章 电路调试74.1 电源与下载部分调试74.2 LED模块调试84.3 数码管模块调试84.4 矩阵键盘的调试8第五章 数码管时钟105.1 设计要求105.2 电路连接105.3 程序设计10第六章 串口通信及LCD106.1 设计要求106.1.1 LCD数字时钟与串口通信106.1.2 LCD滚屏显示106.2 电路连接106.3 程序设计11第七章 ADC扩展模块117.1设计要求及方案选择117.2 电路原理图117.3 程序设计11第八章 个人体会与总结11参考文献1213摘要单片机课程设计,是很多高校,电子信息专业、自动化专业、通信专业等学生在校学习期间,必须完成的一项重要的动手实践活动。对大学生整体动手能力和实践能力的培养要求,精心选择了单片机课程设计与工程应用实例,典型实例包括了单片机接口、A/D转换、D/A转换、LED点阵字符显示、电子万年历等。使学生在学习完后,能真正从事单片机或嵌入式的开发工作。发现、提出、分析、解决问题和实践能力的提高都会受益于以后的学习、工作和生活中。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得更加深刻,掌握得更加牢固。关键字:单片机,编程第一章 设计任务及其分析单片机课程设计是考察学生利用所学过的专业知识,进行综合的电机控制系统设计并最终完成实际系统连接,能够使学生对电气与自动化的专业知识进行综合应用,培养学生的创新能力和团队协作能力,提高学生的动手实践能力。最终形成一篇符合规范的设计说明书,并参加综合实践答辩。本次设计主要任务有:1基本系统:在51单片机开发系统PCB电路板上完成电子元器件的焊接、调试、程序下载,并实现数码管显示、矩阵键盘扫描、中断程序、定时器程序、串口通讯等基本功能;2显示功能:焊接电路并实现对1602液晶屏的显示功能,要求能滚动显示字符;3输出控制:焊接电路并实现对继电器的控制功能;4数据采集:焊接电路并实现对AD0832的数据采集功能;第二章 硬件电路2.1 电源部分任何电路都离不开电源部分,单片机系统也不例外,而且我们应该高度重视电源部分,不能因为电源部分电路比较简单而有所忽略,其实有将近一半的故障或制作失败都和电源有关,电源部分做好才能保证电路的正常工作。只要电源部分正常,绿色的LED1就会点亮,我们可以根据这个LED来判断整个电源部分是否工作正常,电源部分就是下面图像中需要安装的元件。2.2 USB下载部分USB下载不部分是否正常,是电脑能否识别单片机,能否从电脑总下载程序金单片机的关键。单片机软件开发里面第一步当属下载程序了,如果这一步都有问题,那么后面的一切便无从谈起。单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!其中CH340、PL2303等芯片是直接将USB信号转换为TTL电平,而MAX232等芯片是将TTL转换为RS232信号或者将RS232信号转换为TTL。其电路图如下所示。2.3 单片机最小系统单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。STC系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。 STC89C51使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。2.4 LED部分LED部分采用共阴极。图如下:2.5矩阵键盘部分矩阵键盘可以根据按键不同来分辨,当按键按下时,检测到与按键没有按下时的电平不一样。2.6 LCD部分LCD为液晶显示器,他一般不会单独使用,而是将LCD面板,驱动与控制电路组成LCD模块来使用。LCD模块是一种很省电的显示设备,常被应用在数字或微处理器控制的系统,做为简易的人机接口,但人们一般还是习惯称之为LCD显示器。之后需要做一个电子时钟,需要用到该部分的功能。2.7 红外接收模块以及蜂鸣器2.8 数码管部分2.8.1 数码管的结构数码管系发光器件的一种,内部由七个条形发光二级管和一个小圆点发光二级管组成,根据各管的亮暗组合成字符。常见数码管有10根管脚。管脚排列如下图所示。其中COM为公共端,根据内部发光二级管的接线形式可分为共阴极和共阳极两种。使用时,共阴极数码管公共端接地,共阳极数码管公共端接电源。每段发光二级管需5至10mA的驱动电流才能正常发光,一般需加限流电阻控制电流的大小。2.4.2数码管的显示原理数码管的a到g七个发光二极管,加正电压的发光,加零电压的不能发光,不同亮暗的组合就能形成不同的字形,这种组合称为字形码。共阳极和共阴极的字形码不同。第三章 电路板焊接本次课程设计是利用AD软件做的好电路原理图,封装完毕,然后去网上定做板子,之后将各个模块的元器件焊接在板子上。焊接的主要几个部分为:1. 电源部分;2. USB下载部分;3. 单片机基本电路;4. LED部分;5. 红外接收模块;6. 蜂鸣器;7. 数码管部分;8. LCD部分;以及后续需要的扩展部分模块,如ADC等。第四章 电路调试本过程主要是检测焊接电路板是否能正常工作,如电脑是否能识别USB接口,是否能从电脑中正常的下载程序,LED灯是否能被点亮等等4.1 电源与下载部分调试当单片机利用USB线与电脑相连时,电源指示灯能被点亮,说明电源部分的焊接正常,但电脑却检测不到USB接口的接入,说明USB下载部分有问题。这两个部分,需要用到万用表来检测是否电路焊接有短路或者断路,经过多次检测,最终发现U6的8接口与Y2的2接口处发生断路,这属于板子内部的线路问题,只能在外部跳一根线来解决这个问题。当线跳好之后,果然电脑能够正常识别USB,且能下载程序进入单片机。4.2 LED模块调试为了检测LED灯是否能正常工作我编写了一个很简单的程序来检测。/单片机LED调试程序#includevoid main()P1=0xaa;/点亮D6,D8,D10,D12,其他为黑将P1与LED部分的JP3相连。检测结果为D6,D8,D10,D12被点亮,其他几个灯熄灭,符合程序设计。所以LED部分焊接无误。4.3 数码管模块调试同样的,这里的检测也用到了一个简单的程序来检测数码管是否能正常工作。/单片机数码管调试程序#include#define duan P0#define wei P2void main()duan=0x06;wei=0xaa;/*(1和3号数码管显式1)*/P2口高4位接数码管部分J5,P0口接J20。检测的结果为1和3的数码管显示数字1,另外2个不显示,与程序相符合,所以数码管的焊接也是对的,没有出现问题。4.4 矩阵键盘的调试为了检测矩阵键盘是否焊接正常,需要用到数码管模块,所以必须保证数码管部分焊接无误。同样,我也编写了一个程序来检测该模块是否焊接正常。/矩阵键盘功能检测#include#define uint unsigned int#define uchar unsigned charchar code tabel=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar scan=0x7f,0xbf,0xdf,0xef;void delay(uint);void main()uchar col,row,dig;uchar rowkey,kcode;while(1)P2=0x00;for(col=0;col0;x-)for(y=z;y0;y-);将矩阵键盘模块JP1与单片机的P1端口连接,数码管的段选J20与P0端相连,位选J5与P2的高4位相连。最终在矩阵键盘上按不同的键在数码管上分别显示不同的数字。说明矩阵键盘焊接正常。第五章 数码管时钟5.1 设计要求要求我们做一个用数码管动态扫描来显示的时钟,共4为。高2位显示分钟,低2位显示秒。且要求可以使用矩阵键盘上的指定键位实现暂停,开始,加1秒,减一秒,这4种功能。我所要求达到即为,按下矩阵键盘上的S5实现加;S6实现减;S7暂停;S8开始。5.2 电路连接将P0与数码管的段选端相接,即J20;将P2与位选端相接,即J5;矩阵键盘与P1相接。5.3 程序设计见附录第六章 串口通信及LCD6.1 设计要求6.1.1 LCD数字时钟与串口通信要求我们用LCD液晶显示屏做一个数字时钟,并实现串口通信。即在电脑上进行相应的操作,可以使数字时钟暂停,行走,并且可以调整数字时钟的时间。我所要求达到即为,当电脑输入为c时,数字时钟暂停;当电脑输入为o时,数字时钟开始行走;当电脑输入为1时,数字时钟秒加1;当电脑输入为2时,数字时钟秒减一。6.1.2 LCD滚屏显示这部分要求在LCD液晶显示屏上来回滚动显示一串文字。我准备设计一个年月日的滚动,“2016/1/15”这一串东西在LCD屏上滚动显示。6.2 电路连接将LCD部分的DB0到DB7与P0口相连,RS,RW,E分别于P2.5,P2.6,P2.7相连。6.3 程序设计见附录第七章 ADC扩展模块7.1设计要求及方案选择老师要求我们使用扩展模块,自己焊接一个ADC,并且使用该芯片完成模数转换功能。经过上网搜寻资料,发现做一个数字电压表比较靠谱,即将模拟的电压大小转化为数字量并输出。7.2 电路原理图仿真电路与如下通过调节华东变阻器的大小来改变输入ADC的电压的大小,即可实现显示不同的电压值。7.3 程序设计见附录第八章 个人体会与总结我感觉本次单片机课程设计完全达到了老师的要求。首先从焊板子开始,让我们对单片机的最小系统有了更深入的了解。而且焊板子是一个细致活,电路出现了故障之后,更需要对电路原理图有更深的了解。焊板子这个过程还培养了我们的实际动手能力,真正的将理论与实际进行了结合。第二点即为编程,编程考验了我们C语言的基础功底,而且更加考验了我们对原理的掌握,原理都没掌握就不谈编写程序了。而且编程的格式规范使我们变得更加严谨。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也能为资料的保存和交流提供了方便;我觉得在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计又出错了。这次的单片机课设可以说是真正意义上的理论到实际,自己焊板子,自己弄原理图,自己写程序实现功能。我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获,在真正设计之前我们做了相当丰富的准备,首先巩固一下课程理论,再一遍熟悉课程知识的构架,然后结合加以理论分析、总结,有了一个清晰的思路和一个完整的的软件流程图之后才着手设计。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论