添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
有很多朋友在学习的时候,都会对其阻值的取值问题而头疼。其实, P0 接不接上拉电阻,电阻值该选择多大的都是根据不同的情况来选择的。下面来简单分析下如下的几种情况:  种: P0 作为共阳极LED数码管的驱动端 。这种情况下, P0 主要是以吸收电流来作为有效工作方式,不对外输出高电平,此时,不应接上拉,任何上拉都不要接。接多少丢多少。不仅增加成本,而且增大了工作电流。至于数码管的鬼影问题,那是程序部分的问题,与硬件无关。  第二种: P0 作为数据传输接 。这种情况下, P0 需要输出高电平,而高电平的输出其实就是来自于上拉电阻。在数据输出状态下, P0 的负载都是逻辑器件,不需要大的输入功率,那么,就可
最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0 8 位LED流水点亮最新单片机仿真 用数组的指针控制 P0
作为I/O 输出的时候时,输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态,也就是说 P0 不能真正的输出高电平)。给所接的负载提供电流,因此必须接(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。 P0 作输入时不需要上拉电阻,但要先置1。因为 P0 作一般I/O 时上拉场效应管一直截止,所以如果不置1,下拉场效应管会导通,永远只能读到0。因此在输入前置1,使下拉场效应管截止,端 会处于高阻浮空状态,才可以正确读入数据。    由于 P0 内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下 P0 是必需加上拉电阻的。
欢迎扫码关注本人微信公众号:公众号上分享更多嵌入式知识和资料,分享个人学习嵌入式的心得体会。欢迎大家一起来玩呀。 我们写C51代码的时候给 P0 写一些值都是使用 P0 = 0Xff,但是这个 P0 是什么意思,在那里定义呢? 其实是在<reg51.h>这个头文件中。我们打开<reg51.h>这个头文件可以看到如下的定义。 //表示 P0 的寄存器地址的值为0x80; sfr P0 = 0x80; sfr SP = 0x81;
可以使用定时器和中断的方式来实现 51单片机 同时输出 P0 和P1 的信号。具体步骤如下: 1. 配置定时器:使用定时器0或定时器1来产生中断,并设置中断时间为1/8000秒(125us)。同时,将定时器的计数值设置为一个比较大的值,例如65535,使得定时器每次计数都能够达到最大值,并产生中断。 2. 配置中断:在定时器中断服务函数中,设置 P0 和P1 的输出状态,使它们同时输出相应的信号。然后清除中断标志位,等待下一次中断的到来。 3. 启动定时器:在主函数中启动定时器,并开启中断。 以下是示例代码: #include <reg51.h> void timer_isr(void) interrupt 1 // 定时器中断服务函数 P0 = 0xFF; // P0 输出高电平 P1 = 0xFF; // P1 输出高电平 TH0 = TL0 = 0xFFFF; // 重新设置定时器计数值 TF0 = 0; // 清除中断标志位 void main() TMOD = 0x01; // 设置定时器0为模式1 TH0 = TL0 = 0xFFFF; // 设置定时器计数值 ET0 = 1; // 开启定时器中断 EA = 1; // 开启总中断 TR0 = 1; // 启动定时器 while(1) // 主函数中可以添加其他代码 注意:以上代码仅为示例,需要根据实际需求进行修改和完善。同时, P0 和P1 的输出状态也需要根据实际电路进行设置。