写程序我们常常听到伪指令这个词,伪指令有几种呢?一起来看看
单片机是无法识别汇编语言程序的,所以用汇编语言写好程序后,还要用汇编程序将汇编语言程序(以下称作源程序)汇编(翻译)成单片机能识别的机器语言程序(又称目标程序),然后再通过编程器将目标程序写入单片机的程序存储器(ROM)中。
在汇编时,汇编程序会将源程序中的每条汇编语言指令转换成相应的机器指令,如果在汇编时需要汇编程序对源程序进行一些处理,可在源程序中加入一些特殊的指令,由于这些指令只是告诉汇编程序在汇编时如何处理源程序,而并不会被转换成机器指令,故将这些指令称为伪指令。常用的伪指令有下面8条。今天我们先看四条
1, 汇编起始指令(Origin)
汇编起始指令
操作码助记符:ORG
格式:ORG 16位地址
功能:该指令用于指示下一条指令在程序存储器中的起始地址。
举例:ORG 2000H
MOV A,36H
“ORG 2000H”的功能是指示它的下一条指令“MOV A,36H”的起始地址为2000H。
2 定义字节指令(Define Byte)
定义字节指令
操作码助记符:DB
格式:DB 字节内容
功能:该指令用于定义字节内容。
举例:ORG 3000H
DB 45H,36H,56H,7AH
第1行指令的功能是指示它的下一条指令的起始地址为3000H;第2行指令的功能是依次让3000H、3001H、3002H、3003H单元中的数据为45H、36H、56H、7AH,即让(3000H)=45H、(3001H)=36H、(3002H)=56H、(3003H)=7AH。
3 定义字指令(Define Word)
定义字指令
操作码助记符:DW
格式:DW 字内容
功能:该指令用于定义字内容。
举例:ORG 4000H
DW 4510H,3621H,5600H
第1行指令的功能是指示它的下一条指令的起始地址为4000H;第2行指令的功能是依次让4000H、4001H、4002H、4003H、4004H、4005H单元中的数据为45H、10H、36H、21H、56H、00H,即让(4000H)=45H、(4001H)=10H、(4002H)=36H、(4003H)=21H、(4004H)=56H、(4005H)=00H。
4 定义预留存储单元指令(Define Space)
定义预留存储单元指令
操作码助记符:DS
格式:DS 保留单元数目
功能:该指令用于定义在存储器中留出一定数目的存储单元。
举例:ORG 30H
DS 08H
DB 23H,E8H
第1行指令的功能是指示它的下一条指令的起始地址为30H;第2行指令的功能是从30H地址开始,留出30H~37H的8个存储单元;第3行指令的功能是让38H、39H单元中的数据分别为23H、E8H。
《单片机汇编考试宝典(第二版))》小知识点汇总一
配合《单片机汇编考试宝典(第二版))》视频教程学习
小知识点补充29:简述汇编语言中的标号有什么规定答:(1)标号由 1—8 字符组成,头一个字符必须是字母。(2)不能使用汇编语言已定义的符号。(3)标号后必须跟冒号:(4)同一标号在一个程序中只能定义一次。小知识点补充30:1,A/D 转换器转换数据的传送有几种方式答:(1)定时传送方式: A/D启动后,调用延时时间大于转换时间的延时程序后即可读取。(2)查询方式: A/D 启动后,查询 EOC(转换结束信号),转换一完成即可读取转换数据。(3)中断方式:将 EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据。2, MCS-51单片机系统 I/O 端口编址方式有哪几种?分别对其进行简要描述:答:I/O 端口编址两种方式:独立编址与统一编址。1)独立编址方式: I/O 寄存器地址空间和存储器地址空间分开编址,但需一套专门的读写 I/O 的指令和控制信号。2)统一编址方式: I/O 寄存器与数据存储器单元同等对待,统一编址。不需要专门的 I/O 指令,直接使用访问数据存储器的指令进行 I/O 操作,简单、方便且功能强。MCS-51使用统一编址的方式,每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个 RAM单元。
小知识点补充47简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理?答:键抖动会引起一次按键被误读多次。为了确保 CPU 对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除,一般使用软件消抖,延时20毫秒左右
1,8051单片机的定时器 T1用作计数方式时计数脉冲是由 T1(P3.5)输入2,8051 单片机的机器周期为1.5μs, 则其晶振频率 fosc为8MHz3,用 8051 的定时器,若用软启动,应使 TOMD中的GATE位置 04,MCS-51单片机在同一级别里除 INT0 外,级别最高的中断源是定时器 T05,用8051的定时器T0 定时,用模式 2,则应启动T0前向TH0、TL0置入相同的计数初值,以后不再置入6,MCS-51单片机定时器 T0的溢出标志 TF0,若计满数在 CPU响应中断后由硬件清零7,8051响应中断后,中断的一般处理过程是关中断,保护现场,开中断,中断服务,关中断,恢复现场,开中断,中断返回8,执行中断处理程序最后一句指令 RETI后程序返回到响应中断时一句的下一句9,MCS-51单片机响应中断矢量地址是中断服务程序的入口地址10,ADC 0809芯片是 m路模拟输入的 n 位 A/D转换器, m=8,n=811,当 DAC 0832 D/A转换器的 CS接 8031 的 P2.0 时,程序中 0832 的地址指针DPTR寄存器应置为:0832H或FE00H或FEF8H等12,8051的定时 /计数器 T0 的有几种工作模式,对各工作模式作简单的叙述:答: 定时/计数器 T0 的模式 : 0:13 位计数器;1:16 位计数器;2:8 位循环计数器;3:2 个独立的 8 位计数器 串行通信模式13,8051的串行通信的有几种工作模式,请对各工作模式作简单的叙述:答:串行通信共有 4 种工作模式 ,分别是:模式 0:同步移位寄存器;模式 1:波特率可变的8位两机异步通信;模式 2:波特率固定的9位可多机的异步通信;模式 3:波特率可变的9位可多机的异步通信
口线 第二功能信号 第二功能信号名称P3.0 RXD 串行数据接收P3.1 TXD 串行数据发送P3.2 INT0 外部中断 0 申请P3.3 INT1 外部中断 1 申请P3.4 T0 定时器 /计数器 0 P3.5 T1 定时器 /计数器 1 P3.6 WR 外部 RAM 写选通P3.7 RD 外部 RAM 读选通
***(伪指令)***ORG 指明程序的开始位置DB 定义数据表DW 定义16位的地址表EQU 给一个表达式或一个字符串起名DATA 给一个8位的内部RAM起名XDATA 给一个8位的外部RAM起名BIT 给一个可位寻址的位单元起名END 指出源程序到此为止
4,三极管有几种工作状态?答案:导通,饱和,截止
小知识点补充28:. 简述变址寻址方式并举例说明:答:(1)变址寻址是以 DPTR或 PC作基址寄存器,累加器 A作变址寄存器以两者内容相加形式的 16 位地址作为操作数地址。(2)变址寻址只能对移定存储器寻址,其指令只有三条: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR
小知识点补充26:MCS-51单片机系统中, 外接程序存储器和数据存储器公用 16 位地址线和 8 位数据线,为什么不会发生冲突?答:因为 MCS-51单片机访问外部程序存储器用的指令是 MOVC,控制线为 PSEN,而访问外部数据存储器时,使用的指令是 MOVX,有效的控制信号是 RD ,WR。所以不会发生冲突小知识点补充27:简述动态显示与静态显示的区别及优缺点答:静态显示 :就是当显示器显示某一个字符时, 相应的发光二极管恒定的导通或截止。这种显示方式每一位都需要有一个 8 位输出口控制, 亮度大,耗电也大。需要的 I/O 端口较多,如四个七段数码管需要 32 根口线,适用于显示位数较少的场合。但编程简单。**动态显示:**就是一位一位地轮流点亮显示器各个位(扫描) ,对于显示器的每一位来说,每隔一段时间点亮一次。 利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快, 字符才不闪烁。将各显示器的段码同名端边在一起,用一个 I/O 端口驱动;位码用另一个 I/O 端口分别控制。如四个七段数码管只需要 11 根口线。编程较复杂
1,两位十六进制数最多可以表示 256 个存储单元2,89C51是 ATMEL公司的产品3,MCS-51系列单片机,属于哈佛结构体系体系结构。 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)4,在 89C51 中,一个机器周期包括 12 个振荡周期,而每条指令都由一个或几个机器周期组成,分别有单周期指令、双周期指令和4 周期指令5,在 89C51 中,有两种方式可使单片机退出空闲模式,方法一是: 任何的中断请求被响应,方法二是: 硬件复位,而只有 硬件复位 方式才能让进入掉电模式的单片机退出掉电模式6,串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是: 通信双方必须采用统一的编码方式 ,二是: 通信双方必须能产生相同的传送速率 7,设 89C51 的晶振频率为 11.0592MHz,选用定时器 T 工作模式 2 作波特率发生器,波特率为2400b/s,且 SMOD 置 0,则定时器的初值为 F4H8,键盘可分为 独立连接 式和 行列(矩阵) 式两类9.键盘可分为 编码 式和 非编码 式两类10,LED 数码管有 静态 显示和 动态 显示两种方式
1,在变址寻址(基址寄存器+变址寄存器间接寻址)中,以累加器A作为变址寄存器,以DPTR或PC作为基址寄存器2,串行口扩展并行口时,串口工作在方式03,51单片机并行I/O口信息有读I/O口和读锁存器两种方式,读改写操作是针对并行口中的锁存器进行的4,在中断服务程序中,至少有一条中断返回指令5,定时器1有**三**种工作模式6,定时器0工作在方式3时,分为两个独立的8位计数器,且TH0占用T1的状态控制位TR1和TF1(此时T0不能作为外部计数模式)7,设 MCS-51单片机晶振频率为 12MHz,定时器作计数器使用时,其最高的输入计数频率为 500KHz8,主程序中调用子程序后返回主程序,堆栈指针 SP的值不变9,单片机中使用 MOVX A,@R1指令, C与 P2口配合能寻址数据存储器 1111H单元(前文有专门的例题讲解)10,下列指令判断若 P1 口最低位为高电平就转 L00P,否则就执行下一句的是JB P1.0 ,L00P11,MCS-51单片机在执行 MOVX A,@DPTR指令时,其寻址单元的地址是由P0口送低 8 位,P2口送高 8 位12,使累加器 A的最高位置 1 的是:ORL A,#80H13,使 R0的最高位置 0 的是:ANL R0,#7FH14,使 R1的最高位取反的是XRL R1,#80H15,MCS-51指令系统中,格式为: ORG 16位地址 的指令功能是用来定义汇编程序的起始地址16,指令 ANL A,R0的功能是:将 A与寄存器 R0的内部容按位逻辑与17,LJMP跳转空间最大可达到:64KB18,在编程中使用伪指令的目的是指示和引导汇编程序进行汇编19,8051单片机的定时器 T1用作定时方式时是由内部时钟频率定时,一个机器周期加120,8051单片机的定时器 T0用作计数方式时是由外部计数脉冲计数,下降沿加1
例题:MCS-51指令系统中,执行下列程序后,程序计数器 PC的内容为: ORG 000H MOV DPDR,#1000 MOV A , #00H MOV 20H ,A LJMP 1500 END答案:(PC)=1500
一,小问:1,输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。2,START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行,直到A/D转换完成。3,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。4,当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
三,小问: ORG 0000H AJMP START ORG 0050HSTART: MOV SP,#66H MOV R7,#05H MOV R6,#04H MOV R0,#30H MOV DPTR,#0FEF8HL0: ACALL ADC0809 MOV @R0,A INC R0 DJNZ R7,L0 MOV R7,#05H INC DPTR ;0FEF9H DJNZ R6,L0 SJMP $ ORG 006AHADC0809: CLR A MOVX @DPTR,A ;WR=0 MOV R5,#10DELAY: NOP NOP NOP DJNZ R5,DELAY SETB P3.3 ;IO读取,首先写个1 JB P3.3,$ MOVX A,@DPTR RET END
相关问答
单片机的 DB 指令 使用-ZOL问答DB是伪指令,定义字节命令,貌似用在数据表的比较多,你那个应该这样写ORG0060H...后面的00h-00h是你想要赋的值什么单片机?不是所有的单片机都可以用串口...
单片机 填空求助1.MCS-51系列单片机为()位单片机.2.8051单片...[最佳回答]1.MCS-51系列单片机为(8)位单片机.2.8051单片机有两种复位方式,既上电复位和手动复位.复位后SP=(07H),PC=(0000H),PSW=(00H),P0=(F...
单片机 内取反 指令 是什么和什么两个?CPLA;累加器取反指令CPLbit;位累加器取反指令如CPLP1.0CPLA;累加器取反指令CPLbit;位累加器取反指令如CPLP1.0
单片机指令 voidmain(void)?指令,汇编语言中,一行一行的,才叫做指令。voidmain(void),是C语言,不是指令。学C语言,就要学很多垃圾概念;学汇编语言,就简单多了。对单片机的C语言编程...
单片机 汇编 指令 ACALL怎么用?ACALL是51汇编的子程序调用指令,其使用范围是±2K范围,超出这个范围的调用将会出错,这时可以使用LCALL即长调用语句。调用格式如下:ACALL标号(子程序名)例...
单片机 移位 指令 讲解?单片机移位指令是指可以将一个二进制数向左或向右移动指定的位数的指令。其中向左移动相当于进行乘2的运算,向右移动相当于进行除2的运算。移位指令是单片机中...
( 单片机 )以下 指令 都有错误,请指出错在何处(1)MOVA,#1234H(2...[最佳回答](1)MOVA,#1234H;位数超过了A的容量(2)ADDB,R1;做加法,必须使用A(3)MOVR1,R5;寄存器之间,不可传送(4)MOV...(1)M...
单片机 中xrl什么意思?XRL是一条单片机逻辑运算指令,执行异或运算。“异或”运算是当两个操作数不一致时结果为1,两个操作数一致是时结果为0。有六种语法:XRLA,Rn;A和Rn中的值按...
蓝牙模块AT 指令 修改如何用 单片机 实现 - 懂得使用AT指令的时候,先使蓝牙模块进入AT模式,然后你就当蓝牙就是命令的接收端,单片机或者PC串口就是命令的发送端(就当蓝牙是独立的模块)。串口发送的...
单片机 符号公式?单片机是一种集成电路,使用内部存储器来存储指令和数据,通过对这些指令的执行来控制外部设备。在单片机的各种指令中,往往会涉及到特定的符号和公式。以下是...