欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机AT89C51控制的键控流水灯课程设计报告.docx

    • 资源ID:718465       资源大小:58.40KB        全文页数:14页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    基于单片机AT89C51控制的键控流水灯课程设计报告.docx

    字波技师学院课程设计报告论文题目键控流水灯专业班级学生姓名指导教师宁波技师学院电气技术系二零一三9年21月S要:单片机是一种集成电路芯片,采用超大规模技术,把具有数据处理能力的微处理器、随机存取数据存储器、只读程序存储器、输入输出电路、可能还包括定时计数器、串口通信口、显示驱动电路,脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一块芯片上,构成一个最小而完善的计算机系统。这些电路在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。键控流水灯设计通过编写代码实现16个LED灯5种流水灯显示方式。在设计中主要采用AT89C51这款芯片作为控制主体,用按钮来切换流水灯的发光方式来显示流水灯的发光模式。系统通过Pl口外接16个发光二极管,P3口接2个按键,一个按键进行方式选择,数码管显示方式编号;用一个键来控制流水灯流动的速度。数码管接在AT89C51的PO和P2口上,而流水灯的发光二极管经过电阻接在P1口上。设计中辅以简单的设备和必要的电路,设计了一款流水灯,最终到达预期的目的。目录概述错误!未定义书签。1引言错误!未定义书签。2课题综述错误!未定义书签。1.1 课题来源与意义错误!未定义书签。1.2 面临的问题错误!未定义书签.3系统设计错误!未定义书签。3.1 总体设计错误!未定义书签。3.2 模块设计53.3 硬件设计94代码编写95系统调试166系统运行结果与分析167电路个人分工及组员分工16结论17参考文献18附录91引言单片机控制系统能够取代以前利用复杂电子线路或者数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化。现在的单片机的控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。2课题综述2.1 课题来源与意义随着经济的开展、科技的突飞猛进,芯片业得到了迅速的开展,是单片机技术在各种民用和工业控制等领域得到更广泛的应用。单片机凭借其低本钱、高性能的不可代替优势已经成为了微电脑控制的主力军。学习单片机的有效方法是将理论与实践并重,因此通过对单片机可控流水灯的设计和研究,鼓励学生在熟悉根本原理的前提下,与实际应用相联系,提出自己的方案,来完善设计,使得他们更好的掌握单片机的应用。2.2 面临的问题本次课程设计的要求是对16个LED灯设计5种流水灯显示方式,用一个按键进行方式选择,并用一个数码管显示方式编号;用一个键来控制流水灯流动的速度,并用一个数码管显示方式编号。所要解决的问题有流水灯显示方式的设计,LED灯的驱动问题,七段显示数码管的驱动问题以及系统对外界按钮的相应问题。下面将对各个问题展开论述。3系统设计31总体设计实现这个课题我们使用AT89C51作为控制主体,使用十六个共阳极发光二极管作为LED显示流水灯,两个七段显示数码管来显示流水灯显示方式,外接两个按钮,其中用一个按键进行方式选择,并用一个数码管显示方式编号;用一个键来控制流水灯流动的速度,并用一个数码管显示方式编号。外接一个晶振来提供外接时钟脉冲。单片机课程设计-2-模块图如下:流程图如下:3.2 模块设计3.2.1 主体控制模块芯片AT89C51是核心,PO、Pl、P2、P3口均可以作为I/O口使用。两个数码管经过电阻接在AT89C51的PO和P2口上,Pl口外接16个发光二极管,P3口接2个按键,一个按键进行方式选择,数码管显示方式编号;用一个键来控制流水灯流动的速度,数码管显示方式编号。单片机课程设计图3-3主体控制模块图322按键控制模块、按键控制模块采用独立式按键接口设计。独立式按键是每一个按键占用一根I/O端线。特点:各个按键相互独立,电路配置灵活;按键数量较多时,I/O端线消耗较多,电路复杂;软件结构简单图34按钮控制模块图3.2.3 时钟模块时钟电路用于产生单片机工作时所需的时钟信号,在芯片的外部通过18脚、19脚接晶体振荡器和微调电容,形成反应电路,构成一个稳定的自激振荡器。电路中的Cl、C2取30Pf左右,二晶体振荡器的频率范围通常是1.2T2MHZ,晶体振荡器的频率越高,振荡频率越高。图3-5时钟模块图显示模块显示模块主体是八段显示数码管。共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,那么该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。图3-4显示模块图3.2.5 流水灯模块发光二极管就是LED,是一种由磷化像等半导体材料制成的、能直接将电能转换成光能的发光显示器件。当其内部有一定电流通过时,就是发光。发光二极管具有功耗低、体积小、可靠性高、寿命长和相应快等优点O流水灯模块采用16个LED发光二极管,通过代码的编写,实现五种流水移动,其中电阻的作用是保护二极管,向它提供较小的电流,防止二极管因为电流过大而烧毁。设计中,发光二极管是共阳极接法的,我们只需要将其初值不断的左移就会看到LED轮流的被点亮,也就实现了流水灯的功能。图3-5流水灯模块图3.3 硬件设计图3-6键控流水灯图4代码编写#include<reg5l.h>#definesmglPOdefineIsdlPl#definesmg2P2unsignedinti=l,u=7Jm.c,k,h=7,s=l;unsignedcharsj=20;unsignedcharjs;codeunsignedchara=(0xfe,0xfd,0xfb,0xf7,0xef,0xdft0xbf,Ox7f);codeunsignedcharb=0xf9,0xa4,0xb0,0x99,0x92;codeunsignedchard=0xf9,0xa4,OxbO,0x99,0x92);bitwnenl=0;bitanj=O;sbitaj1-P30;sbitaj2=P3l;voidwnlsd1(void);voidwnlsd2(void);voidwnlsd3(void);voidwnlsd4(void);voidwnlsd5(void);voidsjmsl(void);voidsjms2(void);voidsjms3(void);voidsjms4(void);voidsjms5(void);voidmsmsl(void);voidmsms2(void);voidmsms3(void);voidmsms4(void);voidmsms5(void);voidzdl(void);voidzd2(void);voidcsh(void);voidsjkz(void);voidddh(void);main()csh();while(l)if(anj)anj=O:SjkZ0;ddh();if(i=J)if(wnel)wnenl=0;wnlsdl();sjmsl();elseif(i=2)if(wnenl)wnenl=O;wnlsd2();sjms2();1Ielseif(i=3)if(wnen1)(wnenl=0;wnlsd3();sjms3();1Ielseif(i=4)if(wnenl)(wnenl=0;wnlsd4();sjms4();Ielseif(i=5)if(wne11I)wnenl=0;wnlsd5();sjms5();)Iif(s=I)msmsl();elseif(s=2)msms2();elseif(s=3)msms3();elseif(s=4)msms4();elseif(s=5)msms5();voidcsh(void)TMOD=I;TH0=0x3c;TLO=OxbO;THl=Oxec;TLl=0x78;EA=I;ETO三1;TRO=I;ET1=1;TR1=1;js=sj;Ivoidzdl(void)interrupt1TH0=0x3c;TLO=OxbO;js=js-4;if(js=O)wnenl=l;js=sj;Ivoidzd2(void)interrupt3THl=Oxec;TLl=OxbO;anj=l;voidsjkz(void)if(aj1=0)Iwhile(!ajl);sj=sj-4;if(sj=O)Sj=20;js=sj;s=s+l;if(s>5)s=1;voidddh(void)if(aj2Ao)while(!aj2);=i+l;if(i>5)i=l;1voidwnlsdl(void)lsdl=an;n+;if(n>7)11=0;voidwnlsd2(void)Isdl=an;n=n+2;if(n>7)n=0;)voidwnlsd3(void)(lsdl=au;u=u-2;if(u=-l)u=7;)1voidwnlsd4(void)lsdl=ac;c=c+4;if(c>7)c=0;1voidwnlsd5(void)lsdl=ah;h-;if(h=-l)h=7;11voidsjmsl(void)smgl=b0;1voidsjms2(void)smgl=bl;1voidsjms3(void)smgl=b2;voidsjms4(void)smgl=b3;)voidsjms5(void)(smgl=b4;)voidmsmsl(void)(smg2=d0;1voidmsms2(void)(smg2=d1;1voidmsms3(void)(Smg2=d;1voidmsms4(void)smg2=d3;Ivoidmsms5(void)Smg2=d4;5系统调试通过对编写好的代码用keil进行编译后,由于对软件不是很熟悉导致编好的代码一直找不到目标,然后请同学帮助后,很快就编写成功了6系统运行结果与分析通过接线端子口接通提供电源后,再通过稳压电路将12V交流电压转换成5V直流电压,数码管和Ied灯能正常显示,数码管显示1,Ied灯以两个灯亮的形式开始右移,当显示完毕后,按下第一个键,数码管显示2,Ied灯以两个灯亮的形式开始跳两个灯显示。类似的,能够显示5种方式。另外一个键控制Ied的显示的速度,通电就数码管就显示1,按下第二个键,数码管显示2,Ied灯加速运行,类似的5种速度。由于电路上少加了一组可以控制按下按钮后数码管的显示数字乱跳的电路,在制作的时候也没有想到,还有在画PCB的时候将数码管的管脚接错了,使得打印在PCB板上的数码管上的线路接错了,检查维修好后,整体就有点不整洁,使整个电路整体观上显的缺乏之处。7电路个人分工及组员分工图负责举

    注意事项

    本文(基于单片机AT89C51控制的键控流水灯课程设计报告.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

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

    收起
    展开