您的位置 首页 方案

普通单片机教育—第四讲 单片机的内外部结构剖析 三

一、延时程序分析上一次课中,我们已经知道,程序中的符号R7、R6是代表了一个个的RAM单元,是用来放一些数据的,下面我们再来看一下其它符

一、延时程序剖析

上一次课中,咱们现已知道,程序中的符号R7、R6是代表了一个个的RAM单元,是用来放一些数据的,下面咱们再来看一下其它符号的含义。

DELAY: MOV R7,#250   ;(6)

D1: MOV R6,#250   ;(7)

D2: DJNZ R6,D2    ;(8)

DJNZ R7,D1   ;(9)    

RET        ;(10)

1.MOV:这是一条指令,意思是传递数据。提到传递,咱们都很清楚,传东西要从一个人的手上传到另一个人的手上,也便是说要有一个接受者,一个传递者和相同东西。从指令MOV R7,#250中来剖析,R7是一个接受者,250是被传递的数,传递者在这条指令中被省掉了(留意:并不是每一条传递指令都会省的,事实上大部份数据传递指令都会有传递者)。它的含义也很明显:将数据250送到R7中去,因而履行完这条指令后,R7单元中的值就应当是250。在250前面有个#号,这又是什么意思呢?这个#便是用来阐明250便是一个被传递的东西自身,而不是传递者。那么MOV R6,#250是什么意思,应当不必剖析了吧。

2.DJNZ:这是另一条指令,咱们来看一下这条指令后边跟着的两个东西,一个是R6,一个是D2,R6咱们当然已知是什么了,查一下D2是什么。D2在本行的前面,咱们已学过,这称之为标号。标号的用处是什么呢?便是给本行起一个姓名。DJNZ指令的履行进程是这样的,它将这以后边的第一个参数中的值减1,然后看一下,这个值是否等于0,假如等于0,就往下履行,假如不等于0,就搬运,转到什么当地去呢?或许咱们已猜到了,转到第二个参数所指定的当地去(请大家用自已的话讲一下这条句子是怎样履行的)。本条指令的终究履行成果便是,在原地转圈250次。

3.履行完了DJNZ R6,D2之后(也便是R6的值等于0之后),就会去履行下面一行,也便是DJNZ R7,D1,请咱们自行剖析一下这句话履行的成果。(转去履行MOV R6,#250,一起R7中的值减1),终究DJNZ R6,D2这句话将被履行250*250=62500次,履行这么屡次同一条指令干吗?便是为了延时。

4.一个问题:假如在R6中放入0,会有什么样的成果。

二、时序剖析:

前面咱们介绍了延时程序,但这还不完善,由于,咱们只知道DJNZ R6,D2这句话会被履行62500次,可是履行这么屡次需求多长时刻呢?是否满意咱们的要求呢?咱们还不知道,所以下面要来处理这个问题。

先提一个问题:咱们校园里什么是最重要的。(铃声)校长能够出差,教师能够歇息,但校园一日无铃声必定大乱。整个校园便是在铃声的一致指挥下,步调一致,一致和谐地作业着。这个铃是按必定的时刻组织来响的,咱们能够称之为“时序时刻的次序”。一个由人组成的单位姑且要有必定的时序,核算机当然更要有严厉的时序。事实上,核算机更象一个大钟,什么时候分针动,什么时候秒针动,什么时候时针动,都有严厉的规则,一点也不能乱。核算机要完结的事更杂乱,所以它的时序也更杂乱。

咱们已知,核算机作业时,是一条一条地从ROM中取指令,然后一步一步地履行,咱们规则:核算机拜访一次存储器的时刻,称之为一个机器周期。这是一个时刻基准,好象咱们人用“秒”作为咱们的时刻基准相同,为什么不爽性用“秒”,多好,很习气,学下去咱们就会知道用“秒”反而不习气。

一个机器周期包含12个时钟周期。下面让咱们算一下一个机器周期是多长时刻吧。设一个单片机作业于12M晶振,它的时钟周期是1/12(微秒)。它的一个机器周期是12*(1/12)也便是1微秒。(请核算一个作业于6M晶振的单片机,它的机器周期是多少)。

MCS-51单片机的一切指令中,有一些完结得比较快,只需一个机器周期就行了,有一些完结得比较慢,得要2个机器周期,还有两条指令要4个机器周期才行。这也不难再解,不是吗?我让你扫地的履行要完结总得比要你完结擦黑板的指令时刻要长。为了恒量指令履行时刻的长短,又引进一个新的概念:指令周期。所谓指令周期便是指履行一条指令的时刻。INTEL对每一条指令都给出了它的指令周期数,这些数据,大部份不需求咱们去回忆,可是有一些指令是需求记住的,如DJNZ指令是双周期指令。

下面让咱们来核算方才的延时。首要有必要要知道晶振的频率,咱们设所用晶振为12M,则一个机器周期便是1微秒。而DJNZ指令是双周期指令,所以履行一非必须2个微秒。总共履行62500次,正好125000微秒,也便是125毫秒。

操练:规划一个延时100毫秒的延时程序。

关键剖析:1、一个单元中的数是否能够超越255。2、怎么分配两个数。

三、复位电路

任何单片机在作业之前都要有个复位的进程,复位是什么意思呢?它就象是咱们上课之前打的准备铃。准备铃一响,咱们就自动地从操场、其它当地进入教室了,在这一段时刻里,是没有教师干涉的,对单片机来说,是程序还没有开端履行,是在做准备作业。明显,准备作业不需求太长的时刻,复位只需求5ms的时刻就能够了。怎么进行复位呢?只需在单片机的RST引脚上加上高电平,就能够了,按上面所说,时刻不少于5ms。为了到达这个要求,能够用许多种方法,这儿供给一种供参阅,见图1。实际上,咱们在上一次试验的图中已见到过了。

这种复位电路的作业原理是:通电时,电容两头适当所以短路,所以RST引脚上为高电平,然后电源经过电阻对%&&&&&%充电,RST端电压渐渐下降,降到必定程序,即为低电平,单片机开端正常作业。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/261804.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部