看板 ASM 關於我們 聯絡資訊
我用的晶片是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://www.ptt.cc/bbs/ASM/M.1499352983.A.A7E.html
dsplab: CPL 指令僅限 A 暫存器 07/06 23:31
dsplab: 改為 XRL P3,#80H 07/06 23:33
dsplab: 抱歉,CPL P3.7並沒有錯,請確認硬體是否正確 07/06 23:37
a22326284: 一步步驗證阿 先確定 5V RST XTAL是否有正確連接 07/07 00:57
a22326284: 在先用簡單的程式 例如只SETB P3.7 確認程式是否動作 07/07 00:58
a22326284: 使用KEIL 建立的Project是否正確 等等之類的 07/07 01:00
a22326284: 就我記得 是可以使用.asm當副檔名的 07/07 01:00
a22326284: 話說 您知道Delay的時間多長嗎 感覺頗長的耶... 07/07 01:02
a22326284: 還有您LED接的方式也提供一下會更好確認問題 07/07 01:03
真的是DELAY太長...,一開始不曉得寫幾層迴圈比較剛好,於是寫了三層,剛剛耐心等候才發現一個亮暗週期要一分多鐘,改成兩個迴圈後就正常了。非常感謝a大跟d大的熱心相助。 ※ 編輯: q1a2z3978 (182.155.220.74), 07/07/2017 01:55:09