3.1.2 AT89C51单片机结构与功能
其主要性能参数如下:与MCS-51产品指令系统完全兼容;拥有4k 大小的非易失性Flash 闪存;1000次擦写周期;全静态操作:0Hz-24MHz;三级加密程序存储器;128×8字节内部RAM;32个可编程I/O口线;2个16位定时/计数器;6个中断源;可编程串行UART通道;低功耗空闲和掉电模式。空闲模式下可以使CPU停止工作,而其他的如定时/计数器以及RAM等仍可以继续正常工作。如果单片机处于掉电方式将保存RAM、停止振荡器的工作、此外各种部件也将不会工作。
AT89C51单片机内部结构方框图如图3-1所示:
图3-1 AT89C51内部结构方框图
3.1.3 AT89C51单片机引脚功能说明
Vcc:电源电压输入口。
GND:接地口。
P0 口:这是一组8 位的漏极开路型双向I/O口,因为是漏极开路(Open Drain),也就是高阻状态,与其他口不同,其内部没有上拉电阻。P0口既适用于输入也适用于输出,它可独立输入或者输出低电平以及高阻状态,但是如果想要产生高电平,则必须通过外部上拉或着使用类似于LCX245的电平转换芯片来进行转换。P0口是地址/数据总线分时复用的,能够用于外部程序以及数据存储器,它可以被定义为数据/地址的低8位,这时它与数据总线复用。当P0口用来输出时,它的每个管脚可吸收大小为8个TTL的门电流,而如果使端口为高电平1,这时P0口可以当做高阻抗输入端来使用。在对FIASH进行编程的时候,该口可以当做原码的输入口,单片机就是通过该口按字节接收指令。如果对FIASH存储器进行程序校验,该口输出的是原码,必须通过外部被拉高否则无法正常工作。
P1口:与P0口不同的是P1口带内部带有上拉电阻,相同的是它也是一个8位双向I/O口。P1口有一个缓冲器,通过该缓冲器可驱动4个TTL逻辑门电流,这一点也与P0口不同。当给P1口管脚写入“1”后,其内部的上拉电阻就会把端口拉到高电平,一般不需要再外接上拉电阻,这时该口就可以作输入口来使用。但是当作输出口使用时,因为内部已经存在上拉电阻,所以只有当某个引脚被外部下拉电阻拉低时才会将电流输出。如果对FIASH存储器进行程序校验,从该口得到的是低位地址。
P2口:与P1口一样,它的内部也已经带有上拉电阻,同样的也是一个8位双向I/O口。P2口能吸收或输出的逻辑门电流大小和P1口一样也是4个TTL。如果对端口写入“1”,这时内部已有的上拉电阻就会把端口电平拉高,这时该接口可以作为输入口来使用,同样的,如果作为输出口使用,则由于存在内部上拉电阻,也只有在引脚被外部下拉为低时才会有电流的输出。如果单片机进行的存取操作是针对对外部程序存储器以及16位地址的外部数据存储器,那么P2口输出的将是高字节的地址。在给出高电平1时,由于内部上拉,如果访问外部8 位地址数据存储器,那么P2 口输出的将是特殊功能寄存器(SFR)区中寄存器R2里的值。P2口如果在Flash编程或程序校验时,与P1口相对应的它接收的是高字节的地址,除此之外P2口还会接收某些控制信号。
P3口:P3作为AT89C51单片机各端口中较为特殊的一个口。该口内部同样带有上拉电阻,也是一个 8 位的双向I/O 口。P3口与P1、P2口一样,可以输出或接收4 个TTL逻辑门电流。给P3 口写入高电平1时,内部上拉电阻会把电平拉高,此时就可以作为输入端口来使用。同样的,当该口被外部下拉拉低时将会有电流输出。之所以说P3口特殊,就是因为P3口除了上诉功能外,显然更重要的用途是它所具有的第二功能,这些特殊功能在单片机应用中起到非常关键的作用。 Proteus角度限位器的51单片机检测电路设计+电路图(5):http://www.751com.cn/zidonghua/lunwen_14567.html