![]() |
|
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 |
Đệ tử 1 túi
Tham gia ngày: Jul 2009
Bài gửi: 11
: |
Tốc độ động cơ hiển thị không chính xác
Em có lập trình đoạn chương trình sau:
Code:
lcd_putchar(" PC or Manual?"); while(down&S_t); If(!down) { lcd_putcmd(0x80); lcd_putchar(" Manual"); delay_ms(1000); goto Manual; } If(!S_t) { lcd_putcmd(0x01); lcd_putchar(" PC"); delay_ms(1000); goto Maytinh; } Code:
#INT_RDA // Ngat RS232 void Receive_isr() { text[dem]=getc(); // Du lieu duoc dua vao mang if(text[dem]=='@') // Kiem tra dieu kien ket thuc { flag =1; // Ket thuc nhan, bat co bao dem=0; } else dem++; } #INT_EXT // Ngat RB0 void ngatR0() { count++; // Ham duoc goi khi co suon len tai RB0 } #int_timer1 void Timer1_isr() { // Ham duoc goi khi TImer1 tran (65535->0) set_timer1(53036); // Chu ky trich mau (65536-53036)*4*4/20000000 = 0.01 tocdo= 30*(count + get_timer0()); // Tocdo=soxung*60/200/0.01 count = 0; // set_timer0(0); } Em không biết nên làm thế nào nữa, chỉ ghép 2 chương trình đúng lại mà thành 1 chương trình sai. Hix. Mong mọi người cho em lời khuyên. |
![]() |
![]() |
|
|