第3章并行IO端口及C51编程ppt课件.ppt
《第3章并行IO端口及C51编程ppt课件.ppt》由会员分享,可在线阅读,更多相关《第3章并行IO端口及C51编程ppt课件.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 并行并行IO端口及端口及C51编程编程第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程第第3 3章章 并行并行IOIO口口P0P0P3P3及及C51C51编程编程第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程 LED流水灯的控制设计流水灯的控制设计 输入输出功能的控制设计输入输出功能的控制设计内容提要内容提要第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程计算机对外设进行数据操作时,外设的数据是不能直接接到计算机对外设进行数据操作时,外设的数据是不能直接接到CPUCPU的数据线上的,必须经过接口的数据线
2、上的,必须经过接口。 这是由于这是由于CPUCPU的数据线是外设或存储器和的数据线是外设或存储器和CPUCPU进行数据传输的进行数据传输的唯一公共通道,为了使数据线的使用对象不产生使用总线的冲突,唯一公共通道,为了使数据线的使用对象不产生使用总线的冲突,以及快速的以及快速的CPUCPU和慢速的外设时间上协调,和慢速的外设时间上协调,CPUCPU和外设之间必须有和外设之间必须有接口电路(简称接口或接口电路(简称接口或I/OI/O口),接口起着缓冲、锁存数据,地口),接口起着缓冲、锁存数据,地址译码、信息格式转换、传递状态(外设状态),发布命令等功址译码、信息格式转换、传递状态(外设状态),发布命
3、令等功能。能。CPU输入接口输入接口输入设备输入设备输出接口输出接口输出设备输出设备图图3.13.1输入接口和输出接口输入接口和输出接口第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程I/OI/O接口种类接口种类:I/OI/O接口有并接口有并行接口、串行接口、定时行接口、串行接口、定时/ /计计数器、数器、A/DA/D、D/AD/A等,根据外等,根据外设的不同情况和要求选择不设的不同情况和要求选择不同的接口。单片机已将这些同的接口。单片机已将这些接口作在内部,无需外加接接口作在内部,无需外加接口,外设可直接接于单片机口,外设可直接接于单片机(有时需加驱动)本章介绍(有
4、时需加驱动)本章介绍单片机的并行接口,用于和单片机的并行接口,用于和外设的并行数据通信。外设的并行数据通信。第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程3.1 单片机的并行单片机的并行IO端口端口3.1.1 PO3.1.1 POP3P3端口结构和功能端口结构和功能一、一、 并行并行IOIO端口结构端口结构 MCS-51单片机有单片机有P0、P1、P2、P3四个四个8位双向位双向I/O口,每口,每个端口可以按字节输入或输出,也可以按位进行输入或输出,个端口可以按字节输入或输出,也可以按位进行输入或输出,四个口共四个口共32根口线,用作位控制十分方便。根口线,用作位控
5、制十分方便。P0口为三态双向口为三态双向口,能带口,能带8个个TTL电路;电路;P1、P2、P3口为准双向口,负载能口为准双向口,负载能力为力为4个个TTL电路。电路。 MCS-51系列单片机系列单片机4个个I/O端口线路设计非常巧妙,学习端口线路设计非常巧妙,学习I/O端口逻辑电路,不仅有利于正确合理地使用端口,而且会端口逻辑电路,不仅有利于正确合理地使用端口,而且会给设计单片机外围电路有所启示。给设计单片机外围电路有所启示。二、二、 POPOP3P3接接口功能口功能 大多数口线都有双重功能,具体介绍如下:大多数口线都有双重功能,具体介绍如下:第三章第三章 并行并行IOIO口口P0P3P0P
6、3及及C51C51编程编程POPO口口: 1.1.作为输入作为输入/ /输出口。输出口。 2.2.作为地址作为地址/ /数据总线数据总线 , ,接外围芯片时接外围芯片时POPO口分时输出低口分时输出低 8 8 位地址与数据信号。位地址与数据信号。P P1 1口口:1.1.作为作为输入输入/ /输出口。输出口。 2.2.在增强型在增强型(52(52系列系列) )和和ISPISP型型( (在系统编程型在系统编程型) )中有如下中有如下功能功能: : P1.0 T2 P1.0 T2引脚引脚, ,定时定时/ /计数器计数器2 2外部计数脉冲输入外部计数脉冲输入 P1.1 T2EXP1.1 T2EX引脚
7、引脚, ,定时定时/ /计数器计数器2 2触发和方向控制触发和方向控制 P1.5 P1.5 MOSIMOSI引脚引脚, ,在系统编程数据输入在系统编程数据输入 P1.6 P1.6 MISOMISO引脚引脚, ,在系统编程数据输出在系统编程数据输出 P1.7 P1.7 SCKSCK引脚引脚, ,在系统编程时钟输入在系统编程时钟输入第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程P2P2口口:1.1.作为输入作为输入/ /输出口。输出口。 2.2.作为高作为高8 8位地址总线。位地址总线。 P3P3口口:P3P3口为双功能口为双功能 1.1.作第一功能使用时,其功能为输入
8、作第一功能使用时,其功能为输入/ /输出口。输出口。 2.2.作第二功能使用时,每一位功能定义如下表作第二功能使用时,每一位功能定义如下表所示所示: : 第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程RD (外部数据存储器读选通信号输入)(外部数据存储器读选通信号输入) P3.7 P3.7 WR (外部数据存储器写选通信号输入)(外部数据存储器写选通信号输入)P3.6 P3.6 T1 T1 (定时器(定时器1 1外部计数脉冲输入)外部计数脉冲输入)P3.5 P3.5 T0 T0 (定时器(定时器0 0外部计数脉冲输入)外部计数脉冲输入)P3.4 P3.4 P3.3
9、P3.3 P3.2 P3.2 TXD TXD (串行输出线)(串行输出线)P3.1 P3.1 RXD RXD (串行输入线)(串行输入线) P3.0 P3.0 第第 二二 功功 能能 端口引脚端口引脚 INT0 INT0(外部中断外部中断0 0输入线)输入线)INT1 INT1 (外部中断外部中断1 1输入线)输入线) 第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程 3.1.2 3.1.2 端口的工作原理端口的工作原理 四个端口的口线逻辑电路见下图四个端口的口线逻辑电路见下图3.23.2图图3.53.5,由图可,由图可见,四个端口的口线逻辑图有相同之处:见,四个端口
10、的口线逻辑图有相同之处: 依据每个端口的不同功能,口线逻辑结构亦有不同之处,依据每个端口的不同功能,口线逻辑结构亦有不同之处,以下重点介绍不同之处。以下重点介绍不同之处。 都有两个输入缓冲器,分别受内部读锁存器和读引脚控制信都有两个输入缓冲器,分别受内部读锁存器和读引脚控制信 号的控制。号的控制。都有锁存器都有锁存器( (即专用寄存器即专用寄存器POPOP3)P3)都是场效应管输出驱动。都是场效应管输出驱动。第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程1.PO1.PO口口 POPO口的输出驱动电路由上拉场效应管口的输出驱动电路由上拉场效应管T1T1和驱动场效应和驱
11、动场效应T2T2组成,控制电路包括一个与门,组成,控制电路包括一个与门, 一个非门和一个模拟开关一个非门和一个模拟开关MUXMUX。第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程 POPO作作I/OI/O口使用口使用 CPUCPU发控制电平发控制电平“0 0”封锁与门,使封锁与门,使T1T1管截止,同时使管截止,同时使MUXMUX开关同下面的触点接通,使锁存器的开关同下面的触点接通,使锁存器的 Q Q 与与T2T2栅极接通。栅极接通。 当当CPUCPU向端口输出数据时,写脉冲加在锁存器的向端口输出数据时,写脉冲加在锁存器的 CLCL上、上、内部总线的数据经反相,再经
12、内部总线的数据经反相,再经T2T2管反相,管反相,POPO口的这一位引口的这一位引脚上出现正好和内部总线同相的数据脚上出现正好和内部总线同相的数据。由于输出驱动级是由于输出驱动级是漏极开路电路漏极开路电路( (因因T1T1截止截止) ),在作,在作I/OI/O口使用时应外接口使用时应外接10K10K的的上拉电阻。上拉电阻。 第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程 当输入操作时,端口中两个三态缓冲器用于读操作。当输入操作时,端口中两个三态缓冲器用于读操作。缓冲器缓冲器2 2用于读端口引脚的数据。当执行端口读指令时,读用于读端口引脚的数据。当执行端口读指令时,读
13、引脚脉冲打开三态缓冲器引脚脉冲打开三态缓冲器2 2,于是端口引脚数据经三态缓冲,于是端口引脚数据经三态缓冲器器2 2送到内部总线。缓冲器送到内部总线。缓冲器1 1用于读取锁存器用于读取锁存器Q Q端的数据。当端的数据。当执行执行“读读- -修改修改- -写写”指令指令( (即读端口信息,在片内加以运算即读端口信息,在片内加以运算修改后,再输出到该端口的某些指令如:修改后,再输出到该端口的某些指令如:ANL POANL PO,A A指令指令) ),即是读的锁存器即是读的锁存器Q Q的数据。的数据。 第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程 这是为了避免错读引脚的
14、电平信号,例如用一根口线去这是为了避免错读引脚的电平信号,例如用一根口线去驱动一个晶体管基极,当向口线写驱动一个晶体管基极,当向口线写“1 1”,晶体管导通,导通,晶体管导通,导通的的PNPN结会把引脚的电平拉低,如读引脚数据,则会读为结会把引脚的电平拉低,如读引脚数据,则会读为0 0 ,而实际上原口线的数据为而实际上原口线的数据为1 1。因而采用读锁存器。因而采用读锁存器Q Q的值而避免的值而避免了错读。究竟是读引脚还是读了错读。究竟是读引脚还是读 锁存器,锁存器,CPUCPU内部会自行判断内部会自行判断是发读引脚脉冲还是读锁存器脉冲,读者不必在意。是发读引脚脉冲还是读锁存器脉冲,读者不必在
15、意。 应注意应注意:当作输入端口使用时,应先对该口写入:当作输入端口使用时,应先对该口写入“1 1”使使场效应管场效应管T2T2截止,再进行读入操作,以防场效应管处于导通截止,再进行读入操作,以防场效应管处于导通状态,使引脚箝位到零,而引起误读。状态,使引脚箝位到零,而引起误读。 第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程 当当POPO口作地址口作地址/ /数据线使用时数据线使用时,CPUCPU及内部控制信号为及内部控制信号为“1 1”,转换开关,转换开关MUXMUX打向上面的触点,打向上面的触点, 使反相器的输出端使反相器的输出端和和T2T2管栅极接通,输出的
16、地址或数据信号通过与门驱动管栅极接通,输出的地址或数据信号通过与门驱动T1T1管,同时通过反相器驱动管,同时通过反相器驱动T2T2管完成信息传送,数据输入时,管完成信息传送,数据输入时,通过缓冲器进入内部总线。通过缓冲器进入内部总线。第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程 P1P1口作通用口作通用I/OI/O口使用,因电路结构上输出驱动部分接口使用,因电路结构上输出驱动部分接有上拉电阻。当作输入时,同有上拉电阻。当作输入时,同POPO一样,一样, 要先对该口写要先对该口写“1 1”。 2.P12.P1口口 P1P1口的结构见下图口的结构见下图第三章第三章 并
17、行并行IOIO口口P0P3P0P3及及C51C51编程编程3.P23.P2口口 P2P2口的位结构比口的位结构比P1P1多了一个转换控制部分,当多了一个转换控制部分,当P2P2口作通口作通用用I/OI/O口时,多路开关口时,多路开关MUXMUX倒向左;倒向左;第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程 当扩展片外存贮器时,当扩展片外存贮器时,MUXMUX开关打向右,开关打向右,P2P2口作高八位地口作高八位地址线输出高八位地址信号。址线输出高八位地址信号。 其其MUXMUX的的倒向是受的的倒向是受CPUCPU内部控制的。内部控制的。 应当注意应当注意:当:当P2
18、P2口的几位作地址线使用时,剩下的口的几位作地址线使用时,剩下的P2P2口口线不能作线不能作I /OI /O口线使用。口线使用。第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程4.P34.P3口口 P3P3口口 P3P3口为双功能口为双功能I/OI/O口,内部结构中增加了第二输入口,内部结构中增加了第二输入/ /输出输出功能。功能。第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程 当作为普通当作为普通I/OI/O口使用时,第二输出功能端保持口使用时,第二输出功能端保持“1 1”,打开与非门打开与非门3 3,用法同,用法同P1P1口。口。 当作
19、第二功能输出时,锁存器输出为当作第二功能输出时,锁存器输出为“1 1”打开与非门打开与非门3 3,第二功能内容通过与非门第二功能内容通过与非门3 3和和T T送至引脚。送至引脚。 输入时,引脚的第二功能信号通过三态缓冲器输入时,引脚的第二功能信号通过三态缓冲器4 4进入第二进入第二输入功能端。两种功能的引脚输入都应使输入功能端。两种功能的引脚输入都应使T T截止,此时第截止,此时第 二二输出功能端和锁存器输出端输出功能端和锁存器输出端Q Q均为高电平。均为高电平。 P3P3的各位如不设定为第二功能则自动处于第一功能,在的各位如不设定为第二功能则自动处于第一功能,在更多情况下,根据需要,更多情况
20、下,根据需要, 把几条口线设为第二功能,剩下把几条口线设为第二功能,剩下的口线可作第一功能的口线可作第一功能(I/O)(I/O)使用,此时,宜采用位操作形式使用,此时,宜采用位操作形式 。 第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程归纳四个并行口使用的注意事项如下:归纳四个并行口使用的注意事项如下:1.1.如果单片机内部有程序存储器,不需要扩展外部存储器和如果单片机内部有程序存储器,不需要扩展外部存储器和I/OI/O接口,单片机的四个口均可作接口,单片机的四个口均可作I/OI/O口使用。口使用。2.2.四个口在作输入口使用时,均应先对其写四个口在作输入口使用时,
21、均应先对其写“1 1”,以避免误读。,以避免误读。3.3.P0P0口作口作I/OI/O口使用时应外接口使用时应外接10K10K的的上拉电阻上拉电阻,其它口则可不必。,其它口则可不必。4.4.P2P2可某几根线作地址使用时,剩下的线不能作可某几根线作地址使用时,剩下的线不能作I/OI/O口线使用。口线使用。5.5.P3P3口的某些口线作第二功能时,剩下的口线可以单独作口的某些口线作第二功能时,剩下的口线可以单独作I/OI/O口线使用。口线使用。第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程3.2 单片机单片机C51语言程序语言程序3.2.1 单片机C51语言程序的结构
22、与数据类型一、 一个简单的C语言程序 #include /包含头文件 void Delay_Ms(uint ms);/延时函数声明 /*函数名称:main*/void main() while(1) P1=0 xff;/将P1口的八位引脚置1,熄灭八个LED Delay_Ms(1000);/延时 P1=0 x00;/将P1口的八位引脚清0,点亮八个LED Delay_Ms(500);/延时 第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程/* 函数名称:Delay_Ms函数功能:延时ms级别输入参数:要延时的ms数输出参数:无 */void Delay_Ms(uint
23、 ms)/延时函数,变量ms为形式参数 uchar i; /定义无符号字符型变量i while(ms-) /双重循环语句实现软件延时 for(i=0;i200;i+); 第三章第三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程二、单片机二、单片机C51C51语言程序基本结构语言程序基本结构 同标准同标准C C一样,一样,C51C51的程序由一个个函数组成,这里的函的程序由一个个函数组成,这里的函数和其他语言的数和其他语言的“子程序子程序”或或“过程过程 ”具有相同的意义。具有相同的意义。其中必须有一个主函数其中必须有一个主函数main()main(),程序的执行从,程序的执行
24、从main()main()函数开函数开始,调用其始,调用其 他函数后返回主函数他函数后返回主函数main()main(),最后在主函数中,最后在主函数中结束整个程序而不管函数的排列顺序如何。结束整个程序而不管函数的排列顺序如何。 值得注意的是:值得注意的是:如果被调函数出现在主调函数之后,在主调如果被调函数出现在主调函数之后,在主调函数前应对被调函数作以说明,形式为:函数前应对被调函数作以说明,形式为: 返回值类型返回值类型 被调函数名被调函数名( (形参表列形参表列) ); 如果被调函数出现在主调函数之前,可以不对被调函数说明。如果被调函数出现在主调函数之前,可以不对被调函数说明。 第三章第
25、三章 并行并行IOIO口口P0P3P0P3及及C51C51编程编程C语言程序的组成结构如下所示语言程序的组成结构如下所示: 全局变量说明全局变量说明 /*可被各函数引用可被各函数引用*/ main() /*主函数主函数*/ 局部变量说明局部变量说明 /*只在本函数引用只在本函数引用*/ 执行语句执行语句(包括函数调用语句包括函数调用语句) fun1(形式参数表形式参数表) /*函数函数1*/ 形式参数说明形式参数说明 局部变量说明局部变量说明 执行语句执行语句(包括调用其他函数语句包括调用其他函数语句)funn(形式参数表形式参数表) /*函数函数n*/形式参数说明形式参数说明 局部变量说明局
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 并行IO端口及C51编程ppt课件 并行 IO 端口 C51 编程 ppt 课件
限制150内