标题: STC15F101W单片机只有P3^4和P3^5可用,2和3不能用 [打印本页]

作者: CZXJL    时间: 2019-3-13 23:08
标题: STC15F101W单片机只有P3^4和P3^5可用,2和3不能用
接触C51已经一个多星期了开始用的是STC89C52RC  感觉体积太大做出来的东西空间就让单片机占去一半了前几天入手STC15F101W体积小引脚也勾引  当时在洞洞板上就测试了两个引脚测试OK就开始做PCB
效果图1



效果图2



写代码的时候问题就来了

代码

#include<reg52.h>
sbit LED1=P3^2;
sbit LED2=P3^3;
sbit LED3=P3^4;
sbit LED4=P3^5;
void delay(unsigned int t);


void main()
{

        while(1)
        {
        LED1=0;
        LED2=0;
        LED3=0;
        LED4=0;
        delay(20);
        LED1=1;
        LED2=1;
        LED3=1;
        LED4=1;
        delay(20);
        
        }

只有P3^4和P3^5可用
2和3不能用
看了一会说明没看出什么头绪 头都大了
到此求助 希望大家帮忙

作者: ssk7793    时间: 2019-3-14 06:50
可能你自己画的板有问题
作者: wulin    时间: 2019-3-14 07:19
你说的问题可能是另有原因,看图片你的4个LED都没有串接限流电阻,这种0.5W的LED单片机IO口直接带不动的,需要加晶体管放大。
作者: zssssha    时间: 2019-3-14 08:41
stc-isp软件里有stc头文件的代码把头文件编到程序里面。
作者: xuyaqi    时间: 2019-3-14 08:53
说说不能用的现象。
作者: CZXJL    时间: 2019-3-14 10:00
单片机买来的时候里面是有三个灯流水闪烁的可是代码写进去就只有两个引脚能用
作者: CZXJL    时间: 2019-3-14 10:08
开始的时候新的单片机里面有程序  PCB和焊接都做好之后上电有三个LED流水的方式亮我写进去这段代码就只有两个亮  如果板子线路有问题最起码得有三个能亮的  现在只有两个可以亮
作者: CZXJL    时间: 2019-3-14 10:10
加了stc15f104w.h头文件也一样 9 9

做好了可以结贴了:http://www.51hei.com/bbs/dpj-153074-1.html

作者: 这一生只为你    时间: 2019-3-14 10:21
把原理图贴出来看一下
作者: lmn2005    时间: 2019-3-14 10:23
wulin 发表于 2019-3-14 07:19
你说的问题可能是另有原因,看图片你的4个LED都没有串接限流电阻,这种0.5W的LED单片机IO口直接带不动的, ...

对!我的看法与你相同。
作者: wc86110    时间: 2019-3-14 10:28
小马拉大车芯片迟早得完蛋
作者: angmall    时间: 2019-3-14 20:00
  1. #include<reg52.h>

  2. sfr P3M1 = 0xb1; //PxM1.n,PxM0.n =00--->双向口模,      01---> 推挽输出模式
  3. sfr P3M0 = 0xb2; //              =10--->高阻输入模式,  11---> 开漏模式
  4. sbit LED1=P3^2;
  5. sbit LED2=P3^3;
  6. sbit LED3=P3^4;
  7. sbit LED4=P3^5;

  8. void delay(unsigned int t);


  9. void main()
  10. {
  11.         P3M1 = 0x00; //设置P3.2~P3.7为推挽输出模式
  12.         P3M0 = 0xFC;
  13.        
  14.         while(1)
  15.         {
  16.                 LED1=0;
  17.                 LED2=0;
  18.                 LED3=0;
  19.                 LED4=0;
  20.                 delay(20);
  21.                 LED1=1;
  22.                 LED2=1;
  23.                 LED3=1;
  24.                 LED4=1;
  25.                 delay(20);
  26.                
  27.         }
  28.        
  29. }

  30. void delay(unsigned int t)
  31. {
  32.         int i, j;

  33.         do
  34.         {
  35.                 for (i=0; i<1000; i++)
  36.                    for (j=0; j<500; j++);
  37.         } while (--t);
  38. }
复制代码





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1