一、单一指令比较:
字节操作
加法指令
减法指令
乘法指令
除法指令
取模指令
位测试指令
_testbit_ (bit);
左移指令
Variable = Variable << 1;
右移指令
Variable = Variable >> 1;
位取反指令
与运算指令
或运算指令
异或运算指令
子程序调用
RESULT=BYTESUB(ARG1, ARG2);
CALL BYTESUB
判断指令
CJNE R1,#0F0H,LABEL1
DJNZ R1,LABEL1
查表指令
RESULT = NUM[index];
MOVC A,@A+DPTR
指针操作指令
POINT = & NUM;
RESULT = *POINT
二、伪指令
起始指令
中断入口向量
void timer0(void)interrupt 1 using 1
变量定义
寄存器定义
unsigned char code tab[]={0x01,0x02,0x03,0x04};
三、程序调用上的不同
Unsigned char BYTESUB(ARG1,ARG2) //input ARG1,ARG2;output the result
{
}
……
RESULT=BYTESUB(ARG1,ARG2);
……
CALL BYTESUB
……
;INPUT: A,B
;OUTPUT: A
四、中断处理上的不同:
void timer0(void)interrupt 1 using 1 // 开启TC0中断,中断号1,使用寄存器组1.
{
}
ORG 0BH
LJMP TC0ISR
TC0ISR:
关键字:51单片机 汇编指令
引用地址:
51单片机C和汇编指令对比
推荐阅读最新更新时间:2024-03-16 15:11
51单片机电子钟制作-升级版
经过两天熬夜的艰苦奋战,在原程序基础上进行升级,添加按键多功能操作 新增功能:1. K1模式转换,可自由切换:主界面显示,时间调整,闹钟设置,温度上下限设定等。等 2. K2选定需要调整的位数。 切换至时间调整时,通过K3- 加 ,K4- 减 按键调整数值。 切换至闹钟设置时,通过K3- 加 ,K4- 减 按键调整数值。 切换至温度上下限设定时,通过K3- 加 ,K4- 减 按键调整数值。 准备扩展的新功能:闹钟音乐,喇叭开启和关闭,。 操作说明: 开机进入主界面,显示时钟和温度。按下K1时,进入模式选择,(有时间调整,闹钟设置,温
[单片机]
史上最强 解析是德科技微波矢量信号发生器M9484C VXG
日前,是德科技发布了一款全新的微波矢量信号发生器M9484C VXG,其具备高达54GHz频率,在配合 V3080A 矢量信号发生器频率扩展器使用时,可将频率范围扩展到高达 110 GHz,从而全面满足 5G/6G 研究、卫星通信和雷达解决方案的需求。 M9484C VXG:只需一台便可覆盖宽广的射频带宽 是德科技大中华区市场总经理郑纪峰表示,2019年是5G元年,但早在2012年,相关的标准以及技术的研究就已经开始。因此,6G看似遥远,但现在进行先期研发工作而言并不算早。 是德科技大中华区市场总经理 郑纪峰 此外,郑纪峰还表示,除了6G之外,包括5G NR FR2,以及W频段的卫星通信等新兴标准和技术的引入,随着
[测试测量]
基于S3C44B0X的大型LED显示系统设计
大型LED显示系统已经广泛应用于各种室内外场合,但由于其多采用多机系统,提高了系统成本和软硬件设计复杂度。多机系统工作时,本质上相当于一个高总线宽度的计算机系统。其技术难点如下: ◆大型LED显示屏上的像素数以万计,随着显示面积增大,电路结构随之增大。 ◆为了保证一定的显示质量,帧频应在30帧/s以上。对于一个512×252的单色LED屏,每秒的数据传输量至少为480 KB以上,对于彩屏及显示质量高的场合,数据传输量还将按整数倍增长。 ◆当LED屏位于室外时,上下位机通信可能在百米甚至千米以上,要求通信速度快且可靠。 鉴于上述前两个技术难点,为能够使用单CPU系统代替多机系统控制大型LED显示系统,采
[家用电子]
安森美全新USB-C统包方案,FUSB303集结高性能与低功耗
安森美半导体最近宣布推出全新低功耗,完全符合USB-C(type-c)的器件,包括最新修定1.3规格,可轻松集成到USB-C系统。这一全新USB-C器件使工程师们快速简单地采用USB-C,无需重大地更改架构。 FUSB303 USB-C端口控制器基于状态机,可实现轻松集成,只需最少的处理器交互。FUSB303支持所有无论是否具有配件支持的源(SRC)、汇(SNK)和双角色端口(DRP)模式。FUSB303具有可配置的I2C地址访问功能,以支持每个系统的多个端口,或仅通过引脚配置自动工作。 type-c系统在连接时需要检测设备。鉴于type-c连接器的通用性,一旦连接到另一台设备,该系统将决定所连接的方向和模式。安森美半导体的FUS
[电源管理]
I2C总线读写E2PROM
这一篇介绍I2C存储器的使用。主要是介绍AT24CXX系列器件,它分为两类,主要是通过被存储容量地址来分的,一类是AT24C02-AT24C16,它的存储容量从256字节到2048字节。另一类是AT24C32-AT24C1024,容量从4K-128K。(理论上好像可以达到最高512K字节容量,但现在网上最高也就能看到AT24C1024也就是128K字节容量) 原理: I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。 I2C总线接口电路结构如图所示。 SDA和SCL
[单片机]
Linux下I2C总线EEPROM驱动程序设计方法
1 引言
I2C (Inter-Integrated Circuit1 总线 是一种由Philips公司开发的2线式串行总线,用于连接微 控制器 及其外围设备。它是同步 通信 的一种特殊形式,具有 接口 线少、控制方式简单、器件封装形式小、通信速率较高等优点。在主从通信中,可有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。笔者在开发基于MPC8250的 嵌入式 Linux系统的过程中发现I2C总线在 嵌入式系统 中应用广泛,I2C总线控制器的类型比较多,对系统提供的操作接口差别也很大。与I2C总线相连的从设备主要有微控制器、EEPROM、实时 时钟 、A/D转换器等.MPC8250处理器正是通过内部的
[电源管理]
采用C8051F020设计的嵌入式测试仪
0 引言 测控技术的不断发展,将嵌入式操作系统应用到测控领域,从而实现在线实时测试已经成为一种发展趋势,而且越来越多的工业现场对各种测试仪器的需求不断增高,希望测试仪器能够向在线实时测试方向发展。基于这些需求,本文给出了基于C8051F020控制的测试仪键盘显示部分的设计方案。在整个嵌入式测试系统中,本部分只是作为下位机,并通过RS485总线接口与上位机进行通信,从而将接收到的测试数据根据控制命令的要求在显示器中予以显示,同时将测试人员发送的各类请求信号回送给上位机以对测试数据进行一定的处理。 1 系统硬件设计 本系统的硬件由MCU模块(C8051F020)、电源模块、显示模块(OCM320240K)、矩阵
[单片机]
手把手教你学51单片机:点亮你的LED
2.1 单片机内部资源 三大资源: Flash:程序存储空间 RAM:数据存储空间 SFR:特殊功能寄存器 2.2单片机最小系统 三要素:电源、晶振、复位电路 2.3LED小灯 限流:5~20mA(限流电阻阻值计算) 自身压降2V 2.4程序代码编写 2.4.1特殊功能寄存器和位定义 eg:sfr P0=0x80; //sfr 关键字,定义一个单片机特殊功能寄存器 sbit LED=P0^0;//为P0^0口赋名LED 注意:写sfr必须根据手册中的寄存器的地址(Add)写,写sbit的时候可以直接将一个其中某一位(eg:P0^0、P0^1…)取出来写。 2.4.2 新
[单片机]