作者ChenDotQ (好人好事代表 no.4440337)
看板Electronics
标题[问题] AT89S51 LED闪烁电路
时间Mon Dec 26 19:51:57 2016
如题
小弟最近在自学51晶片机
想从最简单的闪烁电路开始,成品也完成、程式也写好了也烧进去了
可是就只会亮不会闪 = =
想请一下大大们是不是可看帮我看看是那里出问题了
小弟实在是没什麽经验和头绪
一开始以为是零件有问题,所以又重作了一块模组,IC也从AT89S51换成AT89C52
不过还是一样不会亮或是恒亮
这是模组的电路图
http://imgur.com/tpFEkL2
後来重作了一块模组也换了IC,一样失败後
我在猜是不是烧录器或是程式写的有问题
我是去电子材料行买 伟纳 SP200SE 驱动程式也上网抓,连线也OK
烧录软体是以伟纳专用的 Willar Programmer
写AT89S51 会很容易失败,换成AT89C52 就不太会了
只是即使成功了,装上去电路一样不会闪
我也试过吧 RST 和 EA/VPP 断路,但一样不会闪
再附上我写的Code
ORG 00H ;
START: ;
MOV P1,#00H;
CALL DELAY;
MOV P1,#0FFH;
CALL DELAY;
JMP START;
DELAY: MOV R3,#50;
D1: MOV R4,#20;
D2: MOV R5,#248;
DJNZ R5,$;
DJNZ R4,D2;
DJNZ R3,D1;
RET;
END;
程式预设每隔500ms 会闪一次
(程式是抄书上的)
是不是有那位好心的大大可以帮帮忙呢?
------------------
我接下来打算
1. 再换新的IC嚐试
2. 换烧录器和软体
3. 书再多看一点 = =
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.246.140.220
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Electronics/M.1482753120.A.DE4.html
1F:→ Schottky: 你有按一下 Reset 钮吗? 12/26 20:07
有,灯会熄掉,放开就继续恒亮
※ 编辑: ChenDotQ (111.246.140.220), 12/26/2016 20:25:56
2F:→ god145145: 改ACALL? 12/26 20:55
3F:→ Schottky: 我觉得 DELAY 那边有问题,好像 DELAY 太短,只有约50ms 12/26 21:06
4F:→ Schottky: 把 MOV R4, #20 改成 MOV R4, #200 试试看 12/26 21:06
5F:→ Schottky: 粗略计算方法是 DJNZ 做一次要 2 cycle 12/26 21:11
6F:→ Schottky: 你的晶振 12MHz 所以每秒会跑 1,000,000 cycles (除12) 12/26 21:12
7F:→ Schottky: 2*248*20*50 = 496,000 约 500ms 12/26 21:14
8F:→ Schottky: 好我发现我刚刚算错了... Orz 12/26 21:14
9F:→ Schottky: 烧录器可以选 Verify 检查烧进去的东西对不对,试试看? 12/26 21:15
programming 一直失败,我在怀疑是不是那麽刚好
AT89S51 AT89C52 各买一片 两片刚好都是雷???
我也是有成功烧录过 程序里就有自动 Verify了 可是还是跑不动
是不是晶振不起振啊? @@” 好挫败
※ 编辑: ChenDotQ (111.246.140.220), 12/26/2016 21:27:30
10F:→ Schottky: 12 MHz 很难不起振,就算不插电容都 OK 12/26 21:38
11F:→ Schottky: 我明天如果有空,跑跑看你的电路和程式好了 12/26 21:59
12F:→ Schottky: 挫败喔... 我刚开始 DIY 的时候也是 XD 12/26 22:20
嗯嗯 那就先谢谢你了 S大 TAT
※ 编辑: ChenDotQ (111.246.140.220), 12/26/2016 22:27:05
13F:→ amistad: 要不要先试试看clock out?看clock & 设定是否正常? 12/26 22:36
14F:推 plopitri: 位址0开始是中断向量表,你把程式放在那里,其它中断进 12/26 23:25
15F:→ plopitri: 来,程式就乱跑了啦。你把程式移开,或者是把其他的中断 12/26 23:25
16F:→ plopitri: 都关掉,然後再试试看。 12/26 23:25
p大 我是用最简电路,这跟中断会有关联吗? @@
※ 编辑: ChenDotQ (111.246.140.220), 12/27/2016 01:08:27
17F:推 nova06091: 晶振可以不插电容?? 12/27 11:28
18F:推 zxzx8059: 12MHz可以偷懒 12/28 07:01
我又买了一块 AT89S51 和 AT89S52 烧录成功
只是一样不会闪
改用今天刚寄来的 STC89C52 去嚐试,就....... 就可以了.....
我是用STC的开发板去烧一样的程式进去
所以可能是AT的烧录器有问题吧..... 我是用 SP200SE 流通率好像満高
仿货也很多...... 我电脑没LPT的接头,不然好像自已DIY很简单的样子
※ 编辑: ChenDotQ (111.246.134.125), 12/30/2016 00:39:06
19F:推 zxzx8059: 烧at89s52我都用usbasp,一个在100多 12/31 13:00
20F:→ zxzx8059: 伟纳纳个我只烧过c51 12/31 13:01