找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6715|回复: 61
打印 上一主题 下一主题
收起左侧

51单片机不受代码控制,求大神解惑。

  [复制链接]
跳转到指定楼层
楼主
ID:299857 发表于 2018-3-31 12:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我做了三个类似的板,但都是这样的问题,引脚全是高电平。为什么会这样呢?我一直困惑不解,求解惑。

1.png (46.45 KB, 下载次数: 47)

代码已经设置全为零了。

代码已经设置全为零了。

2.png (53.68 KB, 下载次数: 57)

原理图

原理图
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:82765 发表于 2018-3-31 14:56 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

板凳
ID:299924 发表于 2018-3-31 15:24 | 只看该作者
delay(50000)?这个函数有问题
回复

使用道具 举报

地板
ID:251006 发表于 2018-3-31 15:54 | 只看该作者
不是直接等于0,用P1=0x00;P2=0x00;P3=0x00;

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:287899 发表于 2018-3-31 16:11 | 只看该作者
IO口用16进制的写法就像3楼说的

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:287288 发表于 2018-3-31 16:48 | 只看该作者
delay(50000)?这个函数有问题,不是直接等于0,用P1=0x00;P2=0x00;P3=0x00;

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:141335 发表于 2018-3-31 18:02 | 只看该作者
P1 P2 P3是什么鬼?改成P1.1 P1.2 P1.3

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:300041 发表于 2018-3-31 19:11 | 只看该作者
会不会是单片机的电压不够,或者晶振没弄好

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

9#
ID:300090 发表于 2018-3-31 20:31 | 只看该作者
delay有问题吧?

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

10#
ID:155507 发表于 2018-3-31 20:54 | 只看该作者
应该需要设置单片机的管脚属性,就是IO口寄存器,默认的也许不符合,去看看这部分,你要输出要确保IO口设置成了输出脚,不然代码对也起不了作用

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

11#
ID:299857 发表于 2018-3-31 21:21 | 只看该作者
cjjcjj1 发表于 2018-3-31 14:56
你确定程序下载进单片机了吗?

我在开发板试过可以的。
回复

使用道具 举报

12#
ID:299857 发表于 2018-3-31 21:21 | 只看该作者
wj0755 发表于 2018-3-31 15:24
delay(50000)?这个函数有问题

没有问题,我在开发板验证过了。
回复

使用道具 举报

13#
ID:299857 发表于 2018-3-31 21:22 | 只看该作者
5222228 发表于 2018-3-31 15:54
不是直接等于0,用P1=0x00;P2=0x00;P3=0x00;

直接等于0是可以的。开发板的led是可以亮的。
回复

使用道具 举报

14#
ID:287575 发表于 2018-3-31 22:02 | 只看该作者
你的31脚EA接法有问题,如果用外部rom接地,不然直接接电源,你现在根本就没外部ROM,就直接接电源

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

15#
ID:300161 发表于 2018-3-31 22:59 | 只看该作者
你这个原理图和程序对应不上啊
回复

使用道具 举报

16#
ID:299857 发表于 2018-4-1 07:44 | 只看该作者

没有,开发板上是可以正常运行的。
回复

使用道具 举报

17#
ID:299857 发表于 2018-4-1 07:46 | 只看该作者
joy07wang 发表于 2018-3-31 18:02
P1 P2 P3是什么鬼?改成P1.1 P1.2 P1.3

P1这是一种全引用管脚的用法。代表从P1^0到P1^7,全部统一使用。
回复

使用道具 举报

18#
ID:299857 发表于 2018-4-1 07:49 | 只看该作者
EvilOctopus 发表于 2018-3-31 19:11
会不会是单片机的电压不够,或者晶振没弄好

我用的是四节1.5V电池共6V,所以原理图加个二极管降压0.7,然后实际板,我也试过短路二极管,但还是一个样。至于晶振,我测过它没有短路,断路,电压在2.5v左右。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

19#
ID:299857 发表于 2018-4-1 07:50 | 只看该作者
angmall 发表于 2018-3-31 20:54
应该需要设置单片机的管脚属性,就是IO口寄存器,默认的也许不符合,去看看这部分,你要输出要确保IO口设置 ...

好,我确实没有考虑这方面。
回复

使用道具 举报

20#
ID:299857 发表于 2018-4-1 07:53 | 只看该作者
zhangxiaozi 发表于 2018-3-31 22:02
你的31脚EA接法有问题,如果用外部rom接地,不然直接接电源,你现在根本就没外部ROM,就直接接电源

嗯嗯,可是我已经试过这种方法了。把EA脚接电源和悬空都试过一次了。只是结果...不尽人愿。
回复

使用道具 举报

21#
ID:299857 发表于 2018-4-1 07:58 | 只看该作者
zhaoxin123 发表于 2018-3-31 22:59
你这个原理图和程序对应不上啊

计划的代码不是这样的,我只是用 这个简单的代码控制两张LED灯 来测试一下板行不行。结果是不亮,然而在P1^0引脚接一个LED正极,另一个脚通过一个电阻再接电源阴极却亮了。随后测到的全部引脚都是 高电平。
回复

使用道具 举报

22#
ID:299857 发表于 2018-4-1 08:48 | 只看该作者
angmall 发表于 2018-3-31 20:54
应该需要设置单片机的管脚属性,就是IO口寄存器,默认的也许不符合,去看看这部分,你要输出要确保IO口设置 ...

C:\Users\zhou\Desktop
51单片机的IO口操作基础知识介绍
我看了这篇文章,然后在开发板试了一下,我代码写       
P2M0 = 0x00;
P2M1 = 0xff;
我开发板是P2控制LED模块。
按照文章说我设置的是“仅为输入”,但是并没有效果啊。
LED模块仍是可以按照代码 P2=~P2;delay(50000); 闪烁不停。
回复

使用道具 举报

23#
ID:284873 发表于 2018-4-1 14:55 来自手机 | 只看该作者
额,p0需要上拉电阻,p2不用
回复

使用道具 举报

24#
ID:299857 发表于 2018-4-1 21:42 | 只看该作者
bailoao 发表于 2018-4-1 14:55
额,p0需要上拉电阻,p2不用

我实际的板并没有使用P0,P3,写这个代码只是想用P1^0和P2^0检验板是否正常。因为我之前做个两个板都是这个样,引所有脚全是高电平。
回复

使用道具 举报

25#
ID:299857 发表于 2018-4-1 21:46 | 只看该作者
这个问题目前恐怕还是解决不了。
难道我真的是和单片机无缘了?
如何拯救我脆弱的小心灵?
求某个大神给个 简单的让一盏LED灯闪烁的原理图,封装图我,然后再给代码我。
我去做个新的电路板,试试。
谢!

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

26#
ID:300567 发表于 2018-4-1 22:11 | 只看该作者
参数设置写错,没有变化
回复

使用道具 举报

27#
ID:46475 发表于 2018-4-1 22:25 | 只看该作者
delay(50000) 陶醉了, 改成十六进制吧
回复

使用道具 举报

28#
ID:299857 发表于 2018-4-1 22:27 | 只看该作者
sharklaser 发表于 2018-4-1 22:11
参数设置写错,没有变化

什么意思呢?你说的参数是....?还请明示。
回复

使用道具 举报

29#
ID:300586 发表于 2018-4-1 23:05 来自手机 | 只看该作者
你确定复位电路正确??
回复

使用道具 举报

30#
ID:299857 发表于 2018-4-1 23:16 | 只看该作者
pmsjzj 发表于 2018-4-1 22:25
delay(50000) 陶醉了, 改成十六进制吧

这delay函数是没有问题的啊。在开发板是完全胜任的啊。问题不会出现在代码代码在开发板上是正常运行的。还请帮我看下原理图吧。
回复

使用道具 举报

31#
ID:300605 发表于 2018-4-1 23:20 | 只看该作者
宏定义顺序有问题
回复

使用道具 举报

32#
ID:299857 发表于 2018-4-2 07:19 | 只看该作者
kaifeng88 发表于 2018-4-1 23:05
你确定复位电路正确??

我一直怀疑的是我的最小系统有问题。我不知道。我看了网络上的,包括我树上的复位电路,都是如此啊。看不错出有什么错。无奈,还请指出。
回复

使用道具 举报

33#
ID:299857 发表于 2018-4-2 07:22 | 只看该作者
笑纳倾城 发表于 2018-4-1 23:20
宏定义顺序有问题

不用纠结代码吧。
代码不规范,也可以运行的吧。
因为代码在开发板是可以正常运行的。我一直怀疑的是我的图有问题。因为我做过三次这样的最小系统。
回复

使用道具 举报

34#
ID:299857 发表于 2018-4-2 18:27 | 只看该作者
居然没人和我遇到同一种情况的吗?还是没有人帮助新人?绝望....
回复

使用道具 举报

35#
ID:283954 发表于 2018-4-3 03:08 | 只看该作者
哈,我是看不懂C语言的,也没有用过89C52, 可是看那个EA接脚就觉得奇怪,为何是接在LED与电阻之间呢,照看那样接EA脚是在1-2V之间(忘了LED的结电压)不是0也不是1,也是0也是1,如果是这样的话,开机后偶尔跑内部程序,偶尔跑外部程序,叫“不尽人意“,大概是这个意思吧?如果没有外部程序,那所有的脚都是高电位吧? 那LED根本没什么用吧? 另外你是否用对CPU的版本,听说有两个版本的。

评分

参与人数 1黑币 +60 收起 理由
admin + 60 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

36#
ID:301256 发表于 2018-4-3 07:53 | 只看该作者
尝试把bs18b20中间GND重新接一下
回复

使用道具 举报

37#
ID:301267 发表于 2018-4-3 08:36 | 只看该作者
delay  有问题
回复

使用道具 举报

38#
ID:301304 发表于 2018-4-3 10:18 | 只看该作者
延时函数有问题 建议修改一下
回复

使用道具 举报

39#
ID:301412 发表于 2018-4-3 14:15 | 只看该作者
P1,P2,P3,P0,没有定义 无法直接使用    前面定义了 sbit D1=P1^0;  sbit led=P2^0    要控制 P1.0    P2.0口就要操作 D1  和 led 这两个变量

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

40#
ID:160834 发表于 2018-4-3 21:30 | 只看该作者
根据你的程序 稍微修改下  用于测试4组IO口的高低电平切换。 仿真和实物都没问题。 你那个程序也应该没问题。问题应该是你接了那个EA脚。 那个不需要用的啊。 STC89S52 最小系统  只需要晶振和2个22PF的电容就可。自动复位电路也不需要。 我一般都是接个开关一头接电源正极一头接复位脚。另外 STC89s52的电压需要4.5伏到5伏。4伏以下就不能正常运行。 而AT89S52倒是可以在3.6伏左右运行。虽然手册上要求4伏到5伏电压。楼主把EA脚和其它电路断开再测试下。应该就是这个问题。
#include<reg52.h>

void delay(unsigned int z)
{
    while(z--);
}

void main()
{
  while(1)
{
         P0=0;
         P1=0;
   P2=0;
         P3=0;
         delay(50000);
         P0=0xFF;
         P1=0xFF;
         P2=0xFF;
         P3=0xFF;
         delay(50000);
  }        
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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