书签 分享 收藏 举报 版权申诉 / 178
上传文档赚钱

类型单片机原理及应用(第1~6章汪书56学时)课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:5020905
  • 上传时间:2023-02-03
  • 格式:PPTX
  • 页数:178
  • 大小:1.17MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《单片机原理及应用(第1~6章汪书56学时)课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    单片机 原理 应用 章汪书 56 学时 课件
    资源描述:

    1、1第一讲第一讲内容:概念、数制、转换、编码、重点:微机的三总线结构20.1微型计算机概述1.微型机结构 (投影片):丁元杰图1-1 用三类总线,将三类大规模继电路芯片连成一体。三类总线:数据 地址 控制。三类芯片:微处理器(MPU或CPU):由算式逻辑运算单元、控制器单元、寄存器组、内部总线组成。存储器芯片:I/O接口电路芯片:以上构成,称为微型机的主机。主机+I/O外设+电源+系统软件(操作系统)称为微型机系统。32.分类:按组装形式和规模分:单板机、个人计算机(PC)、单片机。按CPU同时处理的二进位数量分:8位、16位、32位、64位等。3.微机系统的主要指标 主频(时钟周期):单位HZ

    2、。指令执行时间:表明执行一条指令所需的平均时间。一般用指令执行速度 (MIPS,每秒运行多少百万条指令)来代替。指令执行速度,取决于:主频、指令系统、CPU结构。字长:CPU一次(同时)处理的二进位数。存储容量:主机内部随机存储器(RAM)的大小。单位:字节(B),一般有:KB=210=1024B、MB=220=1024KB、GB=230=1024MB、TB=240=1024GB40.2.微机中常用的数制与编码1.常用数制 最常用的数制有:十进制、十六进制、二进制。所谓进位制就是:数码从右到左排成数位,右大左小,右边一位比左边一位大一个“权”。运算时,某位满一个“权”,就在其右位加1,本位值为

    3、,结果减掉“权”后的值。(权又称位权,每一位对应一个固定的常数)任何进制的数的值都可用表示为十进制的值S,转换公式:n为正数的位数,m为小数的位数,Ki为第i位的数字,Qi为第i位的权。例1:二进制数,1011.11的十进制的值S:S=1*23+0*22+1*21+1*20+1*2-1+1*2-2=12.75 例2:十六进制数,1F6的十进制的值S:S=1*162+15*161+6*160=256+240+6=5021nmiiiQKS52.不同数制间的转换 十六进制(H)-二进制(B)例1:将二进制数1011101011.0110111B转换为十六进制数。从小数点开始,向左右4位为一组分开,每

    4、组对应一位十六进制数,按8、4、2、1算出该位的数字。即:10,1110,1011.0110,111=2EB.6E 不够4位,用0填充。例2:将十六进制数1A2F.7BH转换为二进制数。例1的逆过程。十进制(D)-十六(H0或二进制(B)例:将十进制数115.58,转换为二进制数。整数部分用短除法,从底到顶取余数,从左到右排位。小数部分用乘2取整法,从底到顶取整数,从左到右排位。6第二讲第二讲内容:编码、二进制运算、符号数表示、指令执行重点:二进制运算、指令执行73.微机中常用的编码 用一个二进制串,即“数据“来表示一个信息。所谓“编码”,就是构成数据的方法。BCD码(对十进制数的表示)用4位

    5、二进制位串表示1个十进制的数字(09)。4位二进制串可表示16个数字符号,在10进制中就多出6个字符。一般用8421的方法来计算一4位二进制串的数值,即用“0000”表示0,用“0001”表示1,用“0010”表示2,以此类推。显然,“1010-1111”这6个代码应属于非法。例1:十进制数2538的BCD码为:0010,0101,0011,1000 BCD码调整:由于计算机只能进行二进制运算,因此,在运算过程中,出现非法码时,应用软件进行调整(加6),最后结果才能按BCD码的规定输出十进制数。例2:178+65=243 0 0 0 1 0 1 1 1 1 0 0 0 +)0 0 0 0 0

    6、1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 +)0 1 1 0 0 1 1 0 (加6调整)0 0 1 0 0 1 0 0 0 0 1 1 ASCII码(对文字符号的表示)80.3计算机(二进制)运算基础 1.加法:0+0=0,0+1=1+0=1,1+1=0(进位)。其它算数运算(减、乘、除)均可化为加法运算。2.逻辑“与”(乘):00=0,10=01=0,11=1。工程口诀:“用0清零,用1保持。”例:对数据11010101的高4位清零,低4为保持不变。操作:1101010100001111=000001010100010193.逻辑“或”:01=10=11=

    7、1,00=0。工程口诀:“用1置1,用0保持。”例:对数据11010101的高4位置1,低4为保持不变。操作:1101010111110000=111101014.逻辑“异或”:相同为0,不同为1。0100111101001110102.指令执行过程 指令:叫计算机硬件完成一独立动作的命令。不同类的计算机硬件,完成的独立动作是不同的,即指令系统是不同的。指令格式:由操作码和操作数(地址码)两部分组成。执行过程:取指令、分析指令、执行指令。(投影片):张慰兮P30图1-8 (多媒体动画片):问题:1)取指令的过程涉及哪些部件?程序计数器PC、地址寄存器MAR、地址译码器MAD、数据寄存器MDR、

    8、数据总线DB、CPU内部总线、指令寄存器IR、指令译码器ID。2)分析指令的目的是什么?根据操作码,从(预先设计好的)指令(时序)系统中,选出相应的时序。3)执行指令的本质?就是将选中的指令时序通过微操作控制器去控制相应的门电路的启、闭,最终完成该指令要求的动作。11第四讲第四讲内容:MCS-51的结构重点:存储器、T/C121.1单片机概述 单片机:将微机的三大类部件,集成在一块芯片内。1.发展 第一阶段(1974-1976):低集成度,实际上是两片。第二阶段(1976-1978):8位,真正的单片机,性能较低,无通信功能(无串口)。Inter公司MCS-48。第三阶段(1978-1983)

    9、:8位,高性能,具有通信功能。NCS-51。第四阶段(1983-):更高性能的16位机,MCS-96。按用户需求生产的8位机。2.发展趋势 高集成度、低功耗。3.内部结构 复位 中断 电源4.单片机的特点 体积小:可靠性高:不易受外界干扰,同时对外界的干扰也小。功能强:特别是实时控制功能。使用方便:性价比高:外部定时元件系统时钟定时 器/计 数器串行I/O并行I/ORAMCPU131.2 MCS-51系列单片结构 1.组成(9大部分)(本讲只简介CPU)P6图1.1 CPU、T/C、ROM、RAM、时钟电路、并行口、串行口、中断系统、总线。可认为是由单总线(数据、地址、控制信息均由一条总线传输

    10、)连接的微机系统。14CPU:8位,专用布尔处理器。运算器 a.逻辑部件:ALU b.布尔处理器:位处理器,PSW字中的C位作为其累加器。c.累加器A:8位,累加器,存放操作数、运算的中间结果、乘法结果的低8位、被除数、除法结果的商等。累加器B:8位寄存器,存放乘法中的一个乘数、除法中的除数、除法结果的余数等。用户可操作(可寻址)。d.两个暂存器15控制器 a.时钟及复位电路 b.定时控制逻辑电路 c.指令存储及指令译码器 d.程序指针PC:16位,程序计数器,存放将要执行的指令(所在ROM单元的地址),内容自动加1,从而实现程序的自动执行。用户不能对其操作。e.数据指针DPTR:16位地址寄

    11、存器,访问外部数据存储器时作地址指针。也可分为两个8位寄存器(DPH高8位、DPL低8位)使用。f.堆栈指针SP g.程序状态字PSW:8位,存放程序运行过程中的状态。16名称名称 进位位进位位 辅助进辅助进位位位位 用户标志用户标志位位 寄存器选择位寄存器选择位 溢出标志溢出标志位位 奇偶标志奇偶标志位位 位位地地址址 PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0CACF0RS1RS0OCPD7D6D5D4D3D2D1D0 含含义义D7位进、位进、借位时为借位时为1,否则为否则为0。位操作时,位操作时,作为累加作为累加器。器。D3位有进、位有进、借位时为借

    12、位时为1,否则,否则为为0。供用户程供用户程序使用。序使用。00:0号寄存器组号寄存器组01:1号寄存器组号寄存器组10:2号寄存器组号寄存器组11:3号寄存器组号寄存器组带符号数带符号数的加、减的加、减运算时,运算时,结果超结果超8位位表示的范表示的范围时置围时置1。乘法结果乘法结果有高有高8位时位时置置1。除数为除数为0时时置置1。累加器中有累加器中有奇数个奇数个1时时置置1。程序状态字PSW:172.时钟、状态、机器周期 时序的概念:为完成指令,需按顺序驱动各种门电路,驱动信号间的关系,称为时序。每条指令都有响应的时序对应。时序定时单位 1)节拍(P):振荡脉冲的周期,单位是秒。两个节拍

    13、为一个状态(S)。例:振荡频率为12MHZ,则一拍为1/12MHZ(秒)。2)机器周期:6个状态为一个机器周期。即一个机器周期包含12拍 (S1P1、S1P2S6P2)。定时/计数器,以机器周期为最小定时单位。例:振荡频率为12MHZ,则一个机器周期为(1/12MHZ)26=1/1M=1微秒。3)指令周期:执行一条指令所需要的时间,以机器周期为单位。MCS-51的指令,最短的为一个机器周期,最长的四个机器周期。183.MCS-51单片机的引脚 P10 图1.6 两大类:I/O引脚 控制信号引脚,其中,P3口引脚既是I/O引脚(第一功能),又是控制信号引脚(第二功能)。要求同学着重理解P3口的各

    14、控制引脚的功能。19独立信号引脚 脚号名称第一功能第二功能符号有效说明符号有效说明30地址锁存控制ALE1控制外部地址锁存器,将P0口输出的地址数据锁存到锁存器中。PROG0EPROM编程脉冲输入端29读扩展ROMPESN0读外部ROM无31选扩展ROMEA0仅对外部ROM操作VPP EPROM编程脉冲输入端9复位RST1复位VPD 备用电源XTAL1(19)、XTAL2(18):外接晶体端。VSS(20):地线。VCC(40):+5V电源。20P3口第二功能 实际应用时,应先保证P3口的第二功能使用,剩下的线才可供I/O使用。P9 表1.321第五讲内容:MCS-51存储器组织重点:类型、功

    15、能、地址范围221.3 MCS-51五个独立的存储器空间 (具有独立的寻址能力,硬件空间随型号而不同):1.64KB的程序存储空间(ROM),单元(字)地址范围:0000hFFFFH。2.128B内部RAM空间,单元(字)地址范围:00H7FH。3.128B内部特殊功能寄存器空间(SFR),单元(字)地址范围:80HFFH。4.128位的位寻址空间,位地址范围:00HFFH。(个存储单元)5.64KB外部数据存储器空间,单元(字)地址范围:0000hFFFFH。MCS-51存储器结构,参见:P10,图1.6231.程序存储器(ROM)MCS-51机的片内部程序存储器,寻址范围4K(0000H0

    16、FFFH),每单元存放8位,即1个字节。存放程序及常数。MCS-51单片机,规定了6个专用的ROM地址,0000H为复位地址,其它5个为中断地址,参见:P10,表1.4242.片内数据存储器 数据存储器,寻址范围256(0000H00FFH),每单元存放8位,即1个字节。存放用户数据、中间结果及缓冲区。ROM、RAM的地址分配图:P10,图1.6 RAM一般分为两部分,低地址(00H7FH)128个单元,称为用户数据RAM区,存放用户的数据,根据对其使用的方式不同,又可分为三部分:工作寄存器区:(P11 表1.5)片内地址,00H1FH,共32个单元,分为4个区,每区个单元,分别用R0R7表示

    17、,区域的选择,由PSW字的RS0、RS1(PSW.3、PSW.4)决定。位寻址区:(P12 表1.7)片内地址,20H2FH,共16个单元,位地址,00H7FH)。数据缓冲区:片内地址,30H7FH,共64个单元。25高地址(80HFFH)128个单元,称为特殊功能寄存器(SFR),用以辅助硬件完成系统任务,一般说来用户不能用来存放数据。P13 表1.8特别说明:1.程序中可使用“符号”、“地址”等不同的表示法来寻址。可位寻址的单元,也可整体的单元寻址。2.堆栈是一种数据结构,具有“后进先出”的操作特点。主要用来保护中断现场。在程序中第一次给堆栈指针(SP)赋值 (RAM单元地址),就定义了一

    18、个堆栈。MCS-51的堆栈属向上生长型,其进栈进栈(PUSH)操作为:“先SP加1,后写入数据”。出栈出栈(POP)操作为:“先读出数据,后SP减1”。一般将堆栈建在30H以后的RAM区内。栈底无数据。26第六讲内容:I/O端口、工作方式重点:I/O口271.4 MCS-51的I/O端口(硬件电路图参见张慰兮等书)有4个双向并行(每个8条线)输入/输出口,P0、P1、P2、P3。1.P0口 无外部扩展时,P0口作为双向I/O口。作为输出(内部到外部)时,指令的写信号加在锁存器的CP端,内部总线上的数据写入锁存器,经T2驱动,数据在引脚上出现,脚上的数据与内部总线上的一样。(同学自己理解)。作为

    19、输入(外部到内部)时,锁存器CP端无脉冲,数据无法写入。指令的读信号打开三态门,使引脚与内部总线连通。有外部扩展时,此时P0口复用作为地址总线和数据总线。(同学自己理解引脚上的数据与内部总线(地址/数据线)上的数据的一致性。)2.P1口 作为双向I/O口。3.P2口 无外部扩展时,作为双向I/O口。有外部扩展时,作为高8位地址总线。根据寻址范围的需要,可任选P2口中的 若干条作为高地址线。例:外部扩展RAM为2K,问需几条P2 口作地址线。寻2K范围共需11条地址线 (211=2K),P0口有8条,故需3条P2口的线。4.P3口 第一功能,作为双向I/O口。第二功能。(引脚一节已介绍,P9 表

    20、1.3)281.5 MCS-51单片机的工作方式 1.复位方式:系统恢复到初始状态。主要部件的初始状态值:P7 表1.2 2.程序执行方式:基本工作方式,程序总是从ROM的0000H开始执行,并自动执行,直到程序完。一般在ROM的0000H单元放一条无条件转移指令。3.单步执行方式:利用机器的外部中断功能来实现。用户需自己设计中断电路和编写中断程序。4.掉电和低功耗方式:掉电:外电中断时,利用VCC端的滤波电容供电(可维持几毫秒),执行“掉电中断程序”(用户自编),完成信息道RAM的转存和备电源的启动。低功耗:掉电保护方式和待机方式两种属于低功耗方式,它们由PCON (电源控制寄存器)控制。待

    21、机方式:CPU不工作(相关部件SP、PC、PSW、ACC、通用寄存器保持原状态),中断功能保持。掉电方式:单片机停止工作,只有RAM内容保存。29习题1:P16 1,2,4,5,6,7,8,9,10,11,12,1330第七讲内容:指令概念、注记符、寻址方式重点:寻址方式312.1指令格式及寻址方式 1.指令及表示法(概念前面已经介绍)两部分组成:操作码 操作数,操作数,操作数。中的内容表示可选,即操作数是可选的。操作数可以是实际要参加操作的数值,也可是存放操作数的存储单元的地址。表示方法有:机器码:二进制串。计算机只能读懂机器码。注记符:用类英文单词表示操作码,用16进制数或默认符号(存储单

    22、元名等),表示操作数。例如:将累加器中的内容加20(十进制数)单元中大内容。机器码:00100100 00010100 注记符:ADD A,14H 指令的字节数 MCS-51以字节(8位)为操作单位,分为单、双、三字节指令。单字节指令,只有操作码。由于8位二进码可表示256个状态,而MCS-51的指令系统只有111条指令,因此可用一些操作码来表示对一些默认操作数(存储单元)的操作,即指令是单字节的(没有操作数部分)。指令周期(执行该指令所需的时间)MCS-51以机器周期为时间单位。有单、双、四周期指令。322.寻址方式 寻址的概念:指令的执行,关键是寻找操作数,根据冯渃依曼原理,数据必需是放在

    23、存储器中的,因此,寻找操作数,就变为寻找存放数的存储单元 (即单元地址)。寻找存储单元地址的不同方法,称为寻址方式。MCS-51有7种寻址方式。把在指令中直接给出的,参加操作的数,称为“立即数”。由于立即数由指令给出,因此,存放在ROM中。(指令中常用符号P19,同学自读1分钟)注释方法:例如,80H A,表示将数80H送入A中。而(80H)A,表示将地址为80H单元中的内容送入A中。R0 A,表示将寄存器R0中的内容送入A。而(R0)A,表示将R0中的内容作为存放操作数的单元地址。33立即寻址:用于对ROM 区寻址。指令中直接给出参加操作的数,可以是8位(#data8),或16 位(#dat

    24、a16)。从ROM中取数,放入累加器A。例:MOV A,#3BH;3BHA,把数3BH放入累加器A。ROM ACC3BH2000H 74H 2002H 2001H 3BH34直接寻址:用于对内部RAM区寻址。指令中直接给出存放操作数的单元地址。例:MOV A,3BH;(3BH)A,把3BH单元中放的数68H放入累加器。内部RAM ACC 68H3BH 68H 注意:1.本方式的寻址范围:片内256个RAM单元(8位地址)。2.对特殊功能寄存器,指令中的地址可使用物理、符号地址。例:MOV A,SP MOV A,81H;SP的单元地址为81H。3.单元地址与位地址的区别。例:MOV A,20H;

    25、(20H)A,8位操作,20H为单元地址。MOV C,20H;(20H)C,1位操作,20H为位地址。35寄存器寻址:指令中直接给出某工作寄存器的内容(用R0R7表示),把它作为操作数。工作寄存器在RAM中的地址是00H1FH,共32个,分为4组。首先用程序选中寄存器组(置程序状态字PSW的RS0、RS1两位的值),然后根据指令中的符号R0R7,即可取出指定的操作数。例:选定工作组0,MOV A,R0;R0A将R0中的内容送入A。RS1 RS034HR0(00H)34H内部RAMPSW 0 036寄存器间接寻址:用于对内部、外部RAM区寻址。寄存器中的内容是存放操作数的单元地址。本法中,只能使

    26、用R0、R1两个工作寄存器和DPTR(16位地址指针寄存器)。例:MOV A,R0;(R0)A30H56HRAM56H30HR0ACC37变址寻址:用于对ROM 区寻址。将指针寄存器DPTR或程序地址寄存器PC作为基址寄存器,将A作为偏移量寄存器,二者内容相加,作为ROM单元的地址,该单元的内容为操作数。例:MOV A,#0E0H;MOV DPTR,#2000H;MOV A,A+DPTR;(A+DPTR)A2000HE0H1FHDPTR(A)执行前(A)执行后 20E0H1FHROM38相对寻址:PC中的内容,加上指令中给的数据,之和作为ROM单元的地址,该单元的内容为操作数。指令中的数据为带

    27、符号数(补码形式)。例:SJMP 54H;跳转指令,54H前虽然没有#号,但应看成是放在ROM单元内的立即数。ROM80H54H2000H2001H2002H2056HRel=54hpc=2002h相加转移39位寻址:对内部RAM的位寻址区寻址。指令中直接给出位地址。位操作中的累加器是PSW中的进位标志位C。请同学熟悉7种寻址方式各自的寻址空间:寻址方式寻址方式 相关寄存器相关寄存器 寻址空间寻址空间 立即寻址 ROM 直接寻址 内部RAM和SFR 寄存器寻址 R0R7,DPTR,A 寄存器间接寻址 R0,R1 内部RAM R0,R1,DPTR 外部RAM 变址寻址 A+PC,A+DPTR R

    28、OM区 相对寻址PC+rel ROM区 位寻址 CY,SFR 内部RAM的20H2FH,SFR40第八讲内容:数据传送指令重点:内、外数据传送指令412.2.1数据传送指令 注:.指令中若有两个操作数,左边为目的操作数,右边为源操作数。.数据传送指不影响PSW字的内容。只有以A为目的数的指令影响PSW的奇偶位。4类:内部、外部、堆栈操作、数据交换 在以后的指令介绍过程中,将以一个简单而典型的控制电路作为例子的基础,请同学认真理解该电路:P22 图2.1421.内部数据传送:片内RAM的数据,送往片内RAM。以A为目的操作数的指令(4条)。MOV A,以直接地址direct为目的操作数的指令(5

    29、条)。MOV direct,已寄存器Rn为目的操作数的指令(3条)。MOV Rn,以Ri为目的操作数的指令(3条)。MOV Ri,MCS-51内部数据传送的方法如图:P26 图2.143P23 例:2.1、2.3控制电路:P24 图2.2控制要求:VD0VD4发光,VD5VD7熄灭;将内部RAM 30H的数据通过 LED显示出来。控制程序:ORG0000H;MOVP1,#1FH;(1F)16=(00011111)2END;例:2.3,P26例:2.4,P2644P24 思考题2-2:参考程序:MOVA,R6;MOV030H,A;MOVA,R7;MOVR6,A;MOVR7,030H452.外部数

    30、据传送:片内、片外RAM的数据,送往片外RAM。片外ROM的数据,送往片内RAM。片外RAM与A间的数据传送(只能寄存器间接寻址)。MOVX A,;外到内。MOV X ,A;内到外。例2.5,P28思考题2-3:P25 将外部RAM的0010H单元中的内容 送给外部RAM的0100H单元。MOVDPTR,#0010H;MOVXA,DPTR;MOVDPTR,#0100H;MOVXDPTR,A;思考题2-4:P25 将外部RAM的0010H单元中的内容与 外部RAM的0200H单元的内容互换。MOVDPTR,#0010H;MOVXA,DPTR;MOV030H,A;MOVDPTR,#0200H;MO

    31、VXA,DPTR;MOVDPTR,#0010H;MOVXDPTR,A;MOVDPTR,#0200H;MOVA,030H;MOVXDPTR,A;46外部ROM的数据,传往A(只能是变址寻址)。因为是对ROM只读(ROM地址只能作源),故常称为查表指令。MOVC A,A+思考题2-5:P25 预先将以度为单位的值放在ROM中(用DB指令),然后用MOVC指令查找。47堆栈操作 PUSH direct;SP先加1,后压数进栈。POP direct;先读出数据,后SP减1。要使用堆栈,首先用MOV SP,#0XXH指令设置栈底,一般XX取30H。例2.6,P25,参见P26 图2.348数据交换指令

    32、1)全字节交换:XCHA,2)低半字节交换:XCHD A,Ri;SWAPA 例2.7,P26 初始状态:累加器 A的RAM单元地址为E0H,内容为79H。0号工作区工作寄存器R0的RAM地 址为00H,内容为20H。XCH A,R0 ;(A)20H,(R0)79H XCH A,R0 ;(A)85H,(R0)20H,(20H)79H XCHD A,R0 ;(A)75H,(R0)20H,(20H)89H SWAP A ;(A)97HRAM单元地址内部RAM单元中的内容00H(R0)20H20H85H21HE0H(累加器A)79H492.2.2算数运算指令1.加法指令 有三类,注意对PSW字的影响。

    33、两个操作数(源操作数、A中内容)的加:ADD A,;影响PSW。三个操作数(源操作数、A中内容、PSW字的进位位C)的加:ADDC A,;影响PSW。加1:INC;不影响PSW字的内容。只有以A的内容影响PSW的奇偶位。例2.8,P28 程序状态字PSW:Cy Ac F0 RS1 RS0 OV P 两个无符号数相加时,若Cy置位,说明“和”大于(FFH)。两个有符号数相加时,当D6位(有进位时表为C6=1)或D7位(有进位时表为C7=1)中 只有位产生进位时(C7异或C6等于1),溢出位OV置位,说明产生溢出 (即大于或小于),其结果错误。思考题2-7:P28 解:D7 D6 D5 D4 D3

    34、 D2 D1 D0 0 1 1 1 1 0 0 1 079H=(121)10 1 0 0 1 0 1 1 1 097H=(152)10 1 0 0 0 1 0 0 0 0 0110H=(272)10 (121)10+(151)10=(272)10 CY=1(D7位有进位),Ac=1(D6位有进位),OV=0(C7异或C6等于,无溢出,说明结果正确,P=1(A有奇数个1)例2.9,P28 (带进位位加法ADDC,即三操作数加法)502.减法指令:SUBB A,;A中为被减数,Cy作为减数之一,当被减数大于等于减数时,Cy为,当被减数小于减数时,Cy为。影响PSW字,同加法一样。例2.10,P29

    35、 分析执行以下指令后,PSW格位的状态。SETBC;MOVA,#48H;SUBB#5CH;作为无符号数,作减法:0 1 0 0 1 0 0 0 (A)=48H=(72)100 1 0 1 1 1 0 0 减数=5CH=(92)10 -1 减数CY=1 1 1 1 1 0 1 0 1 1 (A)=EBH 作为有符号数,作加法:0 1 0 0 1 0 0 0 (A)=48H=(72)10,正48H的补码 1 0 1 0 0 1 0 0 加数=-5CH=(92)10,负5CH的补码 +1 1 1 1 1 1 1 1 加数CY=-1 负1的补码 1 1 1 1 0 1 0 1 1 (A)=EBH=-1

    36、5H=(-21)10 显然结果是唯一的。513.BCD调整:DB A;本指令只能跟在加法指令后,不能跟在减法指令后。4.乘除指令 乘:MUL AB;存于A、B寄存器中的两个无符号数相乘,积的高8位在B中,低8位在A中。执行后对PSW的影响:Cy=0;积超过0FFH(此时B内不为),OV=1,否则为。除:DIV AB;A中为被除数,B中为除数。商在A中,余在B中。执行后对PSW的影响:Cy=0;B=0时,OV=1(除数为,无意义),否则为。52思考题2-8:P31MUL1:MOV R0,#045H ;取存积最低字节的单元地址。MOV A,040H ;被乘数低字节取入A。MOV B,042H ;乘

    37、数低字节取入B。MUL AB ;两低字节相乘。MOV R0,A ;积的最低字节存入45H单元。MOV R3,B ;两低字节相乘后积的高字节暂存于R3。MUL2:MOV A,040H ;被乘数高字节取入A。MOV B,042H ;乘数低字节取入B。MUL AB ;乘数低字节与被乘数高字节相乘。ADD A,R3 ;乘数低字节与被乘数高字节相乘之积的低字节与 ;两低字节相乘之积的高字节相加。MOV 044H,A ;加得的结果(积之次低字节)暂存于44H单元。MOV A,B ;乘数低字节与被乘数高字节之积的高字节取入A。ADDC A,#00H ;将前面相加的进位加入积的最高字节 ;(如果有的话)。MO

    38、V 043H,A ;将积的最高字节存入43H单元。53习题:P61一,填空题:全部54第九讲第九讲内容:逻辑运算、转移指令重点:逻辑运算指令552.2.3逻辑运算指令1.与、或、异或指令:(自学)。工程口诀:“与”,用1保持,用0清0。“或”,用0保持,用1置1。“异或”,相同为0,相反为1。运算结果放在目的操作数中。2.移位指令:注意,移位方向(左、右),是否含进位位。例2.17:P34 控制电路:图2.1 控制要求:LED按给定规律循环发光。控制程序:ORG000HMOVA,#0C0HLOOP:MOVP1,AACALLDELAYRRASJMPLOOPDELAY:END思考题2-12:P35

    39、 解:将指令RR A,变为RL A,即可改变循环方向。将初值0C0H变为F0H,即可变为个相邻灯亮。VD7VD6VD5VD4VD3VD2VD1VD0562.2.4控制转移指令 用来修改PC(程序计数器)的内容,以该变程序执行的顺序。1.无条件转移 (自学)执行后,程序无条件转移到指令提供的地址上去。(以下所有地址参数,均可是某条目标语句的标号。)LJMP addr16 ;长转移。可寻址64KROM。Addr16 PC。AJMP addr11 ;短转移。可寻址(含PC+2单元地址在内的)2KROM。;PC+2 PC,addr11 PC10-0,PC15 11不变。SJMP rel ;相对转移。r

    40、el为带符号8位数。;可寻址以PC+2单元为中心的上、下各128单元ROM。;PC+2 PC,PC+rel PC。JMP A+DPTR ;变址寻址转移。A+DPTR PC。DPTR为基址,;实现多路转移(散转)。572.条件转移 (以下所有地址参数,均可是某条目标语句的标号。)累加器A判0转移 JZ rel;为0转移 JNZ rel;不为0转移 比较转移(左边的数右边的数,则转移,相等则顺序执行。)CJNE A,#data,rel;CJNE A,diret,rel;CJNE Rn,#data,rel;CJNE Ri,#datd,rel;注意:1)执行条件是,当前语句的PC-125目标语句的PC

    41、当前语句的PC130。2)影响PSW的Cy位:左操作数右操作数,则Cy=0。左操作数右操作数,则Cy=1。例2.19,P37,循环控制转移(左边的数减1不为0,则转移。)DJNZ Rn,rel;DJNZ direct,rel;58思考题2-13:P37 片外,个连续单元,所置的数也是连续的。MOV DPTR,#01020H;MOV R2,#1EH;个数。CLR A ;LOOP:;位置。MOVX DPTR,A;INC DPTR;INC A;DJNZ R2,LOOP;SJMP$;若将DJNZ语句放在位置处,会是什么情况?59 3.子程序调用及返回 调用返回过程和断点保存 见张慰兮P106,图4-1

    42、1。注意:LCALL调用指令和RET返回指令必须成对使用。中断程序的最后一条指令必须是RETI返回指令。4.空操作 NOP;不执行任何操作,只占用CPU一个机器周期。2.2.5 位操作指令 1.位传送 2.位置1/位清0 3.位(逻辑)运算 4.位测试转移注意:PSW字的进位位Cy,相当于累加器A的功能。60习题:P62 二,程序阅读全做61第十讲第十讲内容:汇编程序设计基础重点:汇编语言格式622.3汇编语言程序设计基础1.汇编语言概念:用助记符(准英文单词)表示操作码,用字母或16进制数字表示操作数。(用汇编语言写的)源程序,只有通过事先写好的称为“汇编程序”的软件翻译成 (用机器语言即0

    43、、1串表示的)目标程序后,才能被计算机执行。源程序(汇编语言源程序)汇编程序(完 成 翻译工作)目标程序(机 器 语言程序)632.汇编语言格式 标号:操作码 操作数,操作数;注释 中的内容,可选。标号:以字母开头,不多于8个字母或数字,(除汇编语言系统中的保留字符)序列。标号的实际含义,表示本行指令所在ROM的单元的相对起始地址。在转移指令中,可作为相对地址(rel)。操作码:准英文单词。操作数:立即数或单元地址。地址可用物理地址、符号地址。注释:用户自加的说明,汇编时,计算机不与理会。643.伪指令:控制汇编过程的指令,不被翻译成机器码,因此不占用ROM,不被执行。汇编起始指令 标号:OR

    44、G addr16 定义本指令汇编以后的目标程序存放的起始ROM地址。例:ORG 2000H START:MOV A,#34H 汇编结束指令 标号:END 汇编程序遇到本指令后停止汇编。一个源程序,只能有一个END指令。赋值指令 名称 EQU 数或汇编符号 用左边的名称代替右边的数或汇编符号 (例:R0、R1、PSW,不是任意符号)。本指令应放在程序的最开始。赋值的“名称”不能在表达式中出现。例:KG EQU R2 FM EQU R3 IO EQU R4 数据、地址赋值指令 名称 DATA 表达式 用左边的名称,代替右边的表达式。表达式中不应有汇编符号。本指令中的名称可先使用,后定义(可出现在源

    45、程序的任意地方)。65定义字节、字、空间指令 DB 字节常数,字节常数,字节常数 DW 字常数,字常数,字常数 将指令中给出的字节常数或字常数存放在指定的ROM单元内,一个字节常数占一个单元,一个字常数占两个单元 (高8为放低地址,低8位放高地址)DS 表达式 从指定单元开始,空出表达式给定的ROM个单元。例5-1,P113 (画存储图)位地址符号指令 名称 bit 位地址 用左边的名称,代替右边的位地址。类似EQU指令。例:D bit 20.7 ;用D表示RAM的20H的b7位。664.汇编语言程序设计的步骤 一般来说一个完整的源程序包含伪指令和指令。具体步骤,自学P45,参见图2.8。67

    46、第十一讲第十一讲内容:汇编程序设计举例重点:键口控位移、查表、延时682.4 MCS-51程序举例 1.数制转换程序:P45 例2.26、例2.27(自学)2.算数和逻辑运算程序:P46 例2.28、例2.30(自学)P49 例2.31 控制键控移位(详细介绍)控制电路:P49 图2.13 控制要求:按键SW按下第一次,VD1发光,按下第二次VD1、VD2发光,第八次VD1VD7全亮,按第九次,VD1、VD2发光,依次循环。控制程序:(下页)69例2.31 控制程序SWBITP1.0 ;用P1.0口作为按键状态的输入端ORG0000HLOOP0:SETBSW ;置P1.0为高电平 MOVA,#

    47、01H ;MOV R7,#07H ;循环次数LOOP1:MOVC,SW ;如果SW没按下,C=1MOV R6,#255 ;延时消抖DELAY:NOPNOPDJNZ R6,DELAYANLC,/SW ;如果SW按下,SW=0,则/SW=1,“与”的结果为1 ;(设C原为1),SW没按下,“与”的结果为0,;结果均会存回C中。JNCLOOP1 ;C不为1,表示SW没按下,重新查询SW状态。RLCA;SW按下,将低位的1状态左移,让下一LED发光。ORLA,#01;让最低位置1,即保持LED亮。MOVP1,A;输出控制信号,点亮LED。DJNZR7,LOOP0;直到7次按下。SJMPLOOP0;下一

    48、轮回END703.查表程序 例2.40,P564.子程序 子程序设计注意的问题:子程的第一条指令应有标号(称为子程的入口地址)。用RET指令结束子程。子程内部转移,用相对转移指令。在子程开始保护现场(PUSH)、结尾恢复现场(POP)。主、子程序间的参数传递:入口参数:主程提供给子程的参数。出口参数:子程提供给主程的参数。参数传递的方法:用工作寄存器Rn和累加器A传递。用数据指针DPTR传递。用堆栈传递。例2.34,P53715.延时程序 (详细介绍)P55 例2.37 软件延时 关键是计算指令周期、循环次数,一个循环变量最多计256次循环,可采用 多重循环来增加延时时间。72习题:P58 2

    49、.2 、73第十二讲第十二讲内容:中断基本概念重点:中断概念743.1 中断基本概念 1.中断系统:由硬件电路和软件构成。2.中断处理过程,按下述步骤进行:中断请求:由中断源(硬件或软件),向CPU发出(对专用寄存器置位)。中断响应:在满足响应条件时,CPU暂停主程的执行,转向执行,中断服务程序。具体过程:1)自动关中断:关闭中断允许触发器,防止其他中断对现有中断的干扰。中断服务程序可打开中断允许触发器,以接收新的中断请求 (中断嵌套 P61 图3.1)。2)断点保护:将断点地址(转入中断服务程序前PC中的值),推入堆栈。3)转中断服务程序:将中断服务程序的入口地址送入PC。753.中断处理:

    50、执行指令指令结束否?有中断请求否?中断响应关中断找出中断申请源并保护断点转 中 断服 务 程序保护现场中断处理恢复现场开中断返回取下一条指令保护现场:将断点处的有关寄存器的值推入堆栈。中断服务:执行中断服务程序。恢复现场:将堆栈中保存的断点处有关寄存器 的值弹回到各寄存器。开中断、返回:打开中断允许触发器。将堆栈中 保存的PC值弹回PC。76第十三讲第十三讲内容:MCS-51的中断系统重点:中断控制773.2 MCS-51的中断系统(P62 图3.2)1.中断源:有5个 0号外部中断:由P3.2(引脚12)引入,请求信号可以是低电平或负跃变边沿触发方式。中断服务程序的入口地址为0003H。1号

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:单片机原理及应用(第1~6章汪书56学时)课件.pptx
    链接地址:https://www.163wenku.com/p-5020905.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库