8051專題 電子密碼鎖 |
答題得分者是:handystudio
|
o00o112000
一般會員 發表:5 回覆:3 積分:1 註冊:2007-10-04 發送簡訊給我 |
|
handystudio
高階會員 發表:1 回覆:81 積分:106 註冊:2005-03-26 發送簡訊給我 |
你修改了什麼? 所有跳到 T1 & DS 的地方都要修改.
===================引 用 o00o112000 文 章=================== http://madnesscat.myweb.hinet.net/xin.htm ↑ 程式碼 當用Ajon 編譯的時候 出現錯誤訊息↓ [ERROR]C:\AJON1.ASM(112):T1 名稱宣告與暫存器名稱重複 112列 T1: MOV A,@R0 [ERROR]C:\AJON1.ASM(615):T1 名稱宣告與關鍵字重複 615列 DS: MOV A,R7 我們有嘗試去修改 不過當用8051模擬器 模擬的時候 LCD出現亂碼 無法正常動作 請高手指點 謝謝!
------
歡迎光臨 輕巧工作室 網站 http://www.handystudio.tw 控制電路板客製設計、製作交貨 8051專題製作/專題客製 |
o00o112000
一般會員 發表:5 回覆:3 積分:1 註冊:2007-10-04 發送簡訊給我 |
我們做的修改是這些 把不能宣告的字做替換
原本的程式: ;-------- ; F2-SET ;-------- SETF2: MOV R2,#3 MOV R0,#48H MOV R1,#33H T1: MOV A,@R0 T1改成AT1 ANL A,#0FH SWAP A INC R0 ADD A,@R0 MOV @R1,A INC R0 INC R1 DJNZ R2,T1 T1改成AT1 ; MOV R0,#30H MOV R1,#33H MOV A,@R1 CLR C SUBB A,#24H ;HOUR>24? JNC T2 MOV A,@R1 MOV @R0,A INC R0 INC R1 MOV A,@R1 CLR C SUBB A,#60H ;MIN>60? JNC T2 MOV A,@R1 MOV @R0,A INC R0 INC R1 MOV A,@R1 CLR C SUBB A,#60H ;SEC>60? JNC T2 MOV A,@R1 MOV @R0,A T2: AJMP F1 ;--------------------- ; 93CX6 WRITE DISABLE ;--------------------- WDS: PUSH A MOV R6,#00000100B MOV R7,#00000000B ACALL SHIFT5 SETB CS MOV CNT,#11 DS: MOV A,R7 DS改成DC RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV DI,C SETB SK NOP CLR SK NOP DJNZ CNT,DS DS改成DC CLR CS POP A RET ---------------------------------------------------------- 修改完用Ajon編譯以後出現對話視窗 程式碼的長度超過試用版的編譯範圍 按下確定以後 有三行編譯錯誤如下: [ERROR]C:\AJON1.ASM(189):無法辨識此資料 → SETF3: CLR F0 ;F0=0,ERROR.F0=1,EXACT [ERROR]C:\AJON1.ASM(201):無法辨識此資料 → SETB F0 ;CODE EXACT [ERROR]C:\AJON1.ASM(205):無法辨識此資料 → JB F0,C3 程式如下: ;-------- ; F3-SET ;-------- SETF3: CLR F0 ;F0=0,ERROR.F0=1,EXACT ACALL R_CODE MOV R2,#4 MOV R0,#50H MOV R1,#54H C1: MOV A,@R0 XRL A,@R1 JNZ C2 INC R0 INC R1 DJNZ R2,C1 CLR SW SETB F0 ;CODE EXACT C2: MOV A,#C6H ACALL W_INS MOV DPTR,#MSG6 ;MSG6='EXACT' JB F0,C3 MOV DPTR,#MSG7 ;MSG7='ERROR' ---------------------------------------------------------------------- 似乎是F0有問題 目前編譯遇到的麻煩 也謝謝您的回答
編輯記錄
o00o112000 重新編輯於 2007-10-05 11:39:55, 註解 無‧
|
handystudio
高階會員 發表:1 回覆:81 積分:106 註冊:2005-03-26 發送簡訊給我 |
"原本的程式" 與 "改過的程式", 只看到"原本的程式" , 沒看到"改過的程式",, 你有都列出來嗎?
全列出來才能比對那裡不對. ===================引 用 o00o112000 文 章=================== 原本的程式: 改過的程式:;--------------------- ; 93CX6 WRITE DISABLE ;--------------------- WDS: PUSH A MOV R6,#00000100B MOV R7,#00000000B ACALL SHIFT5 SETB CS MOV CNT,#11 DC: MOV A,R7 RLC A MOV R7,A MOV A,R6 RLC A MOV R6,A MOV DI,C SETB SK NOP CLR SK NOP DJNZ CNT,DC CLR CS POP A RET
------
歡迎光臨 輕巧工作室 網站 http://www.handystudio.tw 控制電路板客製設計、製作交貨 8051專題製作/專題客製 |
o00o112000
一般會員 發表:5 回覆:3 積分:1 註冊:2007-10-04 發送簡訊給我 |
|
handystudio
高階會員 發表:1 回覆:81 積分:106 註冊:2005-03-26 發送簡訊給我 |
既然已知"程式碼的長度超過試用版的編譯範圍",就難保證程式會正常跑
我沒用過你的 compiler, 不清楚該 compiler 語法規則, 用 X8051 試試看, 或 KEIL A51 ===================引 用 o00o112000 文 章=================== 完整的程式我剛剛有回覆了 再請您幫助不太懂的學生 謝謝您 我是覺得可能還會有許多程式上的問題 還想請大家多多幫忙
------
歡迎光臨 輕巧工作室 網站 http://www.handystudio.tw 控制電路板客製設計、製作交貨 8051專題製作/專題客製 |
o00o112000
一般會員 發表:5 回覆:3 積分:1 註冊:2007-10-04 發送簡訊給我 |
不好意思 再請問一下
剛剛我們有嘗試模擬了 發現功能大部分都是正常 但是有個很大的問題 就是顯示的文字是亂碼 原則上可以設定密碼、改時間、顯示時間等功能表都正常 因為就算是亂碼 數字還是看的懂 但是我們要顯示出來的字 比如說" F1:TIME F2:SET TIME " 他就會顯示亂碼 這就是我的問題 現在市面上所賣的LCD、還是LCM有差別嗎 我們只是隨意買了個LCD用而已 還有 EEPROM 93C66 跟93C46 這也有差別嗎 這兩個是跟我們電路圖的唯一可能會有差別的零件 可以在請您幫助我一下嗎 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |