51单片机的寻址方式 寻址方式:指定操作数所在单元的方法。 在我们学习的8051单片机中,有7种寻址方法,下面我们将逐一进行分析。 1. 立即寻址 用"#"作前缀 MOV A,#20H 在这种寻址方式中,指令多是双字节的。立即数就是存放在程序存储器中的常数,换句 话说就是操作数(立即数)是包含在指令字节中的。 例如: MOV A,#3AH 这条指令的指令代码为74H、3AH,是双字节指令,这条指令的功能是把立即数3AH送入累 加器A中。 MOV DPTR,#8200H在前面学单片机的专用寄存器时,我们已学过,DPTR是一个16位的寄存器 ,它由DPH及DPL两个8位的寄存器组成。这条指令的意思就是把立即数的高8位(即82H) 送入DPH寄存器,把立即数的低8位(即00H)送入DPL寄存器。 二、直接寻址 指令中直接给出操作数的地址。 MOV A,30H;这条指令中操作数就在30H单元中,也就是30H是操作数的地址,并非操作数。 MOV 30H,DPH 在80C51单片机中,直接地址只能用来表示内部数据存储器、位地址空间以及特殊功能寄 存器,具体的说就是: 1、内部数据存储器RAM低12
2022-06-19 14:03:42 48KB 文档资料
51单片机I/O引脚IO口工作原理 "一、P0端口的结构及工作原理 " "P0端口8位中的一位结构图见下图: " " " "由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一 " "个与门及场效应管驱动电路构成。再看图的右边,标号为P0.X引脚的图标 " ",也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图" "相同的电路组成。 " "下面,我们先就组成P0口的每个单元部份跟大家介绍一下: " "先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我 " "们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平, " "同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个 " "是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得 " "使读锁存器的这个缓冲器的三态控制端(上图中标号为'读锁存器'端)有 " "效。下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号 " "为'读引脚'的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我 " "们单片机的内部数据总线上。 " "D锁
2022-06-19 14:03:42 233KB 文档资料
51 单片机指令 指 令 功 能 说 明 机 器 码 字节数 周期数 数据传送类指令 MOV A,Rn 寄存器送累加器 E8~EF 1 1 MOV A,direct 直接字节送累加器 E5 (direct) 2 1 MOV A,@Ri 间接 RAM 送累加器 E6~E7 1 1 MOV A,#data 立即数送累加器 74 (data) 2 1 MOV Rn,A 累加器送寄存器 F8~FF 1 1 MOV Rn,direct 直接字节送寄存器 A8~AF (direct) 2 2 MOV Rn,#data 立即数送寄存器 78~7F (data) 2 1 MOV direct,A 累加器送直接字节 F5 (direct) 2 1 MOV direct,Rn 寄存器送直接字节 88~8F (direct) 2 2 MOV direct2,direct1 直接字节送直接字节 85 (direct1) (direct2) 3 2 MOV direct,@Ri 间接 RAM 送直接字节 86~87(direct) 2 2 MOV direct,#data 立即数送直接字节 75(direct)
2022-06-19 14:03:41 175KB 文档资料
"助记符 "指令说明 "字节数 "周期数 " "(数据传递类指令) " "MOV "A,Rn "寄存器传送到累加器 "1 "1 " "MOV "A,direct "直接地址传送到累加器 "2 "1 " "MOV "A,@Ri "累加器传送到外部RAM(8 地址) "1 "1 " "MOV "A,#data "立即数传送到累加器 "2 "1 " "MOV "Rn,A "累加器传送到寄存器 "1 "1 " "MOV "Rn,direct "直接地址传送到寄存器 "2 "2 " "MOV "Rn,#data "累加器传送到直接地址 "2 "1 " "MOV "direct,Rn "寄存器传送到直接地址 "2 "1 " "MOV "direct,direc"直接地址传送到直接地址 "3 "2 " " "t " " " " "MOV "direct,A "累加器传送到直接地址 "2 "1 " "MOV "direct,@Ri "间接RAM 传送到直接地址 "2 "2 " "MOV "direct,#data"立即数传送到直接地址 "3 "2 " "MOV "@Ri,A "直接地址传送到直接地址
2022-06-19 14:03:41 137KB 文档资料
51单片机控制DS18B20.ppt该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~
2022-06-19 14:03:40 560KB 文档资料
(51单片机系列)用单片机控制继电器 2008-01-13 22:10 " " "首先看看继电器的驱动 " " " "这是典型的继电器驱动电路图,这样的图在网络上随处可以搜到,并且标准 " "教科书上一般也是这样的电路图 " "为什么要明白这个图的原理? " "单片机是一个弱电器件,一般情况下它们大都工作在5V甚至更低.驱动电流 " "在mA级以下.而要把它用于一些大功率场合,比如控制电动机,显然是不行的" ".所以,就要有一个环节来衔接,这个环节就是所谓的"功率驱动".继电器驱 " "动就是一个典型的、简单的功率驱动环节.在这里,继电器驱动含有两个意 " "思:一是对继电器进行驱动,因为继电器本身对于单片机来说就是一个功率 " "器件;还有就是继电器去驱动其他负载,比如继电器可以驱动中间继电器,可" "以直接驱动接触器,所以,继电器驱动就是单片机与其他大功率负载接口.这" "个很重要,因为,一直让我们的电气工程师(我指的是那些没有学习过相应的" "电子技术的)感到迷惑不解的是:一个小小的芯片,怎么会有如此强大的威力" "来控制像电动机这样强大的东西? " "怎么样理解这个电路图? "
2022-06-19 14:03:40 113KB 文档资料
51单片机教程PPT.ppt该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~
2022-06-19 14:03:39 5.35MB 文档资料
51单片机智能小车 一、智能小车开发板介绍 智能小车好玩、有趣,很多单片机爱好者就是靠玩小车而走上了单片机开发的职业。关 于智能小车,市场上有一些,经过对照,发现市场上的很多"智能小车"其实就是一个个 "四肢发达,头脑简单"的白痴,一点点都不智能,之所以这样说,主要是基于以下两点 : 一是很多小车太注重小车的机械结构,致使小车整体价格偏高; 二是没有提供源程序或提供的源程序很少,不能充分发挥小车的智能性。 顶顶电子设计的这款智能小车,机械和电机部分由广州某公司专门定做,采用二个驱动 轮、二个从动轮(也可使用一个万向轮),即简单,又灵活。电路部分由我们自己独立设 计,并配备了丰富多彩的实用源程序,可让那些"智能小车"的粉丝们快快乐乐玩个够! 顶顶电子设计的这款简易智能小车,采用STC89C51/52单片机作为小车的检测和控制核心 ;采用光电开关、声控传感器、光敏传感器、温度传感器、红外接收器等来检测和感应 各种外界情况,从而把反馈到的信号送单片机,使单片机按照预定的工作模式控制小车 在各区域按预定的速度行驶;智能小车既可以采用LED数码管来显示有关信息,也可以采 用1602LCD实时显示
2022-06-19 14:03:38 1.68MB 文档资料
51单片机汇编程序集 51单片机汇编程序集全文共35页,当前为第1页。1、片内RAM初始化子程序 2、片外RAM初始化子程序 3、片外RAM初始化子程序(双字节个单元) 4、内部RAM数据复制程序 5、外部RAM数据复制程序 6、外部RAM数据复制程序 7、外部RAM数据复制到内部RAM程序 8、限幅滤波程序 9、中位值滤波程序 10、N点算术平均滤波 11、N点加权平均滤波 12、一阶加权滞后滤波程序 13、双字节取补程序 14、N节取补程序 15、双字节无符号数加法程序 16、N字节无符号数加法程序 17、双字节无符号数减法程序 18、N字节无符号数减法程序 19、单字节无符号数乘法程序 20、单字节无符号数乘法程序 21、单字节无符号数乘法程序 22、双字节无符号数乘法程序 23、双字节无符号数乘法程序 24、N字节无符号数乘法程序 25、单字节无符号除法程序 26、单字节无符号除法程序 27、双字节无符号除法程序 28、N字节无符号除法程序(组合) 29、N字节无符号除法程序 30、N字节数据左移程序 31、原码有符号双字节减法程序 32、原码有符号双字节加法程序 33、原码
2022-06-19 14:03:38 32KB 文档资料
51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) 推荐使用慧净 51 实验板。推荐 51 学习网 WWW.HLMCU.COM 淘宝网:http://shop37031453.taobao.com/ 51单片机汇编语言教程:第14课-单片机条件转移指令 (基于 HJ-1G、HJ-3G 实验板) 条件转移指令是指在满足一定条件时进行相对转移。 判 A 内容是否为0转移指令 JZ rel JNZ rel 第一指令的功能是:如果(A)=0,则转移,不然次序执行(执行本指令的下一条指令) 。转移 到什么地方去呢?如果按照传统的办法,就要算偏移量,很麻烦,好在现在我们能借助于机 器汇编了。因此这第指令我们能这样理解:JZ 标号。即转移到标号处。下面举一例说明: MOV A,R0 JZ L1 MOV R1,#00H AJMP L2 L1: MOV R1,#0FFH L2: SJMP L2 END 在执行上面这段程序前如果 R0中的值是0的话,就转移到 L1执行,因此最终的执行结果是 R1中的值为0FFH。而如果 R0中的值不等于0,则次序执行,也就是执行 MOV R1,#00H 指
2022-06-19 14:03:37 563KB 文档资料