• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

单片机出错实例

求助,,求助!!大神们帮我,

1,为什么我用protues做AT89C51的仿真时,找不到VCC和GND引脚啊。

2,还有,我用按键来执行复位时,看到一本书上的电路图是有VCC引脚的,而且把31脚也就是EA脚接上了电源,就是要使用内部存储器,可是这时候我的仿真器没有VCC我就自己试着连了一下,然后代码部分被keil4顺利生成了HEX文件,但是仿真时出现了灯不亮的问题,,原来的设计是这样的,先是左边四个黄色的LED灯亮,再是右边4个蓝色的LED 灯亮,大家帮我来看看,究竟是我的代码错了,还是我的仿真电路设计错了呢,,

图1,电路仿真设计图纸

大家尤其看一下我的左下角部分,就是用按键复位部分(图中的绿色三角表示电源)

再看看代码

k看看有什么问题吧,,

全部回复(24)
正序查看
倒序查看
eason
LV.4
2
2014-04-14 14:38

呵呵 楼主莫急,帮你顶下吧。

0
回复
2014-04-14 14:44

呵呵!这个问题是这样的:

1.AT89C51默认状态下是不用连接电源VCC   GND 这两个脚      软件内部已经关联上了!

2.晶振电路复位电路可以不用连接,晶振可以用双击MCU在属性里修改频率,缺省值是12MHZ

3.EA引脚你可以不用去连接,缺省值状态下是使用内部存储空间。

4.你的代码有问题:LED=-LED;  取反有误  应替换为:LED=~LED;

0
回复
2014-04-14 15:17

嗯,

1、PROTUES里的单片机都是默认供电的,所以VCC和GND都省去,不用自己连,晶振也可以不要。也是默认的

2、你的复位电路有问题,51是RST脚高电平复位,你的电路使RST一直高电平,起不到复位功能,试试把10K电阻参数换成10R

3、C我仅限于能看懂,指令是有错误,你查查指令。延时最好放在在LED=~LED后面

新学单片机,应该先从指令开始,先去下个指令集,了解都有哪些指令先,我最近在学DSP,也是先看指令

0
回复
2014-04-15 13:41
@wangchuangwccc
嗯,1、PROTUES里的单片机都是默认供电的,所以VCC和GND都省去,不用自己连,晶振也可以不要。也是默认的2、你的复位电路有问题,51是RST脚高电平复位,你的电路使RST一直高电平,起不到复位功能,试试把10K电阻参数换成10R3、C我仅限于能看懂,指令是有错误,你查查指令。延时最好放在在LED=~LED后面新学单片机,应该先从指令开始,先去下个指令集,了解都有哪些指令先,我最近在学DSP,也是先看指令
dsp也是一种单片机吗?
0
回复
2014-04-15 13:44
@yueyunno1
呵呵!这个问题是这样的:1.AT89C51默认状态下是不用连接电源VCC GND这两个脚   软件内部已经关联上了!2.晶振电路复位电路可以不用连接,晶振可以用双击MCU在属性里修改频率,缺省值是12MHZ3.EA引脚你可以不用去连接,缺省值状态下是使用内部存储空间。4.你的代码有问题:LED=-LED; 取反有误 应替换为:LED=~LED;
哦,,原来这么多错啊,看来书上有点不靠谱哦 ,,
0
回复
2014-04-15 13:45
@eason
呵呵楼主莫急,帮你顶下吧。
0
回复
shenx123
LV.10
8
2014-04-21 11:03
在这么复杂的设计之前, 思路是什么?
0
回复
shenx123
LV.10
9
2014-04-21 11:04
@sherlocked
dsp也是一种单片机吗?
好象有的
0
回复
sherlocked
LV.4
10
2014-04-21 18:35
@shenx123
在这么复杂的设计之前,思路是什么?
这是我在书上学的,,就是仅仅想让他实现书里写的那样,,至于思路,,完全是那本书作者的思路,,我就是个模仿,,,
0
回复
shenx123
LV.10
11
2014-04-24 14:15
@sherlocked
这是我在书上学的,,就是仅仅想让他实现书里写的那样,,至于思路,,完全是那本书作者的思路,,我就是个模仿,,,[图片]

代码很烦冗, 有什么好办法解决吗?

0
回复
2014-04-24 14:39
@shenx123
代码很烦冗,有什么好办法解决吗?
shenx123希望回帖能更加有技术含量哦
0
回复
joyban
LV.3
13
2014-04-24 16:28
你这个出错怎么想的?
0
回复
2014-04-24 16:29
@shenx123
代码很烦冗,有什么好办法解决吗?

多看多写,反复写,得悟!

0
回复
sherlocked
LV.4
15
2014-04-24 20:55
@shenx123
代码很烦冗,有什么好办法解决吗?
我觉得已经很简单了,,包括了定义端口,LED 驱动,延时,三大块,,如果用鸿哥那种累计主循环或者中断的方式反而会觉得有些,杀鸡焉用宰牛刀的感觉,,莫非您有什么好主意吗?
0
回复
sherlocked
LV.4
16
2014-04-24 20:56
@yueyunno1
多看多写,反复写,得悟!
是啊,,这种东西,,光看书觉得不错了,,结果实际做来,,就像坨翔一样
0
回复
sherlocked
LV.4
17
2014-04-24 21:00
@joyban
你这个出错怎么想的?
在此之前,我对51的硬件不是很了解,就连引脚也是模模糊糊的,所以根据书上的叙述做出来的电路图就出了错误,,不过大神们帮助很有帮助,现在对51的基本硬件有了个大概的了解,,真的是实践出真知,,至于代码,就是按照书上来的,结果还是看错了,,取反符写错了
0
回复
山东大汉
LV.10
18
2014-04-28 00:01
@yueyunno1
呵呵!这个问题是这样的:1.AT89C51默认状态下是不用连接电源VCC GND这两个脚   软件内部已经关联上了!2.晶振电路复位电路可以不用连接,晶振可以用双击MCU在属性里修改频率,缺省值是12MHZ3.EA引脚你可以不用去连接,缺省值状态下是使用内部存储空间。4.你的代码有问题:LED=-LED; 取反有误 应替换为:LED=~LED;
这里的频率为什么这么改?
0
回复
2014-04-28 08:35
@sherlocked
在此之前,我对51的硬件不是很了解,就连引脚也是模模糊糊的,所以根据书上的叙述做出来的电路图就出了错误,,不过大神们帮助很有帮助,现在对51的基本硬件有了个大概的了解,,真的是实践出真知,,至于代码,就是按照书上来的,结果还是看错了,,取反符写错了
哈哈!没事,知道错在什么地方也是件好事情!
0
回复
shenx123
LV.10
20
2014-04-28 15:28
@sherlocked
在此之前,我对51的硬件不是很了解,就连引脚也是模模糊糊的,所以根据书上的叙述做出来的电路图就出了错误,,不过大神们帮助很有帮助,现在对51的基本硬件有了个大概的了解,,真的是实践出真知,,至于代码,就是按照书上来的,结果还是看错了,,取反符写错了
都是程序的基础知识, 写的长了, 自己都看不大懂了
0
回复
sherlocked
LV.4
21
2014-04-28 16:12
@yueyunno1
哈哈!没事,知道错在什么地方也是件好事情!
对啊,,在错中学习最快了
0
回复
sherlocked
LV.4
22
2014-04-28 16:13
@shenx123
都是程序的基础知识,写的长了,自己都看不大懂了
,,一定会越来越好的
0
回复
shenx123
LV.10
23
2014-04-28 17:05
@sherlocked
[图片],,一定会越来越好的
尝试一个灯一个灯的反复调试,主要还是参数的修改, 然后再构筑循环
0
回复
sherlocked
LV.4
24
2014-04-28 21:21
@shenx123
尝试一个灯一个灯的反复调试,主要还是参数的修改,然后再构筑循环
??还请明示啊,,是一个灯一个灯驱动吗?
0
回复
2014-06-23 16:52
@sherlocked
dsp也是一种单片机吗?
数字信号处理器,40位的,感觉比51难多了而且主要应用领域也不一样
0
回复