Trích:
Nguyên văn bởi typhn
Chào bác nam.trước em có làm với pic6F877A,bây giờ em chuyển sang học về DSPIC.
Bác có thể nói rõ hơn về thanh ghi LATX được ko bác.
Con 877A ko có thanh ghi này và em đọc trong datasheet thì ko hiểu lắm.
Thanh ghi TrisX thì vẫn giống 877A,để định ngiã cổng vào/ra
Còn thanh ghi PortX trong 877A để xuất dữ liệu ra là mức cao hay thấp.
Còn trong các ví dụ của bác,em chưa thấy được vai trò của PortX
Và dường như bác toàn sử dụng LatX.
Bác nói rõ hơn cho em được ko
Thanks bác
|
Trong các PIC cấp thấp (chẳng hạn như PIC16F877A), chỉ có một thanh ghi xuất nhập, và do hiệu ứng read-modify-write, các thao tác đối với các thanh ghi ngõ vào/ngõ ra có thể gây ra những khó khăn, buộc người dùng phải thực hiện các chuỗi thao tác nhất định để tránh những rắc rối có thể có. Tôi đã nói về read-modify-write ở một luồng khác, bạn hãy dùng chức năng Search của diễn đàn để tìm.
Kể từ dòng PIC cấp cao (PIC18), Microchip đã sử dụng hai thanh ghi đệm cho các thao tác xuất nhập, là LATx và PORTx. Như vậy, khi ghi ra các ngõ ra, chúng ta sẽ thao tác thanh ghi LATx, còn khi đọc vào từ các ngõ vào, chúng ta sẽ thao tác thanh ghi PORTx, và sẽ tránh được các rắc rối liên quan đến hiệu ứng read-modify-write.
Bạn có thể thấy tôi sử dụng các thanh ghi PORTx ở tutorial 3, khi đọc trạng thái của các switch.
Thân,