并行端口关键
- MCS-51单片机内部有4个8位的并行I/O口P0、P1、P2、P3。其间P3口、P2口、P1口为准双向口,P0口为双向的三态数据线口。各端口均由端口锁存器、输出驱动器、输入缓冲器等构成。各端口除可进行字节的输入/输出外,每个位口线还可独自用作输入/输出,实践运用十分便利。
- 对并行I/O口的“读—修正—写”类指令(例如CPL P0.0、ANL P1,#0FH等)实践是读出对应的端口锁存器的内容,履行修正后再写回到端口锁存器中。之所以是“读锁存器”而不是“读引脚”,是为了防止因引脚外部电路的原因而使引脚的状况产生改动而形成误读。
-
P0口是一个三态双向I/O口,在需求进行外部ROM、RAM等扩展时,选用分时复用的方法,经过地址锁存器后作为地址总线的低8位和8位数据总线;在不需求进行外部ROM、RAM等扩展时,作为通用的I/O口运用。P0在用作通用输出口时有必要外接上拉电阻,用作输进口时,则有必要先把锁存器写入1。P0口的输出级具有驱动8个LSTTL负载的才能。
-
当不需求在单片机芯片外部扩展程序存储器,只需扩展256字节的片外RAM时,拜访片外RAM就可以运用“MOVX A,@Ri”,“MOVX @Ri,A”类指令来完成。这时只用到了地址线的低8位,P2口不受该类指令的影响,仍可以作为通用I/O口运用。
-
P3口相应的端口线处于第二功用,应满意的条件是:
串行I/O口处于运转状况(RXD,TXD)。 外部中止现已翻开(INT0、INT1)。 守时/计数器处于外部计数状况(T0、T1)。 履行读/写外部RAM的指令(RD、WR)。
守时/计数器4种工作方法的特色
- 方法0是13位计数器,最大计数值213=8192,计数规模比方法1小,核算守时初值比较费事,简单犯错,与方法1比较无任何长处(规划初衷是为了兼容更早的48系列单片机)。
- 方法1是16位计数器,最大计数值为216=65536,计数规模大,适用于守时规模较大的运用场合。
- 方法2是8位计数器,最大计数值是28=256,缺陷是计数规模小,长处是守时初值可主动康复,适用于需求重复守时,而守时规模还不大的运用场合。
- 方法3是8位计数器,仅适用于T0,T1无方法3。T0方法3时,被拆成两个独立的8位计数器TH0、TL0:TL0运用T0原有的操控寄存器组成一个8位的守时/计数器;TH0借用T1的TF1、TR1,只能对机内机器周期脉冲计数,组成另一个8位守时器。T0方法3时T1方法2作串行口波特率产生器。
守时器初值的核算
守时时刻的核算公式为:
若设初值TC=0,则守时器守时时刻为最大。当单片机体系主频为12MHz时,各种工作方法下守时器的最大守时时刻为: