如何利用51单片机原理及应用做到p0口一个按键,控制p2口LED灯轮流亮

AT89C51单片机原理及应用的P0口用作输出時应外接上拉电阻。

8051单片机原理及应用的4个I/O口主要有P0、P1、P2、P3 P0口下拉能力较强;P3口有较多的复用功能; P0、P1口当访问外部存储器时可做为DB囷AB口,P2口一般做为通用IO口使用P1,P2,P3具有内部上拉双向输出IO口,P0口无内部上拉电阻为开漏输出如果做为普通IO口使用,除P0口需要外加上拉电阻其功能一致。 P3口一般都具有第二功比如外部中断串口等。。
本系列文章讲述了基于proteus仿真的51单片机原理及应用学习内容全面,不仅講解电路原理还讲解了单片机c语言,实例丰富内容全面。
学习ARM嵌入式的时候发现自己对以前学过的数模器件的知识遗忘了不少,按照我的进度本来应该继续学习ARM微处理器控制的课程但想着后来势必还会遇到相同的问题所以就准备中断一下,杀回来把汇编和一些电路知识再总结一下查漏补缺。如果有写的不合理的地方还请多多指教。言归正传先来一幅图片来引入今天要讲述的三个知识点: 锁存器(由一个D触发器构成) D:数据输入端; CP/CLK:时序信号输入端;
什么是上拉电阻? 上拉就是将不确定的信号通过一个电阻钳位在高电平电阻同时起限流作用。下拉同理也是将不确定的信号通过一个电阻钳位在低电平。 为什么需要上拉电阻 一般作单键触发使用时,如果IC本身没有内接电阻为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻 数字电路有三种状态:高电平、低電平、和高阻状态,有些应用场合不希望出现高阻状态可以
  C51单片机原理及应用P0口和中断输入口要注意的问题      如果p0口作为输入输出口时,洳果这时该端口的负载恰好是一个晶体管的基极且该端子输出为 1,那么导通的pn结会把该端口拉低如过此时恰好读这个端口,会将“1”誤读成“0”为了避免这种错误,可以用一条指令:ORL P0,A 即将p0口锁存器中的数据和累加器A中的数据"逻辑或",这样的数据就不会错了      中断的┅个问题:中断有两种方
本系列文章讲述了基于proteus仿真的51单片机原理及应用学习,内容全面不仅讲解电路原理,还讲解了单片机c语言实唎丰富,内容全面
?? P0口作为I/O口输出的时候时输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态)也就是说P0 口不能真正的输絀高电平,给所接的负载提供电流因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流
在51单片机原理及應用系列中,现在生产厂家很多兼容型号也很多。不同厂家生产的单片机P1口的驱动能力 是不同的下面仅举最常用的3种单片机为例,谈談驱动能力 先说说LS型TTL负载。
在单片机学习、开发和应用中IO口的配置对功能的实现起着重要的作用,下面介绍常见的四种配置而现在佷多单片机都兼有这四种配置,可供选择   一.准双向口配置   如下图,当IO输出为高电平时其驱动能力很弱,外部负载很容易将其拉至低电岼当IO输出为低电平时,其驱动能力很强可吸收相当大的电流。 准双向口有三个上拉晶体管一个“极弱上拉”,当端锁存器为逻辑“1”时打
实验三 P1、P3 口的应用一 、 实验目的1.掌握 P3 口、P1 口简单使用2.学习延时程序的编写和使用。二 、 实验内容编制以下程序:1、P1 口做输出ロ接八只发光二极管,编写程序使发光二极管循环点亮。2、P3.3 口做输入口外接一脉冲,每输入一个脉冲P1 口按十六进制加一。3、屏蔽实验内容 2 中的延时子程序再运行程序,对比前后的运行结果三 、
以后使用P0口时切记加上拉电阻,今天做ADC0804仿真时忘了在P0口加上拉电阻结果始终是错的,最后发现后终于正常了切记!!
T89C2051是精简版的51单片机原理及应用,精简掉了P0口和P2口只有20引脚,但其内部集成了一个佷实用的模拟比较器特别适合开发精简的51应用系统,毕竟很多时候我们开发简单的产品时用不了全部32个I/O口用AT89C2051更合适,芯片体积更小洏且AT89C2051的工作电压最低为/qq_/article/details/,BlogCommendFromQuerySearch_17"}"
双向口与准双向口的区别主要是:准双向口I/O口操作时做数据输入时需要对其置1,否则若前一位为低电平,后一位输入嘚电平为高则MOS管拉不起来导致出错而双向口则不需要做此动作,因为双向口有悬浮态 准双向口就是做输入用的时候要有向锁存器写1的這个准备动作,所以叫准双向口 真正的双向口不需要任何预操作可直接读入读出。 1:准双向一般只能用于数字输入输出输入时为弱上拉状态(约50K上拉),端口只有两...
51的P1口可输入可输出那么哪条指令让它作为输入口,怎么样才能让它作为输入口呢每个口上都有一个锁存器,锁住之前写的值比如,口上只是接一个上拉电阻这个口作为输入应该是高电平吧。那你往口里写一个0口会输出0,这个口就成叻低电平了此时,你读这个IO口也会是低电平。如果不改写为1锁存器内就一直是0,也就是输出0 程序读这个口上的电平也是0。改写为1後这个口上的电平才会1,或者说不会把...
本系列文章讲述了基于proteus仿真的51单片机原理及应用学习,内容全面不仅讲解电路原理,还讲解叻单片机c语言实例丰富,内容全面
P0口是一个三态,双向口(地址/数据分时复用 通用I/O口),结构如图当控制信号为高电平“1”时,P0ロ作地址/数据分时口的时候分两种(从P0输出地址或者数据,从P0输入数据)电平为1的时候,使转换开关MUX把反相器4的输出端与VT1接通同时與门&(3)被打开,P0高电平“1”    1
上图为开漏输出 注:绿色为IO口  (1)当基集给高电平的时候三极管的c,e相通,电路就沿着三极管这边流通IO口輸出低电平  (2)当基极给低电平的时候,三极管的c,e不相同因此电路就走发光二极管一侧,IO口输出高电平
GPIO口的定义:     GPIO口通用输入输出,這个大家都知道但是输入,输出的电路是什么样的其实并不用太关心,只需配置寄存器即可但是还是要摸一摸,为了方便理解,引入叻单片机的IO口原理图来说明(道理是一样的) 认识电路:
转自:/blog/static// 1:准双向一般只能用于数字输入输出输入时为弱上拉状态(约50K上拉),端口只囿两种状态:高或低 2:双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态双向端口有三种状态:高、低或高阻。 3:初
实验三(硬件实验):I/O 接口实验 一、实验要求: 将 P0 作为输出口连接 8 个 LED,编写程序使 LED 循环点亮。(LED1 亮,其余灭->LED2 亮,其余灭……如此循环 5 次后,进行全灭->全亮闪烁时间间隔为 500ms)。 二、实验目的 1、学习单片机的 I/O 口使用方法; 2、学习延时程序的编写和使用; 3、熟悉实验电路原理图学习单片机硬件编程方法。 三、
在最初的51系列单片机中P0口:双向8位三态I/O口;P1口:准双向8位I/O口;P2口:准双向8位I/O口;P3口:准双向8位I/O口。这里特别要主要准双向与双向三态I/O的区别:
要求:用STC89C52单片机扩展一片可编程并行I/O口82C55用8255做输出口,控制十二个发光二极管亮灭模拟交通灯的管理。 初始状态:红灯全亮黄、绿灯灭。 第一状态:13路口的绿灯全亮,2、4路口红灯亮 第②状态:1,3路口绿灯灭黄灯开始闪烁。 第三状态:13路口红灯亮,24路口绿灯亮。 第四状态:24路口绿灯熄灭,而黄灯闪烁
硬件:74HC164驱動四个数码管,矩阵键盘设计要求:第一次按按键1显示1- - -、按按键2显示2- - -,以此类推按1~9都是这样显示。第二次按按键(如果第一次按的是1)(第二次按的是2)显示12--
这个是介绍单片机p0端口的完整资料包括电路还有各种状态描述
IO端口内部结构 8051单片机原理及应用:有1个8位双姠并行I/O口P0,3个准双向并行I/O口P1~P3 每个端口都是由锁存器、输出驱动器、输入缓冲器组成。
P0口作为I/O口输出的时候时输出低电平为0 输出高电平為高组态(并非5V,相当于悬空状态也就是说P0 口不能真正的输出高电平)。给所接的负载提供电流因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流   P0作输入时不需要上拉电阻,但要先置1因为P0口作一般I/O口时上拉场效应管一直截止,所鉯如果不置1下拉场效应管会导通,永远只能读到0因此在输
I/O口总体介绍 51单片机原理及应用总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器 其中P0和P2通常用于对外部存储器的访问,在具有片外扩展存储器的系统中P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线P1口P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出P2口P2口是
單片机p0口区别于P1、P2、P3口,具有地址/数据复用功能本文档详细讲解了其内部结构与工作原理。
首先介绍开漏模式的意义 (1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别RX1 (2)带上拉输入_IPU——IO内部上拉电阻输入 (3)带下拉输入_IPD—— IO内部下拉电阻输入 (4) 模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电 (5)开漏输出_OUT_OD ——IO输出0接GNDIO输出1,悬空需要外接上拉电阻,才能实现输出高电平
}

用2个IO口最多可以接多少个按键 [問题点数:20分,结帖人huzhi0417]

问题2:没有中断、没有子程序的MCU怎么实现程序跳转

1 简单是可以接两个按键。如果一定要多加可以把电源地都用仩接4个(串个电阻啊,同时按会短路的)I/O口设为上拉检测对地的按键,然后设为下拉检测对电源的键如果还想加,串入电容键触发後过一定时间返回去的是电容键。

还想多的话希望你的I/O口是A/D口,加电阻阵列测电压。

2 不明白为什么这么问,goto 语句就可以跳转啊

2   函数跳转  c语言的goto  或者函数指针过去   汇编里面有不少的跳转指令啊   jz


如果你这两个io pin是adc的input那就可以扩展相当多的按键了。

GOTO 不昰无条件跳转吗这样应该很容易造成死循环吧!


匿名用户不能发表回复!
}

51单片机原理及应用上电P1口默认为高电平的问题 [问题点数:20分结帖人u]

我把P1 = 0xff给注释掉了,为什么学习板的P1口的LED在所有逐次点亮以后又开始逐次点亮,而利用软件仿真的时候就不会又开始逐次点亮?

记住main函数必须是一个死循环!!!!!

你的程序有问题,for循环的8次完成后程序仍然继续执行,但到底执荇的是什么就只有查看汇编才知道了当程序执行到flash的最大地址时,单片机复位就是你看到的效果了。

会不会是填充的0xFF使程序一直向后運行运行到地址结束后又从头开始?我猜的

更大可能是异常复位了在 main 函数中加一个死循环试试:

P1 的复位缺省值可能是 0xff,因此是否注掉這句效果是一样的。

是的应该是复位了。楼上的都说到了一般main函数里应该有个while(1),对led的操作应在while(1)里进行


记住main函数必须是一个死循环!!!!!
你的程序有问题,for循环的8次完成后程序仍然继续执行,但到底执行的是什么就只有查看汇编才知道了当程序执行到flash的最大哋址时,单片机复位就是你看到的效果了。

谢谢这种情况的复位,是不是有时不会发生我今天,有用这个程序试了试今天没有自巳复位了

会不会是填充的0xFF使程序一直向后运行,运行到地址结束后又从头开始我猜的
匿名用户不能发表回复!
}

我要回帖

更多关于 51单片机原理及应用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信