Ⅰ 单片机及存储器扩展的设计
电路如图所示,U3地址范围:0000H~7FFFH,U5地址范围:8000H~FFFFH;CPU用89C52,内有8KROM
Ⅱ stc89c52单片机电路图
tx1c单片机开发板的原理图,郭天翔视频配套的开发板,用的是stc89c51单片机,可以参考,给你发过去了哦!
Ⅲ 在89C52单片机里面怎么用程序把I/O设定为高阻态状态
吸电流、拉电流输出、灌电流输出
拉即泄,主动输出电流,从输出口输出电流;
灌即充,被动输入电流,从输出端口流入;
吸则是主动吸入电流,从输入端口流入。
吸电流和灌电流就是从芯片外电路通过引脚流入芯片内的电流;区别在于吸收电流是主动的,从芯片输入端流入的叫吸收电流。灌入电流是被动的,从输出端流入的叫灌入电流;拉电流是数字电路输出高电平给负载提供的输出电流,灌电流时输出低电平是外部给数字电路的输入电流。这些实际就是输入、输出电流能力。
拉电流输出对于反向器只能输出零点几毫安的电流,用这种方法想驱动二极管发光是不合理的(因发光二极管正常工作电流为5~10mA)。
上、下拉电阻
一、定义
1、上拉就是将不确定的信号通过一个电阻嵌位在高电平!“电阻同时起限流作用”!下拉同理!
2、上拉是对器件注入电流,下拉是输出电流
3、弱强只是上拉电阻的阻值不同,没有什么严格区分
4、对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。
二、拉电阻作用
1、一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。
2、数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定!
3、一般说的是I/O端口,有的可以设置,有的不可以设置,有的是内置,有的是需要外接,I/O端口的输出类似与一个三极管的C,当C接通过一个电阻和电源连接在一起的时候,该电阻成为上C拉电阻,也就是说,如果该端口正常时为高电平;C通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻,使该端口平时为低电平,作用吗:比如:“当一个接有上拉电阻的端口设为输入状态时,他的常态就为高电平,用于检测低电平的输入”。
4、上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流,下拉电阻是用来吸收电流的,也就是我们通常所说的灌电流
5、接电阻就是为了防止输入端悬空
6、减弱外部电流对芯片产生的干扰
7、保护cmos内的保护二极管,一般电流不大于10mA
8、通过上拉或下拉来增加或减小驱动电流
9、改变电平的电位,常用在TTL-CMOS匹配
10、在引脚悬空时有确定的状态
11、增加高电平输出时的驱动能力。
12、为OC门提供电流
三、上拉电阻应用原则
1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3。5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。
2、OC门电路“必须加上拉电阻,才能使用”。
3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。
5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。
6、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。
7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
8、在数字电路中不用的输入脚都要接固定电平,通过1k电阻接高电平或接地。
四、上拉电阻阻值选择原则
1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
3、对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑
以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理。
对上拉电阻和下拉电阻的选择应“结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素”:
1。驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。
2。下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。
3。高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。
4。频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成“RC延迟”,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。
下拉电阻的设定的原则和上拉电阻是一样的。
示例:
OC门输出高电平时是一个高阻态,其上拉电流要由上拉电阻来提供,设输入端每端口不大于100uA,设输出口驱动电流约500uA,标准工作电压是5V,输入口的高低电平门限为0。8V(低于此值为低电平);2V(高电平门限值)。
选上拉电阻时:500uA x 8。4K= 4。2即选大于8。4K时输出端能下拉至0。8V以下,此为最小阻值,再小就拉不下来了。如果输出口驱动电流较大,则阻值可减小,保证下拉时能低于0。8V即可。当输出高电平时,忽略管子的漏电流,两输入口需200uA,200uA x15K=3V即上拉电阻压降为3V,输出口可达到2V,此阻值为最大阻值,再大就拉不到2V了。选10K可用。【最大压降/最大电流、最小压降/最小电流】
COMS门的可参考74HC系列设计时管子的漏电流不可忽略,IO口实际电流在不同电平下也是不同的,上述仅仅是原理,一句话概括为:“输出高电平时要喂饱后面的输入口,输出低电平不要把输出口喂撑了”(否则多余的电流喂给了级联的输入口,高于低电平门限值就不可靠了)
此外,还应注意以下几点:
A、要看输出口驱动的是什么器件,如果该器件需要高电压的话,而输出口的输出电压又不够,就需要加上拉电阻。
B、如果有上拉电阻那它的端口在默认值为高电平,你要控制它必须用低电平才能控制如三态门电路三极管的集电极,或二极管正极去控制把上拉电阻的电流拉下来成为低电平。反之,
C、尤其用在接口电路中,为了得到确定的电平,一般采用这种方法,以保证正确的电路状态,以免发生意外,比如,在电机控制中,逆变桥上下桥臂不能直通,如果它们都用同一个单片机来驱动,必须设置初始状态。防止直通!
驱动尽量用灌电流。
----------------------------------------
在数字电路中不用的输入脚都要接固定电平,通过1k电阻接高电平或接地。
1。 电阻作用:
l 接电阻就是为了防止输入端悬空
l 减弱外部电流对芯片产生的干扰
l 保护cmos内的保护二极管,一般电流不大于10mA
l 上拉和下拉、限流
1。 改变电平的电位,常用在TTL-CMOS匹配
2。 在引脚悬空时有确定的状态
3。 增加高电平输出时的驱动能力。
4。 为OC门提供电流
那要看输出口驱动的是什么器件,如果该器件需要高电压的话,而输出口的输出电压又不够,就需要加上拉电阻。如果有上拉电阻那它的端口在默认值为高电平,你要控制它必须用低电平才能控制,如三态门电路三极管的集电极,或二极管正极去控制把上拉电阻的电流拉下来成为低电平。反之,尤其用在接口电路中,为了得到确定的电平,一般采用这种方法,以保证正确的电路状态,以免发生意外。比如,在电机控制中,逆变桥上下桥臂不能直通,如果它们都用同一个单片机来驱动,必须设置初始状态。防止直通!
电阻在选用时,选用经过计算后与标准值最相近的一个!
P0为什么要上拉电阻原因有:
1。 P0口片内无上拉电阻
2。 P0为I/O口工作状态时,上方FET被关断,从而输出脚浮空,因此P0用于输出线时为开漏输出。
3。 由于片内无上拉电阻,上方FET又被关断,P0输出1时无法拉升端口电平。
P0是双向口,其它P1,P2,P3是准双向口。准双向口是因为在读外部数据时要先“准备”一下,为什么要准备一下呢?
单片机在读准双向口的端口时,先应给端口锁存器赋1,目的是使FET关断,不至于因片内FET导通使端口钳制在低电平。
上下拉一般选10k!
芯片的上拉/下拉电阻的作用
最常见的用途是,假如有一个三态的门带下一级门。如果直接把三态的输出接在下一级的输入上,当三态的门为高阻态时,下一级的输入就如同漂空一样。可能引起逻辑的错误,对MOS电路也许是有破坏性的。所以用电阻将下一级的输入拉高或拉低,既不影响逻辑又保正输入不会漂空。
改变电平的电位,常用在TTL-CMOS匹配;在引脚悬空时有确定的状态; 为OC门的输出提供电流; 作为端接电阻; 在试验板上等于多了一个测试点,特别对板上表贴芯片多的更好,免得割线;嵌位;
上、下拉电阻的作用很多,比如抬高信号峰峰值,增强信号传输能力,防止信号远距离传输时的线上反射,调节信号电平级别等等!当然还有其他的作用了具体的应用方法要看在什么场合,什么目的,至于参数更不能一概而定,要看电路其他参数而定,比如通常用在输入脚上的上拉电阻如果是为了抬高峰峰值,就要参考该引脚的内阻来定电阻值的!另外,没有说输入加下拉,输出加上拉的,有时候没了某个目的也可能同时既有上拉又有下拉电阻的!
加接地电阻--下拉
加接电源电阻--上拉
对于漏极开路或者集电极开路输出的器件需要加上拉电阻才可能工作。另外,普通的口,加上拉电阻可以提高抗干扰能力,但是会增加负载。
电源:+5V
普通的直立LED,
用多大的上拉电阻合适? 谢谢指教!
一般LED的电流有几个mA就够了,最大不超过20mA,根据这个你就应该可以算出上拉电阻值来了。
保险起见,还是让他拉吧,(5-0.7)/10mA=400ohm,差不多吧,不放心就用2k的。【奇怪,新出了管压0.7V的LED了吗?据我所知好象该是1.5V左右。我看几百欧到1K都没太大问题,一般的片子不会衰到10mA都抗不住吧?】
下拉电阻的作用:所见不多,常见的是接到一个器件的输入端,多作为抗干扰使用。这是由于一般的IC的输入端悬空时易受干扰,或器件扫描时有间隙泄漏电压而影响电路的性能。后者,我们在某批设备中曾碰到过。
上拉电阻的阻值主要是要顾及端口的低电平吸入电流的能力。例如在5V电压下,加1K上拉电阻,将会给端口低电平状态增加5mA的吸入电流。在端口能承受的条件下,上拉电阻小一点为好。
------------------------------------------
以下为BBS讨论:
什么时候需要用上拉电阻什么时候需要用下拉?一般要用多大的阻值呀?
--------------------
用上拉还是用下拉,根据你平时需要的电平。
至于阻值大小,如果是一般IO口,10k左右,不要小于1k。但是如果是特殊用途的管腿,则有特殊要求。比如I2C接口的SCL和SDA线,对上拉电阻的最大最小值都有要求,要结合实际情况计算。
--------------------
通常在数字电路中,上拉是为了提高驱动能力。例如:集电极开路的输出电路。就必须加上拉电阻。否则无法驱动下一级的设备。或者,上拉下拉同时使用,例如,在数据和地址总线上。是为了在没有输出的时候将电平钳制在一个电位。不用的空脚要下拉,防止拴锁。
--------------------
1。信号需要外部的电源来提供高低电平时,需要加上拉或下拉电阻;
2。虽然系统能提供相应的电平,但是在不工作的状态下,信号的状态如果需要为高或低时,需要加上拉或下拉;
3。IC的输出为Open-Drain时,需要外加上拉电阻。
上拉或下拉的电阻大小取决于信号的驱动能力及信号的需求。常用的有10K, 100K, 47K等。但有些上拉电阻或下拉电阻的大小需要靠实验得到。
--------------------
电路中的上拉和下拉电阻的连接是要通过计算而得到了,根据有三:
1。驱动器件输入电流的大小,需要在使用上拉时考虑。解决的是高电平的匹配。
2。电路速度的大小。如果传送的数字信息速度较高,就要注意验证线路的延迟有没有走出信息的转折频率。
3。与负责端的输入输出电流能力有关,需要验证能否承受。
--------------------
上拉电阻和下拉电阻之所以需要,是为了给不匹配电流接口提供额外的电流通路,具体讲,驱动方输出电流小于负载方的吸入电流时加上拉电阻,以提供额外的电流供 给;驱动方吸入电流小于负载方的灌出电流时加下拉电阻,以提供额外的电流泄放回路;上拉电阻和下拉电阻带来的附加效应是在接口无驱动时有一个固定电平(该特点常常被用固定口线初始及空闲时的状态)。阻值的选取要根据流过电流小的一方的允许电流来计算,以不超过其允许值(器件手册有)的80%为限(考虑电源波动时也不应超过其口线允许值)。
--------------------
上拉电阻取值,要考虑到吸入电流与扇出电流及信号传送速度,在高速电路中应取小些,防止线路分布电容影响
--------------------
我觉得上拉跟下拉电阻分两种来说,一种是必须加的,如按键采集,另一种就是加可以不加对电路原理的实现也没什么影响的,这类电阻主要作用就是增强系统的抗干扰性能,取值一般1mA左右就OK了
------------------------------------------
高阻态:
高阻态就是只有电容效应,没有电阻效应;阻抗很高很高,相当于断开;
----
我认为如果对于IC的输入信号而言。高阻态是介于高电平和低电平中间的输入电压,IC即不能准确的把它判为0,也不能把它判为1,此时的IC输出状态不定(如果对IC输入0和1时,IC的输出信号不同的话),即可能出错。
对IC的输出信号而言,如果它是高阻态输出,它就表现为一个很高的阻抗,可以把它认为是断开状态
----
高阻态,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。
高阻态的实质:电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。他的极限可以认为悬空。也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。而实际应用上与引脚的悬空几是一样的。
典型应用:
1、在总线连接的结构上。总线上挂有多个设备,设备于总线以高阻的形式连接。这样在设备不占用总线时自动释放总线,以方便其他设备获得总线的使用权。
2、大部分单片机I/O使用时都可以设置为高阻输入,如陵阳,AVR等等。高阻输入可以认为输入电阻是无穷大的,认为I/O对前级影响极小,而且不产生电流(不衰减),而且在一定程度上也增加了芯片的抗电压冲击能力。
若51的P0.0为高阻态,用汇编语言怎么来表示?置1就行了
三态门,是指逻辑门的输出除有高、低电平两种状态外,还有第三种状态——高阻状态的门电路。具备这三种状态的器件就叫做三态(门,总线,......).
高电平,低电平可以由内部电路拉高和拉低。而高阻态时引脚对地电阻无穷,此时读引脚电平时可以读到真实的电平值。高阻态的重要作用之一就是I/O(输入/输出)口在输入时读入外部电平用。
高阻态相当于该门和它连接的电路处于断开的状态。(因为实际电路中你不可能去断开它,所以设置这样一个状态使它处于断开状态)。三态门是一种扩展逻辑功能的输出级,也是一种控制开关。主要是用于总线的连接,因为总线只允许同时只有一个使用者。通常在数据总线上接有多个器件,每个器件通过OE/CE之类的信号选通。如器件没有选通的话它就处于高阻态,相当于没有接在总线上,不影响其它器件的工作。
如果你的设备端口要挂在一个总线上,“必须通过三态缓冲器”。因为在一个总线上同时只能有一个端口作输出,这时其他端口必须在高阻态,同时“可以输入这个输出端口的数据”。所以你还需要有总线控制管理, 访问到哪个端口,那个端口的三态缓冲器才可以转入输出状态,这是典型的三态门应用。 如果在线上没有两个以上的输出设备, 当然用不到三态门,而线或逻辑又另当别论了。
----------------------
准双向口和双向口的区别
在最初的51系列单片机中
P0口:双向8位三态I/O口
P1口:准双向8位I/O口
P2口:准双向8位I/O口
P3口:准双向8位I/O口
这里特别要主要准双向与双向三态I/O的区别:
P1口,P2口,P3口是3个8位准双向的I/O口,各口线在片内均有固定的上拉电阻,当这三个准双向I/O口作输入口使用时,要想该口先写1,另外准双向I/O口无高阻的“浮空”状态。
而双向口P0口线内无固定上拉电阻,由两个MOS管串接,既可开漏输出,有可处于高阻的“浮空”状态,故称为双向三态I/O口。
P0口是双向指的是它被用作地址/数据端口时,只有在这个时候,P0口才处于两个开关管推挽状态,当两个开关管都关闭时,才会出现高阻状态.
当P0口用于一般I/O口时,内部接Vcc的那个开关管是与引脚(端口)脱离联系的,这个时候,只有拉地的那个开关管其作用,P0口作为输出,是必须外接上拉电阻的,不然就无法输出高电平;如果P0口作为输入,则必须先对端口写1,使拉地的开关管断开,这个时候,如果不接上拉电阻,则是高阻状态,就是一个双向口,如果接上拉电阻,则本身输出高电平,对输入信号的逻辑无影响(注意是对逻辑无影响,对实际参数有无影响我不确定,但是我认为是有的).
双向与准双向,根本原则是双向包含了高阻这个状态,而不在于是否需要先写1或者不写,P1~P3口因为有内部上拉电阻,因此无论如何不是双向;P0口内部无上拉电阻,在处于数据/地址功能时,自动完成3态的转换,是双向,处于一般I/O口时,如果不接外部上拉,而且先向端口写了1,那么就处于高阻状态,此时,它也是一个人为的双向口,这与它处于地址/数据功能时的自动双向有区别,以及与P1~P3处于输入时输出锁存器为1是有区别的。
--------------------------------------------------
浮空和高阻态的区别
悬空(浮空,floating):就是逻辑器件的输入引脚即不接高电平,也不接低电平。由于逻辑器件的内部结构,当它输入引脚悬空时,相当于该引脚接了高电平。一般实际运用时,引脚不建议悬空,易受干扰。
高阻态:从逻辑器件内部电路结构来说,就是其输出电阻很大,该状态即不是高电平,也不是低电平。当三态门处于高阻态时,无论该门的输入如何变化,都不会对其输出有贡献。
---------------------------------------
线驱动(差动输出)
线驱动器是一个源电流输出器件。在导通状态时,线驱动器输出为电源(vcc);在关断状态时,输出悬空。因此,线驱动器需要一个灌电流输入接口。下面表格中给出了一个简单的线驱动器的原理图。
差动输出、线性驱动输出:就是根据rs-422a的数据输送回路。可通过双股搅合线电缆进行长距离输送。
线驱动 集电极开路 推挽式
集电极开路
集电极开路电路是灌电流输出器件。在关断状态时,集电极开路输出连到地;在导通状态时,集电极开路输出悬空。因此,集电极开路输出需要一个源电流输入接口。下面表格中给出了一个简单的集电极开路输出电路的原理图。
推挽式
推挽式输出结合了线驱动与集电极开路输出,在关断状态时,推挽式输出接地;在导通状态时,推挽式输出连到电源(vcc)。推挽输出(欧姆龙称为互补输出)输出回路有2种,即npn与pnp2种晶体管输出。根据输出信号h或l,2种晶体管输出互相交叉进行on或off动作,使用时,正电源,0v分别为吸合,拉下互补输出是输出电流流出或流入2种动作,特征是信号的上升、下降速度快,可进行导线的长距离延长。可与开路集电极输入机器(npn/pnp)连接,另外还可以连接到电压输入机器上。但是为了能更好的发挥未来的性能,一般推荐在电压输入机器上使用电压输入的编码器。
OC门主要用于3个方面:
1、实现与或非逻辑,用做电平转换,用做驱动器。由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻Rp到电源VCC。OC门使用上拉电阻以输出高电平,此外为了加大输出引脚的驱动能力,上拉电阻阻值的选择原则,从降低功耗及芯片的灌电流能力考虑应当足够大;从确保足够的驱动电流考虑应当足够小。
2、线与逻辑,即两个输出端(包括两个以上)直接互连就可以实现“AND”的逻辑功能。在总线传输等实际应用中需要多个门的输出端并联连接使用,而一般TTL门输出端并不能直接并接使用,否则这些门的输出管之间由于低阻抗形成很大的短路电流(灌电流),而烧坏器件。在硬件上,可用OC门或三态门(ST门)来实现。用OC门实现线与,应同时在输出端口应加一个上拉电阻。
3、三态门(ST门)主要用在应用于多个门输出共享数据总线,为避免多个门输出同时占用数据总线,这些门的使能信号(EN)中只允许有一个为有效电平(如高电平),由于三态门的输出是推拉式的低阻输出,且不需接上拉(负载)电阻,所以开关速度比OC门快,常用三态门作为输出缓冲器。
Ⅳ 理解89c52单片机开发板的电路原理图
这个图应该很清楚了,各个功能模块都归纳到一个方框里面:
1、LCD1602显示模块接口
2、LCD12864显示模块接口
3、LED接口
4、蜂鸣器接口
5、ISP下载接口
6、PL2303驱动电路
7、电源电路
8、数码管电路接口及独立按键接口
9、DS18B20温度传感器接口及红外接收电路接口
10、CPU
11、复位电路和时钟电路。
这个开发板缺少4*4矩阵键盘。
Ⅳ 89C52单片机的电源原理是什么
89C52单片机没有电源供电,也没有电源模块。
89C52内置8位中央处理单元、512字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
(5)89c52单片机原理图扩展阅读:
89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
Ⅵ 求写程序!89C52单片机,按按键1点亮LED,按按键2熄灭LED,两个按键另一端是接5V,LED另一端也是接5V。
求写程序!我的是89C52单片机,想用两个按键和一个LED来实现,按下按键1点亮LED,按下按键2熄灭LED,两个按键另一端是接5V,LED另一端也是接5V。最好配上原理图。感激不尽
提醒一下:两个按键另一端接5V地!!!!!
电路参考如下:
代码参考如下:
#include<reg52.h>
sbit LED = P2^7;
#define ON 0
#define OFF 1
void main()
{
unsigned char keyVal;
while(1)
{
keyVal=P3^0xFF;
if(keyVal)
{
if(keyVal==0x02) LED=ON;
else if(keyVal == 0x20) LED=OFF;
}
}
}
3.说明一下,此按钮不需要去抖动,原因在于每个按钮只负责灯的一种状态,
如果一个按钮要负责两个状态的切换,就需要去抖。
希望能帮上你!!!!!!!
Ⅶ st89c52单片机最小系统电路运行原理
上电后,复位电路,令其复位。
之后,晶振电路产生时钟脉冲,令其一步一步的取指令执行指令。
Ⅷ 急求89C52单片机的原理及引脚功能
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时, 被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。 在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部 必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口 管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流, 这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管 脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位 地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内 部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1” 后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输 出电流(ILL)这是由于上拉的缘故。
P3口作为AT89C51的一些特殊功能口, 管脚 备选功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出 正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目 的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE 的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作 用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。 但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序 存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程 序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。