找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3047|回复: 11
收起左侧

STC15F101W单片机只有P3^4和P3^5可用,2和3不能用

[复制链接]
ID:490355 发表于 2019-3-13 23:08 | 显示全部楼层 |阅读模式
接触C51已经一个多星期了开始用的是STC89C52RC  感觉体积太大做出来的东西空间就让单片机占去一半了前几天入手STC15F101W体积小引脚也勾引  当时在洞洞板上就测试了两个引脚测试OK就开始做PCB
效果图1
20191.jpg


效果图2

2019.jpg

写代码的时候问题就来了

代码

#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不能用
看了一会说明没看出什么头绪 头都大了
到此求助 希望大家帮忙
回复

使用道具 举报

ID:424598 发表于 2019-3-14 06:50 来自手机 | 显示全部楼层
可能你自己画的板有问题
回复

使用道具 举报

ID:213173 发表于 2019-3-14 07:19 | 显示全部楼层
你说的问题可能是另有原因,看图片你的4个LED都没有串接限流电阻,这种0.5W的LED单片机IO口直接带不动的,需要加晶体管放大。
回复

使用道具 举报

ID:285591 发表于 2019-3-14 08:41 | 显示全部楼层
stc-isp软件里有stc头文件的代码把头文件编到程序里面。 QQ图片20190314084035.png
回复

使用道具 举报

ID:94031 发表于 2019-3-14 08:53 | 显示全部楼层
说说不能用的现象。
回复

使用道具 举报

ID:490355 发表于 2019-3-14 10:00 | 显示全部楼层
单片机买来的时候里面是有三个灯流水闪烁的可是代码写进去就只有两个引脚能用
回复

使用道具 举报

ID:490355 发表于 2019-3-14 10:08 | 显示全部楼层
开始的时候新的单片机里面有程序  PCB和焊接都做好之后上电有三个LED流水的方式亮我写进去这段代码就只有两个亮  如果板子线路有问题最起码得有三个能亮的  现在只有两个可以亮
回复

使用道具 举报

ID:490355 发表于 2019-3-14 10:10 | 显示全部楼层
加了stc15f104w.h头文件也一样 9 9

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

使用道具 举报

ID:403593 发表于 2019-3-14 10:21 | 显示全部楼层
把原理图贴出来看一下
回复

使用道具 举报

ID:71233 发表于 2019-3-14 10:23 | 显示全部楼层
wulin 发表于 2019-3-14 07:19
你说的问题可能是另有原因,看图片你的4个LED都没有串接限流电阻,这种0.5W的LED单片机IO口直接带不动的, ...

对!我的看法与你相同。
回复

使用道具 举报

ID:96682 发表于 2019-3-14 10:28 | 显示全部楼层
小马拉大车芯片迟早得完蛋
回复

使用道具 举报

ID:155507 发表于 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. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表