原创 【小雨的成长】简单东西复杂玩之流水灯

2009-4-17 16:03 2578 5 8 分类: MCU/ 嵌入式

来这逛的我想没有几个没有玩过流水灯的。。其实了,流水灯也有很多种玩法。。。


哈哈。。 说说今天,我怎么玩流水灯的。。。!!


 


功能要求:1令P2的8个LED每隔一秒左移一次 2 令定时器1在方式1下工作,每隔10000us中断一次,中断一百次也就是一秒 了。。 对。。我们用,定时中断法玩流水灯!!


 初学者可不要小看 了他。。(呵呵,我也是调试了好久才弄出来的!) 通过这个弄让大家更加明白中断的工作过程。。 attachimg.gif 点击看大图


下载 (68.21 KB)

2008-11-19 19:33


下面我贴出我写的汇编程序


ORG 0000H


SJMP START


ORG 000BH


LJMP DS0


ORG 0030H


START:


SETB EA ;初始化IE,TMOD,SP,TCON


SETB ET0


MOV TMOD,#01H


MOV TH0,#0D8H


MOV TL0,#0F0H


CLR TF0


MOV SP,#30H


MOV R0,#100


SETB TR0


MOV A,#0FEH


MOV P2,A ;传输到P2口 ①


SJMP $ ;等待中断


DS0:


PUSH ACC ;这里是重点。


MOV TH0,#0D8H ;因为是以方式一所以要重新装载TH0,TL0


MOV TL0,#0F0H


DJNZ R0,LOOP ;看下面注释1


MOV A,P2 ;看下面注释2


RL A MOV P2,A ;②


MOV R0,#100


LOOP:


POP ACC


RETI


 


END


 


下面说说我写这个程序的时候体会。。也算是用定时器中断的时候要注意的地方吧!!


注释1:DJNZ R0,LOOP这条指令是判断是否延时1S,当时我写的时候被以前的思想影响了。


将LOOP做了①的标号,这是错误的,应为在跳到中断的时候,会将PC压栈,这样的话直接跳到①的话,PC会出错。


要返回就要用RETI。


 


 注释2:如果你开始没有将ACC压栈的话,这里可以不要。。大家可以试试将A压栈了而不要注释2这条指令,会发现当P2.0口跳到P2.1口后,就在也不会跳了。。因为,A被压栈了。。以后的程序将会始终将FEH左移。所以不会跳了。 这里新手要注意!! 大家会发现当RETI返回后,都是返回到SJMP $。所以在中断程序中要②这条指令。。 我写这类帖子。。主要是针对新手们!!(因为我也是个菜鸟!~~) 希望能给大家一点帮助。。。


 


也希望,各位老手能给我写的程序提点意见。。 谢谢!!

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户590072 2009-4-19 21:27

DING

用户1467105 2009-4-18 21:00

呵呵。。谢谢你们的支持。。!!

tengjingshu_112148725 2009-4-17 19:57

顶,好

daheng 2009-4-17 19:13

学习嘛,就要编着法的给自己出难题,顶
相关推荐阅读
用户1467105 2010-07-28 16:45
CEPARK 51单片机DS18B20测试程序
/*********************************************************************** 文件名称: CEPARK 51 V2.0开发板* 程序...
用户1467105 2010-07-28 15:59
第五课:51单片机进阶篇---独立按键检测
这一节课我们来学习独立按键的检测。一般情况下,单片机是用来对一些器件如AD、DA等进行控制,为了直观的看到显示结果或者对器件进行必要调节,输入输出就成了不可缺少的一部分。常见的输出设备有1602液晶、...
用户1467105 2010-07-28 15:57
第四课:51单片机进阶篇---蜂鸣器控制
上一节课,我们学习了如何使用实验板控制LED。在本次课中,我们将学习蜂鸣器的使用。我们常用的蜂鸣器是一种直流电压驱动的电子器件,常用的蜂鸣器有无源和有源之分。两种蜂鸣器的硬件驱动电阻大致相同,只是控制...
用户1467105 2010-07-28 15:54
第三课:51单片机进阶篇---基本输出LED灯
一、        [摘要]本文档介绍如何进行简单的单片机IO控制操作。以CEPARK51 V2.0为硬件平台,进行实际的程序验证。在本课中将以几个不同的实例来进行讲述。声明:本文档为2010年CEP...
用户1467105 2010-07-28 15:41
第二课:51单片机入门篇---Keil,STC-ISP软件使用
一、前言1、        1 学习单片机之前的知识准备电子园的本次活动主要针对初学者,在正式跟随本次活动进行学习之前,希望参加活动的朋友具有一下的基本知识:1)        对电子电路有大致的了解...
用户1467105 2010-07-28 15:39
第一课:51单片机入门篇---Cepark 51 V2.0学习板介绍
第一课 Cepark 51 V2.0学习板介绍俗话说“工欲善其事,必先利其器”。我们只有充分的了解我们的开发工具,才能更好的利用它。现在,我们就给大家,介绍下,我们本次讲课时用的开发板。Cepark ...
我要评论
4
5
关闭 站长推荐上一条 /3 下一条