PIC Vietnam

Go Back   PIC Vietnam > Robotics > Thực hành

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Thực hành Bắt đầu làm một robot như thế nào? Mẹo vặt? Kỹ thuật? Công nghệ?... Hãy bắt tay vào việc...

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 09-08-2008, 01:04 PM   #4
minhdt10
Đệ tử 1 túi
 
Tham gia ngày: May 2008
Bài gửi: 18
:
Trích:
Nguyên văn bởi lekhoa View Post
Các bác xem giúp em chương trình này, ko biết bị lỗi gì mà chương trình chỉ xuất ra v=5 liên tục ( mục tiêu của em là tăng v lên 1 đơn vị sau mỗi 10ms = ngắt của timer1) . thx nhieu
Code:
#include <16F877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6, rcv=PIN_C7)
#include <def_877a.h>
#include <math.h>
#include <ctype.h>
#include <stdlib.h>
char data;
int a;
int16 xung,v;

#INT_TIMER1
void timer1_isr()
{  
   v=v+1;
   set_timer1(59286);
  }
void main()
{ setup_timer_1 ( T1_DIV_BY_8);// --> setup_timer_1 ( T1_internal | T1_DIV_BY_8);
   ENABLE_INTERRUPTS(INT_TIMER1);
   ENABLE_INTERRUPTS(GLOBAL);
   set_timer1(59286);
   x=5;  // --> v=5;
while(1)
   {
delay_ms(100);        
printf("%x",v);
   }
   }
Tôi thấy bạn phamminhtuan nói đúng, nếu chương trình đúng như vậy thì chắc chắn dịch sẽ có lỗi, bạn thử thay x bởi v, chỗ setup_timer1 nữa thử xem, có phải bạn dùng dao động nội không
minhdt10 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 08:34 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam