作者q1a2z3978 (欸等下)
看板ASM
標題[問題] 8051沒有動作
時間Thu Jul 6 22:56:21 2017
我用的晶片是AT89S52,用Keil uVision5寫的。
我想用組語寫個LED亮暗的程式,但是一直沒有動作(LED燈在插上電的瞬間會閃一下就沒了)
詭異的是我若用C寫,就能正常運作。因此能排除掉電路接錯、硬體故障等問題。但是組合語言程式有模擬過了,程式應該也沒有問題。
我在想會不會是我建立檔案的時候副檔名打.asm,請問這樣會造成錯誤嗎(因為當初學校用的是AT89C51,副檔名打.a51,不曉得在AT89S52要變成什麼)
又或者是其他問題?希望有大大能提出建議,謝謝
------------------------------------------------------------------------------
以下是我的程式碼:(程式新手請多包涵)
ORG 0H
SETB P3.7
HERE: ACALL DELAY
CPL P3.7
SJMP HERE
DELAY: MOV R0, #0FFH
AGAIN3: MOV R1, #0FFH
AGAIN2: MOV R2, #0FFH
AGAIN1: DJNZ R2, AGAIN1
DJNZ R1, AGAIN2
DJNZ R0, AGAIN3
RET
END
------------------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 182.155.220.74
※ 文章網址: https://webptt.com/m.aspx?n=bbs/ASM/M.1499352983.A.A7E.html
1F:→ dsplab: CPL 指令僅限 A 暫存器 07/06 23:31
2F:→ dsplab: 改為 XRL P3,#80H 07/06 23:33
3F:→ dsplab: 抱歉,CPL P3.7並沒有錯,請確認硬體是否正確 07/06 23:37
4F:→ a22326284: 一步步驗證阿 先確定 5V RST XTAL是否有正確連接 07/07 00:57
5F:→ a22326284: 在先用簡單的程式 例如只SETB P3.7 確認程式是否動作 07/07 00:58
6F:→ a22326284: 使用KEIL 建立的Project是否正確 等等之類的 07/07 01:00
7F:→ a22326284: 就我記得 是可以使用.asm當副檔名的 07/07 01:00
8F:→ a22326284: 話說 您知道Delay的時間多長嗎 感覺頗長的耶... 07/07 01:02
9F:→ a22326284: 還有您LED接的方式也提供一下會更好確認問題 07/07 01:03
真的是DELAY太長...,一開始不曉得寫幾層迴圈比較剛好,於是寫了三層,剛剛耐心等候才發現一個亮暗週期要一分多鐘,改成兩個迴圈後就正常了。非常感謝a大跟d大的熱心相助。
※ 編輯: q1a2z3978 (182.155.220.74), 07/07/2017 01:55:09