推荐阅读最新更新时间:2024-11-01 12:53
基于51单片机中断跳出指令“RETI”浅议
RETI =RET指令+通知CPU中断服务已结束。 最近在基于51单片机编程的过程中出现了个很奇怪的问题 程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断 。在有过单片机中断编程经历者都知道当EA=1,ET0=1的条件下,满足TF0=1时,如果在此期间没有更高优先级的中断执行的情况下定时器中断0必定会产生中断响应。而在我所编写的程序中仅使用了定时器中断0,一个中断也就谈不上存在优先级问题。经过我对自己程序的检查并对各教材中断程序对比发现我的程序中的一个问题:由于中断的不可控性决定其跳出中断返回主程序的不确定,而由于程序需要中断跳出后能跳到指定的地址。为了解决这个问题我在中断结束的地方
[单片机]
MCS-51单片机的指令时序
时序是用定时单位来描述的,MCS-51的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。 节拍与状态: 我们把振荡脉冲的周期定义为节拍(为方便描述,用P表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍,前半周期相应的节拍我们定义为1(P1),后半周期对应的节拍定义为2(P2)。 机器周期: MCS-51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1-S6,而一个状态包含两个节拍,那么一个机器周期就有12个节拍,我们可以记着S1P1、S1P2……S6P1、S6P2,一个机器周期共包
[单片机]
PIC单片机开发时必须要了解的指令集
PIC单片机有计算功能和记忆内存像CPU并由软件控制运行。然而,处理能力—般,存储器容量也很有限,这取决于PIC的类型。但是它们的最高操作频率大约都在20MHz左右,存储器容量用做写程序的大约1K—4K字节。时钟频率与扫描程序的时间和执行程序指令的时间有关系。但不能仅以时钟频率来判断程序处理能力,它还随处理装置的体系结构改变。 下面介绍了PIC 8位单片机汇编语言指令仅是部分指令,此外还有循环左、右移指令;W和寄存器f相“加”、相“与”指令和进入睡眠方式等指令。 PIC 8位单片机共有三个级别,有相对应的指令集。基本级PIC系列芯片共有指令33条,每条指令是12位字长;中级PIC系列芯片共有指令35条,每条指令
[单片机]
MCS-51 指令系统中所用符号说明——单片机原理学习笔记 4
涉及操作数的指令 Rn:工作寄存器,R0~R7中的一个。(定位在RAM空间上) #data:8位立即数,实际使用时data是00H~FFH中的一个。 direct:8位直接地址,实际使用时direct是00H~FFH中的一个,也可以是特殊寄存器SFR中的一个。(定位在片内RAM的00H~FFH中) @Ri:表示寄存器间接寻址,Ri中存放的是真实操作数的地址,并非操作数。Ri只能是R0和R1。(定位在PSW中的R0、R1) #data16:16位立即数。 @DPTR:表示以DPTR为数据指针的间接寻址,存放16位寄存器的地址,用于对片外64K RAM/ROM寻址。 bit:位地址,可以是00H~FFH中的
[单片机]
51单片机逻辑运算指令表与示例
1.逻辑运算 指令 的一般性说明 与、或、异或的逻辑运算指令可以Acc或direct为目标。但是以direct为目标时,另一操作数只能是Acc或立即数。 与、或、异或是对位逻辑运算。 其他逻辑运算指令只对Acc操作。 小循环不影响Cy,大循环Cy在循环圈内。 除了RLC和RRC,逻辑运算指令不影响P以外的标志位。 2.与、或、异或的特殊用途 用ANL指令屏蔽指定位 例:ANL A,#0FH ;屏蔽高4位 用ORL指令将指定位置1 例:ORL A,#0FH ;将低4位置1 用ORL指令拼接一个字节 例:ANL A,#0FH ANL B,#0F0H ORL A,B 用XRL指令将指定位取反
[单片机]
用CPLD创建具有弹性指令集的微控制器
从消费类产品到通信产品,微处理器都有着非常广泛的应用。目前流行的8位微处理器不仅能够完成高运算量的任务,而且成本很低,因此取得了巨大成功。微处理器非常擅长于有序处理和各种非实时的任务,典型的工作速度在20MHz左右,但有些微处理器内核需要将该时钟频率内部分频,每条指令用多个时钟周期。例如,CISC微处理器在执行一条乘法指令时最多要用到25条简化的指令。 当今市场上已经有非常多的RISC微控制器,它们不仅能够实现单个时钟指令周期,而且功率非常低。例如Atmel的AVR 微控制器在1MHz时钟条件下能够获得1MIP的性能。由于有着如此强大的性能,几乎没有什么任务是微控制器不能完成的。这些微控制器的尺寸都非常小,品种从单个ALU和
[单片机]
51单片机汇编语言的指令格式
一个简单的循环灯实例 下图中的8个发光 二极管 代表 8 个彩灯,让我们看看是如何实现的 STAT: MOV A , #01H ; 高电平对应的发光二极管亮 LOOP: MOV P1, A ; 从 P1 口输出到发光二极管 MOV R1, #10 DEL1: MOV R2 , #200 DEL2: MOV R3, #126 DEL3: DJNZ R3, DEL3 DJNZ R2, DEL2 DJNZ R1, DEL1 RL A LJMP LOOP ; 左移一位 , 下一个发光二极管亮 END 汇编语言 指令格式 : 操作码 ;
[单片机]
8051单片机指令符号约定及指令格式
一个计算机的指令系统就是它能执行的全部指令的集合。8051的指令系统共有111条指令,由42种助记符和7种寻址方式组合而成。 8051的指令通常包括操作码,和操作数两部分。操作码规定指令进行什么操作,采用助记表示;操作数表示指令的操作对象。 汇编语言指令的基本形式是:操作码助记符 目的操作数,源操作数。 操作码助记符与操作数分开书写,操作数中目的操作数在前,源操作数在后,操作数之间用逗号分隔。 如指令MOV B,#23H中符号MOV就是操作码助记符,这个助记符的意义为将源操作数传入目的操作数地址中,累加器A是目的操作数,寄存器B是源操作数。 8051的机器语言指令根据长度有一字节、二字节、三字节三种。一
[单片机]