可控流水灯单片机课程设计报告.doc_第1页
可控流水灯单片机课程设计报告.doc_第2页
可控流水灯单片机课程设计报告.doc_第3页
可控流水灯单片机课程设计报告.doc_第4页
可控流水灯单片机课程设计报告.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告课程名称: 目 录1 引言12 课题综述12.1 课题的来源12.2 课题的意义12.3 预期的目标12.4 面对的问题12.5 课题的技术23 系统分析23.1 涉及的基础知识23.2 80c51单片机引脚图及引脚功能介绍23.3 解决问题的基本思路33.4 总体方案34 系统设计44.1 硬件设计44.2 软件设计44.3 元件清单44.4 硬件原理图54.5 硬件焊接图54.6 设计主要功能65 代码编写66 程序调试9结 论10致 谢11参考文献122单片机原理及其接口技术课程设计1 引言单片机课程设计主要是为了让我们增进对单片机芯片电路的感性认识,加深对理论方面的理解。了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。2 课题综述2.1 课题的来源当今社会,随着科学技术的进步和电子产业的迅猛发展,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。2.2 课题的意义这次单片机课程设计是为了通过对单片机编程设计控制led灯流水闪亮的设计加强学生团队配合的能力和创造力;综合运用专业及基础知识,解决实际工程技术问题的能力。能够让学生深入真是的体会到所学的理论知识和实践相结合的过程,并融入的所学知识的海洋里,从中找出自身的不足并加以改正。2.3 预期的目标对8个led灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;另用两个键来控制流水灯流动的速度。2.4 面对的问题这次课程设计是通过80c51单片机实现。但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板;而更为严峻的就是设计的最后还要将软硬件相结合。首先我们需要通过proteus软件将设计的实物的电路图仿真出来,再根据电路图运用所学的单片机汇编语言通过vw软件完成程序编辑,并达到预期效果,最后是连接实物电路完成焊接。2.5 课题的技术通过编程达到led灯的显示方式、模式切换按钮的控制、亮灯速度的按键控制等技术。3 系统分析3.1 涉及的基础知识电路焊接:制造电子产品的重要手段。80c51单片机指令系统:规定80c51单片机内操作的语句或命令。八段数码管的显示:向数码的显示送数,控制系统的显示部分。3.2 80c51单片机引脚图及引脚功能介绍本次实习的目的在于加深80c51单片机的理解,首先来简单认识一下,它的引脚如图3-1所示:图3.1 80c51的引脚图80c51有40条引脚,共分为端口线、电源线和控制线三类。1.端口线(48 = 32条):i/o端口:p0、p1、p2、p3口,共32个引脚。p3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。2.电源线(2条):vcc为+5v电源线,vss为接地线。3.控制线(6条):(1)ale/:地址锁存允许/编程线ale功能:用来锁存p0口送出的低8位地址功能:片内有eprom的芯片,在eprom编程期间,此引脚输入编程脉冲。(2) psen:外rom读选通信号。(3)rst/vpd:复位/备用电源。rst(reset)功能:复位信号输入端。vpd功能:在vcc掉电情况下,接备用电源。(4)/vpp:内外rom选择/片内eprom编程电源。功能:内外rom选择端。vpp功能:片内有eprom的芯片,在eprom编程期间,施加编程电源vpp。4.i/o线(5)xtal1、xtal2 :晶体振荡电路反相输入端和输出端。3.3 解决问题的基本思路因为选定用循环移位法来实现亮灯程序的,所以在一种设计好一种亮灯方式的前提下编程实现一个循环结构体,分别来实现五种不同的亮灯方式。另外再编一个实现延时控制的调用程序,来提供亮灯速度的控制。3.4 总体方案在做本次课程设计之前将小组内人员分为两小组:一组分负责硬件设计,另一组负责软件编程。硬件小组负责实物的连接和焊接,并进行硬件测试;软件小组负责实现流水灯的各部分程序设计,并进行软件的仿真测试。最后将完成的软硬件相结合,从而达到实现课程设计的效果。4 系统设计4.1 硬件设计按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。80c51单片机是本次课程设计运用的主要原件。流水灯控制设计是用一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。4.2 软件设计单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。软件编程是单片机应用系统中的一个重要的组成部分,也是本次课程设计的重点和难点。我们编程实现流水灯的方法是循环移位法,下面我们就来简述一下循环移位法的工作原理。循环移位法是采用循环程序结构进行编程。我们在程序一开始就给p1口送一个数,这个数本身就让p1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至p1口,这样就实现“流水”效果了。另外,由于80c51系列单片机的指令中只有对累加器acc中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到acc中,让其移动,然后将acc移动后的数据再转送到p1口,这样也可以实现“流水”效果。4.3 元件清单表4-1 元件清单名称型号数量电阻22092k1排阻1电容22pf210uf1晶振10mhz1扬声器1单片机80c511led灯彩灯8三极管pnp1数码显示器1按键34.4 硬件原理图图 4-1硬件原理图4.5 硬件焊接图图 4-2硬件焊接图4.6 设计主要功能打开电路开关,按下第一个模式控制键,8个led灯会从右向左一个接着一个亮灯,led显示器会显示数字“1”来表示当前的亮灯方式是模式1。在8个led灯停止亮后再次按下第一个模式控制键,8个led灯会从左向右2个一组的一次亮灯,同时led显示器会显示数字“2”来表示当前的亮灯方式是模式2。以此类推,一共有5种显示模式。而第2、3个按键分别控制亮灯速度的快慢。5 代码编写 org 000h ;设置主程序开始地址 clr p3.4 ;这里可以使小喇叭发出嗒、嗒声ljmp startstart: mov sp, #80h mov r5, #00h clr c mov p1, #0ffhmain: mov c,p1.4 ;选中p1.4 数码管使能 jc main acall delay1 inc r5begin: cjne r5, #5,x1 ajmp c5x1: cjne r5, #4, x2 ajmp c4x2: cjne r5, #3, x3 ajmp c3x3: cjne r5, #2,x4 ajmp c2x4: cjne r5, #1,x5 ajmp c1x5: mov r5, #1h ljmp beginc1: mov p0, #06h ;把06h送p0口,数码管显示1 lcall delay ;数码管亮后的缓冲m1: mov a, #01h ;赋值 mov r2, #8 mov r4, #10loop1: mov p2,a ;值给led灯 rl a ;左移 setb p3.4 call v ;调用延时子程序 clr p3.4 djnz r2, loop1 mov r2, #8 djnz r4, loop1 ajmp main ;进入循环c2: mov r4, #10 mov p0, #05bh ;数码管显示2 lcall delaym2: mov r2, #08h mov a, #0c0hloop2: mov p2, a rr a setb p3.4 acall v clr p3.4 djnz r2, loop2 djnz r4,m2 ajmp mainc3: mov p0, #4fh ;数码管显示3 lcall delay mov r4, #10m3: mov r2, #07h mov r3, #08h mov a, #55hloop3: mov p2, a rl a setb p3.4 acall v clr p3.4 djnz r2, loop3lp1: rr a setb p3.4 acall v clr p3.4 mov p2, a djnz r3, lp1 djnz r4, m3 ajmp mainc4: mov p0,#66h ;数码管显示4 lcall delay mov r4, #10m4: mov r2, #08h mov a, #05hloop4: mov p2, a rr a setb p3.4 acall v clr p3.4 djnz r2, loop4 djnz r4, m4 ajmp mainc5: mov p0,#6dh ;数码管显示5 lcall delay mov r4, #5m5: mov r2, #08h mov a, #03hlp51: mov p2, a rl a setb p3.4 acall v clr p3.4 djnz r2, lp51 mov r2, #8h mov a, #11hlp52: mov p2, a rr a setb p3.4 acall v clr p3.4 djnz r2, lp52 mov r2, #07h mov r3, #08h mov a, #42hlp53: mov p2,a rl a setb p3.4 acall v clr p3.4 djnz r2,lp53lp2: rr a setb p3.4 acall v clr p3.4 mov p2,a djnz r3,lp2 mov r2,#08h mov a,#31hlp54: mov p2,a setb p3.4 rr a clr p3.4 acall v djnz r2,lp54 djnz r4,m5 ajmp mainv: jnb p1.5,delay ;p1.5低电平时延时长,流水灯速度慢 jnb p1.6,delay2 ;p1.6低电平时延时短,流水灯速度快 acall delay1 ret;子程序返回delay: mov r1,#25 ;延时1s d1: acall delay2 djnz r1, d1 retdelay1: mov r6,#250 ;延时0.1s d2: mov r7,#198 nop djnz r7,$ djnz r6, d2 retdelay2: mov r6,#250 ;延时0.05sdl3: mov r7,#18 nop djnz r7,$ djnz r6,dl3 ret end ;程序结束6 程序调试本程序运行过程中没有错误。当没有按键按下时,数码管显示8。将电路板用数据线连接,打开开关,按钮用来切换模式,一共有五种流动方式,每按一次按钮就会有一种方式,并在led显示器上面显示出该模式的序号。按钮用来加速或减速键按下时,led灯的转换就会加快或减慢。结 论由于本次课程设计含括了软件和硬件知识,所以在完成课程设计的同时也让我们了解到了我们在软硬件设计和制作方面的不足。通过分工完成课程的设计,是每个组员在自己所负责的领域学到了很多知识,并通过认真的交流将自己所学到的知识传达给每一个组员,增加了我们之间的配合与沟通。在软件方面,我们组组员通过自己的认真学习和组员间的探讨,最终圆满编辑完成并达到任务要求。对于我们来说,设计实现的功能是我们学习单片机的一个不小收获。对于电路板各元器件的连接和焊接工作,虽然看似简单,但做起来却是一个细致的工作,尤其是对于三极管以及双电阻并联的焊接工作,更是要细中再细,因为这些元器件的引脚距离都是比较近的,一旦将不该连接的引脚焊接到了一起,该元器件就会失它原来的工作效果,还很有可能将整个电路短路。当软件和硬件都完成之后,接下来就是将软件的控制程序写入到硬件里面,从而实现软硬结合的过程,来实现设计要求。在这个环节中我们还是遇到了或多或少的问题,例如蜂鸣器哑声以及led显示器不工作等问题都让我们困惑了很久,最后还是通过不断的完善代码来实现各个元器件的工作。通过这次课程设计,我们知

温馨提示

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

评论

0/150

提交评论