|  | 
| 
 | Tài trợ cho PIC Vietnam | ||||||||
| Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC | 
|  | 
|  | Ðiều Chỉnh | Xếp Bài | 
|  31-10-2010, 10:51 AM | #1 | 
| Đệ tử 2 túi Tham gia ngày: May 2005 
					Bài gửi: 27
 : | 
				
				cho mình hỏi về vượt quá lệnh CALL / Return ??
			 Chả là mình đang làm đồ án có giao tiếp với LCD, mình dùng các câu lệnh sau để giao tiếp LCD cho dễ quản lý Code: TXT_REPASS
    ADDWF        PCL,1
    DT"Retype PASSWORD:",0
TXT_PASS
    ADDWF        PCL,1
    DT"Type PASSWORD:  ",0
TXT_WRONGPASS
    ADDWF        PCL,1
    DT"Login failed !  ",0
TXT_TIMES
    ADDWF        PCL,1
    DT"You have 4 times",0
TXT_RIGHTPASS
    ADDWF        PCL,1
    DT"Login successful",0
TXT_1UNCLOCK
    ADDWF        PCL,1
    DT"[1] Unlock      ",0
TXT_2CHANGEPASS
    ADDWF        PCL,1
    DT"[2] Change Pass ",0
TXT_Unlocking
    ADDWF        PCL,1
    DT"  Unlocking !   ",0
TXT_LOCKED
    ADDWF        PCL,1
    DT"System Locked ! ",0
TXT_DONTMATH
    ADDWF        PCL,1
    DT"Pass donnot math",0Code: Stack overflow executing CALL instuction Stack underflow executing RETURN instruction CALL k với 0< k < 2047 Mình đang vướng ở đây chưa biết giải quyết làm sao, mình làm rất nhiều câu thông báo hiển thị trên LCD nhưng mới được mấy cau đã báo lỗi thế này. Mong các bạn hướng dẫn cách giải quyết giúp mình với. Thanks mọi người nhiều nha  | 
|   |   | 
|  31-10-2010, 12:07 PM | #2 | 
| Đệ tử 2 túi Tham gia ngày: May 2005 
					Bài gửi: 27
 : | Sau khi ngâm kíu mình biết lỗi trên do 1 trong những nguyên nhân: dùng lệnh CALL mà không có RETURN, lệnh call lồng lệnh call quá 8 lận sẽ vượt quá Stack của PIC16. Tuy nhiên ở đây mình dùng kỹ thuật tra bảng và lệnh trả về là RETLW, luôn có lệnh trả về Return sau lệnh call thì làm sao mà lỗi. Mà lỗi tại sao lại mỗi phần dưới trong khi phần trên không bị. | 
|   |   | 
|  | 
| 
 | 
 |