前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >单片机c语言循环移位指令,avr单片机中左移位和右移位指令

单片机c语言循环移位指令,avr单片机中左移位和右移位指令

作者头像
全栈程序员站长
发布2022-08-23 15:15:39
1.7K0
发布2022-08-23 15:15:39
举报

大家好,又见面了,我是你们的朋友全栈君。

计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。

AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。

SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令, 而我们所做的11个实验程序仅用了34条指令, 我们重点讲这34条指令, 其余指令就可自学了。

AVR器件(指令速查表)118条指令器件

AT90S2313/2323/2343/2333 ,AT90S4414/4433/4434/8515,AT90S8534/8535

算术和逻辑指令

BRCC k

C清零转

位指令和位测试指令

ADD Rd,Rr

加法

BRSH k

≥转

SBI P,b

置位I/O位

ADC Rd,Rr

带进位加

BRLO k

小于转(无符号)

CBI P,b

清零I/O位

◇ADIW Rdl,K

加立即数

BRMI k

负数转移

LSL Rd

左移

SUB Rd,Rr

减法

BRPL k

正数转移

LSR Rd

右移

SUBI Rd,Rr

减立即数

BRGE k

≥转(带符号)

ROL Rd

带进位左循环

SBC Rd,Rr

带进位减

BRLT k

小于转(带符号)

ROR Rd

带进位右循环

SBCI Rd,K

带C减立即数

BRHS k

H置位转移

ASR Rd

算术右移

◇SBIW Rdl,K

减立即数

BRHC k

H清零转移

SWAP Rd

半字节交换

AND Rd,Rr

BRTS k

T置位转移

BSET s

置位SREG

ANDI Rd,K

与立即数

BRTC k

T清零转移

BCLR s

清零SREG

OR Rd,Rr

BRVS k

V置位转移

BST Rr,b

Rr的b位送T

ORI Rd,K

或立即数

BRVC k

V清零转移

BLD Rd

T送Rr的b位

EOR Rd,Rr

异或

BRIE k

中断位置位转移

SEC

置位C

COM Rd

取反

BRID k

中断位清零转移

CLC

清零C

NEG Rd

取补

数据传送指令

SEN

置位N

SBR Rd,K

寄存器位置位

MOV Rd,Rr

寄存器传送

CLN

清零N

CBR Rd,K

寄存器位清零

◇LDI Rd,K

装入立即数

SEZ

置位Z

INC Rd

加1

◇LD Rd, X

X间接取数

CLZ

清零Z

DEC Rd

减1

◇LD Rd, X+

X间接取数后+

SEI

置位I

TST Rd

测试零或负

◇LD Rd,-X

X间接取数先-

CLI

清零I

CLR Rd

寄存器清零

◇LD Rd,Y

Y间接取数

SES

置位S

SER Rd

寄存器置FF

◇LD Rd,Y+

Y间接取数后+

CLS

清零S

条件转移指令

◇LD Rd,–Y

Y间接取数先-

SEV

置位V

RJMP k

相对转移

◇LDD Rd,Y+q

Y间接取数+q

CLV

清零V

◇IJMP

间接转移(Z)

◇LD Rd, Z

Z间接取数

SET

置位T

RCALL k

相对调用

◇LD Rd,Z+

Z间接取数后+

CLT

清零T

◇ICALL

间接调用(Z)

◇LD Rd,–Z

Z间接取数先-

SEH

置位H

RET

子程序返回

◇LDD Rd, Z+q

Z间接取数+q

CLH

清零H

RETI

中断返回

◇LDS Rd,K

从SRAM装入

NOP

空操作

CPSE Rd,Rr

比较相等跳行

◇ST X ,Rr

X间接存数

SLEEP

休眠指令

CP Rd,Rr

比较

◇ST X+ ,Rr

X间接存数后+

WDR

看门狗复位

CPC Rd,Rr

带进位比较

◇ST –X ,Rr

X间接存数先-

90条指令为Attiny11/12/15/22=

□+89条基本指令是AT90S1200

CPI Rd,K

与立即数比较

◇ST Y ,Rr

Y间接存数

SBRC Rr,b

位清零跳行

◇ST Y+ ,Rr

Y间接存数后+

SBRS Rr,b

位置位跳行

◇ST –Y ,Rr

Y间接存数先-

SBIC P,b

I/O位清零跳行

◇STD Y+q ,Rr

Y间接存数+q

SBIS P,b

I/O位置位跳行

ST Z ,Rr

Z间接存数

BRBS s,k

SREG位置位转

◇ST Z+ ,Rr

Z间接存数后+

118条指令器件=

◇+ 90条指令器件

BRBC s,k

SREG位清零转

◇ST –Z ,Rr

Z间接存数先-

BREQ k

相等转移

◇STD Z+q ,Rr

Z间接存数+q

BRNE k

不相等转移

◇STS k,,Rr

数据送SRAM

BRCS k

C置位转

□LPM

从程序区取数

IN Rd,P

从I/O口取数

OUT P, Rdr

存数I/O口

PUSH Rr

压栈

POP Rd,

出栈

说明: SL-DIY02-3开发实验器的11个实验程序例子,仅用34条指令(以红色表示)

计算机的指令系统是一套控制计算机操作的代码,称之为机器语言。计算机只能识别和执行机器语言的指令。为了便于人们理解、记忆和使用,通常用汇编语言指令来描述计算机的指令系统。汇编语言指令可通过汇编器翻译成计算机能识别的机器语言。

AVR单片机指令系统是RISC结构的精简指令集,是一种简明易掌握﹑效率高的指令系统。

SL-DIY02-3开发实验器使用AT90S8535单片机,有118条指令, 而我们所做的11个实验程序仅用了34条指令, 我们重点讲这34条指令, 其余指令就可自学了。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138704.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月6,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档