作者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/m.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