Microsoft Word - 新1-3.doc

Size: px
Start display at page:

Download "Microsoft Word - 新1-3.doc"

Transcription

1 模块三 80C51 的指令系统和程序设计 (1) 了解 80C51 指令系统的构成 (2) 掌握 80C51 单片机的寻址方式 (3) 掌握 80C51 单片机的各种指令及其应用 (4) 掌握汇编语言程序设计方法, 为以后实际控制系统的程序设计奠定基础 C51 指令系统概述 对于任何一台计算机, 如果只有硬件 ( 称为裸机 ), 而没有软件 ( 即程序 ) 的支持是不能工作的 单片机也不例外, 它必须在各种各样的软件支持下才能发挥其运算和控制功能 而程序的最基本单位就是指令, 不同的 CPU 具有不同的指令系统, 要编写适用于 80C51 单片机的程序就要先学习 80C51 的指令系统 所谓指令就是 CPU 所能进行的操作 每条指令都对应 CPU 的一种操作,CPU 有多少种操作就应该有多少条指令 把所有指令的集合称为 CPU 的指令系统,80C51 单片机的指令系统共包括 111 条指令 计算机常用的编程语言程序是完成某项任务的计算机指令的有序集合 设计程序就要用到程序设计语言, 从使用的角度看, 程序设计语言可分为如下 3 种 : (1) 机器语言 机器语言是计算机唯一能 懂 的语言, 直接用二进制代码表示, 这种编码称为机器码, 或者称为机器指令 只有内存中的机器码能被计算机直接执行 然而, 不同类型的 CPU 其机器语言必然不同, 且直接用机器语言来编程, 很难懂, 极易出错, 很难用它来进行程序设计 (2) 汇编语言 为了克服使用机器语言编程的缺点, 人们采用一些符号来代表地址或数据, 用简单明了的助记符 ( 英文缩写 ) 表示指令的操作码, 这就形成了汇编语言 用汇编语言编制程序时, 程序的每一个语句都与计算机的某一具体操作相对应, 因此汇编语言是面向机器的语言, 编程者必须熟悉机器的硬件结构 但汇编语言毕竟不是机器语言, 计算机不能直接识别, 必须将这种符号代码翻译成计算机可识别的机器代码, 这种翻译过程称为汇编 汇编工作通常由计算机通过一种具有 翻译 功能的程序 汇编程序来完成 ( 称为机器汇编 ), 也可通过查指令表来完成汇编 ( 称为手工汇编 ) (3) 高级语言 上述两种语言都针对计算机硬件, 程序的可读性和可移植性都比较差

2 3 单片机应用技术 为了克服这些缺点, 人们又逐步创造出许多面向用户, 适合于不同机器 不同场合的高级语言, 如 BASIC FORTRAN COBOL Pascal C 语言以及目前非常流行的可视化程序设计语言 Visual Basic Visual C++ 等 这些高级语言更接近人的自然语言, 从而使编制的程序直观 简练 易读, 且具有较强的通用性 然而, 高级语言是更符号化的语言, 计算机不能直接接受, 需要经过复杂的编译程序或解释程序的 翻译 才能转化为机器代码, 因此它比前两种语言占用更多的内存和更长的执行时间 由此可以看出, 汇编语言的性能介于机器语言和高级语言之间 它与机器语言相比, 易学 易记 好理解 使用方便 ; 与高级语言相比, 占用存储空间少 执行速度快, 特别是其具有直接针对输入 / 输出端口的操作指令, 便于自控及检测系统中数据的采集及发送, 而许多高级语言却无此功能 因此, 对于要求反应灵敏与控制及时的工控 检测等实时控制系统, 以及要求体积小 系统小的许多 电脑化 产品, 采用汇编语言的优越性是显而易见的 目前单片机系统普遍采用汇编语言编程, 当然高级用户也常采用 C51 编程 汇编语言指令格式 80C51 单片机的汇编指令由操作码和操作数两大部分组成, 指令格式如下 : [ 标号 :] 操作码 [ 操作数 1,][ 操作数 2,][ 操作数 3][; 注释 ] 例如 : LB:MOV A,R2 ; 把寄存器 R2 中的数送入 A (1) 标号 : 是该指令的符号地址 ( 如上述指令中的 LB ) 并非每条指令都需要标号 当一条指令含有标号时, 那么在其他指令的操作数中就可以引用该标号, 以便控制程序的转移或寻址 不同的汇编程序对标号有不同的要求, 一般的汇编程序规定标号受下列条件约束 : 1) 标号必须是由大小写英文字母打头,1~8 个字母 数字或下划线组成的字符串 2) 标号不能与寄存器 端口及指令助记符重名 标号与其后面的操作码之间用半角冒号 隔开, 也可用半角冒号 加若干个空格隔开, 冒号 的左边不能有空格 (2) 操作码 : 即指令助记符 ( 如上述指令中的 MOV ), 是表示指令功能的英文缩写 这是指令中唯一不可缺少的核心部分, 其作用是规定 CPU 应该完成什么样的操作 ( 如加法 减法 数据传送等 ) 操作码与操作数之间用若干个空格分开 (3) 操作数 : 即参与操作的对象 ( 如上述指令中的 A 和 R2 ) 它与操作码一起确定指令所要执行的具体操作 操作数可以是常数 寄存器 地址及表达式等 大多数指令有一个或两个操作数, 个别指令有 3 个操作数, 但也有几条指令的操作数隐含在操作码中, 形式上没有操作数 ( 如 RET 指令 ) 如果一条指令有两个或 3 个操作数, 则操作数之间要用半角逗号, 隔开, 也可用半角逗号, 加若干个空格隔开, 但逗号的左边不能有空格 (4) 注释 : 是对指令功能的解释 ( 如上述指令中的 A (R2) ) 注释可有可无, 其主要作用是增强程序的可读性, 但它不是汇编语言源程序的功能部分, 所以汇编时并不生成目标代码, 对机器的工作没有影响 注释与其前面的指令主体之间用半角分号 ; 隔开, 也可用若干个空格加半角分号 ; 隔开 36

3 模块三 80C51 的指令系统和程序设计 3 计算机常用的程序设计语言有汇编语言和高级语言 正方 : 汇编语言比高级语言使用方便, 编程容易, 所以目前单片机系统普遍采用汇编语言编程 反方 : 高级语言比汇编语言使用方便, 编程容易, 高级用户常采用高级语言编程 你认为正 反哪一方的论据站得住脚? 赶快发表你自己的见解吧! 1.80C51 单片机汇编语言的特点是什么? 汇编语句的格式如何? 2. 你入学后, 学过几种计算机语言, 各有哪些优缺点? 3.2 指令的寻址方式 指令的操作对象大多是各类数据, 而数据在寄存器 存储器中可以用多种方式存取 指 令执行过程中寻找操作数的方式, 称为指令的寻址方式 1. 寻址的概念寻址方式的 寻址 是指寻找参与操作的数据所在存储器单元的地址 80C51 的大部分指令在执行时都需要使用操作数, 因此也就存在着到哪里去取得操作数的问题 因为在计算机中只要给出数据所在存储器单元的地址, 就能找到所需要的数据 因此, 所谓寻址, 其实质就是如何确定操作数所在单元地址的问题 2. 寻址方式 80C51 指令系统有以下 7 种寻址方式 : (1) 立即寻址方式 所谓立即寻址, 就是在指令中直接给出参与操作的数据本身, 即操作数直接出现在指令中 这种形式的操作数被称为立即数, 以在数据前加 # 号表示 例如 : MOV A,#40H ; 将立即数 40H 送到 A 中 MOV DPTR,#2345H ; 将立即数 2345H 送到 DPTR 中 (2) 直接寻址方式 所谓直接寻址, 就是在指令中直接给出参与操作的数据所在内部 RAM 单元的地址, 即操 37

4 3 单片机应用技术 作数直接以单元地址的形式出现在指令中 直接寻址方式适用于内部 RAM 的低 128 字节和特殊功能寄存器 例如 : MOV 40H,A ; 将 A 中的内容传送到内部 RAM 的 40H 单元例如 MOV A,P0 等同于 MOV A,80H, 因为 80H 就是 P0 口的地址 (3) 寄存器寻址方式 所谓寄存器寻址, 就是在指令中直接以寄存器的形式给出参与操作的数据, 即操作数放在指定的寄存器中 寄存器寻址中的寄存器包括 R0~R7 A B AB DPTR 等 例如 : MOV A,R3 ; 将当前工作寄存器 R3 中的内容传送到累加器 A 若 R3 的内容为 4FH, 则执行该指令后累加器 A 的内容也变为 4FH (4) 寄存器间接寻址方式 所谓寄存器间接寻址, 就是在指令中所给定的寄存器中存放的不是操作数本身, 而是操作数所在内部 RAM 或外部 RAM 单元的地址, 即操作数通过寄存器间接获得 为了与寄存器寻址相区别, 表示间接寻址 可用于间接寻址的寄存器有 R0 R1 SP 及 DPTR, 其中的 SP 在间接寻址方式中以隐含方式出现 假设 R0 的内容为 65H, 则指令 MOV A,@R0 ; 将 R0 中的值作为地址, 到这个地址中取数, 然后送到 A 中去 的功能是以寄存器 R0 的内容 65H 为地址, 将与该地址对应的内 RAM 单元中的数据送到累加器 A 若内部 RAM 65H 单元的内容为 79H, 则执行该指令后, 累加器 A 的内容即为 79H (5) 变址寻址 ( 基址 + 变址寄存器间接寻址 ) 方式 基址 + 变址寄存器间接寻址方式又称变址寻址方式, 的形式出现, 表示以数据指针 DPTR 或程序计数器 PC 的内容为基地址 (16 位 ), 以累加器 A 中的内容为地址偏移量 (8 位 ), 二者之和即为操作数所在程序存储器单元的物理地址 假设累加器 A 的内容为 05H,DPTR 的内容为 0400H, 程序存储器 0405H 单元的内容为 2DH, 则指令 MOVC 执行后累加器 A 的内容为 2DH 这种寻址方式只适用于程序存储器 (6) 相对寻址方式 所谓相对寻址, 就是以 PC 的当前值为基准, 加上指令中给出的相对偏移量 rel 而形成有效的物理地址 这种寻址方式出现在转移指令中, 用来指定程序转移的目标地址 目前在单片机程序设计中, 一般采用机器汇编, 通常用标号来表示目标位置, 基本不需要人工计算相对寻址的值, 因此学生不需要详细分析相对寻址的原理 (7) 位寻址方式 位寻址是指寻找某一位地址的状态 采用位寻址指令, 其操作数是 8 位二进制数中的某一位, 指令中给出的是位地址 位寻址的寻址空间为内部 RAM 中位寻址区 20H~2FH 单元的 128 位 ( 位地址为 00H~ 7FH) 及 11 个特殊功能寄存器的 83 个可寻址位 例如 : MOV C,90H 38

5 模块三 80C51 的指令系统和程序设计 3 该指令的功能是将 Pl.0 口 ( 地址为 90H) 的状态送位累加器 C 区分位地址与字节地址主要看指令是位操作指令还是字节操作指令 如果是位操作指令, 则操作数中的地址一定是位地址, 反之为字节地址 80C51 指令系统的各种寻址方式有不同的寻址空间, 读者在使用时要特别注意, 在不同的存储区中应采用不同的寻址方式 3. 指令中的操作数标记 80C51 单片机的指令系统采用了多种记忆符号 ( 助记符 ), 要真正理解每一条指令, 必须先了解各种助记符的意义 Rn(n=0~7): 表示当前工作寄存器区的 8 个寄存器 表示当前工作寄存器中可用于间接寻址的两个寄存器 R0 和 R1 direct: 表示内部 RAM 单元的地址, 取值为 00H~7FH 时对应内部 RAM 的低 128 字节单元 ; 取值为 80H~0FFH 时, 表示以间接寻址方式出现的数据指针 DPTR #data: 出现在指令中的 8 位常数, 也称 8 位立即数 #data16: 出现在指令中的 16 位常数, 也称 16 位立即数 bit: 可直接寻址位的位地址 /bit: 在位操作指令中, 表示对该位 (bit) 先取反, 然后再参与运算, 但不改变指定位 (bit) 的原值 (x): 表示 x 寄存器的内容或地址为 x 的存储单元中的内容 ((x)): 表示由间接寄存器 x 所间接寻址的存储单元的内容 $: 代表当前指令的首地址, 通常用在相对转移指令中, 可以组成表达式, 如 $-3 指以当前指令首地址为基础向前查第 3 个单元 另外在注释中, 常用箭头 表示数据传送方向 ; 箭头右边为源操作数, 一般表示到数字 ; 箭头左边为目的操作数, 表示到存储器单元或寄存器, 不能表示到数字 4.7 种寻址方式所对应的地址空间 7 种寻址方式所对应的地址空间如表 3-1 所示 表 3-1 寻址方式所对应的地址空间 寻址方式立即寻址直接寻址寄存器寻址寄存器间接寻址变址寻址相对寻址位寻址 地址空间立即数片内 RAM 低 128 字节或特殊功能寄存器工作寄存器 R0~R7 A AB DPTR 片内 RAM 和片外数据空间程序空间程序空间片内 RAM(20H~2FH) 位寻址空间和可位寻址的特殊功能寄存器位地址 C 1. 访问内部 RAM 单元 外部 RAM 单元 外部程序存储器 特殊功能寄存器 SFR 可以 39

6 3 单片机应用技术 分别采用哪些寻址方式? 2. 如何区分操作数的地址是位地址还是字节地址 分析下面各条指令, 说明源操作数的寻址方式 MOV A,40H MOV R0,A MOV P1,#0F0H MOV 50H,R0 MOV MOV P2,P1 MOVC 3.3 数据传送类指令 数据传送类指令是指令系统中最基本的 编程时使用最频繁的一类指令 数据传送指令的基本助记符为 MOV, 通用格式如下 : MOV( 目的操作数 ),( 源操作数 ) 数据传送指令的功能就是把由 源操作数 所指定的数据传送 ( 实际上是复制 ) 到 目的操作数 所指定的存储单元或寄存器中, 而 源操作数 所指定的数据不变 此类指令不影响 Cy AC 及 OV 标志, 只影响奇偶标志 P 案例 1 用仿真软件学习数据传送类指令 (1) 在 PC 机上双击 Keil uvision 3 图标, 进入 Keil 调试环境, 选择串行口, 单击 确定 按钮 (2) 单击 项目 新项目 命令, 输入项目名, 选择目标 MCU, 如 Intel 89C52 (3) 编辑文件 : 单击 文件 新建 命令, 在文本编辑器中输入以下程序 : ORG 0000H START: MOV R3,#50H MOV A,#35H MOV R0,#45H 40

7 模块三 80C51 的指令系统和程序设计 3 MOV DPTR,#1234H MOV 30H,A MOV P1,A MOV 45H,#7CH MOV R1,A MOV A,@R0 MOV P2,# B LOOP0: MOV A,R3 LOOP: MOV R7,#0AH SJMP START END (4) 文件保存 : 单击 文件 保存 命令, 在对话框中输入文件名 (5) 为项目添加文件 : 在项目工作区中右击 源代码组 1, 在弹出的快捷菜单中选择 添 加文件到组 源代码组 1 选项, 在弹出的对话框中选中刚保存的文件, 单击 确定 按钮 完成项目文件的添加 (6) 为项目设置通信口 : 在项目工作区中右击 目标 1, 在弹出的快捷菜单中选择 为 目标 目标 1 设置选项 调试 选项 在新窗口中选择使用 Keil monitor-51 Driver, 在 出现的窗口中设置串口和波特率 ( 注 : 波特率必须为 38400) (7) 文件编译 连接 装载 : 单击 项目 重建所有目标文件 命令, 系统自动进行 编译, 并出现信息窗口 若有语法错误, 则需要重新修正, 并再次执行 项目 重建所有目 标文件 命令 ; 若无语法错误, 单击 调试 启动 停止调试 命令进入调试状态 (8) 设置观察窗口 : 单击 视图 存储口窗口 命令, 在地址栏中输入 CPU 内部存 储区地址, 回车后出现地址为 30H 的数据显示于窗口中 (9) 单步执行程序 : 按 F11 键一条一条地执行下去, 注意观察左边寄存器区中相应的寄 存器或者 CPU 内部存储区中相应的数据寄存器单元的数据变化 (10) 连续运行 : 单击 外围设备 复位 CPU 命令, 使 PC 指向 0000H, 单击 调 试 运行 命令后, 程序开始连续运行 如需暂停, 单击 调试 停止运行 命令 (11) 断点运行 : 要使程序执行到某条指令处暂停, 例如希望程序执行到 LOOP0 处暂停, 可按如下操作 : 将光标移到 LOOP0 处双击即可设置断点, 单击 调试 运行 命令, 程 序将在 LOOP0 行停止运行 (12) 复位 : 单击 外围设备 复位 CPU 命令, 强迫 PC 指向 0000H 输入程序, 用 Keil 软件仿真, 进行数据传送指令学习 内部 RAM 单元之间的数据传送指令 内部 RAM 单元之间的数据传送通常是通过 MOV 数据传送指令完成 这类指令称为一般 41

8 3 单片机应用技术 数据传送指令 1. 以累加器 A 为目的操作数的传送指令 MOV A,Rn ;A (Rn) MOV A, direct ;A (direct) MOV ;A ((Ri)) MOV A, #data ;A data 这组指令的功能是把源操作数所指定的数据送入累加器 A, 源操作数可以采用寄存器寻址 寄存器间接寻址 直接寻址和立即寻址方式 例 3-1 假设(R0)=30H, 内部 RAM 中 (30H)=0F7H,(68H)=66H, 给出执行每条指令后 A 的内容 解 : 将每条指令的执行结果写在注释部分 : MOV A,R0 ;(A)=(R0)=30H MOV A,@R0 ;(A)=((R0))=(30H)=0F7H MOV A,68H ;(A)=(68H)=66H MOV A,#18 ;(A)=18 2. 以工作寄存器 Rn(n=0~7) 为目的操作数的传送指令 MOV Rn,A ;Rn (A) MOV Rn,direct ;Rn (direct) MOV Rn,#data ;Rn data 这组指令的功能是把源操作数所指定的数据送入当前工作寄存器区的某个寄存器 例 3-2 假设(A)=2FH, 内部 RAM(36H)=0E6H, 给出执行每条指令后的 Rn 的内容 解 : 将每条指令的执行结果写在注释部分 : MOV R1,A ;(R1)=(A)=2FH MOV R7,36H ;(R7)=(36H)=0E6H MOV R4,#96H ;(R4)=96H 3. 以间接寄存器为目的操作数的传送指令 A ;(Ri) (A) direct ;(Ri) (direct) #data ;(Ri) data 这组指令的功能是把源操作数所指定的数据送入 R0 或 Ri 所指向的内部 RAM 单元 例 3-3 假设(A)=2FH, 内部 RAM(36H)=0E6H,(R0)=30H,(R1)=32H, 给出每条指令的执行结果 解 : 将每条指令的执行结果写在注释部分 : ; 内部 RAM(32H)=(A)=2FH ; 内部 RMA (32H)=(36H)=0E6H ; 内部 RAM (30H)=56=38H 4. 以直接地址为目的操作数的传送指令 MOV direct, A ;direct (A) MOV direct, Rn ;direct (Rn) 42

9 模块三 80C51 的指令系统和程序设计 3 MOV ;direct ((Ri)) MOV direct1,direct2 ;direct1 (direct2) MOV direct, #data ;direct data 这组指令的功能是把源操作数所指定的数据送入直接地址所对应的内部 RAM 单元或 SFR 这里再次强调 direct 表示内部 RAM 或 SFR 的字节地址 例 3-4 分别用 3 种方法将内部 RAM 中 30H 单元的内容传送到 40H 单元 解 :(1) 直接将 30H 单元的内容传送到 40H 单元, 只需一条指令 : MOV 40H,30H ;(40H)=(30H) (2) 用间接寄存器指向源地址, 指令序列如下 : MOV R0,#30H ;(R0)=30H MOV 40H,@R0 ;(40H)=((R0))=(30H) (3) 用间接寄存器指向目标地址, 指令序列如下 : MOV R0,#40H ;(R0)=40H ;(40H)=(30H) 5. 以 DPTR 为目的操作数的传送指令 MOV DPTR,#data16 ;DPTR data16 这条指令的功能是把 16 位立即数送入 DPTR, 这是整个指令系统中仅有的一条 16 位数据 传送指令, 使用该指令可为外部程序存储器或外部数据存储器建立一个地址指针 16 位寄存 器 DPTR 由 DPH 和 DPL 组成 这条指令执行的结果是把高 8 位立即数送入 DPH, 低 8 位立 即数送入 DPL 栈操作指令 在 80C51 内部 RAM 区可以设定一个先进后出的区域作为一个堆栈, 在特殊功能寄存器 中有一个堆栈指针 SP, 它始终指向栈顶位置 引入堆栈的目的, 就是在程序调用或中断时 保护和恢复现场数据及断点地址 在指令系统中有两条栈操作指令 : 进栈指令 (PUSH) 和 出栈指令 (POP) 1. 进栈指令 PUSH direct ;SP (SP)+1( 先变指针 ),(SP) (direct)( 再压栈 ) 这条指令先对指针 SP 加 1, 然后将直接寻址的内部 RAM 单元或 SFR 的内容传送到 SP 所指向的内部 RAM 单元 2. 出栈指令 POP direct ;direct ((SP))( 先出栈 ),SP (SP)-1( 再变指针 ) 这条指令先将堆栈指针 SP 指向的内部 RAM 单元的内容送入直接寻址的内部 RAM 单元 或 SFR, 再对栈指针 SP 减 1 例 3-5 假设(SP)=30H,(DPTR)=0123H, 分析连续执行下列指令序列后 DPTR 及 SP 的 内容 解 : 先分析每条指令执行后的结果 : PUSH DPL ;(SP)=30H+1=31H,(31H)=(DPL)=23H PUSH DPH ;(SP)=31H+1=32H,(32H)=(DPH)=01H 43

10 3 单片机应用技术 POP DPL ;(DPL)=(32H)=01H,(SP)=32H-1=31H POP DPH ;(DPH)=(31H)=23H,(SP)=31H-1=30H 所以程序之行后,(SP)=30H,(DPTR)=2301H 本例说明当进栈和出栈的顺序违反 后进先出 的原则后, 将不能正确恢复原数据 数据交换指令 数据交换主要在内部 RAM 和累加器 A 之间进行, 有整字节和半字节两种交换指令 1. 整字节交换指令 XCH A,Rn ;(A) (Rn) XCH A,direct ;(A) (direct) XCH A,@Ri ;(A) ((Ri)) 这组指令的功能是将累加器 A 的内容与源操作数所指定的数据进行交换 2. 低半字节交换指令 XCHD A,@Ri ;(A.3~A.0) ((Ri.3~Ri.0)) 这条指令的功能是将累加器 A 的低半字节 (D3~D0) 指定的内部 RAM 单元的 低半字节 (D3~D0) 交换, 高半字节 (D7~D4) 保持不变 3. 高 低半字节互换指令 SWAP A ;(A.3~A.0) (A.7~A.4) 这条指令的功能是将累加器 A 的高半字节 (D7~D4) 和低半字节 (D3~D0) 交换 例 3-6 假设(A)=12H,(R0)=34H, 内部 RAM(34H)=56H, 分析每条指令的执行结果 解 : 将每条指令的执行结果写在注释部分 : XCH A,@R0 ;(A)=((R0))=(34H)=56H,(34H)=(A)=12H XCHD A,@R0 ;(A)=16H,(34H)=52H SWAP A ;(A)=21H 累加器 A 与外部 RAM 的数据传送指令 外部数据存储器与内部数据存储器的数据传送只能通过累加器 A 进行, 且只能采用间接 寻址方式 1. 读外部数据存储器或外部 I/O 口的指令 MOVX ;A ((Ri)) MOVX ;A ((DPTR)) 2. 写外部数据存储器或外部 I/O 口的指令 ;(Ri) (a) ;(DPTR) (A) 这组指令功能是访问外部 RAM, 源操作数采用寄存器间接寻址或寄存器寻址 例 3-7 若(DPTR)=3020H, 外部 RAM(3020H)=48H, 执行指令 MOVX 后, (A)=48H 44

11 模块三 80C51 的指令系统和程序设计 累加器 A 与 ROM 的数据传送指令 ( 查表指令 ) 程序存储器属于只读类型, 因此, 有关程序存储器的指令只能实现单方向的数据传送, 且只能采用基址 + 变址寄存器间接寻址方式 1. 基址寄存器为 PC 的查表指令 MOVC ;A ((A)+(PC)) 2. 基址寄存器为 DPTR 的查表指令 MOVC ;A ((A)+(DPTR)) 这组指令的功能是读程序存储器 ROM 执行结果只和 PC 或 DPTR 及累加器 A 的内容有关, 与该指令存放的地址及数据表格存放的地址无关, 因此表格的大小和位置可以在 64KB 程序存储器中任意安排, 表格可以被多个程序模块共享 源操作数的寻址方式采用变址寻址 例 3-8 若(DPTR)=3000H,(A)=20H, 执行指令 M0VC 后, 程序存储器 3020H 单元的内容送入 A 1.MOVC A,@DPTR 与 MOVX A,@DPTR 指令有什么不同? 2. 访问特殊功能寄存器 SFR 可以采用哪些寻址方式? 3. 访问内部 RAM 单元可以采用哪些寻址方式? 4. 访问外部 RAM 单元可以采用哪些寻址方式? 5. 访问外部程序存储器可以采用哪些寻址方式? 1. 试编写程序, 将内部 RAM 的 2FH 2EH 和 2DH 三个连续单元的内容依次存入 25H 24H 23H 单元 2. 假定 (SP)=60H,(A)=30H,(B)=70H, 执行下列指令 : PUSH A PUSH B 后,SP 61H 单元及 62H 单元的内容各是多少? 3. 假定 (SP)=62H,(61H)=30H,(62H)=70H, 执行下列指令 : POP DPH POP DPL 后,SP DPTR 的内容各是多少? 4. 若 (A)=40H,(R0)=50H,(50H)=60H,(40H)=08H, 试分析执行下列程序段后上述各单 元内容的变化 MOV A,@R0 45

12 3 单片机应用技术 MOV 40H,A MOV R0,#F7H 5. 设片内 RAM 中的 (40H)=50H, 写出执行下列程序段后寄存器 A 和 R0, 以及片内 RAM 中 50H 和 51H 单元的内容为何值? MOV A,40H MOV R0,A MOV A,#00 MOV A,#30H MOV 51H,A MOV 52H,#70H 6. 设堆栈指针 (SP)=60H, 片内 RAM 中的 (30H)=24H,(31H)=10H, 执行下列程序段后, 61H 62H 30H 31H DPTR 及 SP 中的内容将有何变化? 7. 在 8051 的片内 RAM 中, 已知 (20H)=30H,(30H)=40H,(40H)=50H,(50H)=55H, 分 析下面各条指令, 说明源操作数的寻址方式, 分析按顺序执行各条指令后的结果 MOV A,40H MOV R0,A MOV P1,#0F0H MOV 50H,R0 MOV A,@R0 MOV P2,P1 8. 试写出完成以下每种操作的指令序列 (1) 将 R1 的内容传送到 R0 (2) 外部 RAM 单元 1000H 的内容传送到内部 RAM 单元 50H (3) 内部 RAM 单元 50H 的内容传送到寄存器 R1 (4) 外部 RAM 单元 2000H 的内容传送到寄存器 R1 3.4 算术运算类指令 算术运算类指令共 24 条, 包括加 减 乘 除 4 种最基本的算术操作 这类指令多数以 A 为源操作数之一, 同时又使 A 为目的操作数 借助溢出标志, 可对带符号数进行补码运算 ; 借助进位标志, 可实现多字节加减运算 ; 借助调整指令, 也可对压缩 BCD 码进行运算 案例 2 用仿真软件学习算术运算类指令 46

13 模块三 80C51 的指令系统和程序设计 3 (1) 在 PC 机上双击 KEIL uvision 3 图标, 进入 KEIL 调试环境, 编辑文件, 在文本编辑 器中输入以下程序 : ORG 0000H START: MOV R3,#50H MOV A,#35H ADD A,#45H ADD A,R3 ADDC A,#79H INC A SUBB A,#23H DEC A MOV B,#29H MUL AB MOV A,#0FBH MOV B,#18 DIV AB LOOP: SJMP START END (2) 保存文件 文件编译 连接 装载 若有语法错误, 则需要重新修正, 若无语法错 误, 进入调试状态 (3) 设置观察窗口, 单步执行程序, 按 F11 键一条一条地执行下去, 注意观察左边寄存 器区中相应的寄存器或者 CPU 内部存储区中相应的数据寄存器单元的数据变化 验证运算结 果是否正确 加法指令 80C51 的指令系统只有 8 位数据的加法运算指令, 包括半加 全加及增量运算 1. 不带进位的加法指令 ( 半加 ) 不带进位的加法运算相当于数字电路中的半加器, 参与运算的数据只有被加数和加数, 而不考虑低位的进位, 指令格式如下 : ADD A,Rn ;A (A)+(Rn) ADD A,direct ;A (A)+(direct) ADD A,@Ri ;A (A)+((Ri)) ADD A,#data ;A (A)+data 47

14 3 单片机应用技术 48 这组指令常用于多字节无符号数据的加法运算 上面 4 条指令是将累加器 A 的内容和工 作寄存器 Rn 的内容 直接地址单元中的内容 由 Ri 间接寻址内部 RAM 单元的内容以及立即 数相加, 所得的和再存入到累加器 A 中 上述指令将影响 AC CY OV 和 P 标志位 例如在执行上述指令时, 第 3 位向第 4 位有 进位, 则将 AC 置 1, 否则清零 ; 第 7 位向上有进位, 则将 CY 置 1, 否则清零 ; 最高位向上 的进位和次高位向最高位的进位相异或若为 1, 则置 OV 为 1, 否则清零 ; 同样对 P 标志的影 响也是如此, 若相加后 A 中 1 的个数为奇数, 则将 P 置 1, 否则清零 2. 带进位加法指令 (4 条 ) 这 4 条指令除与 ADD 功能相同外, 在进行加法运算时还需要考虑进位问题 ADDC A,direct ADDC A,#data ADDC A,Rn ;(A)+(direct)+(C) (A) ;(A)+ data +(C) (A) ;(A)+(Rn)+(C) (A) ADDC A,@Ri ;(A)+((Ri))+(C) (A) 这组指令的功能是把源操作数与累加器 A 中的内容 连同进位位相加, 结果存放在目的 操作数 A 中 这组指令的操作影响程序状态字 PSW 中的 OV C AC 和 P 标志 例 3-9 设内部 RAM 30H~32H 有 3 个单字节的无符号数, 求它们的和, 并将和的低 字节送入 33H 单元, 高字节送入 34H 单元 解 : 程序清单如下 : MOV A,30H ADD A, 31H MOV 33H,A MOV A,#00H ADDC A,#00H MOV 34H, A MOV A,33H ADD A,32H MOV 33H,A MOV A,34H ADDC A,#00H MOV 34H,A 3. 加 1 指令 加 1 运算又称增量运算 INC A INC Rn INC direct INC DPTR ;(A) (30H)+(31H), 请注意标志位 Cy ; 前两位相加之和的非进位部分暂存于 33H ; 前两位相加时进位放入 A 中 ; 两数相加时的进位暂存于 34H ; 前两数相加之和的非进位部分放入 A 中 ; 加第三个字节数, 请注意标志位 Cy ; 和的低字节存入 33H 单元 ; 将前两数相加时的进位放入 A 中 ; 将 3 数相加时的进位值求出并放入 A 中 ; 和的高字节存入 34H 单元 ;A (A)+1 ;Rn (Rn)+1 ;direct (direct)+1 ;(Ri) ((Ri))+1 ;DPTR (DPTR)+1 这组指令的功能是对累加器 寄存器 内部 RAM 单元或数据指针进行加 1 操作 加 1 指

15 模块三 80C51 的指令系统和程序设计 3 令的操作不影响标志位的状态 ( 除 INC A 影响 P 标志外 ) 例 3-10 设 (R0)=7EH,(DPTR)=10FEH, 内部 RAM(7EH)=0FFH,(7FH)=38H, 分析下 列指令顺序执行的情况 解 : 顺序执行指令时, 前一条指令的结果当作当前指令的条件, 执行结果请看注释 INC R0 INC DPTR INC DPTR INC DPTR 减法指令 1. 带借位减法指令 指令格式如下 : SUBB A,Rn SUBB SUBB A,direct SUBB A,#data ;(R0)=7EH,(7EH)=0FFH+1=00H ;(R0)=7EH+1=7FH ;(R0)=7FH,(7FH)=38H+1=39H ;(DPTR)=10FEH+1=10FFH ;(DPTR)=10FFH+1=1100H ;(DPTR)=1100H+1=1101H ;A (A)-(Rn)-(Cy) ;A (A)-((Ri))-(Cy) ;A (A)-(direct)-(Cy) ;A (A)-data-(Cy) 这组指令的功能是从累加器 A 中减去由不同寻址方式确定的操作数及进位标志, 结果仍 在累加器 A 中 指令执行后将影响 Cy AC OV 及 P 标志, 根据这些标志可以分析两数差值 情况 : (1) 两个无符号数相减时, 若 (Cy)=1, 表明被减数小于或等于减数, 此时必须将累加器 A 中的值连同借位一并考虑才能得到正确结果 (2) 两个带符号数相减时, 若 (OV)=0, 表明没有发生溢出 ; 若 (OV)=1, 表明发生溢出 例 3-11 设 (A)=43H,(R1)=6AH,(Cy)=1, 分析指令 SUBB A,R1 执行后的结果 解 : 计算过程如下 : B B - 1B B 则结果为 :(Cy)=1,(AC)=1,(OV)=0,(P)=0,(A)=0D8H 2. 减 1 指令 减 1 又称减量运算, 减量包括 4 条指令 : DEC A DEC Rn DEC direct ;A (A)-1 ;Rn (Rn)-1 ;@ ((Ri))-1 ;direct (direct)-1 这组指令的功能是对累加器 寄存器以及内部 RAM 单元的内容减 1 该组指令不影响标 志位 ( 除 DEC A 影响 P 标志外 ) 49

16 3 单片机应用技术 乘法指令 MCS-51 的指令系统只有一条乘法运算指令, 且只能进行 8 位无符号数的乘法运算, 指令 格式如下 : MUL AB ;A (A) (B) 低字节,B (A) (B) 高字节 该指令的功能是把累加器 A 和寄存器 B 中的两个 8 位无符号数相乘, 乘积又送回到 A B, 其中 B 中存放积的高位字节,A 中存放积的低位字节 若乘积大于 0FFH, 则溢出标志 OV=l 乘法运算总对 Cy 清零, 但不影响其他标志位 除法指令 DIV AB ;A (A)/(B)( 商 ),B (A)/(B)( 余数 ) 该指令是把 A 中的 8 位无符号数除以 B 中的 8 位无符号数, 商存放在 A 中, 余数存放在 B 中 若除数为 0, 执行该指令后结果不定, 并将 OV 置 l Cy 在除法运算中总为 0 例 3-12 设 (A)=50H,(B)=32H, 分析下面每条指令的执行结果 (1)MUL AB (2)DIV AB 解 : 每条指令的执行结果写于各自的注释段内, 计算过程如下 : 被乘数 乘数 商 0l 除数 / 被除数 乘积 余数 (1)MUL AB (2)DIV AB ;(A)=0A0H,(B)=0FH ;(A)=1,(B)=1EH 1.ADD 与 ADDC 指令有什么区别? 2. 在进行单字节减法运算时, 应该注意什么? 3. 已知两乘数分别存放在 R1 和 R0 中, 试编程求其积, 并存入 R3 和 R 有两个双字节数求和, 两个数分别放在 20H~23H, 结果放在 30H 和 31H 试编写程

17 模块三 80C51 的指令系统和程序设计 3 序实现之 2. 分析程序并写出结果 已知 (R0)=20H,(20H)=10H,(P0)=30H,(R2)=20H, 执行如下程序段后,(40H)= #11H MOV A, R2 ADDC A, 20H MOV PSW, #80H SUBB A, P0 MOV 40H, A 3. 试编写程序, 将内部 RAM 的 20H 21H 单元的两个无符号数相乘, 结果存放在 R2 R3 中,R2 中存放高 8 位,R3 中存放低 8 位 3.5 逻辑运算与循环类指令 案例 3 用仿真软件学习逻辑运算与循环类指令 (1) 在 PC 机上双击 Keil uvision 3 图标, 进入 Keil 调试环境, 编辑文件, 在文本编辑器 中输入以下程序 : ORG 0000H START: MOV A,#35H LOOP: ANL A,#47H MOV R3,#5BH ORL A,R3 XRL A,#79H CPL A RR A RL A RRC A RLC A SWAP A SJMP START END (2) 保存文件 文件编译 连接 装载 若有语法错误, 则需要重新修正 ; 若无语法错 误, 进入调试状态 51

18 3 单片机应用技术 (3) 设置观察窗口, 单步执行程序, 按 F11 键一条一条地执行下去, 注意观察左边寄存 器区中相应的寄存器或者 CPU 内部存储区中相应的数据寄存器单元的数据变化 验证程序运 算结果是否正确 逻辑运算和移位指令共有 25 条, 有与 或 异或 求反 左右移位 清零等逻辑操作, 有直接 寄存器和寄存器间址等寻址方式 这类指令一般不影响程序状态字 (PSW) 标志 循环移位指令 (4 条 ) 这 4 条指令的作用是将累加器中的内容循环左移或右移一位, 后两条指令是连同进位位 CY 一起移位的 RL A ; 累加器 A 中的内容左移一位 (RL,Rotate Left) RR A ; 累加器 A 中的内容右移一位 (RR,Rotate Right) RLC A ; 累加器 A 中的内容连同进位位 CY 左移一位 (RLC,Rotate left carry) RRC A ; 累加器 A 中的内容连同进位位 CY 右移一位 (RRC,Rotate right carry) 例 3-13 阅读下面的程序, 说明其所实现的功能 解 : 指令的执行情况见每条指令的注释部分 MOV R0,#27H ; 送立即数 27H 到 R0 MOV A,@R0 ; 取内部 RAM 27H 单元的内容到累加器 RL A ;(27H) 2 MOV R1,A ;(R1)=(27H) 2 RL A ;(27H) 4 RL A ;(27H) 8 ADD A,R1 ;(A)=(27H) 2+(27H) 8=(27H) 10 ; 保存结果该程序的功能是对内部 RAM 27H 单元的内容乘 求反指令 ( 一条 ) 这条指令将累加器中的内容按位取反 CPL A ; 累加器中的内容按位取反 例 3-14 对 40H 单元的内容求补 解 : 求补和求补码是不同的, 求补即求取反加 1, 不分符号位和数字位, 不考虑正负 ; 求补码要分符号位和数字位, 还要考虑正负 程序清单如下 : MOV A, 40H ; 取待求数据 CPL A ; 取反 INC A ; 加 1 MOV 40H,A ; 保存结果 52

19 模块三 80C51 的指令系统和程序设计 清零指令 ( 一条 ) 这条指令将累加器中的内容清零 CLR A 否相等 逻辑与操作指令 (6 条 ) ; 0 (A), 累加器中的内容清零 这组指令的作用是将两个单元中的内容执行逻辑与操作 ANL A,Rn ANL A,@Ri ANL A,direct ANL A, #data ANL direct,a ANL direct,#data ;A (A) (Rn) ;A (A) ((Ri)) ;A (A) (direct) ;A (A) data ;direct (direct) (A) ;direct (direct) data 与运算的规则是 : 相应位 见 0 为 0, 全 1 为 逻辑或操作指令 (6 条 ) 这组指令的作用是将两个单元中的内容执行逻辑或操作 ORL A,Rn ORL ORL A,direct ORL A,#data ORL direct,a ORL direct,#data ;A (A) (Rn) ;A (A) ((Ri)) ;A (A) (direct) ;A (A) data ;direct (direct) (A) ;direct (direct) data 或运算的规则是 : 相应位 见 1 为 1, 全 0 为 逻辑异或操作指令 (6 条 ) 这组指令的作用是将两个单元中的内容执行逻辑异或操作 XRL A,Rn ;A (a) (Rn) XRL A,@Ri ;A (a) ((Ri)) XRL A,direct ;A (a) (direct) XRL A,#data ;A (a) data XRL direct,a ;direct (direct) (A) XRL direct,#data ;direct (direct) data 异或运算的运算规则是 : 对应位 相同为 0, 不同为 1, 据此可用异或指令判断两数是 例 3-15 假设 (A)=0D4H, 分析每条指令的执行结果 解 : 指令执行结果见每条指令注释部分, 计算过程如下 : 53

20 3 单片机应用技术 B B (1)ANL A,#0FH (2)ORL A,#0FH ; 用 0 屏蔽 A 的高 4 位, 即 高 4 位清零, 低 4 位不变, 所以 (A)=04H ; 用 1 屏蔽 A 的低 4 位, 即 高 4 位不变, 低 4 位置 1, 所以 (A)=0DFH (3)XRL A,#0FH ;(A)=0DBH, 相当于 高 4 位不变, 低 4 位求反 所以, 想给某位清零, 可使之与 0 相与 ; 想给某位置 l, 可使之与 l 相或 ; 想对某 位求反, 可使之与 l 相异或 例 3-16 编写程序, 将 A 的低 5 位传送到 Pl 的低 5 位, 但保持 Pl 的高 3 位不变,A 的 内容也保持不变 解 : 要保持 A 的内容可以采用堆栈, 也可以将 A 的内容暂存到其他寄存器 ; 要传送 A 的 低 5 位到 Pl 的低 5 位, 最简单最通用的办法就是采用逻辑操作指令 当然, 也可以采用位传 送指令, 只是比较烦琐 采用逻辑运算指令的程序清单如下 : PUSH ACC ANL A,# B ANL Pl,# B ORL Pl,A POP ACC B B B B ; 保留 A 的原值 ; 屏蔽 A 的高 3 位, 低 5 位保持不变 ; 将 P1 的高 3 位保持不变, 屏蔽低 5 位 B B B ; 保持 P1 的高 3 位不变, 将 A 的低 5 位传送到 P1 的低 5 位 如何使某位清零, 如何使某位置 l, 如何对某位求反? 1. 试编写程序, 将 R0 中的低 4 位数与 R1 中的高 4 位数合并成一个 8 位数, 并存放在 R0 中 2. 以下程序段执行后,(A)=,(30H)= MOV 30H,#0A4H MOV A,#0D0H MOV R0,#30H MOV R2,#5EH ANL A,R2 ORL A,@R0 SWAP A CPL A XRL A,#0FEH ORL 30H,A 54

21 模块三 80C51 的指令系统和程序设计 控制转移类指令 计算机的程序一般是按顺序执行的 ( 由 PC 自动加 1 实现 ), 但也可以根据需要用控制转 移类指令改变程序的执行顺序 MCS-51 的控制转移类指令共 17 条, 包括条件转移指令 无条件转移指令及子程序调用 与返回指令 无条件转移指令 1. 长转移指令 LJMP addr16 ;PC addr16 指令执行时把 16 位目标地址 (addr16) 直接送给 PC, 从而实现程序转移 本转移指令可 覆盖整个程序存储器空间, 即 64KB 在实际使用时,addr16 常用符号地址表示 2. 短转移指令 AJMP addr11 ;PC (PC)+2,PC 10~0 addr11,pc 15~11 不变 指令执行时,PC( 加 2 修改后的值 ) 的高 5 位与指令中的 11 位地址拼接在一起, 共同形 成 16 位的目标地址, 从而达到在现行地址所在 2KB 的范围内转移 在实际使用时,addr11 常用符号地址来代替 3. 相对转移指令 SJMP rel ;PC (PC)+2,PC (PC)+rel 该指令的功能是根据指令中给出的相对偏移量 rel 计算出程序将要转移的目标地址 : 在实际使用时,rel 常用符号地址来表示 目标地址 = 源地址 ( 本指令所在地址 )+2+rel 例如, 在程序存储器 0100H 单元开始存储有下列程序段, 则程序执行完 SJMP 指令后自 动转向 LOOP 处执行 0100H SJMP LOOP 0102H MOV A,#10H 0130H ADD A,R0 LOOP: A,#40H 在这里 LOOP 代表指令的地址是 0130H+1(ADD 指令的字节数 )=0131H, 所以可求出相 对偏移量为 :rel=0131h-0100h-2=2fh( 只取低字节 ) 再如, 在实际应用中常使用该指令完成程序 原地踏步 功能, 指令形式如下 : SJMP $ 其中的 $ 表示当前指令的地址, 该指令等同于指令 : 55

22 3 单片机应用技术 56 LOOP: SJMP LOOP 4. 间接转移指令 ;PC (A)+(DPTR) 这条指令的功能是把累加器中的 8 位无符号数与数据指针 DPTR 的 16 位数相加, 结果作 为目标地址, 指令执行后不改变 A 和 DPTR 的内容, 也不影响标志位 该指令可根据 A 的内容进行跳转, 而 A 的内容又可随意改变, 故可形成程序分支 本指 令跳转范围为 64KB 例 3-17 设某单片机系统的键盘扫描程序所得键值存放在 R2 中, 试编写程序, 当 R2 为 时, 能够使程序分别转向去执行与按键对应的功能 解 : 题目属于一个多分支程序结构, 应采用 JMP 指令来实现, 程序清单如下 : MOV A,R2 RL A MOV DPTR,#TABLE TABLE: AJMP ROUT0 AJMP ROUT1 ; 取控制变量 ; 对 A 乘 2 修正, 因为 AJMP 为 2B 指令 AJMP ROUT2 当 R2=0 时, 程序将转到 ROUT0 处执行 ; 当 R2=1 时, 程序将转到 ROUT1 处执行 ; 当 R2=2 时, 程序将转到 ROUT2 处执行 条件转移指令 1. 累加器判零转移指令 JZ rel JNZ rel ; 若 (A)=0, 转移 ; 否则顺序执行本指令的下一条指令 ; 若 (A) 不等于 0, 转移 ; 否则顺序执行本指令的下一条指令 这两条指令以累加器 A 的内容是否为 0 作为转移的条件 指令的执行结果不影响任何一 个操作数的内容, 也不影响任何标志位 2. 比较不相等转移指令 CJNE A,#data, rel CJNE A,#direct, rel CJNE Rn,#data,rel ; 若 (A)=data, 顺序执行 ; 否则转移 ; 如果 (A)>data,C=0; 否则 C=1 ; 若 (A)=(direct), 顺序执行 ; 否则转移 ; 若 (Rn)=data, 顺序执行 ; 否则转移 ; 若 ((Ri))=data, 顺序执行 ; 否则转移 这组指令的功能是比较两个操作数 ( 无符号数 ) 是否相等, 若两数不相等则转移 ; 若相 等则顺序执行下一条指令 如果第一操作数大于或等于第二操作数, 则 (Cy)=0; 反之, 若第一 操作数小于第二操作数, 则 (Cy)=1 指令的执行结果不影响任何一个操作数的内容 3. 减 1 不为 0 转移指令 DJNZ Rn,rel ;Rn (Rn)-1 ; 若 (Rn) 0, 则转移, 继续循环 ; 若 (Rn)=0, 则结束循环, 程序往下执行

23 模块三 80C51 的指令系统和程序设计 3 DJNZ direct,rel ;direct (direct)-1 ; 若 (direct) 0, 则转移, 继续循环 ; 若 (direct)=0, 则结束循环, 程序往下执行 这组指令对控制已知循环次数的循环过程十分有用 : 指定任何一个工作寄存器 Rn 或 RAM 单元 direct 为循环变量, 对循环变量赋予初值以后, 每完成一次循环, 循环变量自动减 1, 直 到循环变量减为 0 时循环结束 例 3-18 编写程序, 将内部 RAM 从 20H 开始的 20 个数据传送到外部 RAM 从 2000H 开始的对应单元中 解 : 要实现题目要求, 一种方法是使用顺序程序结构, 但比较烦琐 ; 另一种方法是采用 循环程序结构, 程序清单如下 : MOV R1,#20H MOV DPTR,#2000H MOV R7,#20 ; 取源数据首地址 ; 取目标单元首地址 ; 置循环变量 LOOP: MOV A,@R1 ; 取数据 INC R1 INC DPTR DJNZ R7,LOOP SJMP $ 子程序调用与返回指令 ; 送数据到目标单元 ; 修改地址, 指向下一个源数据单元 ; 修改地址, 指向下一个目标单元 ; 修改循环变量, 并判断数据是否处理完 ; 程序踏步 子程序是程序设计中常用的一种结构, 为了缩短程序 节省存储空间, 常常把逻辑上相 对独立或具有通用意义的某段程序编写成子程序, 当某个程序需要引用该子程序时, 只需要通 过子程序调用指令即可转向子程序, 而当子程序执行完毕, 又需要通过子程序返回指令把程序 的执行流程引导到调用程序中继续执行 为了实现子程序的调用与返回,MCS-51 提供了两条调用指令和两条返回指令 (1) 短调用指令 : ACALL addr11 (2) 长调用指令 : LCALL addr16 (3) 返回指令 : RET (4) 中断返回指令 : RETI 第一条指令是短调用指令, 实际书写程序时常这样写 : ACALL SUB 即用标号的形式来指出调用的位置 第二条指令是长调用指令, 实际书写程序时常这样写 : LCALL SUB 57

24 3 单片机应用技术 同样用标号的形式来指出调用的位置 RET 指令和 RETI 指令为子程序的最后一条指令 空操作指令空操作指令是唯一的一条不使 CPU 产生任何操作的控制指令, 其格式为 : NOP ;PC (PC)+1 NOP 指令的功能是使程序计数器 PC 加 1, 在执行时间上消耗 12 个时钟周期, 因此常用 NOP 指令实现等待或延时 1. 控制已知循环次数的循环过程通常用什么指令完成? 2.SJMP AJMP 和 LJMP 指令在功能上有什么不同? 1. 试编写程序, 将 R0 中的低 4 位数与 R1 中的高 4 位数合并成一个 8 位数, 并存放在 R0 中 2. 若单片机的主频为 12MHz, 试用循环转移指令编写延时 20ms 的延时子程序, 并说明这种软件延时方式的优缺点 3.7 位操作类指令 位操作又称为布尔操作, 它是以位为单位进行的各种操作 在布尔处理机中, 借用进位 标志 Cy 来存放逻辑运算结果, 大部分操作都涉及 Cy, 因此它相当于布尔处理机的 累加器, 称为 位累加器, 用符号 C 表示 位传送指令 MOV C,bit ; Cy (bit) MOV bit,c ; bit (Cy) 这组指令其中的一个操作数必须是进位标志 C, 另一个可以是位地址 ( 用 bit 表示 ) 例如 : MOV C,ACC.7 ; 将 ACC 中的最高位送给 Cy 再如, 设 (Pl)= B,(P3)= B, 执行下面两条指令 : MOV C,P3.3 MOV Pl.2,C 58

25 模块三 80C51 的指令系统和程序设计 3 则结果为 :(P3)= B, 状态未变 ;(Cy)=0,(Pl)= B 位置位和位清零指令 SETB C SETB bit ;Cy 1 ;bit 1 这两条指令可以实现地址单元与位累加器的置位 CLR C CLR bit ;CY 0 ;bit 0 这两条指令可以实现地址单元与位累加器的清零 例如 : SETB P1.0 ; 可使 P1.0 置 1 CLR P 位逻辑运算指令 ; 可使 P1.0 清零 位逻辑运算指令包括 与 或 非 3 种, 下面介绍它们的指令格式 1. 位逻辑 与 指令 ANL C,bit ;CY (CY) (bit) ANL C,/bit ;CY (CY) (bit) 取反 这两条指令是将 CY 标志位中的内容与位地址单元的内容或其内容的反码进行逻辑与操 作, 并将相与的结果再送入到 CY 标志位中 2. 位逻辑 或 指令 ORL C, bit ;CY (CY) (bit) ORL C, /bit ;CY (CY) (bit) 取反 这两条指令是将 CY 标志中的内容和直接位地址中的内容或其内容的反码进行逻辑或操 作, 并将相或的结果送入到 CY 标志位中 3. 位逻辑 非 指令 CPL C CPL bit ;CY (CY) 取反 ;bit (bit) 取反 这两条指令是将 CY 标志位中的内容或直接位地址中的内容取反, 再放回原单元中去 位条件转移指令 1. 位累加器 Cy 状态判断转移指令 JC rel JNC rel ; 若 (Cy)=1, 转移 ; 若 (Cy)=0, 转移 这组指令通常与 CJNE 指令一起使用, 可以比较出两个数的大小, 从而形成大于 小于 等于 3 个分支 2. 位状态判断转移指令 JNB bit,rel JBC bit,rel ; 若 (bit)=0, 转移 ; 若 (bit)=1, 转移, 且 bit 0 59

26 3 单片机应用技术 JB bit,rel ; 若 (bit)=1, 转移这几条指令可以实现位测试条件转移 其中 JBC 指令除了判断位地址的内容外, 还将被测位清零 为什么说布尔处理功能是 8051 单片机的重要特点? 1. 试用位操作指令实现下列逻辑操作, 要求不得改变未涉及的位的内容 (1) 使 ACC.0 置位 (2) 清除累加器高 4 位 (3) 清除 ACC.0 ACC.1 ACC.2 ACC.3 2. 若 (CY)=1,(P1)= B,(P3)= B, 试指出执行下列程序段后,CY P1 口及 P3 口内容的变化情况 MOV P1.3,C MOV P1.4,C MOV C,P1.6 MOV P3.6,C MOV C,P1.0 MOV P3.4,C 3.8 程序设计实例 指令系统是熟悉单片机功能 合理应用单片机的基础 掌握单片机指令的关键在于多看 多练, 多上机练习, 然后在现有程序的基础上进行模仿性编程 汇编语言程序有 4 种结构形式, 即顺序结构 分支结构 循环结构和子程序结构 下面 举例说明这 4 种程序结构及编程方法 顺序结构程序设计 案例 4 拆字程序 60

27 模块三 80C51 的指令系统和程序设计 3 把 8000H 地址上的内容拆开, 高位送 8001H 地址的低位, 低位送 8002H 地址的低位, 8001H 8002H 地址的高位清零 本程序通常在把数据送显示缓冲区时使用 程序流程图如图 3-1 所示, 程序清单如下 : 图 3-1 程序流程图 ORG 0000H MOV DPTR,#8000H MOVX A,@DPTR MOV B,A SWAP A ANL A,#0FH INC DPTR INC DPTR MOV A,B ANL A,#0FH LOOP: SJMP LOOP 案例 5 END 拼字程序 ; 指定的字节 ; 暂存 ; 交换 ; 屏敝高位 ; 指定字节的内容屏敝高位 把 8000H 8001H 两个字节的低位分别送入 8002H 的高位和低位 本程序一般用于把显 示缓冲区中的数据取出拼装成一个字节 程序流程图如图 3-2 所示, 程序清单如下 : ORG 0000H MOV DPTR,#8000H MOVX A,@DPTR ANL A,#0FH SWAP A ; 屏敝高位 61

28 3 单片机应用技术 MOV B,A INC DPTR MOVX ANL A,#0FH ORL A,B INC DPTR LOOP: SJMP LOOP END ; 保存 ; 合并 ; 送 8002H 存放 图 3-2 程序流程图 62 案例 6 查表程序 求 R1 中的数 (0~15 之间 ) 平方, 结果仍放回到 R1 中 查表是计算机解决复杂问题所采取的一种简单而有效的方法 它根据变量 x 的值, 在表 格中查找 y, 使 y=f(x) 由于查表程序结构简单, 执行速度快, 因而广泛应用于数值计算 转 换 补偿 显示 打印等功能程序中 设计查表程序的关键是善于组织表格, 使其具有一定的规律性, 便于编程查找 程序清 单 ( 采用 DPTR 当基址寄存器 ) 如下 : ORG 0100H TAB2: PUSH DPH PUSH DPL MOV DPTR, #TAB MOV A, R1 MOVC MOV R1, A POP DPL POP DPH RET ; 保存 DPTR 的原值 ; 取平方表首地址 ; 查平方表 ; 恢复 DPTR 的原值

29 模块三 80C51 的指令系统和程序设计 3 TAB: DB 0,1,4,9,16,25,39 ; 平方表 DB 49,64,81,100,121 ; 续表 DB 144,169,196,225 ; 续表 为了保护调用程序中 DPTR 的值, 在子程序中可以用堆栈进行保护, 子程序返回之前应 正确恢复 分支结构程序设计 程序分支是通过条件转移指令实现的, 即根据条件对程序的执行进行判断, 满足条件则 进行程序转移, 不满足条件则顺序执行程序 案例 7 无符号数的比较 ( 单分支结构 ) 比较外部 RAM 的 Data1 和 Data2 单元的两个无符号数, 并将大数存入 Data3 单元 (Data1 Data2 Data3 为 3 个连续的单元 ) 解 : 该问题属于单分支结构, 程序流程图如图 3-3 所示, 程序清单如下 : 图 3-3 无符号数的比较 ORG 1000H COM1: MOV DPTR,#DATA1 MOV A,@DPTR MOV B,A INC DPTR MOVX A,@DPTR CJNE A,B,L1 ; 设置外部数据存储器指针 ; 取第一个数 ; 暂存第一个数到 B ; 修改指针, 指向第二个数所在的单元 ; 取第二个数到 A ; 两数比较, 产生 Cy 标志 L1: JC BIG1 ; 若第二个数小于第一个数, 则转向 BIG1; 修改 63

30 3 单片机应用技术 BIG: INC DPTR ; 指针, 指向 Data3 单元 ; 存大数 RET BIG1: XCH A,B ; 将大数转移到 A SJMP BIG END 案例 8 码制转换 ( 双分支结构程序 ) 将 R2 中的一位十六进制数转换为 ASCII 码, 结果仍放在 R2 中 解 : 查 ASCII 码表可知数字 0~9 的 ASCII 码分别是 30H~39H; 英文大写字母 A~F 的 ASCII 码分别是 41H~46H 可见该十六进制数若 <10, 要转换为 ASCII 码应加 30H; 若 10, 则加 37H 该问题属于双分支结构, 程序流程图如图 3-4 所示, 程序清单如下 : 图 3-4 十六进制数转换为 ASCII 码 ORG 0000H HEXASC: MOV A, R2 ; 将该十六进制数暂存于 A 中 CJNE A, #0AH, L1 L1: JNC ADD_37 ; 判断是否小于 0AH ADD_30: ADD A, #30H MOV R2, A RET ADD_37: ADD A, #37H MOV R2, A ; 小于 0AH, 则加 30H ; 保存结果 ; 子程序返回 ; 大于或等于 0AH, 则加 37H ; 保存结果 RET 该程序使用了两个子程序返回指令, 这也是双分支程序的一个特点 案例 9 带符号数的比较 ( 多分支结构程序 ) 比较内部 RAM 的 Data1 和 Data2 单元内以补码形式表示的两个带符号数, 并将大数存入 64

31 模块三 80C51 的指令系统和程序设计 3 BIG 单元, 小数存入 SMALL 单元 ; 若两数相等, 则建立起标志位 F0 解 : 要比较两个带符号数, 不能依据 Cy 标志位判定其大小, 其判定方法为 : (1) 若 X Y 两数符号相同, 且 (X-Y) 为正, 表明 X>Y (2) 若 X Y 两数符号不同, 则根据符号判定大小 程序流程图如图 3-5 所示, 程序清单如下 : 图 3-5 比较两个带符号数 DATA1 EQU 40H DATA2 EQU 41H BIG EQU 30H SMALL EQU 31H ORG 0000H COM2: MOV A, 40H XRL A, 41H JNZ STEP1 SETB F0 RET STEP1: JB ACC.7, TEST XRL A, 41H SUBB A, 41H JB ACC.7, STEP3 STEP2: MOV BIG, 40H TEST: MOV SMALL, 41H RET XRL A, 41H JNB ACC.7, STEP2 STEP3: MOV SMALL, 40H ; 两数不等, 转 STEP1 ; 两数相等,F0 置位 ; 两数异号, 转 TEST ; 恢复 40H ; 比较 ;40H 小, 转 STEP3 ;40H 为正, 转 STEP2 65

32 3 单片机应用技术 MOV BIG, 41H RET 该程序为多分支结构程序 循环结构程序设计 当需要反复执行某段程序时, 采用循环程序最为适宜 它可以简化程序的编制, 使程序 结构清晰, 并大大缩短程序所占用的内存单元 循环又分单重循环 双重循环和多重循环 案例 计算 X 并将结果保存在内部 RAM 的 Y 单元中 x 1 解 : 程序清单如下 : Y EQU 20H ORG 1000H CLR A MOV R0,#01 NEXT: CJNE R0,#10,AD MOV Y,A RET ; 清部分和 ; 置循环初值 ; 判断是否完成 ; 保存结果 ; 结束 AD: ADD A,R0 ; 计算部分和 INC R0 SJMP NEXT ; 循环修改 ; 继续累加下一个数据 该程序属于 先判断后执行 结构的单循环程序 案例 11 求最大数 设有一组数存放在内部 RAM 从 Data 开始的连续单元中, 这组数的长度存放在 Data1 单 元中, 试编写程序找出将其中的最大数, 并存入 Data2 单元 解 : 根据题意, 可先假设第一个数为最大数并放入 DATA2 单元, 然后逐个取出其他数据, 并与 DATA2 单元中的数据进行比较, 若当前数大于 DATA2 单元中的数据, 则将当前数存入 DATA2 单元 ; 否则继续比较下一个数, 直至比较结束 程序清单如下 : Data EQU 42H Data1 EQU 41H Data2 EQU 40H ORG 0000H MOV R0, #Data MOV DEC Data1 ; 设置地址指针, 并指向存放数据的起始单元 ; 将第一个数当作当前最大数 ; 修改剩余的数据个数 66

33 模块三 80C51 的指令系统和程序设计 3 NEXT: INC R0 ; 指向下一个数据单元 MOV ; 取当前数据 CJNE A, Data2, COMP ; 比较当前数与当前最大数 COMP: JC CON ; 若当前数小于当前最大数, 则继续 MOV Data2, A ; 否则, 把当前数当作最大数 CON: DJNZ Data1, NEXT ; 判断数据是否比较完毕 RET ; 比较结束 该程序属于 先执行后判断 结构的单循环程序 子程序设计 对于一般的单片机应用系统, 通常采用模块化程序设计方法来设计应用程序 所谓模块 化程序设计, 就是把一个复杂的程序分成多个功能上相对独立的程序模块 ( 即子程序 ), 分别 编制 调试, 然后连接在一起形成一个完整的程序 为此, 对那些具有独立功能的或通用的或 需要多次重复使用的程序段, 常编写成子程序, 需要执行这段程序时, 就用 ACALL 或 LCALL 指令调用该子程序, 子程序执行完毕再由返回指令 RET 返回到调用程序继续执行 子程序调 用与返回过程如图 3-6 所示 图 3-6 子程序的调用与返回 案例 12 一位数码管显示 P1 接七段数码管段数据口,P3.4 接七段数码管位数据口, 编写程序, 使一位数码管 0~9 循环点亮 数码管为共阴极数码管 程序流程图如图 3-7 所示, 程序清单如下 : ORG 0000H START: CLR P3.4 MOV P1,#3FH ; 显示 0 67

34 3 单片机应用技术 图 3-7 LCALL DELAY MOV P1,#06H ; 显示 1 LCALL DELAY MOV P1,#5BH ; 显示 2 LCALL DELAY MOV P1,#4FH ; 显示 3 LCALL DELAY MOV P1,#66H ; 显示 4 LCALL DELAY MOV P1,#6DH ; 显示 5 LCALL DELAY MOV P1,#7DH ; 显示 6 LCALL DELAY MOV P1,#07H ; 显示 7 LCALL DELAY MOV P1,#7FH ; 显示 8 LCALL DELAY MOV P1,#67H ; 显示 9 68

35 模块三 80C51 的指令系统和程序设计 3 LCALL DELAY LJMP START DELAY: MOV R4,#10 D1: MOV R5,#200 D2: MOV R6,#126 D3: DJNZ R6,D3 DJNZ R5,D2 DJNZ R4,D1 RET END ; 延时子程序 1. 常用的程序结构有哪几种? 特点如何? 2. 什么是伪指令? 常用的伪指令功能如何? 1. 求 8 个无符号数的平均值, 这 8 个无符号数存放在内部 RAM 以 20H 开始的 8 个单元中, 结果保存在 30H 中 2. 设内部 RAM 从 21H 单元开始存有一组带符号数, 数据长度存于 20H 单元, 要求把该组数据中的正数 负数分别求和, 并存放在寄存器 R6 和 R7 中 3. 设内部 RAM 从 LIST 单元开始存有一组无符号数据, 数据个数为 30, 编程找出其中的最大数, 并存入 BIG 单元中 4. 设内部 RAM 从 20H 单元开始存有 40H 个无符号数, 试编制程序将它们按从大到小的顺序排列, 结果仍存放在原存储区域内 5. 试编写程序, 将内部 RAM 的 20H 21H 单元的两个无符号数相乘, 结果存放在 R2 R3 中,R2 中存放高 8 位,R3 中存放低 8 位 6. 已知自变量 X 存放在 4000H 单元中, 函数值 Y 存放在 4001H 单元中, 编写程序计算分支函数的值 5X ;X 10H Y 4X 50H ;X 10H 3X 30H ;X 10H 7. 编写排序程序, 将地址为 30H~3FH 的片内数据存储器中的数据降序排序 8. 设被加数存放在内部 RAM 的 20H 21H 单元, 加数存放在 22H 23H 单元, 若要求和存放在 24H 25H 中, 试编写出 16 位数相加的程序 69

36 3 单片机应用技术 指令系统功能的强弱决定了计算机性能的高低 80C51 单片机的指令系统共 111 条指令, 其指令的执行时间短 字节少, 位操作指令极为丰富 指令由操作码和操作数组成 寻址方式是寻找存放操作数的地址并将其提取出来的方法 80C51 单片机有 7 种基本的寻址方式 本模块以举例方式, 对于初学者经常用到的各类指令和简单的程序类型进行了较详细的注释 数据传送类程序的编写是初学者首先应掌握的, 而数据传送空间是内部 RAM 寄存器及外部数据空间及程序空间 因此, 内部硬件结构及存储器结构应是初学者首先应该掌握的 只有软件指令功能和硬件映像相结合, 才能更好地掌握汇编源程序的编写 初学者可以结合本模块中的例题和习题进行程序编写的练习 70

CH559指令周期.doc

CH559指令周期.doc CH55X 汇编指令周期表 CH55X 汇编指令概述 : 型号包含 : a. 指令单周期型号 :CH557 CH558 CH559; b. 指令 4 周期型号 :CH551 CH552 CH553 CH554; c. 非跳转指令的指令周期数与指令字节数相同 ; d. 跳转指令含 MOVC/RET/CALL 通常比字节数多若干个周期 ; e.movc 指令多 4 或 5 个周期 ( 下条指令地址为奇数时多

More information

DPJJX1.DOC

DPJJX1.DOC 8051 111 2K 1 2 3 ' ' 1 CPU RAM ROM / A/D D/A PC CPU 40 68 10 20 8 51 PIII 8051 2 MCS51 8051 8031 89C51 8051 8031 89C51? MCS51 INTEL INTEL 8031 8051 8751 8032 8052 8752 8051 8051 8051 MCS51 8031 8031

More information

Microsoft Word - em78 sub program.doc

Microsoft Word - em78 sub program.doc 一 二进制数转换为 ASCⅡ 码 将一个字节的二进制数转换为两位 16 进制数的 ASCⅡ 码 main: mov a,@0x9f ; 二进制数为 0x9f mov 0x30,a ; 二进制数存入 0x30 mov a,@0x02 mov 0x10,a ;0x10 中存放转换次数 mov a,@0x31 mov 0x04,a ;0x04 中为转换后数据存放地址 mov a,0x30 B1: ; 取

More information

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32-- HD61202 C-7 1 HD61202 HD61202 8 HD61203 HD61202, HY-12864 HY-19264 HD61202 HD61202 HD61203 HD61202 1 6464=4096 RAMRAM LCD 2HD61202 64 3HD61202 68 68 4HD61202 1/32--1/64 HD61202 HD61202 2 CS1,CS2,CS3 CS1

More information

untitled

untitled EDM16080-01 Model No.: Editor: 1. ----------------------------------------------------3 2. ----------------------------------------------------3 3. ----------------------------------------------------3

More information

*_* IAP In Applications Program, *_* ROM RAM A/D D/A KELL C51 2 0531-86213622 Micro Controller Unit( ) INTEL MCS-48 MCS-51 MCS-96 51 MCS-51 8 MCS-96 16 INTEL / 51 87 LPC W78L DS87 GSM97 ATMEL 89C51

More information

第5章:汇编语言程序设计

第5章:汇编语言程序设计 第 5 章 : 汇编语言程序设计 程 汇编语言指令格式 系统伪指令 存储器选择方式 常用子程序 1 汇编语言程序设计 PIC 指令系统 语言系统 指 CPU 编 器语言 器语言 器语言 设计 用 语言 设计 语言 汇编语言 2 汇编语言指令格式 汇编语言指令格式 ( 指令 ) label opcode operand comment 指令 用 存 指令 指令语 3 汇编语言指令格式 1 指令 用 指令

More information

<4D6963726F736F667420576F7264202D203130B5A5C6ACBBFACAB5D1E9D6B8B5BCCAE92E646F63>

<4D6963726F736F667420576F7264202D203130B5A5C6ACBBFACAB5D1E9D6B8B5BCCAE92E646F63> 单 片 机 及 接 口 技 术 实 验 指 导 书 张 勇 编 计 算 机 与 通 信 工 程 学 院 信 息 与 通 信 工 程 系 2004.12 1 - 前 言 单 片 机 及 接 口 技 术 是 通 信 工 程 专 业 的 专 业 技 能 课 程, 在 专 业 知 识 结 构 体 系 中 具 有 十 分 重 要 的 地 位, 课 程 的 实 践 性 很 强, 学 习 必 须 理 论 和 实

More information

微處理機期末專題

微處理機期末專題 微 處 理 機 期 末 專 題 自 動 鋼 琴 組 員 :b92611004 羅 鈞 瑋 b92611008 吳 妍 儂 b92611038 吳 韋 靜 b92611042 林 佳 穎 一 簡 介 本 組 的 主 題 是 自 動 鋼 琴 在 播 放 音 樂 的 同 時, 鋼 琴 會 自 動 按 下 琴 鍵, 被 按 下 的 琴 鍵 所 對 應 到 的 音 階, 就 是 正 在 撥 放 的 樂 曲 的

More information

AN-8203 FCM8531 用户手册

AN-8203 FCM8531 用户手册 www.fairchildsemi.com AN-8203 FCM8531 用户手册 所有指令兼容二进制代码, 与业界标准的 8051 微控制器执行的功能相同 表 1. 指令集和寻址模式 符号 说明 Rn 当前选择的寄存器区中的寄存器 R0 ~ R7 直接 内部 DATA RAM 位置 (0~127) 或特殊功能寄存器 (SFR) @Ri 间接内部 (0~255) 或外部 RAM 位置由寄存器 R0

More information

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS KS0108 KS0108 8 KS0107 KS0108 KS0108 128*32128*64 192*64 KS0108 KS0108 KS0107 KS0108 1 6464=4096 RAMRAM LCD 2KS0108 64 3KS0108 68 68 4KS0108 1/48--1/64 KS0108 CS1,CS2,CS3 CS1 CS2 CS3 E E KS0108 E R/W R/W=1

More information

Microsoft Word - P3.doc

Microsoft Word - P3.doc ;P3.3 警报器 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * org 00h ajmp dlv org 0030h

More information

Microsoft Word - Ö¸Á.doc

Microsoft Word - Ö¸Á.doc 指令集说明 注 由于资源大小问题 其中以下几款 MCU 只有 62 条指令 其余均为 63 条指令 HT48CA0/HT48RA0A 无 RETI 指令 HT48R05A-1 无 TABRDL 指令 指令寻址方式有下面 5 种 立即寻址 此一寻址法是将立即的常数值紧跟在运算码 (opcode) 后 例如 MOV A, 33H ADD A, 33H 直接寻址 直接寻址的情況只允许在存储器之间作数据传送

More information

微處理機

微處理機 3-1 指令格式 標記運算碼運算元註解 標記 1. 標記前不可有空白, 否則會被視為運算碼 2. 標記代表一個 16 位元的記憶體實際位址 3. 標記名稱最多 32 個字元 ( 視組譯器不同而有所不同 ) 4. 標記有大小寫之分 5. 標記可有可無 運算碼 1. 運算碼與標記名稱間, 至少必須空一格, 如果沒有標記名稱, 則運算碼前最少要空一格, 否則會被視為標記 2. 運算碼大小寫相同 3. 可以是

More information

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63> 七段顯示器控制電路四位數 _ 使用解碼器驅動 +5 V 10 uf 8.2 k 12 MHz 20 pf 1 2 3 4 5 6 7 8 9 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RESET 10 P3.0 11 12 13 14 15 16 17 18 19 20 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 XTAL2 XTAL1

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0 SH79F6431 1. SH79F6431 1T 8051 FLASH SH79F JET51 Keil µ vision JTAG 1.1. SH79F6431 LQFP64 1.2. (Target Board) SH79F6431 1 V 1.0 1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F6431 1 2 1 B. 1(VCC/GND)

More information

Microsoft PowerPoint - chap4.ppt

Microsoft PowerPoint - chap4.ppt 定址方式 定址方式 格式 有效位址 立即資料定址 #data8 暫存器定址 Rn (R0 ~ R7) 直接定址 addr8 addr8 絕對定址 addr11 addr11 長程 ( 絕對 ) 定址 addr16 addr16 ( 暫存器 ) 間接定址 @Ri (@R0 @R1) 或 @DPTR R0 R1 或 DPTR ( 暫存器 ) 相對定址 disp8 PC+ 符號擴展之 disp8 ( 基底

More information

CA24064B LED LED LED EL EL CCFL EL CCF /

CA24064B LED LED LED EL EL CCFL EL CCF / CA24064B 0 50-20 +70-30 +85 LED LED LED EL EL CCFL EL CCF 39 2 6 0755-81995643/27890716 0 13713911853 0755-27890716 1 : VDD-VSS 0 6 V LCD VDD-V0 Ta=25 0 28.0 V VI 0 VDD V : VDD-VSS --- 4.75 5.0 5.25 V

More information

Microsoft PowerPoint - chap5.ppt

Microsoft PowerPoint - chap5.ppt 邏輯運算指令的動作 0 1 0 1 0 0 1 1 OR 1 0 1 1 1 0 0 1 1 1 1 1 1 0 1 1 (a) OR 運算 0 1 0 1 0 0 1 1 XOR 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 (c) XOR 運算 希望設定為 1 的位元 罩網標的位元組 新標的位元組 不改變的位元 希望取補數的位元 罩網標的位元組 新標的位元組 不改變的位元 1

More information

專題最終版.doc

專題最終版.doc The Principle and Application of the Electric Combination Lock The Principle and Application of the Electric Combination Lock Abstract Recently, there are more and more burglaries in the society. It's

More information

1. 介绍 义隆 8 位单片机指令介绍 Application Notes 义隆 8 位单片机指令介绍 EM78/EM88 系列是基于 RISC 的精简指令微控制器, 每条指令是 13 位 15 位, 除 LCALL LJMP MOV R2,A ADD R2,A 改变 PC 指针的指令是 2 个指令

1. 介绍 义隆 8 位单片机指令介绍 Application Notes 义隆 8 位单片机指令介绍 EM78/EM88 系列是基于 RISC 的精简指令微控制器, 每条指令是 13 位 15 位, 除 LCALL LJMP MOV R2,A ADD R2,A 改变 PC 指针的指令是 2 个指令 1. 介绍 Application Notes EM78/EM88 系列是基于 RISC 的精简指令微控制器, 每条指令是 13 位 15 位, 除 LCALL LJMP MOV R2,A ADD R2,A 改变 PC 指针的指令是 2 个指令 * 周期, 其余为单指令周期 ( 部分第一代芯片 JMP CALL RET RETL RETI JBS JBC JZ JZA DJZ DJZA 指令为 2

More information

Ps22Pdf

Ps22Pdf ( ) ( 150 ) 25 15 20 40 ( 25, 1, 25 ), 1. A. B. C. D. 2. A. B. C. D. 3., J = 1 H = 1 ( A B, J', J, H ) A. A = B = 1, J' =0 B. A = B = J' =1 C. A = J' =1, B =0 D. B = J' = 1, A = 0 4. AB + AB A. AB B. AB

More information

M8Rxxx 指令集说明 Version 年 11 月 上海磐芯电子有限公司 SHANGHAI MASSES ELECTRONIC Co., Ltd. 本公司保留对产品在可靠性, 功能和设计方面的改进作进一步说明的权利 说明文档的更改, 恕不另行通知

M8Rxxx 指令集说明 Version 年 11 月 上海磐芯电子有限公司 SHANGHAI MASSES ELECTRONIC Co., Ltd. 本公司保留对产品在可靠性, 功能和设计方面的改进作进一步说明的权利 说明文档的更改, 恕不另行通知 M8Rxxx 指令集说明 Version 1.04 2014 年 11 月 上海磐芯电子有限公司 SHANGHAI MASSES ELECTRONIC Co., Ltd. 本公司保留对产品在可靠性, 功能和设计方面的改进作进一步说明的权利 说明文档的更改, 恕不另行通知 修正记录 版本 日期 描述 Ver1.02 2014-5-15 补全指令说明 Ver1.03 2014-10-8 勘误 Ver1.04

More information

PowerPoint 簡報

PowerPoint 簡報 微算機原理與實驗 (UEE 2301/1071 ) Chap 5. MCS-51 Addressing Modes 宋開泰 Office:EE709 Phone:5731865( 校內分機 :31865) E-mail:ktsong@mail.nctu.edu.tw URL:http://isci.cn.nctu.edu.tw 1 Addressing Modes Addressing mode is

More information

12232A LED LED LED EL EL CCFL EL CCF

12232A LED LED LED EL EL CCFL EL CCF 12232A 0 50-20 +70-30 +85 LED LED LED EL EL CCFL EL CCF 122 x 32 1/32Duty 1/5Bias 6:00 STN( ), EL LED EL/100VAC 400HZ LED/4.2VDC 1 / VDD-VSS 0 6.5 V Ta=25 LCD VDD-V0 0 12.0 V V1 0 VDD V VDD-VSS - 4.75

More information

Microsoft PowerPoint - 05-第五讲-寻址方式.pptx

Microsoft PowerPoint - 05-第五讲-寻址方式.pptx 第五讲 授课教师 : 陆俊林王箫音 2012 年春季学期 主要内容 一 寻址方式概述 二 数据的寻址方式 三 转移地址的寻址方式 教材相关章节 : 微型计算机基本原理与应用 ( 第二版 ) 第 4 章寻址方式与指令系统 1 主要内容 一 寻址方式概述 二 数据的寻址方式 三 转移地址的寻址方式 2 指令的组成 指令由操作码和操作数两部分组成 操作码操作数 MOV AX, 8726H ADD AX,

More information

MSP430ϵÁе¥Æ¬»úµÄÖ¸Áîϵͳ.pps [¼æÈÝģʽ]

MSP430ϵÁе¥Æ¬»úµÄÖ¸Áîϵͳ.pps [¼æÈÝģʽ] 作者 : 利尔达 MSP430 系列单片机的指令系统 1 CPU 内核组成 : 16 位的 (ALU) 算术运算单元 16 个寄存器 (PC SP SR R4~R15) 指令控制单元 2 存储器组织结构 3 外围模块寄存器地址 它们被分配在相应的字模块或字节模块当中 分配在 00-FFH 中为字节, 分配在 100-1FFH 中为字 4 寻址模式 : 5 指令格式 : 1) 书写格式标号指令助记符源操作数,

More information

untitled

untitled EDM12832-08 : 25-1 : 116600 : (0411)7612956 7632020 7631122 : (0411)7612958 Model No.: Editor: LCD 1. ----------------------------------------------------3 2. ----------------------------------------------------3

More information

主要内容 指令系统的一般概念 指令操作方式操作码的含义指令对操作数的要求指令执行的结果 寻址方式 指令说明 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 2

主要内容 指令系统的一般概念 指令操作方式操作码的含义指令对操作数的要求指令执行的结果 寻址方式 指令说明 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 2 第 3 章 8086 的寻址方式和指令系统 (1) 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 1 主要内容 指令系统的一般概念 指令操作方式操作码的含义指令对操作数的要求指令执行的结果 寻址方式 指令说明 2015 年 3 月 16 日星期一 8 时 2 分 37 秒 2 3.1 8086 的寻址方式 两种不同的类型 : 一类是程序地址 ( 在代码段中 ) 的寻址方式 ; 另一类是操作数地址的寻址方式

More information

Microsoft Word - 第1章 MCS-51单片机概述.docx

Microsoft Word - 第1章 MCS-51单片机概述.docx 单片机 C 语言入门 ( 修订版 ) 作者 : 华清远见 第 1 章 MCS-51 单片机概述 本章目标 单片微型计算机简称单片机, 又称为微控制器 (MCU), 是微型计算机的一个重要分支 单片机是 20 世纪 70 年代中期发展起来的一种大规模集成电路芯片, 将 CPU RAM ROM I/O 接口和中断系统等集 成于同一硅片内 20 世纪 80 年代以来单片机发展迅速, 各类新产品不断涌现,

More information

Microsoft PowerPoint - chap2.ppt

Microsoft PowerPoint - chap2.ppt 基本程式設計觀念 人 自然語言 ( 中文 英文...) 高階語言 (C C++ Java) 組合語言 (8051 或是 80x86) 機器語言 (8051 或是 80x86) 機器 林銘波編著 --- 全華科技圖書公司 2.1 計算機的階層式結構 應用程式 ( 或語言 ) 高階語言組合語言硬體 林銘波編著 --- 全華科技圖書公司 2.2 儲存程式計算機 資料輸入 中央處理器讀取 / 寫入控制 CPU

More information

Microsoft Word - 專題封面.doc

Microsoft Word - 專題封面.doc 逢 甲 大 學 資 訊 工 程 學 系 專 題 研 究 報 告 8051 小 遊 戲 -21 點 指 導 教 授 : 陳 德 生 學 生 : 許 博 益 中 華 民 國 九 十 六 年 六 月 I 目 錄 第 一 章 緒 論 1 1-1 研 究 背 景 1 1-2 研 究 動 機 2 1-3 研 究 目 的 3 1-3-1 21 點 源 起 3 1-3-2 21 點 規 則 3 第 二 章 微 電

More information

数据库系统概论

数据库系统概论 所谓寻址方式, 就是指令中用于说明操 作数所在地或者所在地地址的方法 8088/8086 的寻址方式分为两类 : 关于寻找数据的寻址方式 关于寻找转移地址的寻址方式 下面讲关于数据的寻址方式时, 均以数 据传送指令 MOV 为例讲解 MOV 指令格式如下 : MOV DST, SRC 助记符 目的操作数 指令完成的功能 : (DST) 源操作数 (SRC) 一. 关于寻找数据的寻址方式 ( 共 8

More information

单片机学习教程

单片机学习教程 . 89S51 1. 2.p1 3.8 3 4.8 3. 1. 0-F 2. 0000 0255. 1. : BB 2. : ( --- ) : :. 1. 2..232.I 2 C 1. X24C02 MCS-51 2. : 22H 24C02 50H 3. : ; 8 4. :I2C. / 1. 1 2. 2. 1. 1. 2. 2.. 1. 1: 2. 2: 3. 3 1 LED 1 89S51

More information

Microsoft PowerPoint - 微原-第3章2.ppt [兼容模式]

Microsoft PowerPoint - 微原-第3章2.ppt [兼容模式] 本教案内容 第 3 章 8086CPU 指令系统 1. 汇编语言指令 9. 转移指令 10. 2. 8086 指令分类循环控制指令 11. 子程序调用返回 3. 数据与转移地址的指令寻址方式 12. 中断调用返回指 4. 数据传送类指令令 5. 算术运算类指令 13. 字符串操作指令 6. 逻辑运算类指令 14. I/O 输入输出指令 7. 移位类指令 15. 其它指令 8. 标志位操作指令 16.

More information

内容简介 本书以 Proteus 为仿真软件, 以汇编语言和 C 语言为编程语言, 结合趣味应用实例, 系统介绍 MCS-51 单片机的组织结构 工作原理 指令系统 程序设计 中断 定时 / 计数器 串行通信 系统扩展 接口技术 应用系统设计等内容 每章的例题 习题都用 Proteus 仿真实现,

内容简介 本书以 Proteus 为仿真软件, 以汇编语言和 C 语言为编程语言, 结合趣味应用实例, 系统介绍 MCS-51 单片机的组织结构 工作原理 指令系统 程序设计 中断 定时 / 计数器 串行通信 系统扩展 接口技术 应用系统设计等内容 每章的例题 习题都用 Proteus 仿真实现, 普通高等教育电气信息类应用型规划教材 单片机原理与应用 基于实例驱动和 Proteus 仿真 ( 第二版 ) 李林功编著 北 京 内容简介 本书以 Proteus 为仿真软件, 以汇编语言和 C 语言为编程语言, 结合趣味应用实例, 系统介绍 MCS-51 单片机的组织结构 工作原理 指令系统 程序设计 中断 定时 / 计数器 串行通信 系统扩展 接口技术 应用系统设计等内容 每章的例题 习题都用

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

数据库系统概论

数据库系统概论 2. 减法指令 8086/8088 共有 5 条减法指令 1 不带 CF 的减法指令 (SUB) 格式 :SUB DST, SRC 功能 :(1)DST (DST)-(SRC) (2) 根据差设置 6 个状态标志 2 带 CF 的减法指令 (SBB) 格式 :SBB DST, SRC 功能 : (1)DST (DST)-(SRC)-CF (2) 根据差设置 6 个状态标志 3 减 1 指令 (DEC)

More information

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C AUTOMATIC TROLLEY H K Hwang K K Chen J-S Lin S-C Wang M-L Li C-C Lin W-B Lin Dept. Of Electrical Engineering Far East College ABSTRACT This paper proposes an automatic trolley which can move automatically

More information

Ⅰ Ⅱ 2 Ⅲ 2 Ⅳ 耀

Ⅰ Ⅱ 2 Ⅲ 2 Ⅳ 耀 面 向 2 世 纪 高 等 学 校 计 算 机 类 专 业 十 一 五 规 划 教 材 单 片 机 原 理 及 接 口 技 术 ( 第 二 版 ) 余 锡 存 曹 国 华 编 著 西 安 电 子 科 技 大 学 出 版 社 2 0 0 7 Ⅰ Ⅱ 2 Ⅲ 2 Ⅳ 耀 .,, 0,.., : ()0 :0 2 9; (2), 555.54 5 500 50 5 0.5, 555.5=50 2

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

共同构成 16 位数据存储单元的地址 当 CPL=1 时, 将堆栈指针 SP 的 16 位地址 与指令中的 7 位地址相加, 形成 16 位的数据存储器地址 (2) 当 SP=0100h, 偏移地址为 50h 时, 寻址 0150h 单元 ; 当 DP=2, 偏移地址为 50h 时, 寻址 0150

共同构成 16 位数据存储单元的地址 当 CPL=1 时, 将堆栈指针 SP 的 16 位地址 与指令中的 7 位地址相加, 形成 16 位的数据存储器地址 (2) 当 SP=0100h, 偏移地址为 50h 时, 寻址 0150h 单元 ; 当 DP=2, 偏移地址为 50h 时, 寻址 0150 DSP 原理与应用教程 ( 张卫宁著 ) 课后习题答案第 3 章 (2014 年 10 月整理 刘忠国 ) 第三章习题答案 : 作业 :3.2, 3.6, 3.7,3.8, 3.11, 3.17, 3.19,3.21 3.1. TMS320C54x 的数据空间寻址方式各有什么特点? 应该应用在什么场合? ( 教材涉及特点较少 ) 答 :TMS320C54x 有 7 种基本的数据寻址方式 : 立即寻址,

More information

标题

标题 汇编语言程序设计 4.1 汇编语言程序设计基础 单片机的汇编语言程序设计步骤如下 : (1) 明确要解决的问题和要求 (2) 根据要解决的问题, 制定程序流程图 如程序较长, 可以先画出粗框图, 再根据要求进行细化 (3) 根据程序流程图, 编写程序 如果程序较长, 可按功能模块进行编写 (4) 对汇编语言程序进行调试, 并进行优化处理 程序流程图是用几何图形 ( 方框和圆框 ) 直线及文字说明描述程序

More information

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1 TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT 588 4 1 0571-85121224 85121742 85121304(f) 639 2A095 0571-88256346 89902095 f B1618 010-62051209 62000662 62568913 82036512 f http://www.tsingtek.com

More information

1 TPIS TPIS 2 2

1 TPIS TPIS 2 2 1 1 TPIS TPIS 2 2 1. 2. 3. 4. 3 3 4 5 4 TPIS TPIS 6 5 350 Mark Coil F3/F6 350 M 150 M 25 M 7.12M 8 M F3 F6 F4 F7 F8 8M AA 7 350 28V 5V IC HCPL2731 0.5mA 6 8 (TPIS) TPIS 9 7 IC AT89C2051 AT89C2051 CMOS8

More information

3.3.2 算术运算指令 数据类型 : 无符号和有符号整数 无符号数又分成 : 无符号二进制数 ; 无符号压缩十进制 :1 字节表示 2 个十进制数 ; 无符号非压缩十进制 :1 字节表示 1 个十进制数 有符号数 : 有符号二进制数 用补码表示 2015 年 3 月 26 日星期四 11 时 3

3.3.2 算术运算指令 数据类型 : 无符号和有符号整数 无符号数又分成 : 无符号二进制数 ; 无符号压缩十进制 :1 字节表示 2 个十进制数 ; 无符号非压缩十进制 :1 字节表示 1 个十进制数 有符号数 : 有符号二进制数 用补码表示 2015 年 3 月 26 日星期四 11 时 3 第 3 章 8086 的寻址方式和指令系统 (3) 2015 年 3 月 26 日星期四 11 时 3 分 17 秒 1 3.3.2 算术运算指令 数据类型 : 无符号和有符号整数 无符号数又分成 : 无符号二进制数 ; 无符号压缩十进制 :1 字节表示 2 个十进制数 ; 无符号非压缩十进制 :1 字节表示 1 个十进制数 有符号数 : 有符号二进制数 用补码表示 2015 年 3 月 26 日星期四

More information

电 阻 应 变 式 传 感 器 是 将 被 测 量 的 力, 通 过 它 产 生 的 金 属 弹 性 变 形 转 换 成 电 阻 变 化 的 元 件 由 电 阻 应 变 片 和 测 量 线 路 两 部 分 组 成 电 阻 应 变 片 产 生 的 误 差, 主 要 来 源 于 温 度 的 影 响, 本

电 阻 应 变 式 传 感 器 是 将 被 测 量 的 力, 通 过 它 产 生 的 金 属 弹 性 变 形 转 换 成 电 阻 变 化 的 元 件 由 电 阻 应 变 片 和 测 量 线 路 两 部 分 组 成 电 阻 应 变 片 产 生 的 误 差, 主 要 来 源 于 温 度 的 影 响, 本 AT89C51 体 重 称 电 路 图 原 理 本 文 设 计 一 种 利 用 电 阻 应 变 式 压 力 传 感 器 和 MCS-51 单 片 机 等 器 件 制 作 的 体 重 秤 该 体 重 秤 的 量 程 为 100kg, 能 实 现 称 重 数 码 显 示 调 零 等 功 能 该 体 重 秤 利 用 电 桥 测 量 原 理, 将 压 力 应 变 传 感 器 阻 值 转 换 为 电 压 值,

More information

() () () () () () () () DDRAM () II

() () () () () () () () DDRAM () II 液晶模块说明书 SPEC NO YM2232A REV NO. 液晶显示模块产品说明书 产品类型 : 产品型号 : 产品描述 : 标准产品 YM2232A 22x32 图形点阵模块, 控制器 :SED52,LED 背光 客户名称 : 客户确认 : 编写 : Dexun Zou 审核 : HCC 批准 : Jingxi Yang 发行日期 : 22.8 大连佳显电子有限公司 地址 : 大连市沙河口区工华街

More information

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式]

Microsoft PowerPoint - 微原-第3章3.ppt [兼容模式] 本教案内容 第 3 章 8086CPU 指令系统 1. 汇编语言指令 9. 转移指令 10. 2. 8086 指令分类循环控制指令 11. 子程序调用返回 3. 数据与转移地址的指令寻址方式 12. 中断调用返回指 4. 数据传送类指令令 5. 算术运算类指令 13. 字符串操作指令 6. 逻辑运算类指令 14. I/O 输入输出指令 7. 移位类指令 15. 其它指令 8. 标志位操作指令 16.

More information

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc EEPROM 应用说明 1 适用产品 :SM59D03G2 SM59D04G2 series 2 应用范围 : 针对需使用 EEPORM 功能替换 STC 89C5X 的应用及汇编语言之范例程序 ( 使用内部扩充内存为暂存区 ) 3 功能说明 : 3.1 本公司上述产品 EEPORM 功能皆可替换 STC89C5X, 仅需对特殊功能缓存器定义 ( 详见表 1) 及 ISP 命令定义 ( 详见表 2)

More information

数据库系统概论

数据库系统概论 2. 减法指令 8086/8088 共有 5 条减法指令 1 不带 CF 的减法指令 (SUB) 格式 :SUB DST, SRC 功能 :(1)DST (DST)-(SRC) (2) 根据差设置 6 个状态标志 2 带 CF 的减法指令 (SBB) 格式 :SBB DST, SRC 功能 : (1)DST (DST)-(SRC)-CF (2) 根据差设置 6 个状态标志 3 减 1 指令 (DEC)

More information

指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2

指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2 第 3 章 8086 的寻址方式和指令系统 (2) 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 1 3.3 8086 指令系统 可分成如下 6 类 : 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 程序控制指令 处理器控制指令 2015 年 3 月 26 日星期四 8 时 41 分 27 秒 2 3.3.1 数据传送指令 可实现 存储器 立即数 段寄存器 CS DS

More information

微机第02章1(指令寻址)

微机第02章1(指令寻址) 微机原理及应用 主讲 : 谢维成 http://xweicheng.ys168.com scxweicheng@yahoo.com.cn 西华大学电气信息学院 1 第 03 章 80X86 的寻址方式和指令 ( 本章内容 ) 3.1 指令的格式 3.2 8086/8088 的寻址方式 3.3 指令系统 3.3.1 数据传送指令 3.3.2 算术运算指令 3.3.3 逻辑运算与移位指令 3.3.4 串操作指令

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

逢 甲 大 學

逢    甲    大    學 論 車 Auto Vehicle 立老 磊 年 老 立老 了 見 老 了不 料 利 了 識 更了 力量! i 車. 車 利 89c51 來 流. 令. 車 8051 類 車利 車 ii Abstract The goal of this thesis is to design a small auto vehicle by using IC as its control center. Our auto

More information

µPSD3000 系列

µPSD3000 系列 8032 FLASH MCU µpsd3251f-40t6 µpsd3251 8032 FlashPSD Flash SRAM I/O I 2 C, ADC and PWM 8032, 16 / FlashPSD µpsd32 JTAG ISP 2K SRAM Flash - 64K Flash - 16K Flash - Flash 8032 12 I2C ADC 6 I/O 37 I/O 16

More information

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe   Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L 1 SH88F516 8051 64K FLASH 1024 EEPROM SH88F516 JET51 S-Lab Keil µ vision ISP51 Keil µ vision ISP51 ISP51 PC RS232 MCU SH88F516 SH88F516 1.1 SH88F516 1.1 SH88F516 SH88Fxx: QFP44, DIP40 RAM Flash E2 ADC

More information

PIC8位单片机汇编语言常用指令的识读(上)

PIC8位单片机汇编语言常用指令的识读(上) PIC8 位单片机汇编语言常用指令的识读 ( 上 ) 各大类单片机的指令系统是没有通用性的, 它是由单片机生产厂家规定的, 所以用户必须遵循厂家规定的标准, 才能达到应用单片机的目的 PIC 8 位单片机共有三个级别, 有相对应的指令集 基本级 PIC 系列芯片共有指令 33 条, 每条指令是 12 位字长 ; 中级 PIC 系列芯片共有指令 35 条, 每条指令是 14 位字长 ; 高级 PIC

More information

93C46串行EEPROM数据读写

93C46串行EEPROM数据读写 一 \ 实验目的 93C46 串行 EEPROM 数据读写 1 学会 93C46 的操作指令, 掌握 93C46 读 / 写程序的编写 2 掌握 93C46 与单片机的接口方式二 实验说明 93C46/56/66 是 1K/2K/4K 位的串行电可擦写的 EPROM 93C46 的 1K 位 EPROM, 可以按 128 字节排列, 也可以 64 字节排列 93C46 芯片有 8 脚, 当 ORG

More information

数据库系统概论

数据库系统概论 指令系统 是指 CPU 能完成的所有 指令的集合, 它是在 CPU 设计时就确定了的 所以, 对不同的 CPU, 其指令系统中所包含的具体指令将是各不相同的 但 8088/8086 CPU 的指令系统是完全一样的 8088/8086 CPU 的指令系统可分成下面 9 类 : (1) 数据传送指令 ; (2) 算术运算指令 ; (3) 逻辑运算指令 ; (4) 移位指令 ; (5) 标志处理指令和 CPU

More information

Microsoft PowerPoint - Ch3-8086CPUæ„⁄令系ç»�(3)-æŁ°æ“®ä¼€é•†æ„⁄令

Microsoft PowerPoint - Ch3-8086CPUæ„⁄令系ç»�(3)-æŁ°æ“®ä¼€é•†æ„⁄令 2017 版 微机原理与系统设计 第 3 章 8086CPU 指令系统 董明皓, 博士 西安电子科技大学 dminghao@xidian.edu.cn 目录 (12 课时 ) 1 2 3 4 5 汇编语言基本概念 8086 指令分类数据与转移地址的寻址方式 8086 的六类指令总结 微机原理与系统设计 8086CPU 的指令系统董明皓 dminghao@xidian.edu.cn 2 基础知识引入

More information

呕血推荐51程序库,希望大家能资源共享

呕血推荐51程序库,希望大家能资源共享 MCS-51 ; RAM IBCLR: MOV A,R0 MOV R1,A IBC1 : MOV @R1,A INC R1 DJNZ R7,IBC1 ; RAM EBCLR1: MOV A,ADDPL MOV DPL,A MOV A,ADDPH MOV DPH,A EBC11: MOVX @DPTR,A INC DPTR DJNZ R7,EBC11 ; RAM ( ) EBCLR2: MOV A,ADDPL

More information

Microsoft PowerPoint - 第一章(07版).PPT

Microsoft PowerPoint - 第一章(07版).PPT 单片机原理及综合设计 嵌入式微控制器的开发入门 微机及单片机原理原理实验室综合楼 419 室 大连理工大学电信学院陈育斌 1 ( 理论课 ) 上课时间表 (10~17 周 ) 周次 星期 一 二 三 四 五 六 日 1 至 6 时间地点 大五节综 309 (18:00) 大连理工大学电信学院陈育斌 2 课程总体安排 总学时 : 理论课 + 实验课 =36 学时 其中 : 理论课 :24: 学时 ;

More information

<313034A4BDB67DA4C0B56FBA5DB3E65FBD64A5BB2E786C7378>

<313034A4BDB67DA4C0B56FBA5DB3E65FBD64A5BB2E786C7378> 科 別 : 國 文 科 (A 區 ) 分 發 16 名 1 600110129 黃 毅 潔 國 立 豐 原 高 級 商 業 職 業 學 校 2 600110446 鄭 安 芸 國 立 南 投 高 級 中 學 3 600110632 李 孟 毓 桃 園 市 立 大 園 國 際 高 級 中 學 4 600110492 洪 珮 甄 南 投 縣 立 旭 光 高 級 中 學 5 600110262 柯 懿 芝

More information

??????????????????

?????????????????? 2011 3 1 a)8088/8086 b) 1 2 3 -(2) - 48 (48 6) 1 2 http://www.zlgmcu.com/home.asp http://hx51.com/index.asp http://www.daqchina.net/daqchina/chips DAQCHINA HTTP://WWW.QFMCU.COM/ HTTP://MYGO.7I24.COM/ HTTP://WWW.HSEDA.COM/

More information

dfgdafhdafhdafhdafh

dfgdafhdafhdafhdafh 逢 甲 大 學 自 動 控 制 工 程 學 系 專 題 製 作 專 題 論 文 數 位 式 電 子 秤 之 研 製 Design Study of Digital Electronic Weighing Sensor 指 導 教 授 : 賴 啟 智 學 生 : 劉 人 豪 俞 仲 維 中 華 民 國 九 十 八 年 四 月 二 十 二 日 ii . 誌 謝 本 文 承 蒙 賴 啟 智 老 師 指 導,

More information

AT89C2051中文资料.doc

AT89C2051中文资料.doc 图形点阵液晶显示模块使用手册 TG12864C(L) 广州捷胜吉电子科技 地址 : 广州市天河区天河路 561# 新赛格电子城 B2226 电话 :(020)33550997 13829772038 网址 :WWW.GZJSJDZ.COM E-mail:CJKD@21CN.COM 目 录 ( 一 ) 概述 (1) ( 二 ) 外形尺寸图 (1) ( 三 ) 模块主要硬件构成说明 (2) ( 四 )

More information

§4 数控系统

§4 数控系统 4 数控系统 2) 液晶模块的软件接口程序 液晶模块 LCD 的口地址定义如下 : CMD_RD_LCD EQU 0D001H ; 读状态口 CMD_WR_LCD EQU 0D000H ; 写命令口 DATA_RD_LCD EQU 0D003H ; 读状态口 DATA_WR_LCD EQU 0D002H ; 写数据口 部分软件接口程序如下, 程序框图略 ; 液晶屏初始化子程序 ; 占用寄存器 : DPTR,R2,A

More information

杨欣王玉凤刘湘黔编著清华大学出版社 2008 年 1 月 ISBN 单片机应用从零开始 8051Microcontroller: An Applications Based Introduction 第 1 章 身边的单片机 欢迎访问电路飞翔网

杨欣王玉凤刘湘黔编著清华大学出版社 2008 年 1 月 ISBN 单片机应用从零开始 8051Microcontroller: An Applications Based Introduction 第 1 章 身边的单片机 欢迎访问电路飞翔网 第 1 章 身边的单片机 欢迎访问电路飞翔网 http://www.circuitfly.com 获取更多信息 1.1 单片机在哪里 1.2 单片机是什么样子的 1.3 单片机如何控制其他器件 1.4 如何使用单片机 1.5 有哪些单片机 1.6 实例点拨 电子万年历 例 1: 空调机 1.1 单片机在哪里 制冷功能模块 温度监控功能模块 如何协调工作? 遥控器接收功能模块 1.1 单片机在哪里 数码管指示灯功能按键

More information

Microsoft PowerPoint - chap3.ppt

Microsoft PowerPoint - chap3.ppt MCS-51 CPU 的規劃模式 位元組位址 1F 18 17 10 0F 08 07 06 05 04 03 02 01 00 通用資料暫存器 暫存器庫 3 暫存器庫 2 暫存器庫 1 R7 R6 R5 R4 R3 R2 R1 R0 內部 RAM 位元組位址 暫存器庫 0 F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0

More information

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc 自定义下载应用说明 一 适用产品 :SM59XX 系列 SM59D XX 系列 SM59R XX 系列二 应用方式 : 可以让使用者自定义 command 作为进入 ISP 刻录的通关指令, 透过 UART 连接 ISAP 软件做联机更新三 操作说明 ( 使用 SM59D04G2 为例 ): 1. ISAP 操作方式 : 1.1 先将主程序及 ISP 服务程序烧进 MCU 中 1.2 将 MCU 放至系统版上,

More information

L15 MIPS Assembly

L15 MIPS Assembly Lecture 19: MIPS Assembly Language 程序的机器级表示主要内容 MIPS 指令格式 R- 类型 / I- 类型 / J- 类型 MIPS 寄存器 长度 / 个数 / 功能分配 MIPS 操作数 寄存器操作数 / 存储器操作数 / 立即数 / 文本 / 位 MIPS 指令寻址方式 立即数寻址 / 寄存器寻址 / 相对寻址 / 伪直接寻址 / 偏移寻址 MIPS 指令类型

More information

Microsoft Word - FM12232C.doc

Microsoft Word - FM12232C.doc SPEC NO YM2232C REV NO. : YM2232C : 22x32 SED52 LED : Dexun Zou HCC : Jingxi Yang : 22.8 目 录 ( 一 ) 基本特性 () ( 二 ) 限定参数 () ( 三 ) 直流特性 (2) ( 四 ) 交流特性 (2) ( 五 ) 机械尺寸图 (3) ( 六 ) 原理图 (3) ( 七 ) DDRAM 地址表 (4)

More information

幻灯片 1

幻灯片 1 字符串处理是指对一系列的字母或数字的代码进行相同功能的处理 计算机中字符代码一般都采用 ASCII 码, 每个字符的代码占一个字节, 一组字符串存放在一个连续的存储区中 存放在连续的存储区中的这组字符串, 可看为一个数据块 为了提高对字符串 ( 或数据块 ) 的处理效率,8086/8088 指令系统中专门提供了一组对字符串处理的指令, 这些指令包括 : 字符串传送指令 (MOVS) 字符串比较指令

More information

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20 (Jump) (Loop) (Conditional jump) CMP CALL AND SAR/SHR TEST JMP NOT SAL/SHL Jnnn* OR RCR/ROR LOOP XOR RCL/ROL RETn * nnn, JNE JL -128 127-32,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far

More information

W77E58中文手册

W77E58中文手册 W77E58 77E58 8051 8051 8051 77E58 8051 1.5 3 COMS 32K EEPROM 1K SRAM 1 8 2 40M 4 3 8051 4 8051 5 4 8 I/O 6 4 I/O 44 PLCC QFP 7 16 / 8 12 9 10 11 1K 12 13 16 DPTR 14 15 DIP40 W77E58 25/40 PLCC44 W77E58P

More information

<4D F736F F D20B5A5C6ACBBFAD4ADC0EDD3EBD3A6D3C3BCB B3CCD0F2C9E8BCC65FB5DA33B0E65F2DD6D5B8E52D4E65772DBFB1CEF3B1ED2DB3F6B0E6C9E72E646F6378>

<4D F736F F D20B5A5C6ACBBFAD4ADC0EDD3EBD3A6D3C3BCB B3CCD0F2C9E8BCC65FB5DA33B0E65F2DD6D5B8E52D4E65772DBFB1CEF3B1ED2DB3F6B0E6C9E72E646F6378> 单片机原理与应用及 C51 程序设计 ( 第 3 版 )- 终稿 -New 勘误表 1. P18 页 11 行原来 : 汇编语言 机器语言 功能 MOV AL,01H 1011 0000 0000 0011B ; 把 01 送入累加器 A ADD AL,02H 0000 0100 0000 0101B ;02 与 A 中内容相加, 结 果存入 A HLT 11110100B ; 停止操作 汇编语言

More information

Microsoft PowerPoint sun-arm isa2.ppt [Compatibility Mode]

Microsoft PowerPoint sun-arm isa2.ppt [Compatibility Mode] 嵌入式系统设计与应用 第二章 ARM 指令系统 (2) 西安交通大学电信学院 孙宏滨 汇编伪指令 汇编伪指令 : 在 ARM 汇编语言里, 有一些特殊指令助记符, 没有相对应的操作码 ( 或直接对应指令 ) 通常称这些特殊指令助记符为伪指令, 它们所完成的操作叫做伪操作 伪指令在源程序中的作用是为完成汇编程序作各种准备工作 这些伪指令仅在汇编过程中起作用, 一旦汇编结束, 伪指令的使命完成 ADR:

More information

Microsoft Word - ~ doc

Microsoft Word - ~ doc EEPROM 功能使用方法 1 适用产品 : 1.1 SM39R16A2/ SM39R12A2/ SM39R08A2 1.2 SM39R4051/ SM39R2051 1.3 SM39R04G1/ SM39R02G1 2 EEPROM 功能概述 : 2.1 使用 code flash 仿真为 Internal EEPROM, 在程序执行时, 可将 code flash 作为 data flash 储存数据使用

More information

Microsoft PowerPoint - Ch3-8086CPU指令系统(2)-寻址.pptx

Microsoft PowerPoint - Ch3-8086CPU指令系统(2)-寻址.pptx 2018 版 微机原理与系统设计 第 3 章 8086CPU 指令系统 董明皓, 博士 西安电子科技大学 dminghao@xidian.edu.cn 目录 1 2 3 4 5 汇编语言基本概念 8086 指令分类数据与转移地址的寻址方式 8086 的六类指令总结 2 目录 1 2 3 4 5 汇编语言基本概念 8086 指令分类数据与转移地址的寻址方式 8086 的六类指令总结 3 8086 指令分类

More information

<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378>

<4D F736F F D20C7B0CBC4D5C2D7F7D2B5CCE22E646F6378> 第一章第二章 Q2 1: 高序 : 最低位字节存储在字的最低位 ; 低序 : 最低位字节存储在字的最高位 ; Q2 2: 冯. 诺依曼结构 : 数据和指令都存储在同一存储器中 ; 哈佛结构 : 数据和程序存储在各自独立的存储器中 Q2 3: a) ARM 有 16 个通用寄存器,r0 r15, 其中 r15 还被用作程序计数器 b) CPSR 是程序状态寄存器, 包含了条件码标识 中断禁止位 当前处理器模式和其他状态

More information

单片机原理及应用实验指导书.doc

单片机原理及应用实验指导书.doc 1 2 3 4...2...4...9...9 AEDK598 MCS51...9 MCS51...10...10...10...10...10...10...11 P1...12...12...12....12...12...13 P3...14...14...14...14...14...14 I/O...15...15...15...15...15...16...17...17...17...17...17...18...19...19

More information

Microsoft Word - FG12232A.doc

Microsoft Word - FG12232A.doc 图形点阵液晶显示模块使用手册 FG2232A 广州市方舟电子有限公司 公司网站 :www.arkteck.com 地址 : 广州市天河区东圃桃园路 33 号 5 楼电话 :2-82574878 82574677 8854485 传真 :82574878 82574677 分机 88 目 录 ( 一 ) 基本特性 () ( 二 ) 原理图 (2) ( 三 ) 限定参数 (2) ( 四 ) 直流特性 (2)

More information

Microsoft PowerPoint - chap7.ppt

Microsoft PowerPoint - chap7.ppt 轉換十六進制數字為七段顯示碼 轉換十六進制數字為七段顯示碼 a f g b e d c (a) 七段 LED 顯示器 7 6 5 4 3 2 1 0 位元 0 g f e d c b a 數碼 (b) 顯示器數碼編碼格式 輸入 g f e d c b a 十六進制輸入 g f e d c b a 十六進制 0 0 1 1 1 1 1 1 3F 8 1 1 1 1 1 1 1 7F 1 0 0 0 0

More information

新开放专科单片机技术与应用教学大纲

新开放专科单片机技术与应用教学大纲 中央广播电视大学开放教育 ( 专科 ) 数控技术专业 单片机技术 课程教学大纲 信息工程系 顾筠 第一部分 大纲说明 一 课程性质和任务 1. 课程性质 单片机技术 是开放教育 ( 专科 ) 数控技术专业的一门省开专业技术课程 通过学习本课程, 使学生能够握有关单片机的基础知识, 并为今后的单片机应用打下基础 本课程共 72 学时, 其中授课 54 学时, 实验 18 学时 单片机面向控制, 具有体积小

More information

66 微型计算机原理与接口技术 ( 第二版 ) 2. 指令格式计算机中的汇编指令由操作码字段和操作数字段两部分组成 (1) 操作码字段 操作码表示计算机要执行的某种指令功能, 由它来规定指令的操作类型, 说明计算机要执行的具体操作, 例如传送 运算 移位 跳转等操作 同时还指出操作数的类型 操作数的

66 微型计算机原理与接口技术 ( 第二版 ) 2. 指令格式计算机中的汇编指令由操作码字段和操作数字段两部分组成 (1) 操作码字段 操作码表示计算机要执行的某种指令功能, 由它来规定指令的操作类型, 说明计算机要执行的具体操作, 例如传送 运算 移位 跳转等操作 同时还指出操作数的类型 操作数的 第 3 章指令系统 本章学习目标 每种 CPU 芯片都配置有相应的指令系统, 供用户编程使用 本章从指令格式 寻址的概念着手, 具体讨论 8086 系统中采用的寻址方式, 分析 8086 指令系统中各类指令的功能 特点及应用, 并引申到 Pentium 微处理器新增指令和寻址方式的特点 通过本章的学习, 重点理解和掌握以下内容 : 指令格式及寻址的有关概念 8086 指令系统的寻址方式及其应用 8086

More information

(10) 在满足串行口接收中断标志位 RI SCON.0 =0 的条件下, 置允许接收位 REN(SCO N.4)=1 就会启动接收一帧数据进入输入移位寄存器, 并装载到接收 SBUF 中, 同时使 RI =l 当发读 SBUF 命令时 ( 执行 MOV A,SBUF 指令 ), 即是由接收缓冲器

(10) 在满足串行口接收中断标志位 RI SCON.0 =0 的条件下, 置允许接收位 REN(SCO N.4)=1 就会启动接收一帧数据进入输入移位寄存器, 并装载到接收 SBUF 中, 同时使 RI =l 当发读 SBUF 命令时 ( 执行 MOV A,SBUF 指令 ), 即是由接收缓冲器 微机原理与接口技术 -- 历年考研真题复习资料 微型计算机的基本组成由微处理器 存储器 I/O 接口电路和系统总线构成, 输入 / 输出 (I /O) 接口和系统总线组成的, 即中央处理器 CPU( 通常包括运算器和控制器 )+ 存储器 + 输入 / 输出 (I/O) 接口, 单片微处理机就是把 (CPU 存储器和 I/O 接口电路 ) 等部件都集成在电路芯片上, 华中科技大学微机原理与接口技术一

More information

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7>

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7> 能源与动力工程学院 结构化编程 结构化程序设计 循环 循环结构 确定性循环 非确定性循环 I=1 sum=sum+i I = I +1 陈 斌 I>100 Yes No 目录 求和 :1+2+3++100 第四节循环的应用 PROGRAM GAUSS INTEGER I, SUM 计数器 SUM = 0 DO I = 1, 100, 1 SUM = SUM + I print*, I, SUM DO

More information

untitled

untitled 8086/8088 CIP /. 2004.8 ISBN 7-03-014239-X.... TP313 CIP 2004 086019 16 100717 http://www.sciencep.com * 2004 8 2004 8 1 5 500 787 1092 1/16 16 1/2 391 000 1 2 ii 1 2 CAI CAI 3 To the teacher To the student

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

PowerPoint Presentation

PowerPoint Presentation 一. 上机环境 应用软件系统软件硬件 4.5 汇编语言程序设计上机步骤与调试方法 用户程序 :ABC.exe 等 操作系统 :DOS 系统编辑器 : EDIT.exe 编程序 : MASM.exe 连接程序 :LINK.exe 调试程序 :DEBUG.exe CPU 存储器 (ROM RAM) I/O 接口 输入 输出设备 编辑源程序 EDIT ABC.ASM 二. 上机步骤 1 D:>EDIT ABC.ASM

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

Microsoft Word - ha0013s.doc

Microsoft Word - ha0013s.doc 文件编码 :HA0013s 简介 : 本文介绍利用 8 位微控制器控制 DV16100NRB 液晶显示驱动器的方法 该 LCM 由内置的 Hitachi HD44780 进行驱动及控制 本文应用中, 着重考虑如何使微控制器产生正确的信号以符合 LCM 所需的时序 若要获得详细的时序及指令信息, 请查阅 LCM 厂商的资料 LCM 能以 4 位或 8 位模式工作 在 4 位模式下, 传送一个字符或一条指令需两个传输周期完成

More information

一:概述

一:概述 EDM12864A 图形点阵式液晶显示器模块原理与应用手册 大连东福彩色液晶显示器有限公司 一 概述 EDM12864A 液晶显示器模块是全屏幕图形点阵式液晶显示器组件, 由控制器 驱动器和全点阵液晶显示器组成 可完成图形显示, 也可以显示汉字 (4 8 个 16 16 点阵汉字 ); 与 CPU 接口是 8 位数据线和几条地址线, 而不用另外加控制器 ( 如 HD61830 等 ), 另外 3 条电源线供芯片和

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 51 单片机对中断的控制 中断的概念很容易理解, 例如我们在看书的时候, 电话铃突然响了, 这时我们在书中夹一个书签, 然后去接电话, 接完电话以后, 根据书签的指示, 重新开始阅读 可以说这个电话铃响是一个中断源, 中断了我们的阅读 当中断任务完成以后, 继续进行阅读, 这就是一个中断响应的过程 单片机处理的方式与此是非常类似的, 本章就来学习 51 单片机如何处理这一过程 3.1 流水灯汇编程序的改进

More information

微机原理--汇编、连接和调试

微机原理--汇编、连接和调试 微机原理课程 汇编语言程序的编辑 汇编 连接和调试 西安电子科技大学 探测制导系 内容提要 编写汇编语言程序的五个重要步骤 编写源程序 汇编过程 连接过程 汇编语言编程过程 DEBUG 主要功能 DEBUG 命令 程序设计举例 结束语 编写汇编语言程序的五个重要步骤 1. 编写源程序, 如 L1.ASM 2. 汇编源程序, 得到目标代码,L1.OBJ 3. 目标代码文件的连接, 生成可执行文件 L1.EXE

More information

fgfdg

fgfdg CYGNAL 应用笔记 AN006 Cygnal C8051 IDT71V124 128Kx8 SRAM A[16:8] 地址总线 A[16:8] 74VHC573 8 位锁存器 ALE LE AD[7:0] 地址 / 数据总线 D Q A[7:0] I/O[7:0] CS CS /WR WE /RD OE 引言 图 1. 外部 SRAM 接口框图 本应用笔记的目的是介绍如何将一个通用 SRAM 芯片或一个按存储器寻址的外设部件与

More information

<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63> 因 为 路 过 你 的 路, 因 为 苦 过 你 的 苦, 所 以 快 乐 着 你 的 快 乐, 追 逐 着 你 的 追 逐 内 容 简 介 本 书 根 据 2005 年 下 半 年 实 施 的 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 嵌 入 式 系 统 设 计 师 级 考 试 大 纲 精 神, 在 深 入 研 究 历 年 计 算 机 技 术 与 软

More information