欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    根据C51的流水灯设计课程教学设计.doc

    • 资源ID:2614229       资源大小:296.51KB        全文页数:13页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    根据C51的流水灯设计课程教学设计.doc

    .-学号2013-2014学年 第二学期基于单板机的应用系统课程设计报告题目:基于C51的流水灯设计专业:计算机科学与技术班级:10(2)班姓名:指导教师:冯 康成绩:计算机与信息工程系年 月 日基于C51的流水灯设计1 设计内容1.1 设计用途当今的社会是一个新技术层出不穷的时代,科技迅速发展,在电子领域的发展更是迅速,同时也在影响着我们的生活。单片机控制一直是电子领域中比较重要的一个方向,而流水灯就是单片机控制在日常生活中常见的一种应用。随着人民生活水平的提高,流水灯在现实生活中所起的作用越来越重要。例如:在人流拥挤繁忙的交通路段,闪烁着的流水交通灯,提醒着我们要遵纪交通规则,在霓虹闪烁的繁华大街上,闪烁的流水灯无不吸引过路人的眼球,甚至在一些大型商场大厦的自动门上都装有自动流水灯,告诉人们的时间和日期。1.2 设计内容流水灯就是一组灯,在控制系统的控制下按照程序设定的顺序和时间来发亮和熄灭,有这样就能形成一定的视觉效果。本流水灯设计实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电子原器件构成的电路和控制单片机的程序组成的流水灯控制系统。通过编写程序可以做出从左向右,从右向左,从中间向两边,从两边向中间等等美轮美奂的效果。本设计涉及到了STC89C52单片机,所有的设计都是基于该单片机开发的。本设计主要设计的是从左到右依次点亮的流水灯设计,要实现这种发光效果,要将几个发光二极管依次点亮、熄灭,发光二极管便会一亮一灭地成为流水灯了。是最实用也是比较简洁的方法。2 原理及分析如图1所示即为流水灯设计的硬件原理图硬件原理: 图1 流水灯硬件原理图从图1中可以看出,发光二极管LED的所有阳极连在一起,属于共阳极的连接方法,此时LED低电平有效,即如果要让接在P10口的LED1亮起来,那么只要把P10口的电平变为低电平就可以了;相反,如果要接在P10口的LED1熄灭,就要把P10口的电平变为高电平;同理,接在P11P17口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制发光二极管亮灭的时候应该适当延时一段时间,否则我们就看不到“流水”效果了。实际开发板的流水灯布局如图2 所示。图2实际开发板的流水灯布局3 设计过程和程序代码3.1 总设计框图:总设计框图如图3所示STC89C52单片机电源驱动按键控制流水灯显示时钟电路复位电路图33.2 LED流水效果设计单片机I/O的应用最典型的是通过I/O口与LED构成显示电路。利用单只LED组合排列成“1字型,图中共用八个LED,从上到下依次显示采用动态显示。3.3 按键控制按键处理设置为:初始状态,当按键K2没有按下时,标志位为1,8个LED灯按从上到下的顺序依次亮灭;当K2按下时,标志位取反,8个LED首先按照从上到下的顺序依次亮灭,然后按照从下到上再从上到下的顺序来回亮灭。当K2再次被按下时,标志位再次取反,回到初始状态,如此循环, K1是复位键。3.4 复位电路 按键电平复位,分压复位。3.5 程序控制流程图程序控制流程图如图10所LED灯从上至下亮灭,再从下至上循环亮灭否flag=0是主程序运行LED灯一直从上到下亮灭开始流水灯显示K2被按下flag=flag,消抖是否图103.6 程序代码单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要告诉单片机怎么来进行工作,即编写程序控制单片机相应管脚电平的高低变化,来实现发光二极管的一亮一灭。软件编程是单片机应用系统中的一个重要的组成部分,是单片机学习的重点和难点。“流水灯”的流向方式有很多种,有从"上向下流",有"下向上流",也有"两边向内流"、"内部向外流".好多方法都可以实现这些功能,可是某些编程方法比较繁琐,本次课程设计的这种方法是比较常用,比较实用,也是比较简洁的方法,此方法实现的是发光二极管从上到下依次点亮,然后由按键控制流水灯有没有循环效果。控制8个发光二极管时,可以对P1口直接赋值,8个LED用2位16进制就可以表示其状态,例如让第一个灯亮,其他灯灭,用二进制表示为1111 1110B,即16进制的0xfe。同理第二个灯亮则有1111 1101B,即0xfd,依此类推实现上述功能的程序代码如下:源代码:#include<reg52.h> /52单片机头文件,一般不要改动,里面包含特殊功能寄存器的定义#include <intrins.h> /为下面使用其内部函数循环左移和循环右移添加的头文件#define uchar unsigned char /将unsigned char定义为uchar,简化输写。提高编程速度 #define uint unsigned int /将unsigned char定义为uint,简化输写。提高编程速度sbit k2=P30; /按键k2,连接在P3.0上uchar led;uint i,j;/*延时子程序*/void delayms(uint time)while(time-)for(j=0;j<110;j+); /大约为1ms,但不是很精确/*主程序*/void main()char flag=1; /用于标志按键,按键每按下一次取反while(1)/死循环,程序永远在循环里面运行。if(k2=0)flag=flag;delayms(200); /消除抖动,尽量避免一次按键当成几次按键if(flag=0)led=0xfe;for(i=0;i<8;i+)P1=led;led=_crol_(led,1); /将led循环左移1位delayms(500); /延时一会才能看到流水效果,大约500ms if(flag=1)led=0xfe;for(i=0;i<8;i+)P1=led;led=_crol_(led,1); /循环左移delayms(500); for(i=0;i<8;i+)P1=led;led=_cror_(led,1); /循环右移delayms(500);编译及下载过程接下来,我们将上述程序编译,并用相应软件将.hex文件烧写到单片机芯片中,在使用软件烧写.hex文件时注意单片机的选型及其他一些问题,烧写后的单片机电路板上可以看到LED的"流水"效果,但源程序看起来更加简洁,直观。其实STC89C52单片机有的指令常用,有的指令不常用,只要遵守语法规则,可以用这些指令“组合”成我们想象到的很多程序。当然,有时一条指令可以替代很多条指令,这样会使程序简洁,程序代码减少,在编写较大程序时可以让单片机的存储器放得下你需要的代码,这也是单片机高手所追求的“程序简洁高效”。4 设计结果与分析4.1 设计结果打开安装好的Uvison 4.0软件,关闭之前打开的所有工程,重新新建一个工程,并选择Atmel公司的AT89C52芯片,保存在相应位置,然后新建一个.C文件,并将.C文件添加进刚才新建的工程。再将上述C语言代码输入该文件,单击“编译”按钮,过程中出现一些小错误,经过我仔细检查进行反复调试,最终将程序编译成功。软件编写成功之后,输出.hex文件。然后将单片机用连在电脑上,利用单片机专门的烧写程序通过串口将.hex文件正确烧写进单片机打开单片机电源即可看到流水灯效果。4.2 设计结果分析该设计可以能看到单一方向的流水灯和循环流水灯的效果,可是也有待改进之处,例如 :延时的精确性方面,可以考虑用定时器对延时的精确性进行改进,而且流水灯是单一的颜色和亮度,需要在发光二极管颜色的种类以及颜色的明暗的设置上再做改进。本程序实现的功能比较简单,其实我们可以在此基础上扩展更复杂的流水灯控制。比如再增加一排流水灯,同时显示不同的流水花样,控制流水灯显示数字或图案,以及可以通过流水灯做摇摇棒等等。用STC89C52单片机设计的该流水灯具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心即单片机。单片机的最明显的优势,就是便于植入到各种仪器,设备中。通过这次单片机课程设计,我不仅加深了对单片机理论知识的理解,而且能将单片机理论知识很好地应用到实践中去,使理论与实际相结合,使我的理论知识得到了巩固,在查资料翻阅资料的过程中也丰富了我的知识阅历。与此同时,也学会了之前没怎么接触的硬件焊接工作,对构成单片机最小系统的一些元器件也有了进一步的认识。在这次课程设计中我看到了自己眼高手低的缺点,对一些基础知识掌握得还不是很好,而且以前所学的知识遗忘了很多,体会到了那种书到用时方恨少的感觉!鉴于此,以后我要不断充电,不断提升自己,经常回顾所学的知识,养成良好的学习习惯,争取让自己变得更强!5 参考文献1 张义和例说51单片机(C语言版)人民邮电出版社2杨欣,王玉凤,刘湘黔 51单片机应用从零开始清华大学社3 李建忠单片机原理及应用 西安电子科技大学4鲍祖尚,刘凯,谭永宏单片机原理与开发技术国防科技大学出版社,2011年5陈海宴等 51单片机原理及应用北京航空航天大学出版社,2010.

    注意事项

    本文(根据C51的流水灯设计课程教学设计.doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开