




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程地位:课程地位:1、微机,特别是单片机应用技术,是机电一体化六大关键技术之一;2、机械学院机电学院的转变中所扮演的角色;3、对本课程对机类学生电类学生的影响。课程说明:课程说明:微机原理与接口技术课程,是全国高校工科,特别是电类与机电类专业的必修课程,许多学校同时将该课程列为研究生入学考试课程。实践中,本课程教学安排上有二种不同方案,二者有诸多相通之处,但偏重点完全不同,希望学习过程及将来参加其它考试时特别予以关注:a)主要讲授8088/8086微型计算机系统原理及其接口技术;b)主要讲授单片微型计算机原理及其接口技术。 适用教材适用教材: 单片机初级教程-单片机基础(2)参考书目:参考书
2、目:单片微型计算机原理与接口技术陈光东编华中理工大学出版社单片机中级教程-原理与应用何立民主编、张俊谟著 北京航空航天大学出版社单片机原理与应用李晓荃主编、魏立东等著 电子工业出版社计划学时:计划学时:55学时 (其中讲课46学时,实验6学时,习题学时)前导课程:前导课程:数学、电工电子学、计算机语言类等课程后续教学环节:后续教学环节:1、微机原理与接口技术课程设计2、机电一体化相关方向的毕业设计学学习习网网站站21IC中国电子网中国电子网HTTP:/ WWW.21IC.COM爱思电子爱思电子 HTTP:/WWW.NJ-ICES.COM/大虾电子网大虾电子网HTTP:/ WWW.DAXIA.C
3、OM单片机学习网单片机学习网HTTP:/www.MCUSTUDY.COM飞翔电子技术飞翔电子技术 HTTP:/WWW.MCUOK.COM/紫薇单片机紫薇单片机HTTP:/WWW.ZWMCU.COM/IC在线网在线网HTTP:/WWW.E-IC.COM.CN/深圳赛格深圳赛格HTTP:/WWW.SEGEM.COM.CN/力源信息力源信息HTTP:/WWW.ICBASE.COM/DAQCHINA工业控制网工业控制网http:/ Porcess Unit,是小型或微型计算机的核心,负责数据的运算与控制。除微处理器外,还需有存储器、输入输出接口(如键盘、显示器、打印机)等外围电路与之协同工作的一个完整
4、的系统。统称系统机,以功能的通用性与完整性,及应用的开放性为突出特征。PC机:机:典型的系统机。(Personal Computer)简称单片机,以满足一定要求的基本功能或少量的特殊功能部件,包括CPU、RAM、ROM、定时/计数器、及各种I/O接口电路集成于一片芯片上为突出特征。正在发展之中的片上完整系统。1971年,Intel公司推出4004微处理器。(4位机位机)1974年,Intel公司推出8080微处理器。(8位机位机)同时期产品:Motorola公司的M6800、Zilog公司的Z80、Intel公司的8080A、8085A1978年,Intel公司推出8086微处理器。(16位机
5、)同时期产品:Motorola的M68000、Zilog的Z8000、Intel的8088(8位版的8086)1979年,IBM公司进入微型计算机市场。1983年,Intel公司的802861985年以来,Intel公司的80386、80486、Pentium、Pentium II、Pentium III、Pentium IV Single Chip Microcomputer,常用,但不够准确Microcontroller Unit,比单片机更准确一些,但不够流行Enbedded MicroprocesserEnbedded Microcontroller,时髦,准确,正在流行,Intel公
6、司推出公司推出MCS-48系列单片机。系列单片机。特点:特点:8位位CPU、并行、并行I/O口、口、8位定时器、片内小容量的位定时器、片内小容量的RAM、ROM、寻址、寻址空间小于空间小于4KB、简单的中断处理机制、无串行口、简单的中断处理机制、无串行口,Intel公司推出公司推出MCS-51系列单片机。系列单片机。特点:外部总线规范化特点:外部总线规范化(16位地址总线,寻址空间位地址总线,寻址空间64KB;8位数据总线;增加位数据总线;增加串行总线;控制总线串行总线;控制总线),8位位CPU、并行、并行I/O口、口、16位定时器、片内位定时器、片内RAM、ROM容容量增大、多级中断处理机制
7、、位操作功能、片内特殊功能寄存器量增大、多级中断处理机制、位操作功能、片内特殊功能寄存器SFR(建立了外围建立了外围功能电路的功能电路的SFR集中管理模式集中管理模式),Intel公司推出公司推出MCS-96系列单片机。系列单片机。特点:特点:16位位CPU、增加、增加8路路10位位A/D、PWM型型D/A等等同期间,不同厂家同步推出了相应的单片机机型:同期间,不同厂家同步推出了相应的单片机机型:Motorola公司的公司的M6800系列系列Zilog公司的公司的Z8系列系列Rockwell公司的公司的6500系列系列,Intel公司公开了公司公开了8051内核。内核。特点:特点:8051兼容
8、型单片机,形成了百花齐放的局面,成为单兼容型单片机,形成了百花齐放的局面,成为单片机的发展方向。片机的发展方向。1、增加片内功能、增加片内功能(如存储容量与方式、如存储容量与方式、WDT、程序保密系统、程序保密系统、A/D、D/A、电压、电压比较器、比较器、LED/LCD/VFD显示器驱动、显示器驱动、I2C/CAN/USB总线总线)2、提升性能、提升性能(CMOS化、提高运行频率、化、提高运行频率、RISC结构运行、低功耗、宽电压、程序结构运行、低功耗、宽电压、程序串行下载串行下载ISP、增大寻址空间、增大寻址空间)3、降低成本、降低成本(紧凑型紧凑型)、低价格、低价格 代表:代表:ATME
9、L公司的公司的 89c51、89c2051Philips公司的公司的8Xc51WENBOND公司的公司的W78c51由于单片机有许多优点,因此其应用领域之广,几乎到了无孔不入的地步。单片机应用的主要领域有:1) 智能化家用电器:各种家用电器普遍采用单片机智能化控制代替传统的电子线路控制,升级换代,提高档次。如洗衣机、空调、电视机、录像机、微波炉、电冰箱、电饭煲以及各种视听设备等。2) 办公自动化设备:现代办公室使用的大量通信和办公设备多数嵌入了单片机。如打印机、复印机、传真机、绘图机、考勤机、电话以及通用计算机中的键盘译码、磁盘驱动等。3) 汽车电子产品:现代汽车的集中显示系统、动力监测控制系
10、统、自动驾驶系统、通信系统和运行监视器(黑匣子)等都离不开单片机。4) 商业营销设备:在商业营销系统中已广泛使用的电子称、收款机、条形码阅读器、IC卡刷卡机、出租车计价器以及仓储安全监测系统、商场保安系统、空气调节系统、冷冻保险系统等都采用了单片机控制。5) 工业自动化控制:工业自动化控制是最早采用单片机控制的领域之一。如各种测控系统、过程控制、机电一体化、PLC等。在化工、建筑、冶金等各种工业领域都要用到单片机控制。6) 智能化仪表:采用单片机的智能化仪表大大提升了仪表的档次,强化了功能。如数据处理和存储、故障诊断、联网集控等。7) 智能化通信产品:最突出的是手机,当然手机内的芯片属专用型单
11、片机。8) 航空航天系统:飞机、飞船、空间站,及其跟踪、监测、生命保障系统等,无一不是人类科技高度集中的产品,大量采用的智能传感器、控制装置中,单片机扮演着重要的角色。9) 国防军事、尖端武器等领域:单片机的应用更是不言而喻。单片机应用的意义不仅在于它的广阔范围及所带来的经济效益。更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。以前自动控制中的PID调节,现在可以用单片机实现具有智能化的数字计算控制、模糊控制和自适应控制。这种以软件取代硬件并能提高系统性能的控制技术称为微控技术。随着单片机应用的
12、推广,微控制技术将不断发展完善。取典型机型,学习单片机基本理论硬件与软件学习并举理论教学与实验教学相结合以培养获得从事系统开发的能力为目标012345670000000100100011010001010110011189ABCDEF10001001101010111100110111101111在计算机内部计算在计算机内部计算/存储存储/逻辑运算中,逻辑运算中,实际上采用的是二进制。实际上采用的是二进制。具体地:在电路结构中,高电平为1,低电平为0在计算机编程过程中,常采用十六进制数,在计算机编程过程中,常采用十六进制数,便于记忆二进制数。便于记忆二进制数。计算机能识别的数是二进制数(或十六
13、进制数) 问题问题:1)数字的符号(正数与负数);2)加减法 ;3)字符的表示方法8位无符号数,可表示0255,共256个数值。原码原码:数码的最高位表示符号,0:正数;1:负数8位有符号数原码,可表示-127+127,共255个数反码:反码:由原码求得。正数的反码与原码相同;负数的反码除符号位不变外,其余各位均由1变0,或由0变1(取反)。 8位有符号数反码,可表示-127+127,共255个数补码:补码:由反码求得。正数的补码与反码相同;负数的补码为反码加18位有符号数补码,可表示-128+127,共256个数例1:X1=+1010101B X1原=01010101B X1反=010101
14、01B X1补=01010101B例2:X2=-1010101B X2原=11010101B X2反=10101010B X2补=10101011B注意:X2补补=11010101B=X2原1)日常现象:当前时间为3点。设某表当前指示为10点,该如何拨动? 方法1:逆时针方向拨动7格 算式:10-7=3 方法2:顺时针方向拨动5格 算式: 10515(12)+32)一组概念 模(mod)系统量程即能表示的最大的数。上例中,模为12。 同余Z=nK+Y (n 为自然数),则称Z与Y对模K同余。 溢出系统超程,最高位自然丢失。1311241124补3)有符号数的加减法:符号带在数码中,可将减法转换
15、成(补码的)加法进行计算。例:二进制运算过程: 0001,1000B+1111,0101B =1,0000,1101B此例中,模为28=25611=0000,1011B,与245=1111,0101 同余。补码的理解:补码的理解:负数以有符号数补码表示时,实际上取的是其同余数的无符号数码。01234567890000 0001 0010 0011 0100 0101 0110 0111 1000 1001作用:便于记忆与阅读,又适于计算机处理特点:1)不能直接在二进制数与BCD码之间进行转换,而必须先经过十进制,再间接进行转换。例: 0011,0101BCD=35=0010,0011B2)计算
16、机运算时将其视作为二进制数,程序员必须非常清醒! 常用的为ASCII码(American Standard Code for Information Interchange)ASCII(美国标准信息交换码)b6b5b4b3b2b1b00000010100111001011101110000NULDLESP0P、p0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB7GWgw1000BSCAN(8HXhx1001HTEM)9IYi
17、y1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?OoDELAY BAYBAYRSQQ输入输出SR00不确定0110100111保持不变QQCLKDQQSR时钟脉冲输入输出0011例:74LS74 双D触发器(Dual Positive-Edge-Triggered D Flip-Flops)例:74LS113 双JK触发器(Dual J-K Edge-triggered Flip-Flop)KJQQSRCLK时钟脉冲输入输出JKQ00不变01010111翻转CLRD0IND1IN触发器1CLKDCLRCLKDQCLRCLKD0触发器2D2IN
18、D3INQDQCLKCLRD1触发器3QDCLKCLR触发器4D2D3CLR触发器1CLKDCLRCLK串行输入DQCLRCLKD0触发器2QDQCLKCLRD1触发器3QDCLKCLR触发器4D2D3CLRCLRCLKCLKCLRDCLRQQCLKD触 发 器 1CLK触 发 器 1JCLRCLKKJQCLR触 发 器 2KCLK触 发 器 2QQCLKDCLRQQCLKDCLRQQJQQ触 发 器 3KCLKCLR触 发 器 3JQ触 发 器 4CLKKCLR触 发 器 4Nw2N地址线根数W存储单元个数读或写一个信息所需的时间,一般为几十ns几百ns指一片存储器最多能存储二进制信息量,一
19、般用字节(Byte)表示1kB1024B1024KB1MB1024MB1GB其中:1B8bit存储器的分类存储器的分类RAM(Random Access Memory) 随机存取存储器,主要用来存放各种现场的输入、输出数据、中间计算结果,以及与外存交换信息和作堆栈用。RAM又常称为数据存储器。特点:可随时读写、但掉电后信息丢失。分类:静态SRAM:电源加于存储器,信息可长期保留动态DRAM:每隔一段时间需重新写入一次(动态刷新)可现场改写的非易失存储器:FLASH、NVSRAM、FRAM2)ROM(Read Only Memory)只读存储器,通常用于存放程序。ROM通常又称为程序存储器。应用
20、:一般用来存放固定程序以及各种表格特点:使用时只读不能写,掉电后信息不丢失分类:掩膜ROM(ROM)可编程的ROM (PROM)可擦除的PROM(EPROM)电可擦除的EPROM (EEPROM)实际上是以二极管阵列的存在(表示1)或熔断(表示0)来实现的。地址代表着一个唯一的存储单元。1、80C51功能方框图89S51新增功能双DPTRWDTISPFlash Memory89S52新增功能T2定时器2、89s51单片机内部结构图1、89s51引脚图2、89s51逻辑符号3、89s51的外形与封装1)DIP封装有40脚(最常用)42脚二种。2)TQFP封装3)PLCC封装4、89S51单片机的
21、引脚定义及功能1)输入输出引脚)输入输出引脚P0.0P0.7(3932脚):第一功能:8位漏极开路型双向I/O口。第二功能:在访问片外存储器时,它分时提供低8位地址和8位双向数据。P1.0P1.7(2128脚):第一功能:带内部上拉的8位双向I/O口。第二功能:P1.0(T2) P1.1(T2 EX) P1.5(MOSI) P1.6(MISO) P1.7(SCK)P2.0P2.7(2128脚):第一功能:带内部上拉的8位双向I/O口。第二功能:在访问片外存储器时输出高8位地址P3.0P3.7(1017脚):多功能口。主功能:带内部上拉的8位双向I/O口。复用功能: RDWRTTINTINTTx
22、DRxD10102)控制引脚)控制引脚RST(9脚)复位输入端,高电平有效。ALE (30脚):地址锁存允许,当单片机访问外部存储器时,该引脚控制是否锁存P0口输出的低8位地址。对87C51片内EPROM编程(固化)时,此引脚用于输入编程脉冲。PROGPSEN (29脚):在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。 VPP(31脚):当 端输入高电平时,CPU从片内程序存储器地址0000H单元开始执行程序。当地址超出4KB(对80C51而言,视片内ROM的容量而定)时,将自动执行片外程序存储器的程序。当端输入低电平时,CPU仅访问片外程序存储器。在对87C51EPROM编程时
23、,此引脚用于施加编程电压VPP。EAEAEA3)主电源引脚)主电源引脚Vss(20脚):接地。Vcc(40脚):主电源+5VDC。4)时钟电路引脚)时钟电路引脚XTAL1(19脚):接外部晶体的一端。在片内它是振荡电路反向放大器的输入端。在采用外部时钟时,对于HMOS单片机,该端引脚必须接地;对于CHMOS单片机,此引脚作为驱动端。XTAL2(18脚):接外部晶体的另一端。在片内它是一个振荡电路反向放大电路的输出端,振荡电路的频率是晶体振荡频率。若需采用外部时钟电路,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。1、指令:规定计算机执行特定操作的命令,一般由二
24、进制表示。指令可分为操作码和操作数两部分。2、指令系统:计算机全部指令的集合。3、程序:根据任务要求有序编排指令的集合。4、软件:为了运行和管理计算机所编制的各种程序的总和。CPU主要是由运算器和控制器这两大部分组成。1、控制器1)功能:用来统一指挥和控制计算机工作的部件。取指指令译码发出控制信号2)组成:指令部件时序部件微操作控制部件3)程序计数器: 又称为PC指针,是一个16位专用寄存器作用:用于存放和指示下一条要执行指令的地址。自动加1的功能:每次取指后,PC就会自动加1。 2、运算器1)功能:用于对数据进行算术运算和逻辑操作的执行部件2)组成: 算术逻辑部件ALU累加器ACC(Accu
25、mulator)暂存寄存器程序状态字寄存器PSW(Program Status Word)通用寄存器BCD码运算调整电路等 PSW外部总线暂存器控制信号累加器暂存器ALU数据总线缓冲器时序电路指令寄存器微操作控制电路指令译码器存储器地址寄存器PC1微命令状态译码器1、存储器结构分类:哈 佛 结 构普林斯顿结构2、89S51采用哈佛结构1、分片内程序存储器与片外程序存储器二种片内、片外程序存储器空间重叠片内或片外的指定,由脚状态决定。64K空间, 16位寻址EA2、程序存储器低端关键单元的特殊作用0000H单元:80C51单片机复位后的程序入口0003H单元:外部中断0的中断服务程序入口000B
26、H单元:T0的中断服务程序入口0013H单元:外部中断1的中断服务程序入口001BH单元:T1的中断服务程序入口0023H单元:串行口的中断服务程序入口002BH单元:T2的中断服务程序入口3、用MOVC指令,采用PC或DPTR变址寻址访问程序存储器1、分“片内数据存储器”与“片外数据存储器”二种片内、片外数据存储器空间独立片内128 B (256B)空间,8位地址寻址片外64K空间, 16位寻址2、片外数据存储器映象64K片外数据存储器空间,无特殊规定片外I/O端口,与RAM统一编址片外数据存储器与片外I/O访问,均使用或控制片外数据存储器或I/O的访问,均采用MOVX指令片外数据存储器或I
27、/O的访问,均通过累加器A进行RDWRFFFFH1000H外部ROM0FFFH0000H内部ROMEA = 1外部ROMEA = 0工作寄存器03组位寻址区RAMSFR00H20H30H80HFFH外部RAM0000HFFFFH3、片内数据存储器映象1)片内数据存储器的低128B为RAM区最低32B(00H1FH)为工作寄存器区分为 4 个工作寄存器组:0组00H07HRS1=0RS0=01组08H0FHRS1=0RS0=12组10H17HRS1=1RS0=03组18H1FHRS1=1RS0=1每个工作寄存器组包含 8 个工作寄存器:R7R6R5R4R3R2R1R0(参见P33表32)次低16
28、B(20H2FH)为可位寻址RAM位地址编排:00H7FH共128位(参见P34表33)其余(30H7FH)为普通的数据存储器FFFFH1000H外部ROM0FFFH0000H内部ROMEA = 1外部ROMEA = 0工作寄存器03组位寻址区RAMSFR00H20H30H80HFFH外部RAM0000HFFFFH(89S52还有80H0FFH,为只能间接寻址的普通数据存储器)2)片内数据存储器的高128B为SFR区专用寄存器区SFR(称为“特殊功能寄存器”)分布图谱可位寻址的单元特征:地址的低3位为0(或者说,低4位地址为0或8)位地址80HFFHT2CON00000000BT2MODXXX
29、XXX00BTL200000000BTH200000000BRCAP2L00000000BRCAP2H00000000B与89S52对应的T2定时器89S51新增的WDT、双DPTR等80C51有 21 个特殊功能寄存器:Acc 累加器BB寄存器PSW程序状态字SP堆栈指针DPTR数据指针(DPH、DPL)P0P3端口P0P3的印象寄存器IP中断优先级寄存器IE中断允许寄存器TMOD定时器/计数器方式字TCON定时器/计数器控制字TH0T0计数值高8位TL0T0计数值低8位TH1T1计数值高8位TL1T1计数值低8位SCON串行控制字SBUF串行数据缓冲器PCON电源控制字89S51新增:AU
30、XR1AUXRWDTRSTDP1HDP1L89S52新增:TH2TL2RCAP2HRCAP2LT2CONT2MODCY:进借位标志在进行加法(或减法)运算时,如果操作结果最高位(位7)有进位,CY置“l”,否则清“0”。在进行位操作时,CY又作为位操作累加器C。移位指令时,左移D7Cy右移D0CyAC:半进位标志加法(或减法)运算时,低半字节(位3)向高半字节进位(或借位),AC置“1”,否则清“0”。AC亦可用于BCD码调整时的判别位。RS0、RS1:工作寄存器区选择位工作寄存器组选择位,用以选择指令当前工作的寄存器组。OV:溢出标志有符号数运算时,如运算结果超出了数值范围会发生溢出,使OV
31、1,否则OV0。 在乘法运算中,OV1表示乘积超过255在除法运算中,OV1表示除数为0。P:奇偶标志运算结果中如果有奇数个“1”,则置P为“1”,否则置“0”。在在80C51的指令系统中,凡是改变累加器的指令系统中,凡是改变累加器A中内容的指令均影响奇偶标志位中内容的指令均影响奇偶标志位P。F1、F0:用户标志由用户置位或复位。PSW堆栈的作用SP初始值为07H用户可修改SP的值SP指向栈顶SPSP1堆栈操作先入后出原则SP自动加1(压栈时)或自动减1(退栈时)显式操作与隐式操作覆盖的危险性!SP堆栈指针暂存数据保护现场双 DPTRDPTR的作用89S51新增双 DPTR双 DPTR 的使用
32、DPTR0与DPTR1的切换AUXR11)不可位寻址2)仅最低位有定义DPS1选用DPTR1DPS0选用DPTR0DPTR的赋值方法1)双DPTR共用一个名称:DPTR取决于选中哪个2)MOVDPTR,#34D3H 或MOVDPH,#34H MOVDPL,#0D3HD7D6D5D4D3D2D1D0DPS书中有错:D0D7不是位地址!1、P0口(80H)的位结构IO切换读引脚/读锁存器上拉电阻第二功能数据复现问题P0.n锁存器P0.nQQD读锁存器写锁存器内部总线读引脚T1T2VCCMUX地址/数据控制2、P1口(90H)的结构IO切换读引脚/读锁存器内部上拉ISP功能T2T2EXP1.n锁存器
33、P1.nQQD读锁存器写锁存器内部总线读引脚内部上拉电阻TVCC3、P2口(0A0H)的结构IO切换读引脚/读锁存器内部上拉第二功能数据复现问题P2.n锁存器P2.nQQD读锁存器写锁存器内部总线读引脚TVCC地址控制内部上拉电阻MUX4、P3口(0B0H)的结构IO切换读引脚/读锁存器内部上拉第二功能数据复现问题P3.n锁存器P3.nQQD读锁存器写锁存器内部总线读引脚TVCC第二输入功能第二输出功能内部上拉电阻I/O口第二功能注 释P3.0RXD串行口数据接收端P3.1TXD串行口数据发送端P3.2INT0外部中断请求0P3.3INT1外部中断请求1P3.4T0定时/计数器0P3.5T1定
34、时/计数器1P3.6WR外部RAM写信号P3.7RD外部RAM读信号5、P3口(0B0H)的第二功能6、I/O口的负载能力1)P0口的输出级与PlP3口的输出级在结构上是不同的,没有内部上拉电阻。因此,它们的负载能力和接口要求也各不相同,P1P3口也被称做准双向口。2) P0口的每一位可驱动8个LSTTL负载。P0既可作IO端口使用,也可作地址总线数据总线使用。当把它作通用口输出时,输出级是开漏电路,在驱动NMOS或其他拉电流负载时,只有外接上拉电阻,才有高电平输出;作地址总线数据总线时,无需外接电阻,但此时不能再作IO口使用。3)P1P3口输出级接有内部上拉负载电阻,每位可驱动4个LSTTL
35、负载。4)P0P3口都是双向IO口,作输入时,必须先在相应端口锁存器上写“1”,使驱动管FET截止。系统复位时,端口锁存器全为“1” 1)时钟周期T也称振荡周期,为时钟脉冲频率的倒数。2)机器周期完成一个基本操作所需时间。MC12T3)指令周期执行一条指令所需的时间,一般包括14个机器周期。 提供单片机片内各种微操作的时间基准。1、内部时钟方式利用芯片内部的振荡器外接晶体或陶瓷谐振器晶振,典型值是12MHzC1、C2:取值在20pF100pF 89S51的晶振可达33MHz 2、外部时钟方式利用外部振荡脉冲接入XTAL1或XTAL2。HMOS和CHMOS单片机的外时钟信号接入方式不同。 复位电
36、路完成单片机的初始化操作。 PSENPSENVCC8051VCCRST/VPDVSSR1kC22FVCC8051VCCRST/VPDVSSR11kC122FR21kC2 22FRESET(a) 上电复位(b) 按键脉冲复位VCC8051VCCRST/VPDVSSR1 200C22FR21kRESET(c) 按键电平复位D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0SMODSMODGF1GF1GF0GF0PDPDIDLIDL波特率倍增位掉电操作待机操作置待机方式后的第一条指令不要为写指令(有误操作的可能性)64条45条2条49条45条17条单字节指令双字节指令三字节指令程序地址
37、地址偏差寄存器别名字节地址寻址方式寻址方式:指在指令代码中用以表示操作数地址的各种规定。 寻址方式与计算机的存储器空间结构是密切联系的,寻址方式越多则计算机的功能越强,灵活性亦越大,能更有效地处理各种数据。 80C51共有7种寻址方式 Rn Ri #data #data16 direct addr11(addr16) relbit / X (X) Rn:当前选中的工作寄存器R0R7(n07)Ri:当前选中的工作寄存器组中可作为地址指针的两个工作寄存器R0和R1(i0或1)#data: 8位立即数,即包含在指令中的8位常数#data16: 16位立即数,即包含在指令中的16位常数direct:
38、8位片内低128字节RAM单元及SFR的直接地址addr11(addr16):11位或16位目的地址rel:8位地址偏移量用于相对转移指令中补码表示,其范围为-128+127bit: 片内RAM或SFR的直接寻址位地址: 间接寻址方式中,表示间址寄存器的符号/:位操作指令中,表示对该位先取反再参与操作,但不影响该位原值X:注释时,表示片内RAM的直接地址或寄存器(X):注释时,在直接寻址方式中,表示直接地址X中的内容:注释时,指示指令操作流程,将箭头左边的内容送入箭头右边的单元内1、立即寻址在指令中给出了操作数立即数就是存放在程序存储器中的常数。立即数前用“#”号表示MOV A,3AHMOV
39、DPTR,#3FA6H2、直接寻址指令中给出了操作数的地址。在80C51单片机中,直接寻址能用来访问1)特殊功能寄存器(也只有这一种寻址方式)2)低128字节内部RAM3)位地址空间MOV A,3AHMOV PSW ,50H3、寄存器寻址以通用寄存器的内容为操作数通用寄存器 包括:1)累加器A2)通用寄存器B(与A连用)3)地址寄存器DPTR4)R0R7(工作寄存器组的选择由PSW中的RS1和RS0来确定。)MOV A,R2INC DPTR4、寄存器间接寻址寄存器中存放操作数的地址能用寄存器间接寻址的寄存器:R0、R1、DPTR 、SP寻址空间1)用R0、R1间接寻址,访问片内RAM2)用SP
40、,进行堆栈操作(其中,高128字节只能用这二种寻址方式)3)用DPTR、R0、R1间接寻址,访问片外数据存储器MOV A,R0MOVX A,DPTR5、变址寻址(基址寄存器变址寄存器间接寻址)以DPTR或PC为基址寄存器,累加器A为变址寄存器。变址寻址时,把两内容相加,所得到的结果作为操作数的地址。A中的数据为无符号数寻址空间:程序存储器MOVC A,ADPTR93H下一条指令ALU2040H2041H20EOH操作码目标地址(PC)=20E0H0H20H00HDPLDPH47H47H例:MOVCA,ADPTR6、相对寻址将程序计数器PC中的当前内容与指令第二个字节所给出的数相加,其结果作为跳
41、转指令的转移地址只用于修改PC值偏移量为补码数,范围:128127JC 03H80H下一条指令ALU54Hrel=54H2000H2001H2002H2056H操作码PC当前值2002H修正后转移目标地址(PC)=2056H例:SJMP2056H7、位寻址对片内RAM或SFR的位寻址区进行位操作时的寻址方式。SETB 20HCLRC 是最常用、最基本的一类指令。 一般传送类指令是把源操作数传送到目的操作数,指令执行后,源操作数不变,目的操作数修改为源操作数。 交换型传送指令不丢失目的操作数,它只是将源操作数和目的操作数交换了存放单元。传送类指令一般不影响标志位传送类指令一般不影响标志位只有堆栈
42、操作可以直接修改程序状态字PSW传送目的操作数为ACC的指令将影响奇偶标志P 1累加器A为目的操作数的指令MOV A,data ;dataA MOV A,direct ;(direct) A MOV A,Rn ;RnAMOV A,Ri ;(Ri) A 2、以寄存器Rn为目的操作数的指令MOV Rn,#data ;dataRnMOV Rn,direct ;(direct) RnMOV Rn,A ;ARn例1 A5BH,R110HR220H,R330H,(30H)4FH执行指令:MOV R1,A ;AR1MOV R2,30H ;(30H) R2MOV R3,#83H ;83HR3执行后:R15BH
43、,R24FH,R383H。 3、16位数据传送指令MOVDPTR , #DATA16 该指令在译成机器码时,是高字节在前,低字节在后。如“MOV DPTR,#1234H”其机器码是90、12、34。 4、以直接地址为目的操作数的指令MOV direct,#data ;data(direct) MOV direct,direct ;(direct) (direct)MOV direct,A ;A(direct)MOV direct,Rn ;Rn(direct)MOV direct,Ri ;(Ri) (direct) 5、以间接地址为目的操作数的指令MOV Ri,A ;A(Ri)MOV Ri,di
44、rect ;(direct) (Ri)MOV Ri,#data ; data(Ri) 例2 已知R0=60H,(60H)=50H执行如下指令: MOV 40H,R0 ;(R0) (40H)该指令执行过程如图1-10所示。执行结果是40H单元中为50H 只有这四条:MOVX A、DPTR ;(DPTR) AMOVX DPTR,A ;A(DPTR)MOVX A,Ri ;(Ri) AMOVX Ri,A ;A(Ri)例3 把外部数据存储器2040H单元中的数取出,传送到2230H单元中去。根据题意可编程序如下:MOV DPTR,#2040H ;2040HDPTRMOVX A,DPTR ;(DPTR)
45、AMOV DPTR,2230H ;2230HDPTRMOVX DPTR,A ;A(DPTR) 在80C51指令系统中,有两条极有用的查表指令,其数据表格放在程序存储器中。MOVC A,A十PC ;PC十1PC,(A十PC) AMOVC A,A十DPTR ;(A十DPTR) A PUSH direct ;SP十1SP,(direct) (SP)POP direct ;(SP) (direct),SP1SP 使用堆栈时。一般需重新设定SP的初始值。由于压入堆栈的第一个数必须存放在SP十1存储单元,故实际栈顶是在SP十1所指出的单元。另外,要注意留出足够的存储单元作栈区,因为栈顶是随数据的弹入和弹出
46、而变化的,如栈区设置不当,则可能发生数据重叠,这样会引起程序混乱,以至无法运行。一般情况,执行此指令不影响标志,但若目标操作数为PSW,则有可能使一些标志改变。这也是通过指令强行修改标志的一种方法。? XCH A,Rn ;ARnXCH A,direct ;A(direct)XCH A,Ri ;A (Ri)XCHD A,Ri ;A.3A.0(Ri.3Ri.0)SWAP A ;A.3A.0A.7A.4 包括:1、加法类、减法类、乘法类、除法类2、自加1、自减1类3、BCD码调整类关键点:1、影响标志位2、加、减、乘、除法均通过A来完成功能:把源操作数所指出的内容加到累加器A,其结果存在A中。 AD
47、D A,Rn ;A十RnAADD A,direct ;A十(direct) AADD A,Ri ;A十(Ri) AADD A,#data ;A十dataA如果位7有进位:CY位置“1”,否则清“0”;如果位3有进位:AC位置“1”,否则清“0”。有符号数相加,还要判断OV位:若OV为“1”,表示和数溢出。 功能:把源操作数所指出的内容及进位位内容,加到累加器A,其结果存在A中。 ADDC A,Rn ;A十Rn+CyAADDC A,direct ;A十(direct) +CyAADDC A,Ri ;A十(Ri) +CyAADDC A,#data ;A十data+CyA1、对标志位的影响与加法指令
48、相同2、 常用于多字节加法运算例:MOVA,R1ADDA,R0MOVR1,AINCR0INCR1MOVA,R1ADDCA,R0先清Cy位?功能:将累加器A中的数,减去源操作数所指出的内容及进位位,其结果存在A中。 SUBB A,Rn ;ARnCASUBB A,direct ;A(direct) CASUBB A,Ri ;A(Ri) CASUBB A,#data ;AdataCA如果位7有借位:CY位置“1”,否则清“0”;如果位3有借位:AC位置“1”,否则清“0”。有符号数相减,还要判断OV位:若OV为“1”,表示差数溢出。 先清Cy位? MUL AB ,ABBA对PSW的影响:Cy0若乘积
49、大于FFH,则OV置“1”,否则清“0”。也影响奇偶标志位。 DIV AB ;AB的商A,余数B对PSW的影响:执行本指令后,标志CY和OV均复位,B0时,A和B中的内容为不变,OV标志置“1”,说明除法溢出。此指令影响奇偶标志位P。不影响除奇偶校验位外的其它标志位INC A ;A1AINC Rn ;Rn1RnINC direct ;(direct)1(direct)INC Ri ;(Ri)1(Ri)INC DPTR ;DPTR1DPTR 不影响除奇偶校验位外的其它标志位DEC A ;A-1ADEC Rn ;Rn-1RnDEC direct ;(diret)-1(direct)DEC R1 ;
50、(Ri)-1(Ri)没有:DECDPTR指令!1、清除标志位2、只能跟在加法指令之后执行这些指令时一般不影响程序状态字寄存器PSW,仅当目的操作数为ACC时对奇偶标志位P有影响。逻辑运算:与、或、异或、取反、清零等移位:A中内容逐位左移、右移等 ANL A,Rn ;ARnA ANL A,direct ;A(direct) A ANL A,Ri ;A (Ri) A ANL A,#data ;AdataA ANL direct,A ;(direct) A(direct) ANL direct,#data ;(direct) data(direct)常用于屏蔽某些位。(使某些位为0)例1 已知A8F
51、H,(40H)96H执行指令“ANL A,40H”,结果:结果:A86H,(40H)96H,P1 ORL A,Rn ;ARnAORL A,rect ;A(direct) AORL A,Ri ;A(Ri) AORL A,#data ;AdataAORL direct,A ;(direct)A(direct)ORL direct,#data ;(direct)data(direct) 常用于置位某些位。(使某些位为1)例2: 已知A1AH,R045H(45H)39H执行指令ORLA,R0结果:结果:A3BH,R045H(45H)39H,P1 XRL A,Rn ;ARnAXRL A,direct ;
52、A (direct )AXRL A,Ri ;A (Ri)AXRL A,#data ;A dataAXRL direct,A ;(direct) A(direct)XRL direct,#data ;(direct) data(direct)作用:使某些位取反。例3已知A87H,(32H)77H执行指令XRL 32H,A结果:结果:A87H(32H)F0H,P0。A取反指令CPLA ;A清“0”指令CLRA ;0A 例4:已知A01011010B执行CPLA后,A10100101B执行CLRA后,A00H左移RLARLCA右移RRARRCAAcc.7 Acc.0 Acc.7 Acc.0 Cy A
53、cc.7 Acc.0 Cy Acc.7 Acc.0 有条件或无条件地控制程序从原顺序执行的地址,转移到其它指令地址上。原顺序执行的地址:PC指向下一条指令首址转移:向前、向后转移局部、区域、全局转移条件转移无条件转移调用长转移指令LJMPADDR16短转移指令AJMPADDR11(又称绝对转移指令)相对转移指令SJMPrel相对转移指令(2字节)可以转移到ROM中以PC指向的下一条指令的首址为起点,128127的范围。长转移指令(3字节)可以转移到ROM中 64K的任意位置短转移指令(2字节)可以转移到ROM中同一页(2K)的任意位置(注:PC指向下一条指令的首址)例:当前PC1245H则下一
54、条指令首址1247HPC0001,0010,0100,0111B执行后,程序转移到PC0001,0XXX,XXXX,XXXXB判零转移(2字节)JZrel ;A=0,pc+2+relpc ;A0, pc+2pcJNZ rel ;A0,pc+2+relpc ;A=0, pc+2pc比较转移(3字节)CJNE A,direct,rel ;A(direct):PC+3PC,0C ; A(direct):PC+3+relPC,0C ; A(direct):PC+3+relPC,1CCJNE A,#data,rel ;Adata:PC+3PC,0C ; Adata:PC+3+relPC,0C ; Ada
55、ta:PC+3+relPC,1CCJNE Rn,data,rel ;Rndata:PC+3P,0C ; Rndata:PC+3+relPC,0C ; Rndata:PC+3+relPC,1CCJNE Ri,data,rel ;(Ri)data:PC+3PC,0C ; (Ri)data:PC+3+relPC,0C ; (Ri)data:PC+3+relPC,lC减1转移(3字节)DJNZ Rn, rel ;Rn-1Rn ;Rn0:PC+2+relPC ;Rn0:PC+2PC DJNZ direct, rel ;(direct)-1(direct) ; (direct) 0:PC+3+relPC
56、;(direct)0:PC+3PCJMPADPTR指令执行过程对DPTR、A和标志位均无影响 多出口转移LCALL addr16 ;PC+3PC ; SP+1SP,PC.7PC.0(SP) ;SP+1SP,PC.15PC.8(SP) ;addr16PCACALL addr11 ;PC+2PC ;SP+1SP,PC.7PC.0(SP) ;SP+1SP,PC.15PC.8(SP) ;addr11PC.10PC.0RET ;(SP) PC.15PC.8,SP-1SP ;(SP) PC.7PC.0,SP-1SPRETI ;除具有RET指令的功能外,还将清除优先级状态寄存器NOP功能:1周期指令,不进行
57、任何实质性操作常用于:操作时间间隔调整软件陷阱位地址的表达方式有如下几种位地址的表达方式有如下几种:(1)直接(位)地址方式:如D4H;(2)点操作符号方式:如PSW.4,(DOH).4;(3)位名称方式:如RS1;(4)用户定义名方式:如用伪指令bit定义 SUB.REG bit RS1CbitMOV C,bit ;bitCMOV bit,C ;CbitCLR C ;0C CLR bit ;0bitCPL C ; CCPL bit ; bitSETB C ;1CSETB bit ;1bit ANL C,bit ;CbitCANL C,/bit ;C CbitORL C,bit ;CbitCO
58、RL C,/bit ;C CbitJC rel ;C1:PC2relPC ;C0:PC2PCJNC rel ;C0:PC2relPC ;C1:PC2PCJB bit,rel ;bit1:PC3relPC ;bit0:PC3PCJNB bit,rel ;bit0:PC3relPC ;bit1:PC3PCJBC bit,rel ;bit1:PC3relPC,0bit ; bit0:PC3PC例例1:比较片内RAM 40H、50H中的两个无符号数大小。若40H中的数小则把片内RAM中的40H位置1,若50H中的数小则把片内RAM中的50H位置1,若相等则把20H位置1。MOV A ,40HCJNE
59、A ,50H , L1SETB 20HRETL1:JC L2SETB 50HRETL2: SETB 40HRET例例2:R2R3中16位补码数(高位在R2)右移一位,并不改变符号。MOV A ,R2 MOV C , ACC.7 RRC A MOV R2, A MOV A ,R3 RRC A MOV R3 ,A SJMP $习题:P975、7、9、11、12、13、14、18、23、24、25、27、281机器语言机器语言2汇编语言汇编语言3高级语言高级语言汇编语言是一种用助记符来表示的面向机器的程序设计语言。不同的机器所使用的汇编语言一般是不同的。高级语言是一种面向过程而独立于计算机硬件结构的
60、通用计算机语言。机器语言是用二进制代码表示指令和数据的最原始的程序设计语言。计算机能够立即识别并执行这种语言,响应速度最快。但不易看懂,不便记忆。用汇编语言编写的源程序,在交由计算机执行之前,必须将它翻译成机器语言程序。这一翻译过程称为汇编。源程序(汇编语言程序)汇编程序目的程序(机器语言程序)1汇编语言源程序的格式汇编语言源程序的格式如下:标号: 操作码 操作数 ;注释标号段:1、标号是用户设定的一个符号,表示存放指令或数据的存储单元地址。2、标号是由字母开始的18个字母或数字串组成。注意,不能用指令助记符、伪指令或寄存器名来作标号名。操作码段是指令或伪指令的助记符,用来表示指令的性质。操作数段给出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 2 Topic 3 Must we exercise to prevent the flu Section B 教学设计 2024-2025学年仁爱科普版英语八年级上册
- 三年级语文下册 第一单元 习作:我的植物朋友教学设计 新人教版
- 2017-2018年八年级心理健康教育 意志力非小事 教学设计
- 4古诗三首《山行》(教学设计)2024-2025学年统编版语文三年级上册
- 新学期班级课件
- 森林小剧场课件
- Unit6 Rain or Shine Section A Pronunciation 教学设计 2024-2025学年人教版英语七年级下册
- 2023六年级语文上册 第八单元 26 好的故事教学设计 新人教版
- 《第7课 老师您好-每当我走过老师窗前》(教案)-人音版(2012)音乐三年级下册
- ××岗位竞聘报告
- 英语词汇的奥秘知到章节答案智慧树2023年武汉科技大学
- 2022年初中历史课程标准电子版
- 腔内心电图经外周中心静脉导管picc尖端定位技术
- 白酒基础知识考试题库300题(含单选、多选、判断)
- The+Little+Woman英文名著《小妇人》整本书阅读指导课件
- 高等学校学生学籍信息更改审批表
- 慢性胃炎中医症候评分表
- 学生心理健康档案表格
- 临时用电施工组织设计(总体)
- 2023年神东煤炭集团招聘笔试题库及答案解析
- YY/T 1723-2020高通量基因测序仪
评论
0/150
提交评论