




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理与应用复习提纲第一章第二章 MCS-51系列单片机的硬件结构1. MCS-51单片机的总体结构MCS-51单片机的内部结构 8位的CPU; 128个字节的片内RAM; 4K字节的片内ROM程序存储器(8031无) 外部的RAM和ROM的寻址范围为64K 21个字节的专用寄存器 4个8位并行I/O口 1个全双工的串行口 2个16位的定时器/计数器 5个中断源、2个中断优先级 MCS-51单片机的总线结构微处理器又称为CPU,是单片机内部的核心部件,它决定了单片机的重要功能特性。它由运算器和控制器两大部分组成。对CPU的使用就是对CPU中的寄存器的使用。 累加器ACC 寄存器B 程序状态字PSW 布尔处理器C 程序计数器PC,16位 数据指针寄存器DPTR,16位 DPTR寄存器中存放外部数据存储器地址 堆栈指针SP2程序存储器程序存储器通常存放程序指令、常数及表格等,系统在运行过程中不能修改其中的数据 。 程序的几个特殊地址: 复位 0000H,PC复位指向该地址 外部中断0 0003H 定时器/计数器0溢出 000BH 外部中断1 0013H 定时器/计数器1溢出 001BH 串行口中断 0023H3数据存储器 数据存储器则存放缓冲数据,系统在运行过程中可修改其中的数据。 包括: 1)编址与访问 2)片内数据存储器 3)特殊功能寄存器块片内128字节数据存储器要求熟悉4个工作寄存器区的使用方法RS0,RS1。如:RS1,RS0=10 , R1的直接地址为11H。00H1FH :32个字节,内部RAM的寄存器区共有32个单元,分为4组,每组8单元。 20H2FH:16个字节,128位寻址区,128位寻址区的字节地址范围是20H2FH。 30H7FH:通用寄存器区或数据缓冲区,堆栈区。 堆栈: 使用片内RAM、初始化时SP=07H 51系列单片机的堆栈是向上生长的 一般程序中堆栈的开始: MOV SP,#60H4单片机的复位电路高电平复位,一般高电平保持2个机器周期以上有效复位5时序 (1)振荡周期 (2)状态周期 (3)机器周期 (4)指令周期 外部晶振的2分频是MCS-51单片机的内部时钟周期,6个时钟周期构成了单片机的1个机器周期 。即1个机器周期是外部晶振频率的12分频。例:单片机的晶振频率为6MHz,执行下列程序需要 203 个机器周期和 406 微秒 时间。(下列程序中注释的数字为执行该指令所需的机器周期数) MOV R3,#50 ;1 LOOP: NOP ;1 NOP ;1 DJNZ R3,LOOP ;2 RET ;2第三章 MCS-51系列单片机指令系统1寻址方式1)概述2)寻址就是寻找指令中操作数或操作数所在的地址。3)所谓寻址方式就是如何找到存放操作数的地址,把操作数提取出来的方法 。它是计算机的重要性能指标之一,也是汇编语言程序设计中最基本的内容之一。寻址方式说明 立即寻址寄存器寻址 直接寻址 寄存器间接寻址 基寄存器加变址寄存器间接寻址 相对寻址 位寻址 2数据传送类共29条。按其操作方式,又可把它们分为三种:数据传送、数据交换和栈操作。助记符:MOV、MOVX、MOVC、数据传输 XCH、XCHD、SWAP、数据交换 PUSH、POP。栈操作应用举例:DPTR是数据指针,用于存放16数据,可以存放地址。1) 把片内RAM 6AH单元中的内容传送到片外RAM 3000H单元。MOV A, 6AH MOV DPTR, #3000H MOVX DPTR, A 2) 把片外I/O口地址为2000H的数据读入片内RAM 40H单元中。MOV DPTR, #2000H MOVX A, DPTR MOV 40H, A 3) 把片外I/O口地址为2000H的数据写入片外RAM 4000H单元中。MOV DPTR, #2000H MOVX A, DPTR MOV DPTR, #4000H MOVX DPTR, A4) 把外部数据存储器2040H单元内容和片外RAM 2230H单元互换。MOV DPTR, #2040HMOVX A, DPTRMOV R1, A MOV DPTR,#2230HMOVX A, DPTRMOV DPTR,#2040HMOVX DPTR,AMOV DPTR,#2230HMOV A,R1 MOVX DPTR,A 5) 已知片内RAM 50H单元中存放数据为0AAH,把此数据值压入堆栈,然后再弹回到40H单元中,设堆栈指针为60H。MOV SP, #60HMOV 50H, #0AA HPUSH 50HPOP 40H3算术运算类(24条)加、减、乘、除基本四则运算和增量(加1)、减量(减1)运算。助记符:ADD、ADDC、INC、DAA SUBB、DEC、 MUL、DIV共8种操作助记符应用举例:1) 将片内RAM 40H和41H单元内容相加,结果放42H。MOV A,40HADD A, 41HMOV 42H,A2) 将片外RAM 2000H和2001H两单元中的BCD码相加,结果放2002H。MOV DPTR, #2000HMOVX A, DPTRMOV R1, A MOV DPTR,#2001HMOVX A, DPTRADD A, R1DA AMOV DPTR,#2002HMOVX DPTR,A3) 设被加数存入片内RAM30H32H单元中,加数存入片内RAM40H42H,低位在前,高位在后,各单元中均为压缩的BCD码。将结果之和分别存入50H52H单元中。 没有使用寄存器MOV A,30HADD A, 40HDA AMOV 50H ,AMOV A,31HADDC A, 41HDA AMOV 51H ,AMOV A,32HADDC A, 42HDA AMOV 52H ,ARET4) 把R1R0和R3R2中的两个4位BCD码数相加,结果送R5R4中,如有进位,则进位位存入位地址20H中。(这个是平时设计程序时应该想到的)MOV A, R0ADD A, R2DA AMOV R4,AMOV A, R1ADDC A, R3DA AMOV R5,A;假设高位相加有进位CLR 20HJNC L1;判断进位位是否为1,不为1转移。SETB 20H;(寄存器置位是个什么概念?)L1: SJMP L14. 逻辑运算类(24条)包括清除、求反、移位及与、或、异或等操作。这类指令有:CLR、CPL、RL、RLC、RR、RRC、ANL、ORL、XRL,共9种操作助记符。 应用举例:1) 把累加器A中低4位(高4位清0)送入外部数据存储器的3000H单元。 MOV DPTR,#3000H ANL A, #0FH;与命令,屏蔽高四位。与零与为零,与1与不变MOVX DPTR, A2) 将累加器A的低4位的状态通过P1口的高4位输出。ANL A, #0FH;屏蔽高四位SWAP A;高低四位交换ANL P1, #0FH;屏蔽高四位ORL P1,A ;两者或,低四位变成高四位输出3) 编程将片内RAM 21H单元的低3位和20H单元的低5位合并为一个字节送片内RAM 30H,要求21H的低3位放在高位上。MOV 30H, 20H ;先把20的低五位放在30中ANL 30H, #1FH ;低五位保持不变,高三位为零MOV A, 21H ;把21移入A中SWAP A ;A的高低位互换RL A ;左移,使得原21中第三位变成高三位ANL A, #0E0H ;屏蔽低五位; ORL 30H,A ;或命令 得到最终结果5. 控制转移类(17条)计算机在运行过程中,有时因为操作的需要或程序较复杂,程序指令往往不能按顺序逐条执行,需要改变程序运行的方向。MCS-51的控制转移类指令包括无条件转移、条件转移、调用和返回指令等。指令有AJMP绝对转移、LJMP长转移、SJMP短转移、JMP A+DPTR、JZ、JNZ、CJNZ、DJNZ、ACALL、LCALL、RET、RETI、NOP共13种操作助记符。LJMP、SJMP的转移范围应用举例1) 将累加器A的低4位取反4次,高4位不变,每变换一次从P1口输出。方法1: MOV R0, #0 LL: XRL A, #0FH ;异或命令,高位不变,低位为1INC R0 ;加1MOV P1, A ;输出A,高四位不变,低四位输出CJNE R0, #04H,LLRET (这个程序没有看懂!)方法2: MOV R0, #04H LL: XRL A, #0FHMOV P1, A DJNZ R0,LLRET 6. 位操作类(17条)以进位标志C作为累加器C在使用位操作类指令时要和字节操作类指令区别开来,因为它们的助记符是相同的。这类指令的助记符有:MOV、CLR、CPL、SETB、ANL、ORL、JC、JNC、JB、JNB、JBC,共11种操作助记符。应用举例:1) 将累加器的ACC.5与00H位128位寻址相与后,通过P1.4输出。 MOV C, ACC.5ANL C,00HMOV P1.4, C 7. 伪指令汇编程序对用汇编语言写的源程序进行汇编时,还要提供一些汇编用的指令,例如要指定程序或数据存放的起始地址;要给一些连续存放的数据确定单元等等。但是,这些指令在汇编时并不产生目标代码,不影响程序的执行,所以称为伪指令。 ORG定位伪指令 DB定义字节伪指令DW定义字伪指令EQU赋值伪指令END汇编结束伪指令说明以下指令的意义: 1MOV P1, #82H ;在P1口输出100000102SWAP A ;A的高低四位互换3ANL 30H,#20H ;用20H内容与30H内容相与4DEC R0 ;R0内容为地址的内容减15CJNE A, #60H, NEG ;A的内容与60H内容相同转移6SETB C ;进位位置17RL A ;A左移1位8MOVX A,DPTR ;以DPTR内容为地址,取其内容9ORL 30H,A ;或命令,改变30H 内容 10MOV 30H, 20H ;20H内容转移到30H第四章 汇编语言程序设计1顺序结构的程序 应用举例:1) 将片外I/O口1000H数据读入片内RAM 30H单元中。MOV DPTR #1000HMOV A DPTRMOV 30H A2) 把二个外部数据存储器2000H单元和2010H单元内容互换。MOV DPTR #2000H ;读取2000内容MOV A DPTR ;把内容放到A中MOV R0 A ;暂时保存2000内容MOV DPTR #2010H ;读取2010内容MOV A DPTR ;送到A中方法一:MOV DPTR #2000H ;指向2000地址MOV DPTR A ;把2010内容放到2000中MOV DPTR #2010H ;指向2010地址MOV A R0 ;把2000内容置入A中MOV DPTR A ;把A中内容置入2010方法二:XCH A R0 MOV DPTR #2010HMOV DPTR AMOV A R0MOV DPTR #2000HMOV DOTR A3) 将31H、30H和41H、40H中的两个4位BCD码数相加,结果送31H、30H中,(低位在低字节,高位在高字节)方法一: MOV R0 #30H MOV R1 #40H MOV R2 #02H CLC C LOOP: MOV A R1 ADDC A R0 DA A MOV R0 A INC R0 INC R1 DJNZ R2, LOOP(程序不确定 )方法二: CLC C MOV A 30H ADD A 40H DA A MOV 30H A MOV A 31H ADDC A 41H DA A MOV 31H;假如高位相加有进位 CLC 32H JNC L1判断进位位是否为1,不为1转移 SETB 32H ?(能否这样置位,置位只能是位置位,不可以寄存器置位) L1:SJMP L14) 将片内RAM 20H单元中的数拆成两段,每段4位,并将其分别存入21H、22H单元中。低4位存在21H单元,高4位存在22H单元 2分支结构的程序 分支结构程序是利用条件转移指令,使程序执行到某一指令时,根据条件是否满足,来改变程序执行的顺序。编写分支结构的程序主要在于正确使用转移指令。编写分支结构的程序的关键是确定好分支条件。应用举例:1) 从片内RAM 60H开始存放100个数据,试统计正数、负数及零的个数,并将结果存放在50H/51H/52H单元中。2) 从20H单元开始有一无符号数据块,其长度在20H单元。求出数据块中的最小值并存入21H单元中。3循环结构的程序 1. 将内部RAM30H开始的连续8个字节单元的无符号数求和,假设和不超过256。2. 将内部RAM20H开始的连续16个工作单元清0。4查表程序:参看实验六(1),(2)程序 5子程序设计:参看实验六(1),(2)程序通常将这种可以被调用的程序段称为子程序。调用子程序的程序称为主程序。使用子程序的过程称为调用子程序;子程序执行完毕后返回主程序的过程称为子程序返回。第五章 MCS-51单片机硬件资源的应用1I/O口的应用在MCS-51单片机内部包含有四个并行的I/O口P0口、P1口、P2口和P3口。PO口既可以作为通用的I/O口进行数据的输入/输出,也可以作为单片机系统的地址/数据线使用。 P2口既可以作为通用的I/O口使用也可以作为地址总线使用。P2口作为一般的I/O口使用时记作P27P20;作为地址口使用时是地址的高8位,记作A15A8。 I/O口应用举例 例5.1; 例5.2; 实验三2MCS-51单片机的中断系统 中断源 中断控制 中断优先级 中断响应 中断服务程序入口地址: 外部中断0 0003H 定时器/计数器0溢出 000BH 外部中断1 0013H 定时器/计数器1溢出 001BH 串行口 0023H 中断系统应用举例 例5.4 3. MCS-51的定时器/计数器 计数功能是指对外部事件进行计数,计数信号来自T0、T1引脚。 定时功能也是通过计数器的计数功能来完成的,不过此时的计数脉冲来自单片机内 部的机器周期。 定时和计数范围: 方式1: 16位 计数器的计数值范围是:165536。 当为计数器工作方式时: 计数器的初值范围为:0216-1 当为定时工作方式时: 定时时间= (216-计数初值)定时周期若晶振频率为12MHz,其定时周期1s,则最短定时时间为:Tmin=216-(216-1) 1s =1(s)最长定时时间为:Tmax=(216-0) 1s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年书籍设计考试试题及答案
- 2025年邮政特色知识题库及答案
- 2025年统计职称考试试题及答案
- 西宁市2025年临床执业医师考试(实践技能)模拟题及答案
- 新疆维吾尔自治区全科医生转岗培训考试(理论考核)题库及答案(2025年)
- 2025年轨道运输设备题库及答案
- 2025年高速铁路现场信号设备维修工(车站联锁系统)技术及理论知识考试卷及答案
- 油田塌方应急预案
- 2025年高二物理上学期反思评价能力测试
- 2025年高二物理上学期“动量与波动魔术”揭秘试题
- 2025贵州黔西南州普安县县直单位、街道考调事业单位工作人员47人考试参考题库及答案解析
- 2025年辽宁沈阳市近海控股集团招聘24人笔试参考题库附带答案详解
- 拼多多公司技能培训
- 写作技巧:三十六种故事创作套路
- 2025-2026学年教科版(2024)小学体育与健康二年级全一册《饮水促健康》教学设计
- 卵巢囊肿教学查房课件
- 挖机挖方合同协议书模板
- 福建省2025-2026学年福州市高三年级第一次质量检测英语
- 道字的演变课件
- 教案2025秋形势与政策纪念抗战胜利坚定民族信念抗战胜利80周年
- 阀门安装施工组织方案(3篇)
评论
0/150
提交评论