![]() |
![]() |
#11 |
Đệ tử 6 túi
Tham gia ngày: Mar 2007
Bài gửi: 150
: |
Code:
#include <16F877A.h> #device *=16 ADC=8 #fuses NOWDT,HS,NOPROTECT #use delay(clock=20000000) #use fast_io(b) #use fast_io(c) #use fast_io(a) #use fast_io(d) #use fast_io(e) #byte intcon=0x000B #byte portb=0x6 #bit RB7 =portb.7 #bit RBIF=intcon.0 #bit RBIE=intcon.3 //----------------------------- int8 const led[]={1,2,4,8,16,32,64,128}; int8 j=0,i=0; //========ham ngat tren RB ==========// #int_rb void ngat_rb() { if(rb7==0) for(j=8;j>0;j--) { output_d(led[j-1]); delay_ms(10); } } //===========ham chinh=============// void main() { set_tris_d(0); set_tris_b(0xff); enable_interrupts(global); enable_interrupts(int_rb); ext_int_edge(L_TO_H ); while(true) { for(i=0;i<8;i++) { output_d(led[i]); delay_ms(10); } } } Mình đã kiểm tra và chạy ok rồi... Nhưng có lẽ dùng delay trong hàm ngắt là ko nên . Nên tìm 1 giải thuật khác , dịch bit chẳng hạn ... Còn sự khác biệt giữa các ngắt :" bạn xem lại phía trên các anh có chỉ dẫn đó ... hy vọng mọi người sẽ cùng nhau tìm hiểu nhiều hơn...có sai nhiều .. có sửa nhiều ..--->> tiến bộ nhiều (^_^)!!! Rất cảm ơn vì đã gởi thắc mắc lên đây.. qua bài trên mình đã tìm hiểu thêm được nhiều điều mới..
__________________
_________________________________________________ Le Trung Duc Industry Research & Application Center NTT Institute of Hi_technolog ltduc@ntt.edu.vn leduc_cktd@yahoo.com.vn http://www.nttc.edu.vn CNC DIY : http://quangcaosanpham.com/shop/driverservo 0909300332 |
![]() |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
TUT về USART trong PIC16F877A | mafd_47a | MPASM | 16 | 19-02-2025 05:32 AM |
TUT ve I2C ( pic16f877a ) | mafd_47a | MPASM | 28 | 28-01-2025 10:45 PM |
Lập nhóm PIC16F877A | nhh | Cơ bản về vi điều khiển và PIC | 285 | 08-03-2017 11:08 PM |
Bộ so sánh và PWM cho PIC16F877A | anhquangngai | Cơ bản về vi điều khiển và PIC | 24 | 08-09-2012 09:00 AM |
Pic16f877a TỪ DỄ TỚi KhÓ | ntc | Cơ bản về vi điều khiển và PIC | 373 | 23-05-2009 10:24 PM |