首页 理论教育 端口复用的具体策略一学就会的51单片机C语言编程

端口复用的具体策略一学就会的51单片机C语言编程

时间:2023-10-11 理论教育 版权反馈
【摘要】:端口复用时常用74LS245来实现分时复用。即ds18b20在输出数据时,可利用液晶屏的使能信号,防止数据窜入液晶屏。

端口复用的具体策略一学就会的51单片机C语言编程

1.实现端口复用必须满足的条件

实现端口复用必须满足的条件有以下两个:

(1)每个外设(模块)不需要长期使用这条(组)I/O口线,用完后可立即释放。

(2)一个模块使用这条(组)I/O口线时,高/低电平的变化对其他模块的工作不能造成影响。

2.适合进行端口复用的模块

一般来说,液晶屏、数码管、A-D转换集成电路、D-A转换集成电路、8255集成电路的8位数据输入口等可共用一组端口(如P0口)。

需要注意的是,端口复用时要酌情做抗干扰处理,如下面的部分程序代码(注:只需要理解抗干扰的处理措施,对程序的具体作用不需考虑,因为代码不全)。

解释

①第4行:使数码管锁存和LCD12864的使能无效,以防止A-D转换时输出的数据通过导线传到LCD12864和数码管中,干扰显示。

②第8行:gs端口接的是74LS245的G口,G口赋低电平能使A端与B端导通,使A-D数据端口与P0导通。端口复用时常用74LS245(可控制传送方向)来实现分时复用。(www.xing528.com)

③第9行:使用P0口读取数据之前先把P0口全置为高电平,以消除原先的数据。

④第14行给G赋高电平,使74LS245的数据传输功能无效(A、B之间为高阻状态),以防止A-D转换时输出的数据通过74LS245传输到数码管或其他器件的数据端口上。

3.都具有时序操作的两条线可以复用

都具有时序操作的两条线,可以分时复用,例如:

(1)ds18b20与液晶屏的RW、RS可复用,但需做防干扰处理。即ds18b20在输出数据时,可利用液晶屏的使能信号,防止数据窜入液晶屏。

(2)8255的A0/A1/RD/WR可以与A-D转换的CS/RD/WR共用(没干扰)。

(3)液晶屏的CS1/CS2(选屏)不要与数码管的CS1/CS2(段位选择)共用。显示数据容易相互干扰。

4.对在不同时间段中使用端口可以共用

对在不同时间段(可以在各个时间段设置表示状态的标志变量)中使用端口可以共用。例如:两个按键,如果要求在不同工作过程按下,则可以复用一个端口,检测到端口有低电平后,根据状态的标志变量来判断现在是哪个工作过程。针对不同工作过程执行相应的处理程序。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈