提高企业服务网点管理效率的关键问题及解决方案
06-18
我们已经知道程序中的符号R7和R6代表的是各个RAM单元,这些单元是用来存储一些数据的。
我们来看看其他符号的含义。
延迟:MOV R7,# ; (6) D1:MOV R6,# ; (7) D2:DJNZ R6,D2 ; (8) DJNZ R7,D1 ; (九) RET ; (10) javascript:resizepic(this) border=0> 〈MCU延时程序〉 MOV:这是一条指令,意思是传递数据。
说到传输,我们都知道,要把东西从一个人的手上传输到另一个人的手上,也就是说,必须有一个接收器、一个发射器和同一个东西。
从指令MOV R7,#分析,R7是一个接收者,就是正在传递的数字。
该指令中省略了发送器(注意:并不是每个传输指令都会省略它。
事实上,大多数数据传输指令都会有一个发送器)。
其含义也很明显:将数据发送到R7,那么执行这条指令后,R7单元中的值应该是。
前面有个#号,什么意思?这个#用来表示这是正在交付的东西,而不是交付者。
那么MOV R6,#是什么意思?应该没有必要去分析吧。
DJNZ:这是另一条指令。
让我们看一下这条指令之后的两件事。
一个是R6,另一个是D2。
当然我们已经知道R6是什么了。
我们来看看 D2 是什么。
D2在这一行的最前面,我们已经学过了,这叫做标签。
标签的目的是什么?只要给银行起个名字就可以了。
DJNZ指令的执行过程如下。
它将后面的第一个参数的值减1,然后检查该值是否等于0。
如果等于0,则继续执行。
如果不等于0,则转移。
, 去哪儿?也许你已经猜到了,去第二个参数指定的地方(请用你自己的话告诉我这条语句是如何执行的)。
该指令的最终执行结果是原地循环。
执行完 DJNZ R6 和 D2 后(即 R6 的值等于 0 后),会执行下面一行,即 DJNZ R7 和 D1。
请你自己分析一下执行这句话的结果。
(去执行MOV R6,#,同时将R7中的值减1)。
最后DJNZ R6,D2将被执行*= 0次。
为什么要多次执行同一条指令?只是为了拖延时间。
一个问题:如果我在R6中放入0,结果会怎样? 2。
时序分析: 前面我们介绍了延时程序,但是它并不完美,因为我们只知道DJNZ R6,D2会被执行0次,但是执行这么多次需要多少次呢?多久?是否满足我们的要求?我们还不知道,所以让我们弄清楚这一点。
我先问一个问题:我们学校最重要的事情是什么。
(铃声)校长可以出差,老师可以休息,但如果没有铃声,学校就会混乱。
全校上下在钟的统一指挥下,齐心协力,协同工作。
这个钟声按照一定的时间顺序响起,我们可以称之为“时序”。
一个由人组成的单位必须有一定的计时,当然计算机也必须有严格的计时。
事实上,计算机更像是一个大钟。
分针何时走动、秒针何时走动、时针何时走动都有严格的规定。
不能有一点混乱。
计算机要做的事情更加复杂,因此它的时序也更加复杂。

我们知道,计算机工作时,是从ROM中一条一条地取出指令,然后一步步执行。
我们规定计算机访问一次内存所花费的时间称为一个机器周期。
这是一个时间基准,就像我们人类使用“秒”作为我们的时间基准一样。
为什么不直接使用“秒”呢?这很棒而且很习惯。
随着我们不断学习,我们会知道使用“秒”并不是一种习惯。
一个机器周期由12个时钟周期组成。
我们来计算一下一个机器周期有多长。
假设一个微控制器工作在12M晶振上,它的时钟周期是1/12(微秒)。
它的一个机器周期是12*(1/12),也就是1微秒。
(请计算运行在6M晶振上的单片机的机器周期)。
MCS-51单片机的所有指令中,有些指令完成得比较快,只要1个机器周期就够了,有些指令完成得比较慢,需要2个机器周期,还有两条指令需要4个机器周期。
正好。
这并不难解释,不是吗?我的扫地指令比我的擦黑板指令需要更长的时间才能完成。
为了使指令执行时间的长度恒定,引入了一个新概念:指令周期。
所谓指令周期是指执行一条指令所需要的时间。
INTEL 给出了每条指令的指令周期号。
这些数据大部分不需要记住,但有一些指令需要记住。
例如,DJNZ指令是两周期指令。
我们来计算一下刚才的延迟。
首先,我们必须知道晶振的频率。
如果我们假设使用的晶振是12M,那么一个机器周期就是1微秒。
DJNZ指令是两周期指令,因此执行一次需要2微秒。
一共执行了0次,正好是00微秒,也就是毫秒。
练习:设计一个毫秒级延迟的延迟程序。
要点分析: 1、一个单元内的数量是否可以超过。
2.如何分配两个数。
3。
复位电路 1。
复位方法 ⒈ 复位条件 RST 引脚保持高电平超过 2 个机器周期。
⒉复位电路 javascript:resizepic(this) border=0> 〈MCU复位电路〉 ⒊复位后CPU状态 PC:H TMOD:00H Acc:00H TCON: 00H B: 00H TH0: 00H PSW: 00H TL0: 00H SP: 07H TH1: 00H DPTR: H TL1: 00H P0~P3: FFH SCON: 00H IP:×××0B SBUF:可变 IE:0××0B PCON:0×××B 任何微控制器在工作前都必须有一个复位过程。
重置是什么意思?这就像我们上课前敲响的准备铃声。
准备铃一响,大家就自动从操场或其他地方进入教室。
这段时间没有老师干预。
对于单片机来说,程序还没有开始执行,正在做准备工作。
显然,准备时间并不长,复位只需要5ms。
如何重置?只要给单片机的RST引脚加高电平就可以了。
如上所述,时间将不少于5ms。
为了达到这个要求,可以使用很多方法,这里提供一种供参考,见图1。
事实上,我们在上次实验的图中已经看到了这一点。
此复位电路的工作原理是:上电时,电容两端相当于短路,所以RST引脚为高电平,然后电源通过电阻对电容充电, RST端电压缓慢下降到一定水平。
程序,即低电平,单片机开始正常工作。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-17
06-18
06-18
06-18
06-18
06-18
06-21
最新文章
使用电子管有哪些注意事项?如何检查电子管之间是否短路?
博通支付1200万美元和解SEC财务欺诈指控
八名运营商高管确认加入虚拟运营商
内蒙古农牧区雷电灾害成因分析及防雷对策
北京联通将5G应用于世园会远程医疗急救
TD-SCDMA最后一轮冲刺测试启动,产业前景更加光明
专访阿里云总裁王健:云计算服务平台梦想成真
USB2.0控制器CY7C68013的接口设计与实现