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

    2022年实习报告-流水灯.docx

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

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

    2022年实习报告-流水灯.docx

    2022年实习报告-流水灯 单片机流水彩灯设计 书目 TOC o 1-5 h z 1、 方案设计说明 2 设计项目概述 2 设计项目功能及操作介绍 2 方案设计思路 2 2、 硬件设计说明 3 电路图 3 I/O的安排 3 电路工作原理 4 主要器件介绍 4 3、软件设计说明 5 软件设计概述 5 设计思路 5 总体功能 6 程序流程图 7 程序总体结构及程序的执行与工作过程 8 重要程序段说明8 程序活单 9 4、制作调试说明 13 制作调试过程及结果 13 所遇到的问题及解决方法 13 1、方案设计说明 设计项目概述 本次设计的题目是单片机流水彩灯设计通过综合驾驭单片机编 程的基本思想,以及中断,定时程序的基本编写方法。利用单片机设 计并制作流水彩灯。该流水彩灯设置用一个AT89S51单片机来限制 12LED丁产生不同的发光效果。 设计项目功能及操作介绍 其中两个按键K1和K2,上电后,12个LED灯全亮;两个按 键一个用于限制“流水灯”的启动和停止,另一个用于选择“流水” 的花样。其中流水灯花样有三种:1)单个LED丁顺次点亮。2)每两 个LED灯顺次点亮然后再顺次返回。3)从两端每三个LED灯顺向中 间次点亮。 方案设计思路 根据单片机系统扩展与系统配置状况,单片机应用系统可分为 最小系统、最小功耗系统及典型系统等。流水灯事实上就是一个带有 12个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、 复位、电源等电路和必要的软件组成的单个单片机。假如要让接在 P0.0 口的LED亮起来,那么只要把P0.0 口的电平变为低电平就可以 了;相反,假如要接在P0.0 口的LE成息灭,就要把P0.0 口的电平变 为高电平;同理,接在其他接口上LED灯的点亮和熄灭的方法也如此。 因此,要实现流水灯功能,我们只要将发光二极管LED卜LED12依次 点亮、熄灭,12只LED灯便会一亮一暗的做流水灯了。在此我们还 应留意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时 间很短,我们在限制二极管亮灭的时候应当延时一段时间,否则我们 就看不到“流水”效果了。 2、硬件设计说明 (1)电路图 K13 .1OC . k TE=EC3 K13 .1OC . k TE=E C3 KTHU PDUVJlDa ,龄昵 XTALZ ?DJ3'KI3 ?6.沁愚 PEI血屹 EL3ST MM. UT F7IYAS PZ.IfJRS P2Afi ALE P2-WA1E 段 呼号两n IP2J? FID mRXP P1.1 P3.iroffl P1Z piziiinn Fi J PI.4 P3.4HD P15 F35TT1 P l p 乳 aTTt FIT narfFU |号 祀 1 E1Q 1Q ? 稚c -5T1TT . Fjl2 -km . 1 单片机40引脚接+5V的电源,12、13引脚接开关K1、K2, 20引脚 接地。运用510 Q电阻和发光二极管组成12条支路,分别对应连接 单片机的8个P0 口、4个P2 口共12个。采纳共阳极接法40段接上 5V的外加电压,通过单片机的PQ P2 口限制输出高电平还是低电平。 当电压为低电平的时候。二极管发光。该电路由2个30PF的电容和 一个晶震组成的,其中晶振接在18和19引脚,这个作用是为单片机 供应一个正常的工作时钟频率。 电路工作原理 该流水灯事实上就是一个带有十二个发光二极管的单片机最小 应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软 件组成的单个单片机。从原理图中可以看出,假如要让接在P0.0 口 的LED1亮起来,那么只要把P0.0 口的电平变为低电平就可以了; 相 反,假如要接在P0.0 口的LED 1熄灭,就要把P0.0 口的电平变为高 电平;同理,接在 P0.1?P0.7 口与P2.4?P2.7的其他11个LED的 点亮和熄灭的方法同 LED1因此,要实现流水灯功能,我们只要将 发光二极管LED1?LED12依次点亮、熄灭,12只LED灯便会一亮一 暗形成“流水灯”。 主要器件介绍 AT89S51单片机是美国ATME公司生产的低电压、高性能CMOS 位单片机,具有丰富的内部资源:4kB闪存、128BRAM 32根I/O 口 线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的 串行口,具有4.25?5.50V的电压工作范围和0?24MH江作频率, 运用AT89S51单片机时无须外扩存储器。 在MCS-51芯片内部有一个高增益反相放大器,用于构成振荡器。 反相放大器的输入端为引脚 XTAL1输出端为引脚XTAL2在芯片的 外部通过这两个引脚跨接晶体振荡器和微调电容 C1、C2形成反馈电 路,可构成稳定的白激振荡器,振荡频率范围通常是 1.212MHz)晶 体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。 运用晶体振荡器时,C1、C2取值30± 10pF。C1、C2的取值虽 然没有严格的要求,但电容的大小影响振荡电路的稳定性和快速性, 通常取值2030pF。在这里我们取值30 pF在设计印制电路板时,晶 振和电容等应尽可能靠近芯片,以削减分布电容,保证振荡器振荡的 稳定性。 3、软件设计说明 (1)软件设计概述 设计思路 单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上 电之后,我们还不能看到流水灯循环点亮的现象,我们还须要编写程 序限制单片机管脚电平的凹凸改变,来实现发光二极管的一亮一灭。 软件编程是单片机应用系统中一个重要的组成部分,我们编程实现流 水灯的方法是循环移位法,即:在程序一起先就给I/O 口送一个数, 这个数本身就是让这个I/O 口先低,其他位为高,然后延时一段时间, 再让这个数据向高位移动,然后再输出至I/O 口,这样就实现流水效 果,另外由于AT89S51系列单片机的指令中只有对累加器ACC中数 据左移或右移的指令,所以我们应把需移动的数据先放到A C C中, 让其移动,然后将ACC移动后的数据再转送到 I/O 口,这样也可以 实现流水效果。假如要让接在p0与p2 口的发光二极管实现流水的效 果,则是用程序变更p0与p2 口的电平,由于我采纳的为共阳极的接 线方式,因此低电平为亮,高电平熄灭。 2)总体功能 这次程序总的要实现四个功能,通电后 12个LED灯全亮;单 个LED灯顺次点亮;每两个LED丁顺次点亮然后再顺次返回;从两端 每三个LED丁顺次向中间点亮。 程序的主要功能是p3.2 口的按钮为限制启动与停止,p3.3 口的 按钮为切换三种“流水”的花样:会出现一个灯从上至下的循环亮 灭,后又从下至上的循环亮灭回来;会出现两个灯从上至下的循环 亮灭,后又从下至上的循环亮灭回来;在灯会产生上3个灯与最下 面的三个灯亮到中间6个灯亮的状况; 3)程序流程图 (2)程序总体结构及程序的执行与工作过程 这个程序一共分为四个部分:第一个是对下面须要用到的累加 器、寄存器的定义;其次个是编写 p3.2接口按钮功能,第三个则是 编写p3.3接口按钮功能,而其中有三个花样:第四个则是延时子程 序。其工作过程如下流程: ACALL是子程序调用指令,程序中调用了DELAYS时子程序 SETB是将其后面指定的位置成1,程序中使对应端口输出高电平 AJMP是无条件跳转指令,意思是:跳转到指定的标号处接着运行 END是程序结束的伪指令,意思是告知编译器,程序到此结束。伪 指令只告知编译器此程序到此有何要求或条件,它不参加和影响程序 的执行 MOVP2, A RRA CALL DELAY JB ACC.4, LOOPBLS2;同样,当 P2.4 为 0,即灯亮到 P2.4 处 在上面源程序中ACALL DELAY指令的作用是调用DELAYS时子程 序。肯定要用该指令才能看到我们须要的流水效果。假如不用该指 令,贝岫于12个LED发光与熄灭的时间都很短,我们肉眼无法看到 LED的熄灭与点亮,凭我们肉眼看到的是 LED卜LED12tP同时亮(半 亮),而看不到“流水”效果的! (4)程序清单 ORGAJMPORG0000H ORG AJMP ORG 0000H MAIN 0003H ;外部中断0入口地址外部中断0连接限制流水灯暂停起先 MOV DPTR,#JUMP0;储存转移地址基址 A,R6MOV A,R6JMP A+DPTR A,R6 MOV A,R6 JMP A+DPTR ORG 0013H ;跳转到中断程序 ;外部中断1入口地址 MOV DPTR,#JUMP1 MOV A,R7 JMP A+DPTR ORG 0101H MAIN: MOV SP,#60H CLR A MOV R7,#00H MOV R6,#00H MOV P0,#00H;设置12个灯全亮 MOV P2,#00H SETB EX0 SETB IT0 SETB EX1 ;设置外部中断0跟1,开中断 SETB IT1 SETB EA SJMP $ ORG 0200H JUMP0: ;外部中断0的中断响应程序 SJMP START ;跳转到限制流水灯起先的程序 SJMP STOP ;跳转到限制流水灯停止的程序 ORG 0210H ;实际起先程序地址 START: MOV R6,#2H LJMP STYLE1 ;跳转到m 1起先流水 STOP: ;流水灯停止程序 MOV R6,#0H MOV P0,#00H ;12个灯全亮 MOV P2,#00H CLR EA ;关总中断 JNB P3.2,$;等待 下一次按键 JB P3.2,$ SETB EA;开总中断 CALL DELAY MOV P0,#0H ;12个灯全亮 MOV P2,#0H RETI ORG 0400H ;实际外部中断1程序地址 JUMP1: AJMP STYLE1 ;跳到方式1执行 AJMP STYLE2 AJMP STYLE3 J ;第一种花样 ORG 0500H STYLE1: MOV R7,#2H ;R7储存限制花样地址 通过基址+变址来限制花样 MOV P0,#0FFH ;从12个灯全灭起先,一个一个亮 MOV P2,#0FFH MOV A, #0FEH ;单个LED LOOPAS1: MOV R0, #8 MOVP0, A RLA CALL DELAY DJNZ R0, LOOPALS1 MOV P0,#0FFH ;P0 口 8个灯流水完毕 ;后4个灯 MOV A, #7FH;单个 LED LOOPBS1: MOV R0, #4H LOOPBLS1: MOVP2, A RRA CALL DELAY DJNZ R0, LOOPBLS1 MOV R1,#3 DJNZ R1,STYLE1 MOV P2,#0FFH RETI ;其次种花样 STYLE2: MOV R7,#4H MOV P0,#0FFH;同样从12个灯熄灭然后起先其次种花样 MOV P2,#0FFH LOOPAS2: MOV A, #0FCH;两个 LED LOOPALS2: MOVP0, A RLA CALL DELAY JB ACC.7, LOOPALS2 ;当 P0.7 为 0,即亮到 P0.7 此处 CALL DELAY MOV P0,#07FH MOV P2,#7FH CALL DELAY MOV P0,#0FFH MOV A, #3FH;两个 LED LOOPBLS2: MOV P2, A 打到流水目的后面的RL跟 打到流水目的后面的RL跟RR同理 P2.4为0,即灯亮到P2.4处 CALL DELAY JB ACC.4, LOOPBLS2;同样,当 ; LOOPCRS2: MOVP2, A RLA CALL DELAY JB ACC.7,LOOPCRS2 MOV P2,#3FH CALL DELAY MOV P2,#7FH MOV P0,#7FH CALL DELAY MOV P2,#0FFH ; MOV A,#3FH LOOPDRS2: MOVP0, A RRA CALL DELAY JB ACC.0,LOOPDRS2 ; MOV R1,#03H DJNZ R1,STYLE2;循环 3 次 RETI ; ;第三种花样 STYLE3: MOV R7,#0H MOV P0,#0FFH MOV P2,#0FFH LOOPS3: MOV A,#0F8H MOV P0,A MOV A,#8FH MOV P2,A CALL DELAY MOV A,#7H MOV P0,A MOV A,#7FH MOV P2,A CALL DELAY MOV R1,#5H MOV P0,#0FFH MOV P2,#0FFH DJNZ R1,LOOPS3 RETI ; ;延时子程序 DELAY: MOV R4, #2 L1: MOV R2, #250 L2: MOV R3, #250 L3: DJNZ R3, L3 DJNZ R2, L2 DJNZ R4, L1 RETI END 4、制作调试说明 (1)制作调试过程及结果 启动Keil单片机集成开发环境,建立新工程,将上面的源程序 导入到工程中,设置好 Keil工程的编译参数,编译得到 HEX格式的 目标文件,用ISP编程器将HEX格式的目标文件烧写到 AT89S51单 片机中,接下来就是将烧写好的AT89S51从编程器上取下,放到我们 焊接好的流水灯试验板上,通电,通过限制开关 K1、K2我们就看到 了 LED卜LED12同的流水”效果了。 所遇到的问题及解决方法 问题:1)只有P0.0端口的一个灯亮;2)全部的灯一个都不亮或者 全亮;3) LED灯没有循环或跳转 解决措施:1 )程序中循环跳转书写有误。2)程序编写有误,看有 没有初始值或者初始值设置错误。3)延时程序太慢、 程序中没有写入跳转。 5、总结 第20页 共20页第 20 页 共 20 页第 20 页 共 20 页第 20 页 共 20 页第 20 页 共 20 页第 20 页 共 20 页第 20 页 共 20 页第 20 页 共 20 页第 20 页 共 20 页第 20 页 共 20 页第 20 页 共 20 页

    注意事项

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

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




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

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

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

    收起
    展开