单片机内部构成

  • 格式:doc
  • 大小:74.50 KB
  • 文档页数:10

二1、单片机内部结构单片机内部构成:CPU、IO、RAM、ROM、时钟系统、复位电路、及外围模块(内部资源:定时计数器(T0、T1)、外部中断(INT0、INT1)、通用异步串行口(UART)等)、中断系统.AT89S51为例:AT:ATMEL89:表示是系列FLASHT系列S:表示支持在系统编程功能51:表示型号IO:P0、P1、P2、P3RAM:128BROM:4KB=1024*4B中断系统:6个中断源(5个中断入口)内部资源:定时计数器(T0、T1)、外部中断(INT0、INT1)、通用异步串行口(UART)ISP:在系统编程功能watchdog:看门狗引脚功能介绍:VCC:40 4.0-5.5vGND:20外部时钟引脚:XTAL2(O)XTAL1(I)外接晶振频率:0-33MHZ外部时钟电路接法一:上电复位电路接法二:按键复位2、89S51存储器结构组成:程序存储器(ROM[FLASH])与数据存储器(RAM[S])1)片内程序存储器:4KB 4*1024字节=4096B16位二进制表示地址0000H-0FFFH启动单元:0000H-0002H外部中断0入口:0003H定时中断0入口:000BH外部中断1入口:0013H定时中断1入口:001BH串行中断入口:0023H2)片内数据存储器:静态SRAM ,共计128B8位二进制表示地址00H-7FH分区:00H-1FH,通用寄存器区,分成四个组第0组:00H-07H (R0-R7)第1组:08H-0FH第2组:10H-17H第3组:18H-1FH只能有一组为当前组,由RS1、RS0来设置:00,01,10,11 ,第0组为系统默认20H-2FH,位寻址区,共有128位,用位地址00H-7FH表示30H-7FH,用户RAM区注:片外程序存储器与数据存储器均最大可以64KB(0000H-FFFFH)3)特殊功能寄存器地址范围:TCON(88H)TMOD (89H)TL0(8AH)TL1(8BH)TH0(8CH)TH1(8DH)PCON(87H)SCON(98H)SBUF(99H)IP(B8H)IE(A8H)P0(80H)P1(90H)P2(A0H)P3(B0H)ACC(E0H):累加器B(F0H)DPH(83H)+DPL(82H)=DPTR:数据指针SP:堆栈指钟,软堆栈,向上生长,后进先出,分为进栈与出栈两个动作默认栈底为片内RAM 07H单元开始PSW:程序状态字CY AC F0 RS1 RS0 OV -- P注:在特殊功能寄存器中,以地址以‘0’或是‘8’结尾的可能位寻址,且位地址从字节地址开始PC:程序指针(ROM:0000H)4)51的时序振荡周期:T状态周期:S=2T机器周期:Tcyc=12T指令周期:Ti=nTcyc (n=1、2、4)5)51节电方式空闲方式:CPU停止工作,其它外围模块继续工作,如果外围模式中断有效,则产生中断信号后可激活CPU工作进入正常的连续运行状态,或是直接复位退出掉电方式:CPU停止工作,其它外围模块停止工作,只保有RAM工作电源,复位退出三、指令系统CISC:复杂指令集,111条1)指令结构:标号:操作码操作数;注解BTOA: ADD A,#30H; 将ACC中数据转成ASCII码操作数的分类:源操作数,目的操作数,第三操作数CJNE A,#DATA,RELCJNE A,#60,PDXPDX: JC BHGBHG:指令长度:单字节,双字节,三字节2)寻址方式:立即寻址:#data 操作数本身MOV A,#03H 0000 0011 直接寻址(RAM):direct(操作数的地址:RAM00H-7FH+SFR) MOV A,03HMOV A,P1 *MOV A,90H 寄存器寻址(RAM):Rn MOV A,R3MOV R0,#30HMOV A,R0 00110000 寄存器间接寻址(RAM):@R0 @R1 @DPTR MOV A,@R0变址寻址(ROM):@A+DPTR @A+PC MOVC A,@A+DPTR相对寻址(ROM): REL CJNE A,#60,PDX位寻址(RAM20H-2FH+SFR(0,8)):BIT CLR P1.0MOV P1,#0FEH 1111 1110MOV A,#data MOV A,#30HMOV Rn,#data MOV R5,#0AH MOV R0,#40HMOV Direct,#data MOV P1,#0FH MOV 30H,#01HMOV @Ri,#data MOV @R0,#01HMOV DPTR,#data16 MOV DPTR,#1000H MOV DPTR,#TABMOV Direct,Rn MOV 40H,R1MOV Rn,Direct MOV R2,40HMOV Direct,@Ri MOV 50H,@R0MOV @Ri,Direct MOV @R0,30HMOV A,Rn MOV A,R1MOV Rn,A MOV R0,AMOV A,@Ri MOV A,@R0MOV @Ri,A MOV @R0,AMOV direct,AMOV A,directMOV direct1,direct2MOVX A,@Ri MOVX A,@R0 MOVX @Ri,A MOVX @R0,A MOVX A,@DPTRMOVX @DPTR,AMOVC A,@A+DPTRMOVC A,@A+PCXCH A,Rn XCH A,R1XCH A,@Ri XCH A,@R1XCH A,Direct XCH A,30HXCHD A,@RiMOV R1,#30HMOV 30H,#23HMOV A,#45HXCHD A,@R1 (A)=43H ((R1))=25HPUSH DirectPOP DirectMOV SP,#5FHMOV A,#05HPUSH ACC (60H)=05HPOP 40HADD A,#dataADD A,derictADD A,RnADD A,@RiMOV A,#0F2HADD A,#30H CY=1 (A)=22HADDC A,#data CY+(A)+data CY A ADDC A,derictADDC A,RnADDC A,@RiPUSH directPOP directMOV 21H,#12H ; 1299H 10H MOV 20H,#99HMOV A,20HADD A,#60HDA AMOV 20H,AMOV A,21HADDC A,#00HDA AMOV 21H,ASUBB A,#data (A)-data -CY CY A SUBB A,derictSUBB A,RnSUBB A,@RiMUL ABDIV ABMOV A,#83HMOV B,#54HMUL AB (B)=2AH (A)=FCHDIV AB (A)=01H (B)=2FHINC AINC DPTRINC @RiINC RnINC DirectDEC ADEC @RiDEC RnDEC DirectDA AANL A,#dataANL A,DirectANL A,RnANL A,@RiANL Direct,#data ANL P1,#0FH ANL Direct,AORL A,#dataORL A,DirectORL A,RnORL A,@RiORL Direct,#data ORL P1,#0FHORL Direct,AXRL A,#dataXRL A,DirectXRL A,RnXRL A,@Ri 01010011 XRL Direct,#data XRL P1,#0FH 00001111 XRL Direct,A 01011100CPL A 01010011→10101100CLR A 00000000RL A 11010011→ 10100111RR A 11101001RLC A CY 11010011 1010011C CY=D7 RRC A CY 11010011 C1101001 CY=D0LJMP Addr16AJMP Addr11SJMP relLCALL Addr16ACALL Addr11JMP @A+DPTRCJNE A,#data,relCJNE @Ri,#data,relCJNE Rn,#data,relCJNE A,Direct,relDJNZ Rn,relDJNZ Direct,relJZ relJNZ relSETB BIT SETB P1.0SETB C CY=1CLR BIT CLR P1.0CLR C CY=0CPL BIT CPL P1.0CPL CANL C,BITANL C,/BITORL C,BITORL C,/BITJC relJNC relJB BIT,rel JB P1.0,yjJNB BIT,relJBC BIT,rel89C51的中断系统六个中断源,五个中断入口1、中断源:外部0中断、定时计数器0中断、外部1中断、定时计数器1中断、串行发送中断、串行接收中断2、中断优先级:分为两级,(1)优先级高(2)优先级低同级中断之间不发生嵌套,优先级高的中断可再次中断优先低的中断3、中断相关控制特殊功能寄存器(1)IE 中断使能控制寄存器(2)IP 中断优先级控制寄存器IE EA -- -- ES ET1 EX1 ET0 EX0EA:总中断使能EA=1 允许中断EA=0 禁止中断ES:串行中断使能ET1:定时计数器1中断使能EX1:外部1中断使能ET0:定时计数器0中断使能EX0:外部0中断使能IP -- -- -- PS PT1 PX1 PT0 PX0PS:串行中断优先级控制位PS=1 串行中断优先级为高;PS=0 串行中断优先级为低PT1:定时计数器1中断优先级控制位PX1:外部1中断优先级控制位PT0:定时计数器1中断优先级控制位PX0:外部0中断优先级控制位4、外部中断:外部0中断(P3.2输入信号)、外部1(P3.2输入信号)中断与外部中断相关控制寄存器:TCON(定时计断器控制寄存器)TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0IT0:外部0中断触发方式控制位IT0=0:P3.2信号为低电平时表示有信号IT0=1:P3.2信号为下降沿电平时表示有信号IE0:外部0中断中断请求标志位EX0=1 EA=1 PX0=0,当P3.2有信号时,IE0会自动置1;CPU响应中断后自动清零IT1:外部1中断触发方式控制位IT1=0:P3.3信号为低电平时表示有信号IT1=1:P3.3信号为下降沿电平时表示有信号IE1:外部1中断中断请求标志位EX1=1 EA=1 PX1=0,当P3.3有信号时,IE1会自动置1;CPU响应中断后自动清零5、定时计数器(16位):T0(P3.4,下降沿)、T1(P3.5,下降沿)T0:TH0 TL0 T1:TH1 TL1TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TR0:T0启动控制位,TR0=1允许计数器TF0:T0溢出标志位,计数器计满溢出时置1,响应定时自动清零;如果未开中断则必须软件清零TMOD GATE C/T M1 M0 GA TE C/T M1 M0GATE:门控位,GA TE=1时,只有P3.2(T0)、P3.3(T1)为高电平时才能计数;GA TE=0时,只有P3.2、P3.3与(T0、T1)无关;C/T:C/T=1,计数功能;C/T=0,定时功能;M1、M0:00 模式0,13位计数器模式TH+TL低5位01模式1,16位计数器模式10模式2,8位计数器模式(自动重装功能TH)TL11 模式3,T0为两个8位计数器模式TH0 、TL0。