电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

项目二8位流水灯的单片机控制

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

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

项目二8位流水灯的单片机控制

项目二:8位流水灯的单片机控制v项目目标 v项目任务 v项目分析 v项目预备知识 v项目实施 v知识点链接 项目目标通过单片机控制8个发光二极管的 顺序点亮,学会使用MCS-51单片机芯 片的P1口进行输出控制,进一步学习 汇编程序的分析方法,并能熟练运用 RR、RL等基本指令。 项目任务要求应用AT89C51芯片,控制8个发光二极管 的有序亮灭,呈现流水灯的效果。设计单片机控制 电路并编程实现此功能。 项目分析利用单片机P1口连接8个发光二极管,利用各 引脚输出电位的变化,控制发光二极管的亮灭。P1 口各引脚的电位变化可以通过指令来控制,为了清 楚地分辨发光二极管的点亮和熄灭,在P1口输出信 号由一种状态向另一种状态变化时,编写延时程序 实现一定的时间间隔。项目预备知识:项目预备知识:循环移位指令ü RL A 将累加器A中的数据依次左移一位 ü RR A 将累加器A中的数据依次右移一位ü RLC A 将累加器A中的数据连同进位标志 位 CY一起依次 左移一位ü RRC A 将累加器A中的数据连同进位标志位CY一起依次右移一位RL ARR ARLC ARRC AA.7 A.0A.7 A.0A.7 A.0CYCYA.7 A.0后两条指令,影响P标志和CY。循环移位指令(4条)例:若A=5CH,CY=1,执行RLC A后,对RLC、RRC指令,在CY=0时 Ø RLC相当于乘以2 Ø RRC相当于除以2结果:A=B9H,CY=0,P=10101 110011011 10010CLR A 将累加器A中的数据清零CPL A 将累加器A中的数据取反 项目预备知识:项目预备知识:清清0 0与取反指令与取反指令取反:CPL A ;/AA 例:若A=5CH,执行CPL A结果:A=A3H清0:CLR A ;0A在项目一和项目二中,为了能清晰的分辨出蜂鸣器 的鸣叫和发光二极管的变化,我们进行了延时程序的编写 。CPU执行完延时程序耗费的时间即是我们所要延时的 时间,通常可以利用时钟频率、指令周期结合寄存器中的 数据进行延时时间的计算。延时程序如下:DELAY:MOV R7,#10 ;1µS D0:MOV R6,#100 ; 1µSD1:MOV R5,#200 ; 1µSD2:DJNZ R5,D2 ; 2µSDJNZ R6,D1 ; 2µS DJNZ R7,D0 ; 2µSRET项目预备知识:项目预备知识:软件延时程序的时间计算采用12MHz的晶振,则一个机器周期是1µS,“MOV R7,#10”是一条单周期指令,执行1次需要1µS(关于指令 的执行周期可以查附录二)。“DJNZ R5,D2”是双机器周 期指令,执行1次需要2×1=2µS。计算第1层循环(D2 )的 时间:200×2µS=400µS第2层循环(D1 )的时间:(1+400+2)×100=40300µS 第3层循环(D0 )的时间:(1+40300+2)×10=403 030µS0.4S(一)设计思路在AT89C51单片机芯片及基本外围电路组成的 单片机最小系统基础上,利用P1口的8个引脚控制8 个发光二极管。由于发光二极管具有普通二极管的 共性-单向导电性,因此只要在其两极间加上合适 的正向电压,发光二极管即可点亮;将电压撤除或 加反向电压,发光二极管即熄灭。根据发光二极管 的特性,结合单片机P1口的输出信号,即可实现流 水灯的控制效果。项 目 实 施一、硬件电路设计(二)电路设计 1、P1口结构及流水灯电路左图是P1口中某一位的 位结构电路图。P1口为8位准 双向口,每一位均可独立定义 为输入或输出口,当作为输出 口时,1写入锁存器,T2截 止,内部上拉电阻将电位拉至 “1“,此时该口输出为1;当0写 入锁存器, ,T2导通,输出则 为0。作为输入口时,锁存器置 1,T2截止,此时该位既可以 把外部电路拉成低电平,也可 由内部上拉电阻拉成高电平, 所以P1口称为准双向口。P1.0P1.7: 准双向I/O口(内置了上拉电阻)21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻(1)P1.0P1.7作为输出口【输出1】21DQCK/Q读引脚=0读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据 = 1 时110截 止=121DQ CK/Q读引脚=0读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据 = 0 时001=0导 通(2)P1.0P1.7作为输出口【输出0 】21DQCK/Q读引脚 =1读锁存器=0写锁存器内部总线Vcc引脚P1.X内部上拉电阻输入数据时,要先对其写“1”110截 止(3)P1.0P1.7作为输入口发光二极管的连接方法: 若将它们的阴极连接在一起, 阳极信号受控制,即构成共阴 极接法,如图a所示;若将它们 的阳极连接在一起,阴极信号 受控制,则构成共阳极接法, 如图b所示。由于P1口引脚输 出高电位时电压大约是5V,为 保证发光二极管的可靠工作, 必须在发光二极管和单片机输 出引脚间连接一只限流电阻。 本项目选用硅型普通发 光二极管,限流电阻取220。 P1口控制流水灯(8个发光二极管)电路综合以上的分析,得到下图所示电路原理图。(三)材料表从原理图可以得到实现本项目所需的元器件。元器件的选择应 该合理,以满足功能要求为原则,否则会造成资源的浪费。序号 元件名称 元件型号 元件数 量 备备注 1单单片机芯 片 AT89C511片DIP封装 2发发光二极 管5 1只普通型3晶振1只12MHz 4电电容30pF 2只瓷片电电容22uF 1只电电解电电容 5电电阻200 8只碳膜电电阻10k 1只碳膜电电阻 6按键键1只无自锁锁1只带带自锁锁740脚IC座 1片安装AT89C51芯片8导线导线若干二、 控制程序的编写 (一)绘制程序流程图本控制使用简单程序设计中的顺序结构形式实现, 程序结构流程图如下图。(二)编制汇编源程序标标 号操作码码操作数指令意义义(注释释) ORG0000H;伪伪指令,指明程序从0000H单单元开始存放 LJMPMAIN2;控制程序跳转转到“MAIN2”处执处执 行 ORG0200H;主程序从0200H单单元开始 MAIN2:MOVP1,#0FEH;将立即数FEH送累加器A,L0亮 LCALLDELAY;调调用DELAY(延时时)程序MOVP1,#0FDH; L1亮LCALLDELAY MOVP1,#0F7H;L2亮 LCALLDELAY MOVP1,#0F7H;L3亮LCALLDELAYMOVP1,#0EFH;L4亮LCALLDELAY MOVP1,#0DFH ;L5亮 LCALLDELAY标标 号操作码码操作数指令意义义(注释释)MOVP1,#0BFH;L6亮LCALLDELAY MOVP1,#7FH; L7亮 LCALLDELAY;将立即数FEH送累加器A,L0亮 SJMP$;重复执执行本条指令(程序结结束)ORG0F00H; 延时时程序从0F00H开始DELAY:MOVR7,#10;将立即数10送通用寄存器R7 D0:MOVR6,#100;将立即数100送通用寄存器R6 D1:MOVR5,#200;将立即数200送通用寄存器R5 D2:DJNZR5,D2;根据R5减1后的内容判断程序执执行方向DJNZR6,D1;根据R6减1后的内容判断程序执执行方向DJNZR7,D0;根据R7减1后的内容判断程序执执行方向RET;子程序返回指令 END;程序结结束标记标记2、程序执行过程ORG 0000HLJMP MAIN2ORG 0200HMAIN2:MOV P1,#0FEH; L0 亮LCALL DELAYMOV P1,#0FDH; L1 亮LCALL DELAYMOV P1,#0FBH ; L2 亮LCALL DELAYMOV P1,#0F7H ; L3 亮LCALL DELAYMOV P1,#0EFH ; L4 亮LCALL DELAYMOV P1,#0DFH ; L5 亮LCALL DELAYMOV P1,#0BFH ; L6亮LCALL DELAYMOV P1,#7FH ; L7亮LCALL DELAYSJMP $;重复执行本条指令ORG 0F00HDELAY: MOV R7,#10D0: MOV R6,#100D1: MOV R5,#200D2: DJNZ R5,D2DJNZ R6,D1DJNZ R7,D0RET ;子程序返回指 令END ;程序结束标记在本项目中,利用P1口实现8个发光二极管的流水灯控制,主要利用 了送数指令,将要显示的现象对应的数据通过P1口送出。在编写控制程 序时,应首先将每个对应现象分析清楚,比如:要让L3亮,其余发光二 极管灭,则P1口的数据应为11110111B;要让L7亮,则P1口的数据应为 01111111B。然后找到能实现此操作的指令即可。下面使用我们在本项目中学习的移位指令编写程序如下:ORG 0000H ORG 0F00H LJMP MAIN2 DELAY:MOV R7 ,#10ORG 0200H D0:MOV R6 ,#100MAIN2:MOV A,#0FEH D1:MOV R5, #200XH:MOV P1,A D2:DJNZ R5,D2LCALL DELAY DJNZ R6,D1RL A DJNZ R7,D0LJMP XH RETEND知 识 点 链 接分析后可知,本段程序与项目中给出的参考程序功能相似,但是指令数量较少,所占存储器空间较小。根据 发光二极管的点亮次序,通过分析每次给P1口所送数据 ,发现不断变换的是数据中“0”的位置。若点亮次序是从 L0L7,则“0”是自低位(右)向高位(左)移动的, 符合指令“RL A”的功能。同时还可以总结出,若应用 “RR A”指令,则8个发光二极管的点亮次序是从L7L0。应用了移位指令后,程序更简洁易懂了,因此在今后 的学习中,应注意类似情况的处理。三 、程序PROTUES仿真与调试

注意事项

本文(项目二8位流水灯的单片机控制)为本站会员(宝路)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

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




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.