PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 21-08-2010, 03:04 AM   #1
vu4096
Nhập môn đệ tử
 
Tham gia ngày: Dec 2008
Bài gửi: 3
:
Page 1, page2, page3 của bộ nhớ chương trình

Khi chương trình của mình dài đi và mình bắt buộc phải sử dụng tới các page khác như page1 chẳng hạn. Mình nghiên cứu rất kỷ datasheet của Pic12F877 và nó nói rằng khi ta thực hiện lệnh GOTO hay lệnh CALL thì chúng ta cần lựa chọn page bằng cách set giá trị thích hợp cho PCLATH 4 và PCLATH 3 để lựa chọn page cần đến. Còn khi quay về thì không cần thiết xác định page vì CPU sẽ lấy từ Stack ra có đủ 13 bít rồi.
ORG 0x0100 ; PAGE1
.
.
.
BSF PCLATH , 4
BCF PCLATH , 3
CALL DELAY04S_P1
.
.
.
ORG 0x0900
DELAY04S_P1

BCF STATUS , RP0
BCF STATUS , RP1
MOVLW D'242' MOVWF DELAY_REG1
LOOP3_P1
BCF PCLATH , 4
BCF PCLATH , 3
CALL DELAY2000
BSF PCLATH , 4
BCF PCLATH , 3
DECFSZ DELAY_REG1
GOTO LOOP3_P1

RETURN
Mình đã cố gắng hết sức nhưng vẩn không thế nào viết chương trình được trên page 1, 2, 3
khi dịch thì hầu như không có lổi gì nhưng khi xem lại code thì thấy nó gọi CALL và GOTO sai địa chỉ hết trơn. Nó toàn là đến page0 thôi. Mình nạp thử vào phần cứng thì sai bét hết.
Bạn nào biết xin chỉ dùm với. Xin cám ơn.
vu4096 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:13 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam