付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、T27P1 a 匚LTSEUPl. 1 C239Pl 2 :3Pl . 3 C43Tfi .4 c53&fiosiypi. 5 匚635xrso/Pi 6 c734SCI/Pl. 7 Ce33RST L3Kiiyps. 0 匚LO311 EuIHTO/PS £ 1:1229IHTl/FS. 3 LL3ZST0/P3.4 cL42TT1/F5. 5 CL52&WP3.& CL&237 CIT241.323KTALl 匚!?£2PDIP匚HD C2021 fee3 P0. 0/AIO3 F0. IfkUl:P0 2/AD2 FQ, PO. 4/J
2、ID41 PO. 5/JID5 PO. &/AD6J 巴 THDT=1 EJIXTO_J F2n P2. rz. 5M131 P2. F£ ZfAiQ =1 F2. 1 如 P2.AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含 8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的 AT89C52单片
3、机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入 /输出(I/O )端口,同时内含 2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线, AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。-32兼容 MCS51指令系统 -8k 可反复擦写(1000次)Flash ROM 个双向 I/O 口 - 256x8bit 内部 RAM个16位可编程定时/计数器中断-时钟频率 0-24MHZ个串行中断-可编
4、程 UART串行通道个外部中断源 -共6个中断源个读写中断口线-3级加密位-低功耗空闲和掉电模式-软件设置睡眠和唤醒功能AT89C52P为40脚双列直插封装的在内部功能及管脚排布上与通用的8位通用微处理器,采用工业标准的C51内核,相同,其主要用于会聚调整时的功能控制。RAM及外部接口等功能部件的初始化,会聚IR的接收解码及与主板CPU通信等。主8xc52功能包括对会聚主IC内部寄存器、数据调整控制,会聚测试图控制,红外遥控信号 要管脚有: XTAL1 ( 19脚)和 XTAL2 ( 18脚)为振荡器输入输出端口,外接晶振。RST/Vpd ( 9脚)为复位输入端口,外接电阻电容组成的复位电路。
5、脚)和 VSS ( 20脚)为供电端口,分别接 +5V电源的正负端。 P0P3为可编程通用 I /O脚,其功能用途由软件定义,在本设计中,P0端口( 3239脚)被定义为 N1功能控制端口,分别与 N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接12MHzVCC( 40N1 的 SDAS( 18 脚)和 SCLS( 19 脚)端口,CPU的相应功能端,用于12脚、27脚及28脚定义为握手信号功能端口,连接主板 当前制式的检测及会聚调整状态进入的控制功能。P0 口P0 口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时
6、,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口 P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时, 要求外接上拉电阻。P1 口P1是一个带内部上拉电阻的8位双向I/O 口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输 入口。作输入口使用时,因为内部存在上拉(IIL)。和还可分别作为定时/计数器2的外部计数输入(T电阻,某个引脚被外部
7、信号拉低时会输出一个电流与AT89C51不同之处是,2)和输入(T2EX),参见表1。P1接收低8位地址。Flash 编程和程序校验期间,表.和的第二功能引脚号功能特 性T2,时钟输出T2EX(定时 /计数 器2)P2 口8位双向I/O 口,P2的输出缓冲级可驱动(吸收或P2是一个带有内部上拉电阻的 输出电流)4个TTL逻辑门电路。对端口 P2写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作 输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输 出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行 MOVX DPTR旨令)MOVX时,
8、P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 RI 旨令)时, P2 口输出 P2 锁存器的内容。Flash 编程或校验时, P2 亦接收高位地址和一些控制信号。P3 口8 位双向 I/O 口。 P3 口输出缓冲级可驱动(吸收P3 口是一组带有内部上拉电阻的 或输出电流) 4 个 TTL 逻P3 口将用上拉电阻输出电流( IIL )。辑门电路。对 P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。 此时,被外部拉低的P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RS
9、T复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE (地址锁存允许)输出脉冲用于锁存地PROG)。址的低 8 位字节。 一般情况下, ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号, 因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将 跳过一个 ALE 脉冲。 对 Flash 存储器编程期间, 该引脚还用于输入编程脉冲如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC旨令才能将 ALE激活。此外,该
10、引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。PSENAT89C52 由外部程PSEN 有效,即输出两个脉冲。在PSEN信号。程序储存允许(PSEN输出是外部程序存储器的读选通信号,当序存储器取指令(或数据)时,每个机器周期两次 此期间,当访问外部数据存储器,将跳过两次EA/VPP地址为0000H FFFFH), EALB1 被编程,复位时内部会锁存Vcc 端), CPU 则执行内部程序存储器中的旨令。 +12V的编程允许电源Vpp,当然这必须是该器件是端必外部访问允许。欲使 CPU 仅访问外部程序存储器 须保持低电平(接地)。需注意的是:如果加密位A端状态。如 EA端为高
11、电平(接 lash 存储器编程时,该引脚加上 使用 12V 编程电压 Vpp。XTAL1振荡器反相放大器的及内部时钟发生器的输入端。XTAL2振荡器反相放大器的输出端。特殊功能寄存器在 AT89C52 片内存储器中, 80H-FFH 共 128 个单元为特殊功能寄存器( SFE), SFR 的地址空间映象如表 2 所示。并非所有的地址都被定义,从80H FFH 共 128 个字节只有一部分被定义, 还有相当一部分没有定义。 对没有定义的单元读写将是无效的, 读出的数值将不确定,而写入的数据也将丢失。不应将数据“ 1”写入未定义的单元, 由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,
12、复位后这些单元数值总是“ 0”。AT89C52除了与 AT89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时 /计数器2。定时/计数器2的控制和状态位位于T2C0N(参见表3)T2MOD(参见表 4),寄存器对( RCAO2H RCAP2L是定时器 2在16位捕获方式或 1 6 位自动重装载方式下的捕获 / 自动重装载寄存器。数据存储器128AT89C52 有 256 个字节的内部 RAM, 80H-FFH 高 128 个字节与特殊功能寄存器 (SFR)地址是重叠的,也就是高字节的 RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问 7FH 以上的内部
13、地址单元时,指令中使用的寻址方式是不同的, 也即寻址方式决定是访问高 128 字节 RAM 还是访问特殊功能寄存器。如果指令是直 接寻址方式则为访问特殊功能寄存器。OAOH (即 P2 口)地址单元。例如,下面的直接寻址指令访问特殊功能寄存器R0 的内容MOV 0A0H, #data间接寻址指令访问高128字节RAM例如,下面的间接寻址指令中,为0A0H,则访问数据字节地址为0A0H,而不是 P2 口( 0A0H)。MOV R,0 #data128 位数据 RAM 亦可作为堆栈区使用。堆栈操作也是间接寻址方式,所以,高定时器0和定时器1 :AT89C52 的定时器 0 和定时器 1 的工作方式
14、与 AT89C51 相同。定时器 2定时器 2 是一个 16 位定时 /计数器。它既可当定时器使用,也可作为外部事件 计数器使用,其工作方式由特殊功能寄存器T2C0N (如表3 )的C/T2位选择。定时器 2有三种工作方式:捕获方式, 自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由 T2CON 的控制位来选择。定时器 2 由两个 8 位寄存器 TH2 和 TL2 组成, 在定时器工作方式中, 每个机器 周期 TL2 寄存器的值加 1 ,由于一个机1/12 。器周期由 12 个振荡时钟构成,因此,计数速率为振荡频率的在计数工作方式时,当 T2 引脚上外部输入信号产生由 1 至 0
15、 的下降沿时,寄 存器的值加 1,在这种工作方式下,每个机器周期的 5SP2 期间,对外部输入进行采样。若在第一个机器周期中采到的值 为 1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的 S3P1 期间寄存器加 1。由于识别 1 至 0 的跳变需要 2 个机器周期( 24 个振荡周期),因此,最高计数速率为振荡频率的 1/24 。为确保采样的正确性, 要求输入的电平在变化前 至少保持一个完整周期的时间,以保证输入信号至少被采样一次。捕获方式在捕获方式下,通过 T2CON 控制位 时器 2 是一个 16 位定时器或计数器,计数溢出时,对 T2CON 的溢出标志定时器 2 完成相同的
16、操作,而当 T2EXEXEN2来选择两种方式。如果EXEN2=0,定TF2 置位, 引同时激活中断。如果EXEN2=1,脚外部输入信号发生 1 至 0 负跳变时, 也出现RCAP2H 和 RCAP2L 中。另外, T2EX 引脚信号的跳变使得 T2CON 中的 EXF2 置位,与 捕获方式如图 4 所示。 自动重装载(向上或向下计数器)方式当定时器 2 工作于 16 位自动重装载方式时, 能对其编程为向上或向下计数方式, 这个功能可通过特殊功能寄存器TH2 和 TL2 中的值分别被捕获到TF2 相仿, EXF2 也会激活中断。T2CON(见表 5)的 DCEN 位(允许向下计数)来选择的。复位
17、时, 定时器 2 默认设置为向上计数。当 DCEN置位时,定时器 2 既可向上计数也可向下计数,这取决于图 5,当 DCEN=0 时,定时器 2 自动设置为向上计数,在这种方式下,T2CON 中的 EXEN2 控制位有两种选择,若 EXEN2=0,定时器 2 为向上计数至 0FFFFH 溢出,置位 TF2激活中断,同时把 16位计数寄存器 RCAP2H和RCAP2L重装载,R CAP2H 和 RCAP2L 的值可由软件预置。若EXEN2=1,定时器2的16位重装载由溢出或外部输入端 降沿触发。这个脉冲使 EXF2 置位,中断允许,同样产生中断。定时器 2 的中断入口地址是:DCEN 位置“ 0
18、”,T2EX 引脚的值,参见T2EX 从 1 至 0 的下如果002BH0032H 。向上或向下计数,如图 6 所示。这种方式下, T2E 引脚为逻辑“ 1”时,定时器向上计数,当计数OFFFFH向上溢出时,置位TF2,同时把16 位计数寄存器 RCAP2H 和 RCAP2L 重装载到TH2和TL2中。T2EX引脚为逻辑“ 0”时,定时器 2向下计数,当 TH2 和 TL2 中的数值等于 RCAP2H 和 RCAP2L中的值时,计数溢出,置位TF2,同时将0FFFFH数值重新装入定时寄存器中。当定时 / 计数器 2 向上溢出或向下溢出时,置位 EXF2 位。波特率发生器当T2CON(表3)中的
19、TCLK和RCLK置位时,定时/计数器2作为波特率发生器 使用。如果定时 /计数器 2 作为发送器或当 DCEN=1 时,允许定时器X 引脚控制计数器方向。 T2EX接收器,其发送和接收的波特率可以是不同的,定时器所示。若 RCLK 和 TCLK 置位,则定时器 工作于波特率发生器方式。 波特率发生器的方式与自动重装载方式相仿,的寄存器用 RCAP2H 和 RCAP2L 中的 16位数值重新装载,该数值由软件设置。在方式 1 和方式 3 中,波特率由定时器方式 1和 3 的波特率 =定时器的溢出率在此方式下,/161 用于其它功能,如图TH2 翻转使定时器2 的溢出速率根据下式确定:定时器既能
20、工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式( C/T2=0 )。定时器 2 作为波 特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期( 1/12 振荡频率)寄存器的值加 1,而作为波特率发生器使用时, 在每个状态时间 ( 1/2 振荡频率)寄存器的值加 波特率的计算公式如下:方式 1和 3 的波特率 =振荡频率 /32*65536-(RCP2H,RCP2L)式中(RCAP2H RCAP2L)是 RCAP2H和RCAP2L中的16 位无符号数。 定时器 2 作为波特率发生器使用的电路如图=1 时,波特率工作方式才有效。在 波特率发生器工作方式中
21、, TH2 翻转不能使XEN2 置位,且 T2EX 端产生由 1 至 0 的 负跳变,则会使 EXF2 置位,此时并不能将(TH2 和 TL2 中。所以,当定时器 2 作为波特率发生器使用时, T2EX 可作为附加的外部中断源来使用。需要注意的是, 当定时器 2 工作于波特率器时,作为定时器运行(TR2=1 )时,并不能访问TH2和TL2。因为此时每个状态时间定时器都会加 1 ,对其读写将得到一个不确定的数值。然而,对 RCAP2 则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和 / 或重装载出错。在访问定时器 2 或 RCAP2 寄存器之前,应将定时器关闭(清 除 TR2)。可编
22、程时钟输出定时器 2 可通过编程从 输出一个占空比为50%的时钟信号,如图7 所示。 T2CON 中的 RCLK 或TF2 置位,故而不产生中断。但若1。TCLKRCAP2H RCAP2L)的内容重新装入8 所示。脚除了是一个标准的 I/O 口外, 还可以通过编程使其作为定时 / 计数器 2 的外部时钟 输入和输出占空比50%的时钟脉冲。当时钟振荡频率为16MHz 时,输出时钟频率范围为61Hz 4MHz当设置定时/计数器2为时钟发生器时,C/T2 ( T2CON .1)=0,T2OE ()=1,必须由TR2 ()启动或停止定时器。时钟输出频率取决于振荡频率和定时器2捕获寄存器(RCAP2H
23、RCAP2L的重新装载值,公式如下:输出时钟频率 荡器频率 /4*65536-(RCP2H,RCP2L)=振在时钟输出方式下,定时器 2 的翻转不会产生中断,这个特性与作为波特率发 生器使用时相仿。定时器 2 作为波特率发生器使用时,还可作为时钟发生器使用, 但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP2L和 RCAP2bUARTAT89C52 的 UART 工作方式与 AT89C51 工作方式相同。中断AT89C52 共有 6 个中断向量: 两个外中断 ( INT0 和 INT1 ),3 个定时器中断 (定 时器 0、 1、2)和串行口中断。所有这些中断源如图9
24、 所示。这些中断源可通过分别设置专用寄存器IE 的置位或清 0 来控制每一个中断的允许或禁止。IE也有一个总禁止位 EA,它能控制所有中断的允许或禁止。注意表 5 中的 为保留位,在 AT89C51 中 也是保留位。程序员不应将“ 1”写入 这些位,它们是将来 AT89 系列产品作为扩展用的。定时器 2 的中断是由 T2CON 中的 TF2 和 EXF2 逻辑或产生的,当转向中断服务 程序时,这些标志位不能被硬件清除,S5P2事实上,服务程序需确定是 TF2 或 EXF2 产生中断,而由软件清除中断标志位。 定时器 0 和定时器 1 的标志位 TF0 和 TF1 在定时器溢出那个机器周期的 状
25、态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器 2 的标志位 TF2 在定时器溢出的那个机器周期的 S2P2 状态置位,并在同一个机器周期内查询到该标志。时钟振荡器XTAL1 和 XTAT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚AL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器, 振荡电路参见图 10。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的
26、难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30p F± 10pF,而如使用陶瓷谐振器XTAL1 端,即内部时钟发生器的输入端,2 分频触发器后作为内部时钟信号的,所 但最小高电平持续时间和最大的低电平持建议选择 40pF± 10F。用户也可以采用外部时钟。采用外部时钟的电路如图10右图XTA所示。这种情况下,外部时钟脉冲接到L2 则悬空。由于外部时钟信号是通过一个 以对外部时钟信号的占空比没有特殊要求, 续时间应符合产品技术条件的要求。空闲节电模式 在空闲工作模式状态, CPU 自身处于睡眠状态而所有片内的外设仍保持激活状态, 这种方式由软件产生。此时,同时将
27、片内 RAM 和所有特殊功能寄存器的内容冻结。 空闲模式可由任何允许的中断请求或硬件复位终止。 由硬件复位终止空闲状态只需两 个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM但可以访问端口引脚,当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式 的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。掉电模式在掉电模式下, 振荡器停止工作, 进入掉电模式的指令是最后一条被执行的指令, 片内 RAM 和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一 方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在 VCC 恢复到正常
28、工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动 并稳定工作。程序存储器的加密AT89C52 有 3 个程序加密位,可对芯片上的 3 个加密位 LB1、 LB2、LB3 进行编 程(P)或不编程(U)来得到。当加密位LB1被编程时,在复位期间,EA端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机 数,且这个随机数会一直保存到真正复位为止。为使单片机能正常工作,被锁存的A 电平值必须与该引脚当前的逻辑电平一致。此外,加密位只能通过整片擦除的方法 清除。Flash 存储器的编程Flash PEROM ,这个 Flash 存储阵列出厂时已FFH),用户随时可对其进行编程。编程VCC )的允许编程信号。低电压编程模式适合AT89C52 单片机内部有 8k 字节的 处于擦除状态(即所有存储单元的内容均为 接口可接收高电压(+12V)或低电压(于用户在线编程系统,而高电压编程模式可与通用EPROM编程器兼容。AT89C52 单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,用 户可从芯片上的型号和读取芯片内的签名字节获得该信息。AT89C52 的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要 对整个芯片内的 P EROM程序存储器写入一个非空字节,必须使用片擦除的方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校室外管网工程施工组织设计模板
- 公司应急预案类型(3篇)
- 下关茶厂营销方案(3篇)
- 医学检测营销方案(3篇)
- 停电如何应急预案(3篇)
- 公司师徒活动策划方案(3篇)
- 宴会包厢施工方案(3篇)
- 房屋横梁施工方案(3篇)
- 支架预压施工方案(3篇)
- 日常团建活动方案策划(3篇)
- (正式版)DB13 2209-2025 《火电厂大气污染物排放标准》
- 沥青瓦保养知识培训课件
- 广告岗位招聘笔试题及解答(某大型国企)2025年附答案
- 2023年中级经济师工商管理辅导教材
- 金融科技创新项目计划书范例
- 高温汛期船舶安全培训课件
- 高校创新创业项目申报书及评审标准
- 2025年江西省高考化学试卷真题(含答案)
- 安井学堂考试题库及答案
- 项目前评估管理办法
- 肠促胰素类减重药物临床应用专家共识(2025版)解读 2
评论
0/150
提交评论