一 : 51RETI与RET的真正区别
? 基于51单片机中断跳出指令“RETI”浅议
最近在基于51单片机编程的过程中出现了个很奇怪的问题“程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断”。在有过单片机中断编程经历者都知道当EA=1,ET0=1的条件下,满足TF0=1时,如果在此期间没有更高优先级的中断执行的情况下定时器中断0必定会产生中断响应。而在我所编写的程序中仅使用了定时器中断0,一个中断也就谈不上存在优先级问题。经过我对自己程序的检查并对各教材中断程序对比发现我的程序中的一个问题:由于中断的不可控性决定其跳出中断返回主程序的不确定,而由于程序需要中断跳出后能跳到指定的地址。为了解决这个问题我在中断结束的地方直接用了无条件跳转指令“LJMP ADR16”其中ADR16是我想在中断结束后程序所运行的地址,而没有经过指令“RETI”。问题找到了这就意味着我的程序和其他程序不同的地方就是没有执行“RETI”而直接跳出。
为了解决问题所在我查阅了很多单片机方面的资料,教材。几乎所有的教材对指令“RETI”的作用千篇一律都是:“中断程序完成后,一定要执行一条RETI指令,执行这条指令后,CPU将会把堆栈中保存着的地址取出,送回PC,那么程序就会从主程序的中断处继续往下执行了。”如果“RETI”的作用仅仅在于“把堆栈中保存着的地址取出送回PC”;那么我用指令“POPDPH”和“POPDPL”两条指令取代其做用不就可以达到同样的推出地址的效果么?这样可以解决由于只有进堆栈指令(硬件自动生成)没有出堆栈所导致的堆栈溢出错误,但是并不能解决文章开始所提到的“进不了中断”问题。这让我更加相信书上所介绍的关于指令“RETI”作用并不完全。经过查阅各种资料文献,我发现了个以往在介绍单片机硬件,以及寄存器上教材,老师,没有提及的“‘优先级生效’触发器“的概念。资料指出“根据8051的结构特点,其中断系统中含有两个不可寻址的“优先级生效”触发器。一个用于指出CPU是否正在执行高优先级的中断服务程序,这个触发器为1时,系统将屏蔽所有的中断请求;另一个则指出CPU是否正在执行低优先级中断服务程序,该触发器为1时,将阻止除高优先级以外的一切中断请求。由此可见,若要响应同级甚至是低级中断请求,必须使得该“优先级生效”触发器清零。但该触发器又是不可寻址的,所以无法用软件直接清零。”问题是不是在这里呢?而“优先级生效”触发器清零过程是怎样执行的呢?是在硬件自动执行的那么是在什么时候执行的呢?带着问题我去解决问题。假设我可以将程序满足跳出中断后跳到自己原来指定地址“ADR16”又满足执行指令“RETI”。经过反复思考我用“DEC SP”;“DEC SP”;“MOVDPTR,#ADR16”;“PUSHDPL”;“PUSHDPL”“PUSHDPH”四条指令代替,问题得到了解决。
总结:中断指令“RETI”做为中断跳出指令除了将堆栈中保存着的地址取出,送回PC;使程序从主程序的中断处继续往下执行。的作用外还有将“优先级生效”触发器清零。自己做的程序也是出现了这个错误,由于对“优先级生效”触发器清零,导致第二次进不了中断(相当于同优先级申请)。
后记:在解决这个问题时候我所用的知识是课本上的,而又不完
全是课本上的。在这个过程中我用已学的知识解决了自己的问题,并进一步推出中断过程的一些新的知识,我认为新知识的学习有很大程度的要靠自己在已学过知识的基础上通过运用,总结,推导等过程获得新知识。着也是当代大学生运用知识,获取新知识的一种能力。
其他:一个是普通程序返回,一个是中断程序返回。在中断程序返回的时候还会清除对应中断标志位。
二 : 挣钱与赚钱的区别
在现实中,我们常常会听一些人讲,这个人很会挣(赚)钱。其实挣钱与赚钱是两个不同的概念,只要你写写这两个字,它们的不同你就一清二楚了。
挣钱的“挣”字是一个提[www.61k.com)手旁和一个市场竞争的“争”字,这就是说,创业者的第一阶段都是依靠自己的双手在辛苦地挣钱,是人生的最初级阶段,用我们的手去市场上努力,去拼搏,去竞争,用自己的双手挣下这一份基础家业。再看一看这个赚钱的“赚”字,它的左边是一个“贝”字,右边是一个“兼”字,。在中国古代,“贝”其实就是货币单位,最早的货币是由贝壳等来替代的,货币这种东西既可以用来购买东西,也可以用来融资的,右边的兼就是多出来的东西,也就是兼并的意思。用现在的话来说就是进行资源整合,资产重组,可以兼并,也就是说用钱去赚钱。一些大的企业一般来说不是主要在市场上“挣钱”,而是在市场上“赚钱”,比如在一定包装之后成了上市公司,用股民的钱去赚钱或者扩大再生产等等。
所以说,“挣钱”与“赚钱”是有本质区别的,只不过是看人们对这两个字的理解而已。
三 : 真与假
1998年有一首歌歌名叫作《雾里看花》
王菲那英都是天后,唱得那才叫投入:
“借我借我一双慧眼吧
让我把这纷扰看得清清楚楚明明白白真真切切
借我借我一双慧眼吧
让我把这纷扰看得清清楚楚明明白白真真切切( 文章阅读网:www.61k.com )
雾里看花水中望月你能分辩这变幻莫测的世界
涛走云飞花开花谢你能把握这摇曳多姿的季节”
歌词写的是爱情现在看来却仿佛是谶语
两个女人在爱情上面都是轰轰烈烈
但似乎都没有把握住这摇曳多姿的季节
一个与小弟爱得火热却很快凋谢了
一个爱上浪子结出了爱情之果却掰了
烦恼最是无情夜
笑语欢颜难道说那就是亲热
温存未必就是体贴
你知哪句是真
哪句是假
哪一句是情丝凝结
什么是真什么是假
什么是对什么是错
赵高指鹿能为马你说是马就是假
真作假时假也真,假做真来真亦假
真真假假无定准是是非非古今人
弄个谜语大家猜,猜得不准不要紧
皇帝的新衣是哪个字是“光”是“袭”还是“裙”?
本文标题:真钱与假钱的区别-51RETI与RET的真正区别61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1