实验二-流水灯.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验四中断应用--流水灯的设计实验

一、设计要求:

利用外中断接口接一个外部中断输入,同时使用单片机定时器中断,通过P1口连接8个发光二极管显示中断的作用:利用定时方式,使8只LED灯每隔1s左移一次,当外部中断出现时8个LED灯闪烁5次,闪烁完后返回继续中断前的状态运行。

二、实验目的:

理解中断嵌套及中断优先级的概念和掌握其编程方法。

三、电路设计:

1.原理图

2.使用电路模块:MCU板、006板

3.硬件连线表:

MCU模块

P1.0~P1.7

P3.2

+5V

GND

006板

LED1~LED8

SW1

+5V

GND

四、程序设计

五、实验效果:

外部中断未发生时,系统通过定时器定时的方法,使LED做流水灯操作;当有外中断发生,LED闪烁5次,完毕返回。

六、实验步骤:

1.Proteus仿真

a.在Proteus中打开设计文档*.DSN;

b.建立实验程序并编译,加载hex文件,仿真;

c.如不能正常工作,打开调试窗口进行调试。

2.实验板验证

a.用ISP下载hex程序到MCU

b.按连接表连接电路

c.检查验证结果

七、源程序:

ORG0000H

LJMPSTAR

ORG0003H;外中断0入口

LJMPEXT

ORG000BH;定时器0入口

LJMPTIM

STAR: MOVSP,#70H

MOVTMOD,#01H;定时器0模式1

MOVTH0,#0D0H;定时10ms

MOVTL0,#0F0H

SETBTR0

SETBET0

SETBEX0

SETBEA

SETBPX0;外中断0优先级高

MOVR3,#100;每1秒钟灯左移一次

MOVR1,#0FEH ;流水灯初值

LJMP$

;定时中断服务子程序

TIM: PUSHACC

PUSHPSW

MOVTH0,#0D8H

MOVTL0,#0F0H

DJNZR3,LOOP;1秒钏没到返回

MOVA,R1 ;1秒钟到了,流水灯左移一位

MOVP1,A

RLA

MOVR1,A ;保存流水灯的状态返回

LOOP: POPPSW

POPACC

RETI

;外中断服务子程序

EXT: PUSHACC

PUSHPSW

MOVA,#0

MOVR2,#10

LOOP1: MOVP1,A

CALLDELAY

CPLA

DJNZR2,LOOP1

POPPSW

POPACC

RETI

;延时

DELAY: MOVR5,#20

D1: MOVR6, #20

D2: MOVR7,#248

DJNZR7,$

DJNZR6,D2

DJNZR5,D1

RET

END

八、扩展实验

改用外部中断1和定时器1来实现上述效果。

九、Proteus仿真步骤:

1.建立、保存、打开文件

单击菜单中的“file→newdesign”,建立一个新的空白文件。

单击菜单中的“file→savedesignas”,取文件名后再单击“保存”按钮,则完成新建文件操作,文件名可取为exp4.DSN,后缀DSN是系统自动加上去的。若文件已存在,则可单击“file→loaddesign”选择所要求的设计文件(exp4.DSN)

2.设计、改变图纸大小

系统默认图纸大小为A4,若要改变图纸大小,单击“System→SetSheetSize”,在出现的窗口中选择或设计图纸的大小。

3.从库中选取元器件

单击元器件选择按钮“P”,打开了“PickDevices”窗口,在“Keywords”栏中输入元器件的关键字,如“AT89C51”,则可看到元器件列表,双击“AT89C51”便可将它选入对象选择器中。

4.元器件操作

放置:在对象选择器中选取要放置的元器件,再在ISIS编辑区空白处单击。

选中:单击编辑区某对象,默认为红色高亮显示。

取消选择:在编辑区的空白处单击。

移动:左键单击对象,再按住鼠标左键拖动。

转向:对对象选择器中的对象转向,单击对象方位控制的相应按钮;对编辑区的对象转向,右击操作对象,再单击对象方位控制的相应按钮。

复制:选中对象后,单击“复制”按钮。

粘贴:复制后,单击“粘贴”按钮,然后在编辑区单击。

删除:两次右击对象

块操作(多个对象同时操作):选中操作对象,再单击相应工具按钮

5.放置电源、地(终端)

6.设计元器

文档评论(0)

131****4030 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档