1、4.1 4.1 单片机引脚单片机引脚1 1、基本引脚:基本引脚:最基本引脚,不可闲置不可复用。最基本引脚,不可闲置不可复用。电源:电源:VccVcc(+5V+5V),),GND(+0V)GND(+0V)时钟:时钟:XTAL1XTAL1,XTAL2XTAL2复位:复位:RSTRST2 2、I/OI/O引脚:引脚:P0P0(P0.0P0.0P0.7P0.7)、)、P1 P1(P1.0P1.0P1.7P1.7)P2(P2.0P2(P2.0P2.7P2.7)、P3 P3(P3.0P3.0P3.7P3.7)3 3、外部信号引脚:外部信号引脚:P3.4P3.4(T0T0)P3.5P3.5(T1T1)P3.
2、2P3.2()0INTP3.3P3.3()1INT4 4、总线引脚总线引脚:数据总线(数据总线(8 8位,双向):位,双向):P0P0(P0.0P0.0P0.7P0.7)地址总线(地址总线(1616位,单向):位,单向):P2(P2.0P2(P2.0P2.7P2.7),P0P0(P0.0P0.0P0.7P0.7)控制总线:控制总线:PSENPSEN、EAEA、ALEALE RD WRRD WR 4.2 4.2 单片机单片机I/OI/O口口 4.2.1 P14.2.1 P1口口8051共有共有4个个8位的并行双向位的并行双向I/O口,可以输入,可以输出,分别记作口,可以输入,可以输出,分别记作P
3、0、P1、P2、P3,可以按字节直接寻址。除此之外,还可以按位寻址,可以按字节直接寻址。除此之外,还可以按位寻址,4个口合在一起共有个口合在一起共有32位。位。在单片机中,口是一个集数据输入缓冲、数据输出锁存及驱动等多功能于一体的在单片机中,口是一个集数据输入缓冲、数据输出锁存及驱动等多功能于一体的I/O电路。电路。8051的的4个口在电路结构上是基本相同的,它们都有一个锁存器,一个输出个口在电路结构上是基本相同的,它们都有一个锁存器,一个输出驱动器,两个输入三态缓冲器。但它们又各具特点,因此在功能和使用上各口之间有驱动器,两个输入三态缓冲器。但它们又各具特点,因此在功能和使用上各口之间有一定
4、的差异。一定的差异。输出:输出:数据数据D在写锁存器信号在写锁存器信号CP的作用下经内部总线进的作用下经内部总线进入锁存器入锁存器Q,由于,由于T2的漏极对栅极的反相作用,锁的漏极对栅极的反相作用,锁存器从输出。若存器从输出。若D=0 输出引脚输出引脚P1.X为为0,若,若D=1输输出引脚为出引脚为1。常用输出指令常用输出指令MOV P1,A 或或 MOV P1,#data引脚引脚P1.X的输出驱动部分由场效应管的输出驱动部分由场效应管T2与内部上与内部上拉电阻拉电阻R组成,灌电流组成,灌电流1.6mA,拉电流,拉电流60A。输。输出特性与出特性与TTL电路兼容。电路兼容。4.2.1 P14.
5、2.1 P1口口输入:输入:引脚输入数据通过三态缓冲门引脚输入数据通过三态缓冲门1,在读引脚信号作,在读引脚信号作用下进入内部总线。为了正确地进行读操作,输入用下进入内部总线。为了正确地进行读操作,输入前应先在相应位输出前应先在相应位输出1,使,使T2截止。上电复位或手截止。上电复位或手动复位后动复位后P1口为输入方式,口为输入方式,MOV P1,#0FFH ;使;使P1为输入口为输入口MOV A,P1 ;输入数据;输入数据读读改改写指令:写指令:如需得到锁存器内容,可通过三态缓冲门如需得到锁存器内容,可通过三态缓冲门2在读锁存器信号作用下,使锁存器内在读锁存器信号作用下,使锁存器内容进入内部
6、总线。容进入内部总线。8051单片机有不少指令可直接进行端口操作,称读单片机有不少指令可直接进行端口操作,称读-改改-写指令。写指令。它的特点是把它的特点是把3个动作:(个动作:(1)读锁存器,()读锁存器,(2)调整,()调整,(3)写回原锁存器,合为一)写回原锁存器,合为一个指令个指令 ANL P1,A ;读;读P1锁存器,与锁存器,与A,结果送回,结果送回P1锁存器锁存器 ORL P1,data ;读;读P1锁存器,或锁存器,或data,结果送回,结果送回P1锁存器锁存器4.2.1 P14.2.1 P1口口例例4-1 编写一个程序完成下面的功能:监视编写一个程序完成下面的功能:监视P1.
7、2位,直到它变为高电平。当位,直到它变为高电平。当P1.2变变为高电平时,把值为高电平时,把值45H赋给赋给P0口。发送一个从高到低的脉冲给口。发送一个从高到低的脉冲给P1.3。解:用位命令使解:用位命令使P1.2 处于输入模式处于输入模式 SETB P1.2 ;使;使P1.2 处于输入模式处于输入模式 MOV A,#45H ;A=45H LOOP:JNB P1.2,LOOP ;监视;监视P1.2位是否为位是否为1 MOV P0,A SETB P1.3 ;发送从高到低的脉冲给;发送从高到低的脉冲给P1.3 CLR P1.3 4.2.2 P04.2.2 P0口口1 1、P0P0口的位结构口的位结
8、构P0口是一个三态双向口,可作为地址口是一个三态双向口,可作为地址/数数据分时复用口,也可作为通用据分时复用口,也可作为通用I/O接口,接口,由场效应管由场效应管T1、T2组成输出驱动器。与组成输出驱动器。与门、反相器及模拟转换开关门、反相器及模拟转换开关MUX构成输构成输出控制电路。出控制电路。2 2、地址、地址/数据分时复用功能数据分时复用功能P0口作为地址口作为地址/数据分时复用总线,控制为数据分时复用总线,控制为1,MUX把反相器的输出端与把反相器的输出端与T1接通,接通,同时把与门打开,输出地址或数据。同时把与门打开,输出地址或数据。ALE为为1时送出低时送出低8位地址位地址A0A7
9、,ALE为为0时时送出数据送出数据D0D7;输入数据从;输入数据从P0口的引脚进入。口的引脚进入。3 3、通用、通用I/OI/O接口功能接口功能当当P0口作为通用口作为通用I/O接口使用时,控制为接口使用时,控制为0,与门输出为,与门输出为0,使,使T1截止。此时,输出截止。此时,输出级是漏极开路结构。此时为了正常输出级是漏极开路结构。此时为了正常输出1,必须外接,必须外接10k上拉电阻。漏极开路结构上拉电阻。漏极开路结构可以提高输出负载能力,驱动可以提高输出负载能力,驱动8个个LSTTL输入。输入。4.2.2 P04.2.2 P0口口例例4-2 把把P0口输入的数据从口输入的数据从P1口输出
10、口输出 MOVA,#0FFH MOVP0,A;令;令P0口为输入口为输入MOVA,P0;输入数据,读引脚;输入数据,读引脚MOVP1,A;输出数据;输出数据SJMP$4.2.3 P24.2.3 P2口口P2口也是一准双向口,它具有通用口也是一准双向口,它具有通用I/O接接口或高口或高8位地址总线输出两种功能,所以其输位地址总线输出两种功能,所以其输出驱动结构比出驱动结构比P1口输出驱动结构多了一个输出口输出驱动结构多了一个输出模拟转换开关模拟转换开关MUX和反相器。和反相器。当作为准双向通用当作为准双向通用I/O接口使用时,控制信接口使用时,控制信号使转换开关切向左侧,锁存器号使转换开关切向左
11、侧,锁存器Q端经反相器端经反相器接接T2,其工作原理与,其工作原理与P1相同,也具有输入、输相同,也具有输入、输出、端口操作三种工作方式,负载能力也与出、端口操作三种工作方式,负载能力也与P1口相同。当控制信号使转换开关切向右侧,口相同。当控制信号使转换开关切向右侧,P2口输出高口输出高8位地址位地址A8A15。4.2.4 P34.2.4 P3口口P3口的输出驱动由与非门、口的输出驱动由与非门、T2组成,除三态缓冲门组成,除三态缓冲门1、2之外,它比之外,它比P0、P1、P2口结构多了一个缓冲器口结构多了一个缓冲器3。P3口除了可作为通用准双向口除了可作为通用准双向I/O接口外,每接口外,每1
12、根线还具有第根线还具有第2功能。功能。当当P3口作为通用口作为通用I/O接口时,可以输入,可以输出,第接口时,可以输入,可以输出,第2功能输出线为高电平,使功能输出线为高电平,使与非门的输出取决于口锁存器的状态。在这种情况下,与非门的输出取决于口锁存器的状态。在这种情况下,P3口仍是口仍是1个准双向口,它的个准双向口,它的工作方式、负载能力均与工作方式、负载能力均与P1、P2口相同。口相同。当当P3口作为第口作为第2功能使用时,其锁存器功能使用时,其锁存器Q端必须为高电平,否则端必须为高电平,否则T2管导通,引脚管导通,引脚被箝位在低电平,无法输入或输出第被箝位在低电平,无法输入或输出第2功能
13、信号。当功能信号。当Q端为高电平时,端为高电平时,P3口的状态就口的状态就取决于第取决于第2功能输出线的状态。功能输出线的状态。4.3 4.3 存储器扩展存储器扩展 4.3.1 4.3.1 存储器芯片存储器芯片三款三款Intel公司的存储器产品,分别是公司的存储器产品,分别是EPROM芯片芯片2764、E2PROM芯片芯片2864和和RAM芯片芯片6264。前两位。前两位27表示存储器类型为表示存储器类型为EPROM,28表示表示E2PROM,62表示表示RAM。后两位。后两位64表示存储器容量为表示存储器容量为64kbit=8KB,单一,单一5V供电。各引脚功能如下:供电。各引脚功能如下:P
14、GM4.3.2 80514.3.2 8051单片机的存储器扩展系统单片机的存储器扩展系统 一、片外总线结构一、片外总线结构P0口地址总线低口地址总线低8位位/数据总线数据总线:分时复用:分时复用P2口地址总线高口地址总线高8位位控制总线:控制总线:PSEN片外片外ROM读选通读选通ALEEA 片内外片内外ROM(4KB)选择)选择RD片外片外RAM读选通读选通WR 片外片外RAM写选通写选通P2A15A8地址锁存器ALEA7A0D7D0P0PSENRDWRDBABCBEA+5V片外ROM写选通片外RAM读选通片外RAM写选通4.3.2 80514.3.2 8051单片机的存储器扩展系统单片机的
15、存储器扩展系统 二、连接方法二、连接方法4.3.2 80514.3.2 8051单片机的存储器扩展系统单片机的存储器扩展系统 4.4 I/O4.4 I/O扩展扩展 4.4.1 4.4.1 简单并行扩展简单并行扩展简单的简单的I/O口扩展通常是采用口扩展通常是采用TTL或或CMOS电路电路锁存器、三态门等作为扩展芯片,根据锁存器、三态门等作为扩展芯片,根据“输入三态,输入三态,输出锁存输出锁存”与总线相连的原则,通过总线来实现扩与总线相连的原则,通过总线来实现扩展的一种方案。它具有电路简单、成本低、配置灵展的一种方案。它具有电路简单、成本低、配置灵活的特点。活的特点。4.4.2 4.4.2 可编
16、程并行扩展芯片可编程并行扩展芯片82558255 8255可编程并行输入可编程并行输入/输出接口芯片是输出接口芯片是Intel公司生产的标准外围接口电路。它公司生产的标准外围接口电路。它采用采用NMOS工艺制造,用单一工艺制造,用单一5V电源供电,具有电源供电,具有40条引脚,采用双列直插式封装。条引脚,采用双列直插式封装。它有它有A、B、C3个端口,共个端口,共24条条I/O线,与外设相接,可以通过编程的方法来设定端线,与外设相接,可以通过编程的方法来设定端口输入或输出,还可提供与外设的握手信号。通过口输入或输出,还可提供与外设的握手信号。通过8条数据线可方便地与各种微机系条数据线可方便地与
17、各种微机系统的数据总线相接,所以得到了广泛的应用。统的数据总线相接,所以得到了广泛的应用。8255有有3个端口个端口A、B、C和一个内部控制字寄存器,共和一个内部控制字寄存器,共4个端口;因此芯片自个端口;因此芯片自带带2位的字选地址线位的字选地址线A1和和A0。由控制寄存器的内容设置。由控制寄存器的内容设置A、B、C口的使用方法。口的使用方法。4.4 I/O4.4 I/O扩展扩展 4.4.2 4.4.2 可编程并行扩展芯片可编程并行扩展芯片82558255 地址总线地址总线 A1 A0 CS数据总线数据总线 D0D7控制总线控制总线 RD WRI/O接口接口 PA、PB、PC4.4.2 4.
18、4.2 可编程并行扩展芯片可编程并行扩展芯片82558255 8255端口功能表8255端口选择表8255的C口置位/复位控制字4.4.2 4.4.2 可编程并行扩展芯片可编程并行扩展芯片82558255 解:解:1、工作方式控制字为、工作方式控制字为 D0=1:C口低半部输入;口低半部输入;D1=0:B口输出;口输出;D2=0:B口方式口方式0;D3=0:C口高半部输出;口高半部输出;D4=1:A口输入;口输入;D6D5=00:A口方式口方式0;D7=1:工作方式控制字标志。:工作方式控制字标志。因此工作方式控制字为因此工作方式控制字为10010001B即即91H。2、初始化程序为:、初始化
19、程序为:MOV DPTR,03FFH ;指向;指向8255A ;控制口;控制口 MOV A,91H MOVX DPTR,A ;送控制字;送控制字 8255工作方式控制字例例4-1 对对8255各口作如下设置:各口作如下设置:A口方式口方式0输入,输入,B口方式口方式0输出,输出,C口高位部分为输出、口高位部分为输出、低位部分为输入。设控制寄存器的地址为低位部分为输入。设控制寄存器的地址为03FFH。4.5 4.5 非总线型扩展非总线型扩展 4.5.1 4.5.1 总线型单片机的非总线扩展总线型单片机的非总线扩展 在新一代单片机中,无论是总线型单片机,还是非总线型单片机,为了简化系统在新一代单片
20、机中,无论是总线型单片机,还是非总线型单片机,为了简化系统结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的串行传输接口或串行总线。特别是非总线类单片机,在没有并行扩展总线的情况下,串行传输接口或串行总线。特别是非总线类单片机,在没有并行扩展总线的情况下,利用串行外围接口可以扩展一些必要的外部器件。利用串行外围接口可以扩展一些必要的外部器件。在非总线扩展系统中,在非总线扩展系统中,P0P3口都作为通用口都作为通用I/O。P0口需口需外接上拉电阻。单片机与外部存储器及外接上拉电阻。单片机与外部存储器及I
21、/O芯片的数据传送,芯片的数据传送,不使用不使用MOVX指令,而使用带进位的指令,而使用带进位的A循环移位指令、循环移位指令、P0P3对应位的位操作指令实现。对应位的位操作指令实现。4.5.2 4.5.2 非总线型单片机非总线型单片机AT89C2051是一种带是一种带2KB闪速可编程可擦除只读存储器闪速可编程可擦除只读存储器的低电压、高性能的低电压、高性能CMOS的的8位微控制器。位微控制器。2051它只有它只有20个个引脚,该器件具有以下一些标准特性:引脚,该器件具有以下一些标准特性:2KB的闪速存储器,的闪速存储器,128B的的RAM,15根根I/O线,线,2个个16位定时位定时/计数器,
22、计数器,5个两级中个两级中断源结构一个全双工串行口,一个精确的模拟比较器,片断源结构一个全双工串行口,一个精确的模拟比较器,片内振荡器和时钟电路。每个引脚最大电流内振荡器和时钟电路。每个引脚最大电流20mA,可以直接驱,可以直接驱动动LED。具有低功耗的闲置和掉电模式。具有低功耗的闲置和掉电模式。4.5.3 4.5.3 串行扩展总线与串行扩展接口串行扩展总线与串行扩展接口 目前单片机应用系统中广泛应用的串行扩展总线和接口主要有目前单片机应用系统中广泛应用的串行扩展总线和接口主要有I2C总线、串行外围总线、串行外围接口接口SPI、Microwire、1-Wire和串行口的移位寄存方式。串行扩展总
23、线和串行扩展接口和串行口的移位寄存方式。串行扩展总线和串行扩展接口的区别在于外围器件的选通方式。串行扩展总线上所有的外围器件都有自己的地址编号,的区别在于外围器件的选通方式。串行扩展总线上所有的外围器件都有自己的地址编号,单片机通过软件来选通某个外围器件,串行接口上所扩展的外围器件要求单片机有相应单片机通过软件来选通某个外围器件,串行接口上所扩展的外围器件要求单片机有相应的的I/O口线来选通。口线来选通。一、一、I2CI2C总线总线 I2C总线(总线(Inter Integrated Circuit BUS)是是Philips公司推出的串行扩展总线,为二线制,公司推出的串行扩展总线,为二线制,
24、总线上扩展的外围器件及外设接口通过总线寻址。总线上扩展的外围器件及外设接口通过总线寻址。I2C总线由数据线总线由数据线SDA和时钟线和时钟线SCL构成。构成。SDA/SCL总线上挂接单片机、外围器件和外设接总线上挂接单片机、外围器件和外设接口。所有挂接在口。所有挂接在I2C总线上的器件和接口电路都总线上的器件和接口电路都应具有应具有I2C总线接口,而且所有的总线接口,而且所有的SDA/SCL同名同名端相连。端相连。AT2401/02/04/08/16/32/64是是ATMEL公司推出的带公司推出的带I2C接口的接口的E2PROM器件。器件。P1.6、P1.7提供串行时钟提供串行时钟SCL和串行
25、数据和串行数据SDA。地。地址线址线A0A1A2接地,表示系统只有一个扩展芯片。接地,表示系统只有一个扩展芯片。SCL,SDA为漏极开路端,需接上拉电阻到电源。为漏极开路端,需接上拉电阻到电源。4.5.3 4.5.3 串行扩展总线与串行扩展接口串行扩展总线与串行扩展接口 二、单总线二、单总线单总线(单总线(1-Wire)是)是Dallas公司推出的外围串行公司推出的外围串行扩展总线。单总线只有一根数据输入输出线扩展总线。单总线只有一根数据输入输出线DQ,总线上所有的器件都挂接在总线上所有的器件都挂接在DQ线上。线上。单总线构成的分布式温度监测系统。许多带有单单总线构成的分布式温度监测系统。许多
26、带有单总线接口的数字温度集成电路总线接口的数字温度集成电路DSl820都挂接在都挂接在DQ总线上,单片机对每个总线上,单片机对每个DSl820通过总线通过总线DQ寻寻址。址。DQ为漏极开路,须加上拉电阻为漏极开路,须加上拉电阻Rp。三、串行外设接口三、串行外设接口SPI(Serial Peripheral Interface)是)是MOTOROLA公司推出的串行扩展接口,由串行公司推出的串行扩展接口,由串行时钟线时钟线SCK、串行数据线、串行数据线MOSI(主发从收)和(主发从收)和MISO(主收从发)实现芯片间的数据传送。由(主收从发)实现芯片间的数据传送。由于外围扩展多个器件时,无法通过数据线译码选于外围扩展多个器件时,无法通过数据线译码选择。故带择。故带SPI接口的外围器件都有片选端。接口的外围器件都有片选端。