单片机的学习资料

  • 格式:doc
  • 大小:107.50 KB
  • 文档页数:8

关于这个东西我也不知道跟你从哪里开始讲,就讲的比较散,尽量让你看懂吧我估计原来给你的,估计你也没认真看,写的很多了就会难得看,这是难免,不过多少看哈89C51的芯片如何给它连线。

1、电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚。

2、振蒎电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。

只要买来晶振,电容,连上就可以了,按图1接上即可。

3、复位引脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。

4、EA引脚:EA引脚接到正电源端。

引脚功能:P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。

P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。

P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。

P3.0~P3.7 P2口8位双向口线(在引脚的10~17号端子)。

这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。

P0口有三个功能:1、外部扩展存储器时,当做数据总线2、外部扩展存储器时,当作地址总线3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

P1口只做I/O口使用:其内部有上拉电阻。

P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功参考后面的引脚说明。

有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)有些单片机会配有备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失。

关于上拉电阻,都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。

ALE(见上图27引脚)地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。

参见图2(8051扩展2KB EEPROM电路,在图中ALE与4LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。

由于ALE是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时,ALE 脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用。

PSEN(26引脚)外部程序存储器读选通信号:在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作。

1、内部ROM读取时,PSEN不动作;2、外部ROM读取时,在每个机器周期会动作两次;3、外部RAM读取时,两个PSEN脉冲被跳过不会输出;4、外接ROM时,与ROM的OE脚相接。

EA/VPP 访问和序存储器控制信号1、接高电平时:CPU读取内部程序存储器(ROM)扩展外部ROM:当读取内部程序存储器超过0FFFH(8051)1FFFH(8052)时自动读取外部ROM。

2、接低电平时:CPU读取外部程序存储器(ROM)。

RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。

XTAL1和XTAL2 外接晶振引脚。

当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

VCC:电源+5V输入VSS:GND接地。

各端口工作原理讲解并行端口P0端口总线I/O端口,双向,三态,数据地址分时复用,该端口除用于数据的输入/输出外,在8031单片机外接程序存储器时,还分时地输出/输入地址/指令。

由Po端口输出的信号无锁存,输入的信息有读端口引脚和读端口锁存器之分。

P0端口由锁存器、输入缓冲器、切换开关与相应控制电路、场效应管驱动电路构成。

在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外。

例如,当从内部总线输出低电平后,锁存器Q=0,Q=1,场效应管T2开通,端口线呈低电平状态。

此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。

又如,当从内部总线输出高电平后,锁存器Q=1,Q=0,场效应管T2截止。

如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。

为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。

读-修改-写指令的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该端口上。

这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状态被读错。

P0端口是8031单片机的总线口,分时出现数据D7一D0、低8位地址A7一AO,以及三态,用来接口存储器、外部电路与外部设备。

P0端口是使用最广泛的I/O端口。

P1端口:通用I/0端口,准双向静态口。

输出的信息有锁存,输入有读引脚和读锁存器之分。

P1端口的一位结构见下图. 由图可见,P1端口与P0端口的主要差别在于,P1端口用内部上拉电阻R代替了P0端口的场效应管T1,并且输出的信息仅来自内部总线。

由内部总线输出的数据经锁存器反相和场效应管反相后,锁存在端口线上,所以,P1端口是具有输出锁存的静态口。

由下图可见,要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态。

为此,在作引脚读入前,必须先对该端口写入l。

具有这种操作特点的输入/输出端口,称为准双向I/O口。

8031单片机的P1、P2、P3都是准双向口。

P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入l后再作读操作。

单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作。

如果在应用端口的过程中,已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息。

此外,随输入指令的不同,H端口也有读锁存器与读引脚之分。

Pl端口是803l单片机中唯一仅有的单功能I/O端口,并且没有特定的专用功能,输出信号锁存在引脚上,故又称为通用静态口。

P2端口:,P2端口在片内既有上拉电阻,又有切换开关MUX,所以P2端口在功能上兼有P0端口和P1端口的特点。

这主要表现在输出功能上,当切换开关MUX向左时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当MUX向右时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。

由于8031单片机必须外接程序存储器才能构成应用电路,而P2端口就是用来周期性地输出从外存中取指令的地址(高8位地址),因此,P2端口的切换开关MUX总是在进行切换,分时地输出从内部总线来的数据和从地址信号线上来的地址。

因此P2端口是动态的I/O端口。

输出数据虽被锁存,但不是稳定地出现在端口线上。

其实,这里输出的数据往往也是一种地址,只不过是外部RAM的高8位地址。

在输入功能方面,P2端口与P0和H端口相同,有读引脚和读锁存器之分,并且P2端口也是准双向口。

可见,P2端口的主要特点包括:①不能输出静态的数据;②自身输出外部程序存储器的高8位地址;②执行MOVX指令时,还输出外部RAM的高位地址,故称P2端口为动态地址端口。

P3端口:P3端口和Pl端口的结构相似,区别仅在于P3端口的各端口线有两种功能选择。

当处于第一功能时,第二输出功能线为1,此时,内部总线信号经锁存器和场效应管输入/输出,其作用与P1端口作用相同,也是静态准双向I/O端口。

当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的内含信号,在输入方面,即可以通过缓冲器读入引脚信号,还可以通过替代输入功能读入片内的特定第二功能信号。

由于输出信号锁存并且有双重功能,故P3端口为静态双功能端口。

P3口的特殊功能(即第二功能):口线第二功能信号名称P3.0 RXD 串行数据接收P3.1TXD 串行数据发送P3.2INT0 外部中断0申请P3.3INT1 外部中断1申请P3.4T0 定时器/计数器0计数输入P3.5T1 定时器/计数器1计数输入下面举出一个程序,我主要通过程序来说明一些用法#include<reg51.h>Void time0(void)Void main(){TMOD=0x01; 定时器/计数器// 51单片机内部设置有两个16位可编程定时器/计数器T0和T1,他们具有计数器方式和定时方式两种工作方式以及4种工作模式。

TMOD 是特殊功能寄存器,对每个定时器/计数器在TMOD 中都有一个控制位。

用于控制和确定各定时/计数器的功能和工作模式。

P3.5 P3.6当设置为定时工作方式时,定时器对单片机内振荡器输出经过12分频的脉冲计数,每个机器周期使定时器的数值加1直到溢出。

当设置为计数工作方式时,通过P3.4和P3.5对外部脉冲计数。

当输入脉冲产生下降沿时,计数器加1.控制寄存器TCON 可按字节寻址,也可按位寻址,结构如下TF1(TCON.7):定时器/计数器1溢出标志。

当定时器/计时器溢出时,由内部硬件置位,申请中断。

TR1(TCON.6): 定时器/计数器1运行控制位。

靠软件置位或清除。

置位时开始工作,清除时停止工作TF0(TCON.5): 定时器/计数器0溢出标志。

功能同TF1TR0(TCON.4): 定时器/计数器0运行控制位。

功能同TR1IE1(TCON.3):外部中断1(INT1引脚)请求标志,检测到在INT1引脚上出现的外部中断信号的下降沿时,由硬件置位,请求中断IT1(TCON.2):外部中断1触发中断类型控制位。

靠软件置位或清除。

IT1=1时下降沿触发中断;IT1=0时是低电平触发中断IE0(TCON.1):外部中断0请求标志IT0(TCON.0):外部中断0触发中断类型控制位定时器有4种工作模式模式0THx+TLx 构成16位计数器,模式0只用13位。

当TLx 中的5位寄存器加1进位时,使THx增1,同时低五位清0;THx 溢出时把TFx 置位,申请中断。