![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: May 2011
Bài gửi: 6
: |
Chương Trình quét led PIC16F887 không chạy
#include <htc.h>
__CONFIG(HS&WDTDIS&LVPDIS); unsigned int n=0; unsigned int m=0; unsigned char so[10]={0b00000000, 0b00000001, 0b00000010, 0b00000011, 0b00000100, 0b00000101, 0b00000110, 0b00000111, 0b00001000, 0b00001001}; void delay(unsigned int n) { unsigned int i, j; for(j=0;j<n;j++) { for(i=0;i<1000;i++) { TMR0=0; while(TMR0<250); } } } void init_timer0() { T0CS=0; //Xai bo dao dong FOSC/4=2Mhz PSA=0; //Xai bo chia tan so cho timer PS0=0; PS1=1; PS2=0; T0IE=0; //Khong xai interrupt timer0 } void xuly() { RC0=0;RC1=1; PORTD=so[n]; delay(1000); RC0=1;RC1=0; PORTD=so[m]; delay(1000); if(n==9) { n==0;m++; } } void init_io() { TRISD=0; //cau hinh output cho portD TRISB=1; TRISA=0; TRISC=0; } void main() { init_io(); init_timer0(); while(1) { if(RB0==0) { xuly(); n++; } } } Đó là code của em, dùng hitech C Em đính kèm file mô phỏng +hex Em làm một nút nhấn ở RB0, khi RB0=0 thì chương trình chạy mà sao chương trình không chạy, em không biết bị sai lỗi nào nữa, |
![]() |
![]() |
|
|