|
Tài trợ cho PIC Vietnam |
Cơ cấu chấp hành (Actuator) Động cơ DC, AC, động cơ không chổi than, động cơ không cảm biến... |
|
Ðiều Chỉnh | Xếp Bài |
24-03-2011, 11:06 PM | #2 |
Nhập môn đệ tử
Tham gia ngày: Mar 2011
Bài gửi: 2
: |
lệnh rotate_right(address,bytes) theo mình nghĩ là dịch vòng theo chiều từ trái sang phải byte có địa chỉ address đi một bít. nếu sử dụng lặp nhiều lần như vậy, Tùy thuộc vào số lượng bytes trong khai báo mà nó dịch từng ấy bytes thì sẽ quay vòng trở lại. Tương tự như vậy có lệnh dịch vòng theo chiều từ phải sang trái:rotate_left(address,bytes)
Sau đây là một ví dụBạn chỉ việc dùng Pic 16F877A và 8 con Led mắc vào 8 chân B của Pic nhé!). #include<16F877A.h> #byte portB=0x6 int16 dem; int8 byte_bandau; #INT_TIMER0 void interrupt_timer0() { set_timer0(6); ++dem; if (dem==2000) { dem=0; rotate_right(&byte_bandau,1);//Ban co the thay doi "1"byte thanh 2,3,4.v.v.v } // va cho xem ket qua thi se thay no dich chuyen nhu the nao } void main(void) { set_tris_B(0); enable_interrupts(INT_TIMER0); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2); enable_interrupts(GLOBAL); set_timer0(6); byte_bandau=0x01; while(true) { portB=byte_bandau; } } |
|
|