![]() |
Thảo luận về cách viết các lệnh dịch thanh ghi (RRF,RLF)
Dưới đây là chương trình dịch trái (phải) PortB sử dụng lệnh RRF(RLF):
Code:
title "leddichtutraiquaphai_Port_B.asm" - Led sáng sẽ dc dịch từ PB0-->PB7 và sẽ tắt hoàn toàn và bắt đầu lại từ đầu. Câu hỏi dc đặt ra: -Muốn kiểm tra cờ C thì làm như thế nào? - Có cách nào để led chạy liên tục PỎTB ko bi tắt hoàn toàn khi 1 dc chuyển vào cờ C? Mong các bác có thể giúp đỡ những người mới học như tụi em dc ko? Cảm ơn các bác! |
Câu thứ nhất: Thanh ghi STATUS chứa cờ C cũng là một thanh ghi như mọi thanh ghi, có thể dùng các lệnh BTFSS/BTFSC để kiểm tra trạng thái của cờ C và thực hiện các thao tác cần thiết.
Câu thứ hai: Dùng kỹ thuật đã nói trong câu thứ nhất, kiểm tra cờ C sau mỗi lần quay (chứ không phải là dịch nhé), nếu cờ C đổi trạng thái thì quay thêm một lần nữa. Thân, |
sẵn đây mình hỏi luôn vấn đề mà mình dang thắc mắc:
ví dụ mình có hai thanh ghi 0x20 và 0x21 có mang nội dung là một số Hẽ chẳng hạn Câu hỏi đc đặt ra là muốn so sánh hai thanh ghi này có giá trị bằng nhau ko thì phải làm sao?va như thế nào? To:chipchipvn mình cũng ở QNgai rất mong cùng trao đổi với bạn! |
sao ko ai tra loi hết vậy?
Nếu muốn kiểm tra PORTB có bằng 255 thì lam như sau có đúng ko ? Code:
if PORTB==255 |
Để so sánh hai biến nằm trong 2 ô nhớ thì có thể copy một ô nhớ vào thanh ghi W, rồi so sánh nó với ô nhớ còn lại (điều kiện so sánh bằng có thể thực hiện bằng phép toán XOR-exclusive OR và kiểm tra cờ Z), đó là dành cho các PIC cấp thấp và hợp ngữ (assembly language).
Với các ngôn ngữ cấp cao như C hay Basic thì bạn nên đọc hướng dẫn của phần mềm, nói chung cú pháp là chuẩn, nhưng cũng có một vài ngoại lệ. Ví dụ như có một số trình dịch C không hoàn toàn tuân theo ANSI-C. Ví dụ mà bạn đưa ra là so sánh một ô nhớ với một hằng số, không chính xác là trường hợp mà bạn đã hỏi ban đầu. Chương trình của bạn đã viết có vẻ giống như cho Basic (nhưng không hoàn toàn là Basic), nhưng biểu thức so sánh lại dùng cú pháp C => :confused: Thân, |
Múi giờ GMT. Hiện tại là 01:26 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam