第3章MCS-51单片机的内部资源及应用 主要内容: MCS-51单片机内部各器件的具体结构、组成原理、 工作方式的设置及典型应用,为读者后续学习单片机应用 系统设计、充分利用单片机内部资源解决工程实际问题奠 定基础。重点在于各器件工作方式的设置及灵活应用,难 点在于中断系统和定时器计数器的应用
第3章 MCS-51单片机的内部资源及应用 主要内容: MCS-51单片机内部各器件的具体结构、组成原理、 工作方式的设置及典型应用,为读者后续学习单片机应用 系统设计、充分利用单片机内部资源解决工程实际问题奠 定基础。重点在于各器件工作方式的设置及灵活应用,难 点在于中断系统和定时器/计数器的应用
3.1MS-51单片机的并行I/0口 3.1.1MCS-51内部并行I/0口 80514个8位并行O口,分别命名为PO,P1,P2和P3口 1.P0口 P0口为双向三态输入输出口,PO口既可作为地址数据 总线口,又可作为通用IO口,可驱动8个T输入。在访问 外部存储器时,PO口作地址/ 数据总线复用口,是一个真 地址数据控制 正的双向口,并分时送出地你 T 址的低8位和送出(或接收) 相应存储单元的数据。作通 内部总线。+[DQ 写 P Q 用IO口时,PO口只是一个准 MUX 双向口,需要在外部引脚处 读引脚 外接上拉电阻。P0口的位结 ←构如右图所示
3.1.1 MCS-51内部并行I/O口 8051有4个8位并行I/O口,分别命名为P0, P1, P2和P3口。 1.P0口 P0口为双向三态输入/输出口, P0口既可作为地址/数据 总线口,又可作为通用I/O口,可驱动8个TTL输入。在访问 3.1 MCS-51单片机的并行I/O口 外部存储器时,P0口作地址/ 数据总线复用口,是一个真 正的双向口,并分时送出地 址的低8位和送出(或接收) 相应存储单元的数据。作通 用I/O口时,P0口只是一个准 双向口,需要在外部引脚处 外接上拉电阻。 P0口的位结 构如右图所示
2.P2口 地址/数据控制 P口常用做外部存储器的高8位地址读镀存 上拉电阻 口。当不用做地址口时,P2口也可作为 P2.N 通用O口,这时它也是一个准双向O内部总线+D 口。不必外接上拉电阻就可以驱动任何 写 CP Q MUX MOS驱动电路,且只能驱动4个T输 入。P2口的位结构如右图所示 读引脚 3.P1口 读锁存器o P1口常用做通用O口,它也是 上拉电阻 个标准的准双向O口,不必外接上拉内总线D可 PI.A 电阻就可以驱动任何MOS驱动电路, 写 CP可 且只能驱动4个T∏输入。P1口的位结 沟如右图所示。 读引脚
2.P2口 P2口常用做外部存储器的高8位地址 口。当不用做地址口时,P2口也可作为 通用I/O口,这时它也是一个准双向I/O 口。不必外接上拉电阻就可以驱动任何 MOS驱动电路,且只能驱动4个TTL输 入。P2口的位结构如右图所示。 3.P1口 P1口常用做通用I/O口,它也是一 个标准的准双向I/O口,不必外接上拉 电阻就可以驱动任何MOS驱动电路, 且只能驱动4个TTL输入。P1口的位结 构如右图所示
4.P3口 P3口是一个双功能口 第二输出功能 第一功能与P1口一样可用做 读锁存器 通用I/O口,也是一个准双向 I/O口,能驱动4个TI输入。 内部总线+「DQ 写 CH 另外还具有第二功能。P3口 工作在第二功能时各管脚定 义如下表所示。P3口的位结 读引脚 第二输入功能 构图如右图乐示。 引 功能 引 P30 申行输入口〔R) P34 足时器/计数器0的外邻入口〔T0) p3.1 申行输出口(TxD) p3.5. 定时播/计数器1的外邻入口〔T1 p3.2 外中断0〔IT) p3.6 外数据存储恐马选通〔WR) P3.3. 外中断1〔INm) P37. 外邻数据存储器选通〔F)
4.P3口 P3口是一个双功能口, 第一功能与P1口一样可用做 通用I/O口,也是一个准双向 I/O口,能驱动4个TTL输入。 另外还具有第二功能。P3口 工作在第二功能时各管脚定 义如下表所示。 P3口的位结 构图如右图所示
3.1.2MCS-51内部并行I/0口的应用 MCS-51/0端口的操作方式: (1)输出数据方式:CPU通过一条数据传送指令就可以把输 出数据写入P0~P3的端口锁存器,然后通过输出驱动器送 到端口引脚线。例如,下面的指令均可在P0口输出数据。 MOV PO.A anl PO#data ORL PO.A (2)读端口数据方式:CPU读入的这个数据并非端口引脚线 上的数据。读端口数据可以直接读端口。例如,下面的指 令均可以从P1口输入数据,这是锁存器上的数据 MOVAPI MOV 20H PI MOV RO. PI MOV aRO, Pl
3.1.2 MCS-51内部并行I/O口的应用 MCS-51I/O端口的操作方式: (1)输出数据方式:CPU通过一条数据传送指令就可以把输 出数据写入P0~P3的端口锁存器,然后通过输出驱动器送 到端口引脚线。例如,下面的指令均可在P0口输出数据。 MOV P0, A ANL P0, #data ORL P0, A (2)读端口数据方式: CPU读入的这个数据并非端口引脚线 上的数据。读端口数据可以直接读端口。例如,下面的指 令均可以从P1口输入数据,这是锁存器上的数据。 MOV A, P1 MOV 20H, P1 MOV R0, P1 MOV @R0, P1