单片机原理高级教程讲稿第一到四章docWord格式.docx
《单片机原理高级教程讲稿第一到四章docWord格式.docx》由会员分享,可在线阅读,更多相关《单片机原理高级教程讲稿第一到四章docWord格式.docx(20页珍藏版)》请在冰点文库上搜索。
例如ARM。
1.2单片机应用模式1.单片机的形式根据单片机程序存储器的结构分成带掩膜MaskROM、EPROM、ROMLess、OTPROM、EEPROM、FLSAHROM等。
2.应用模式单机模式、多机模式,通用模式、专用模式,总线模式、非总线模式。
1.3应用领域和系统开发过程用于家电、办公自动化、工业控制、仪器仪表、航空航天、医疗卫生、国防军事等无处不在,无处不用。
第二章单片机的基本结构与工作原理内容提要及知识点本章将MCS-51单片机的结构及各部分的功能和用途。
如内部结构框图、外部封装形式、标准封装的管脚分布及功能、单片机电路的三总线;
存储器、专用功能寄存器。
知识点包括
(1)结构框图
(2)基本配置(3)*三总线(4)存储器系统的功用(5)*片内RAM的功能分区(6)SFR功能(7)指令周期。
2.1单片机的基本组成结构P0P1P2P3XTAL1XATL2振荡器与时钟程序存储器ROM数据存储器RAMI/O口CPUSFR总线控制逻辑中断系统定时器/计数器串行口RSTALEEAPSEN2.1.1结构框图2.2.资源配置2.2.1主要构成部分(配置)有。
一个8位CPU。
一个128B(或80C*2有256B)字节的内部数据存储器RAM。
一个4K(89C*2有8K的EEPROM)程序存储器ROM。
一个1.2-12MHZ片内振荡器及时钟电路,(89C51/52全静态工作为0HZ到24MHZ)。
有32条可编程I/O端口。
可寻址64K外部数据存储器和64K外部程序存储器。
2个16位定时器计数器89C52有3个。
5个中断,两级优先嵌套中断结构(89C52有6个)。
一个全双工通用可编程串行通讯口其它功能低压闲置及掉电工作方式、3级程序存储器锁定加密功能(89C51/52)、看门狗定时器WATCHDOG、还有SPI总线接口、I2C总线、ADC、DAC等。
2.2.2内部资源的扩展(见P23图2-4)2.3外部结构和引脚功能2.3.1引脚功能和三总线1.封装形式(见P25图2-5)双列直插DIP40(DaulIn-linePackage),贴片封装LCC40(LeadChipCarrier),扁平封装QFP44QuadFlatPackege。
2.管脚功能(见表2-1)4个8位并行I/O口P0-P3;
电源/地Vcc/Vss,振荡器输入输出XTAL1/XTAL2、地址锁存及编程脉冲输入ALE/PROG、复位RST、片内/外ROM选择及编程电源EA/Vpp、外部程序存储器选通PSEN读程序。
3.I/O口及三总线数据总线DB由P0口组成地址总线AB由P0口输出低8为地址经373锁存器锁存作为低8位地址A0-A7,P2口输出高8位地址A8-A15组成。
控制总线CB由RST,/EA,/PSEN,ALE,以及/WR,/RD等组成。
4.I/O口特性P0口数据总线,又作为低8位地址总线;
P1口普通I/O口P2口高8位地址总线,与P0口输出经锁存低8位地址组成16位AB。
P3口双功能口,除普通I/O口外,其管脚P3.0~P3.7的第二功能依次为通信接收RXD、通信发送TXD、外部中断INT0、外部中断INT1、定时器T0、定时器T1、写WR、读RD。
5.I/O口的结构及应用特性(见P33图2-7)
(1)所有32个端口均带输出锁存器,都可作普通I/O口用。
(2)P0口为双向口,可驱动8个TTL门,P1-P3为准双向口,只能驱动4个TTL门。
(3)P0口作普通I/O口时需外接上拉电阻。
所有I/O作输入口用时需先写“1”。
(4)对于52单片机,其P1.0、P1.1的第二功能为定时器、计数器T2输入/控制端。
作业P15第4题;
P37练习与思考第1、3、5题。
2.3.2CPU的结构特点由控制器、运算器、工作寄存器、时序电路组成。
一.中央控制器功能控制器的功能是识别指令、控制各部件协调工作,与运算器一起组成中央处理器。
构成由程序计数器PC、程序地址寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路和定时控制逻辑电路组成。
1.程序计数器PC(ProgramCounter)和数据指针DPTR
(1)程序计数器PC存放16位下一条要执行的程序地址。
工作过程叙述(P34-35)。
有顺序程序、转移指令、调用或响应中断指令三种不同的工作方式。
(2)数据存储器地址指针DPTR是16位数据指针,寻址64KB。
由DPH、DPL两个8位SFR组成,用于片外数据存储器的间接访问,或程序存储器查表等。
2.指令寄存器IR、指令译码器及控制逻辑功能将ROM中的程序读入指令寄存器译码送定时控制逻辑电路处理、执行。
二.运算器(完成算术逻辑运算和位操作)结构由算术逻辑运算单元ALU、累加器ACC、暂存寄存器、B寄存器、程序状态寄存器PSW以及BCD码运算调整电路等组成。
1.运算功能单元功能带进位和无进位的加、减及8位数的乘、除运算;
逻辑与ANL、或ORL、异或XRL;
增/减量;
位操作(置位、清零、取反);
左、右移位;
字节、半字节交换;
BCD运算修正。
2.累加器A、寄存器B累加器A是算术运算和数据传送中使用频率最高的单元。
B寄存器是乘除运算中作为ALU的输入单元之一。
3.程序状态字PSW进位位CY半进位AC标志位F0选区位RS1选区位RS0溢出位OV奇偶位P当A中数据“1”的个数位奇数个,P1;
否者P0。
当运算中D7位有进位或借位时,CY1;
当运算中低4位有向高4位进位或借位时,AC1;
F0用户标志位;
RS1、RS0两位选择内RAM中4个工作寄存器区;
OV=C6C7,在带符号加减运算中C6有进位而C7无进位,或C6有借位C7无借位时OV1,乘法运算中AB大于255时,或者除法运算中除数为0时OV1。
三.时钟电路(图2-8)及CPU工作时序1.时钟电路片内有时钟电路,一般只需外接晶振和温度补偿电容就可以工作。
机器周期12分频、地址锁存ALE周期6分配、状态周期S为2分频,分成P1、P2节拍。
2.时序定时单位1个机器周期=6个状态周期=12个振荡周期=2个地址锁存周期。
3.指令时序(图2-10)有单周期指令、双周期指令、单字节双周期等。
2.4存储器结构和地址空间
一、结构形式和一般特点80C51单片机存储器包括程序存储器ROM和数据存储器RAM,其结构形式采用程序存储器和数据存储器相互独立的哈佛结构。
各有自己的寻址空间、寻址方式(用不同指令)、和控制系统。
1、80C51单片机存储器结构映象图(图2-8)片外数据存储器外部程序存储器特殊功能寄存器FFFFHFFFFHFFH特殊片内功能数据寄存器存储器(直接(间接80H寻址)寻址)(间接0FFFH7FH寻址)内部外部片内数据EA1EA0存储器0000H0000H00H(直接、间接寻址)0000H程序存储器内部数据存储器外部数据存储器图2-880C51单片机存储器结构框图
(1)物理上分成4个存储器空间片内程序存储器、片外程序存储器;
片内数据存储器、片外数据存储器。
(2)逻辑上分成3个地址空间片内、片外统一编址的64KB程序存储器空间;
片内256B的数据存储器地址空间;
片外64KB的数据存储器空间。
(3)在寻址方式上分成直接寻址和间接寻址2种方式。
(4)不同的存储空间采用3种不同的指令寻址对于片内或片外程序存储器查表,用MOVC指令寻址;
对片内数据存储器传送数据用MOV指令寻址;
对片外数据存储器读写用MOVX指令寻址。
2、存储器的一般特点表2-1单片机存储器的基本特性和用途名称程序存储器ROM数据存储器RAM用途存放指令、常数、表格、公式等存放缓冲数据、记录数据信息存放形式程序固化在芯片内、只读、不丢失数据通电保持、断电丢失(EEPROM保持)物理空间片内/片外(内小,外大)片内/片外(内小,外大)寻址范围直接寻址64K范围(可另扩)直接寻址范围64K(可另扩)编址形式片内外统一编址片内/片外的RAM地址重叠控制方式硬件EA=“1”片内,“0”片外软件MOV片内/MOVX片外容量片内0KB、1KB-32KB,片外2KB-64KB片内128B/256B,片外2KB-64KB工艺结构掩膜ROM/EPROM/EEPROM/OTPDRAM/SRAM/EEPROMFLASH接口方式片外ROM通常为并行总线片外RAM并行总线/I2C总线2.4.1程序存储器(Programmemory--Readonlymemory)一.特点(见表2-1)
(1)ROM类型有掩膜ROM、EPROM、E2PROM、FLASHROM、OTPROM。
分成片内和片外两部分,由EA引脚接高(内)或接地(外)决定。
内外统一编址,最大寻址范围64KB。
(2)程序存储器特定的复位入口地址表2-2MCS-51单片机复位/中断入口地址入口地址名称0000H程序计数器PC地址0003H外部中断INT0入口地址000BH定时、器T0溢出中断入口地址0013H外部中断INT1入口地址001BH定时/计数器T1溢出中断入口地址0023H串行口接收/发送中断入口地址002BH定时/计数器T2溢出中断入口地址注仅80C*2/89C*2单片机有T2二.程序运行控制操作有复位、顺序执行、转移控制和中断。
(1)复位和中断由相应的硬件结构控制,它们的程序入口地址是固定的(见表2-2)。
转移控制则是通过各种调用、返回、有条件和无条件转移来实现。
(2)查表是通过基址偏址的间接寻址方式,共有两条指令MOVCA,ADPTR;
将(DPTR)中的地址加(A)偏移量,得到该单元内容存A。
寻址范围为64K,称长查表指令。
MOVCA,A+PC;
以PC为基址寄存器,A为偏址数据,相加后的数作为地址,取出该地址单元的内容送累加器A。
表格只能放在0-255字节范围之内。
称短查表指令。
2.4.2数据存储器一.特点(见表2-1),分成片内/外RAM,内外地址重叠。
片外RAM寻址范围0-64KB,只能用MOVX指令间接寻址。
片内有128B/256B的RAM,用MOV指令寻址。
0-7FH为80C51固有片内RAM,可以直接或间接寻址;
80H-FFH仅80C2单片机有,且只能间接寻址。
二.片内RAM功能划区图2-9片内RAM的00H-7FH功能划区物理上分成放在工作寄存器区,位寻址区,数据缓冲区三个区域,应用中分成寄存器区,位寻址区,数据缓冲区和堆栈区。
(1)00H-1FH为工作寄存器区,该区分成4组,每组都有R0-R7八个工作寄存器(但地址不同)。
由PSW.3RS0和PSW.4RS1两位来选定。
(2)20H-2FH为位寻址区,共16个字节单元128位,位地址00H-7FH位(见图2-9)。
(3)30H-7FH为数据缓冲区;
(4)可浮动的堆栈区设在07H为栈底的片内RAM中合适的区域。
功能单元地址复位状态操作方法工作寄存器00H-1FH指向0组由PSW.4,PSW.3置位状态对R0-R7四选其一堆栈07H以上栈底07H通过堆栈指针SP赋值位寻址区20H-2FH随机软件置位STEBH,清零CLRH数据缓冲区*30H-7FH随机直接与A进行传送、运算、转移等操作2.5SFR特殊功能寄存器区(80H-FFH区域中的部分单元)2.5.1SFR清单片内RAM80H-FFH中分布在21个单元(52单片机有25个),对片内13个单元操作管理。
包括4个端口、5个中断(含两个外中断、两个定时器/计数器、串口)、SP、DPTR、PSW、PCON。
尚有许多保留单元。
1.功能和应用特性用于片内功能单元的管理、控制、状态指示。
应用时分成控制位和标志位,还有一类作特定用途的寄存器用。
2.寻址方式只能直接寻址,分可位寻址(地址末位为0和8的单元)和只能直接按字节寻址两类。
3.复位状态SP07H,P0-P3FFH,SBUF为随机数,其它均为00H。
4.程序状态字PSW(同前面的内容)程序状态字PSW各位的定义进位位CY半进位AC标志位F0选区位RS1选区位RS0溢出位OV奇偶位P当A中数据“1”的个数位奇数个,P1;
2.5.2布尔(位)处理器CY1功能面向控制的位处理器,以CY作位累加器,进行位传送、判断转移、布尔运算等。
2操作对象片内RAM中20H-2FH单元的00H-7FH位,SFR中可位寻址位。
3位操作指令置位SETB,清零CLR,取反CPL,传送MOV,位转移JC/JNC、JB/JNB、JBC,位逻辑运算(ANL/ORL/CPL),位输入输出等。
2.6单片机工作方式2.6.1复位方式
(1)复位的作用使单片机初始化操作,从0000H单元开始运行程序。
(2)复位信号必须保持2个机器周期以上的高电平才能保证可靠复位。
(3)复位电路(图2-14),有上电复位、按键复位、外部脉冲复位几种形式。
(4)复位状态复位后入口地址见表(2-2),SFR复位状态见2.4.3小节。
(5)上电复位RAM内为随机数,按键或外脉冲触发复位RAM数据保持不变。
2.6.2低功耗工作方式两种低耗方式有待机(休眠)方式和掉电保护方式,由PCON97H中的PD/IDL控制。
SMOD---GF0GF1掉电位PD=1掉电待机位IDL=1待机PCON格式待机方式CPU不工作,但振荡器仍向中断系统提供时钟,通过中断事件或硬件复位退出待机状态。
掉电保护振荡器停振,单片机停止一切工作,只有片内RAM的内容被保存。
掉电电压可以降到VCC2V,退出掉电复位的方法只有硬件(上电)复位。
第三章80C51单片机指令系统3.1指令系统基础MCS51单片机共有111条指令,分成数据传送(28),算术运算(24),逻辑运算(25),转移控制(17),布尔操作(17)共五类。
3.1.1指令格式与符号约定1.汇编指令格式英文大写开头,子程序必有、功能程序有标号操作码操作数1操作数2;
注释助记符目的操作数源操作数可有可无指令分成单字节指令操作码和操作数在同一个字节;
双字节指令第一字节操作码,第二字节操作数;
三字节指令第一字节操作码,
二、三字节操作数。
2.指令代码格式(P40表3-1)有单字节指令、双字节指令、三字节指令。
第一字节是操作码,第
二、三字节是操作数。
不同指令的执行周期不同,有单周期、双周期和四周期三种。
3.约定符号(见P38-39)工作寄存器Rnn0-7,间指寄存器Rii0,1,direct片内RAM直接地址00F-7FH,data8/16(8/16位立即数),addr11/1611/16位目的地址,rel8位带符号偏移量,DPTR16位数据地址指针等等。
3.1.2CPU的时序与指令操作(P41图3-1)1.时钟电路片内有时钟电路,一般只需外接晶振和温度补偿电容就可以工作。
2.系统时钟和时序定时单位系统时钟分成P1、P2节拍,每两个节拍组成一个状态周期S。
三个状态周期组成地址锁存ALE周期,12个振荡周期组成机器周期。
1个机器周期=6个状态周期=12个振荡周期=2个地址锁存周期。
3.指令操作时序(图2-10)有单周期指令、双周期指令、单字节双周期等。
4.指令运行速度与该指令的执行周期有关,与振荡频率有关。
当振荡频率为12MHZ,则机器周期为1微秒,执行单周期指令时间1微秒。
当振荡频率为6MHZ,则机器周期为2微秒,执行单周期指令时间2微秒。
3.1.3寻址方式和寻址空间寻址方式指令中用于说明操作数所在地址的方法,共7种。
包括寄存器寻址、直接寻址、寄存器间接寻址、位寻址、立即数寻址、基址变址寻址、相对寻址。
1.寄存器寻址用寄存器内容作操作数,如INCR0,MOVA,R1等。
寻址范围R0-R7,A,AB,DPTR。
2.直接寻址用直接地址单元作源操作数,例MOVA,3AHE53A。
应用对象片内RAM的128字节(00H-7FH)及SFR(建议最好用寄存器名)。
3.寄存器间接寻址指令中操作数寄存器的内容作地址,该地址的内容作为操作数。
例如,口袋里放钱,是直接寻址;
口袋里放工行的支票,指明钱在工行就是间接寻址。
寄存器对象三个R0,R1,DPTR;
寻址范围片内00H-FFH含堆栈区,片外RAM0-64KB。
4.位寻址对数据位寻址操作。
寻址范围片内RAM中20H-2FH共128位(00H-7FH位)以及SFR中可位寻址单元。
表示方法直接位地址、SFR中可寻址位(P1.1,PSW.4,ACC.7等)、用位标号(EA/ES)。
5.立即数寻址指令中的源操作数为立即数,称立即数寻址。
例MOVA,3AH743A6.基址变址寻址以DPTR或PC内容作基本地址,加上累加器A中的内容,得到基本地址加上A中变量的内容作寻址地址。
特点
(1)变址指令均为单字节指令,仅用于对程序存储器寻址或查表。
(2)变址指令有三条MOVCA,APC;
称近程查表(不超过255字节)MOVXA,DPTR;
称远程查表(64KB范围)JMPADPTR;
散转指令7.相对寻址源操作数是相对偏移量的寻址方式,寻址范围-128~+127。
如JCrel,DJNZR6,ABC等。
目的地址=转移指令地址+指令字节数+rel3.2指令系统分类与速解分成传送类、算术运算类、逻辑运算类、控制转移类、布尔操作类进行介绍。
3.2.1数据传送类(28条)一.功能特点将源操作数送入目的操作单元。
有立即数、直接地址、寄存器寻址、间接寻址、变址寻址方式。
在片内RAM、片内外RAM、SFR之间传递数据或从ROM中查表。
二.传送指令分类1.程序存储器查表指令MOVCMOVCA,ADPTR;
用DPTR基址寄存器,与变址寄存器A中的内容相加作寻址地址,将该地址单元的内容取出,放入A内。
MOVCA,APC;
将PC指针作基址寄存器,与变址寄存器A中的内容相加作为地址,查出该地址的内容送A。
2.片外RAM数据传送指令MOVXMOVXDPTR,A;
将A送DPTR指出的片外RAM地址单元,即写片外存储器。
MOVXA,DPTR;
将DPTR指出的片外存储单元内容读入A中。
MOVXA,Ri;
用P2作高位地址,与Ri中的低8位地址组成16位地址,对MOVXRi,A;
片外RAM进行读写操作。
3.片内RAM及寄存器数据传送指令RiARn数据传送的目的操作数A,Rn,direct,Ri,DPTRdata;
datadirect寻址范围1direct00H-7FH片内RAMPUSH/POPMOV指令图解80H-FFH的SFR,包括DPTR。
DPTR2Ri片内RAM00H-FFH3PUSH/POP用direct,Rn,SFR的标识名。
4.数据交换指令(均以A为目的操作数)XCHA,Rn/Ri/direct;
全交换指令,两个8位单元内容彼此互换。
XCHDA,Ri;
半字节交换,两个8位单元中的低4位互换。
SWAPA;
自交换指令,累加器中高、低4位内容互换。
3.2.2算术运算类指令(24条)有加法ADD,带进位加ADDC,带借位减SUBB,乘MUL,除DIV,自加/减指令INC/DEC等。
一.特点算术指令均以累加器A为目的操作数,且对PSW有影响。
加减运算中源操作数有Rn,Ri,direct和#data。
乘除法用A,B寄存器对。
二.指令功能
(1)加法ADDA,(源);
(源)+(A)A(P49例子)带进位加ADDCA,源;
(源)+(A)CYA
(2)带进位减SUBBA,源;
(A)-源-(CY)A(3)自加减INC/DEC源;
源-1源,自加1源有A,Rn,Ri,direct,DPTR自减1的源为A,Rn,Ri,direct。
(4)乘法指令MULAB;
将A、B中无符号8位数相乘,高位进B,低位进A。
除法指令DIVAB;
将A中无符号8位二进制数除以B中8位无符号数,商进A,余数进B。
(5)十进制调整DAA;
对A中BCD码的加法结果进行