PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 30-09-2011, 09:55 PM   #1
ngosythuat
Đệ tử 1 túi
 
Tham gia ngày: Sep 2011
Bài gửi: 17
:
giúp em chương trình bị lỗi này với

#include <16f877A.h>
#include <def_877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
/* ĐỊNH NGHĨA CÁC CHÂN VÀ PORT */
#define DIR_LEFT RC0
#define EN_LEFT RC1
#define DIR_RIGHT RC3
#define EN_RIGHT RC2
#define SENSOR PORTD
/* KHAI BÁO CÁC CHƯƠNG TRÌNH CON */
void motor_left_forward();
void motor_left_reverse();
void motor_left_stop();
void motor_right_forward();
void motor_right_reverse();
void motor_right_stop();
void forward();
void reverse();
void stop();
void turn_left();
void turn_right();
/* CÁC CHƯƠNG TRÌNH CON */
// Động cơ trái chạy thuận
void motor_left_forward()
{
DIR_LEFT=1; // chiều thuận
EN_LEFT=1; // cho phép chạy
} // Động cơ trái chạy ngược
void motor_left_reverse()
{
DIR_LEFT=0; // chiều ngược
EN_LEFT=1; // cho phép chạy
} // Động cơ trái dừng
void motor_left_stop()
{
EN_LEFT=0; // không cho phép chạy
} // Động cơ phải chạy thuận
void motor_right_forward()
{
DIR_RIGHT=1;// chiều thuận
EN_RIGHT=1; // cho phép chạy
} // Động cơ phải chạy ngược
void motor_right_reverse()
{
DIR_RIGHT=0;// chiều ngược
EN_RIGHT=1; // cho phép chạy
} // Động cơ phải dừng
void motor_right_stop()
{
EN_RIGHT=0; // không cho phép chạy
} // Chạy thẳng
void forward()
{
motor_left_forward();
motor_right_forward();
}
// Chạy lùi
void reverse()
{
motor_left_reverse();
motor_right_reverse();
} // Dừng
void stop()
{
motor_left_stop();
motor_right_stop();
} // Quay trái
void turn_left()
{
motor_left_forward();
motor_right_reverse(); // hoặc motor_right_stop();
} // Quay phải
void turn_right()
{
motor_left_reverse(); // hoặc motor_left_stop();
motor_right_forward();
}
/* CHƯƠNG TRÌNH CHÍNH */
void main ()
{
TRISC=0x00; // PORTC là ngõ ra ( động cơ)
TRISD=0x00; // PORTD là ngõ vào (cảm biến quang)
PORTC=0x00; // Khởi tạo giá trị ban đầu 0x00 cho PORTC
while(1)
{
switch (SENSOR)
{
case 0b00011000: forward(); break;
case 0b00001100: turn_left(); break;
case 0b00000110: turn_left(); break;
case 0b00000011: turn_left(); break;
case 0b00000001: turn_left(); break;
case 0b00110000: turn_right(); break;
case 0b01100000: turn_right(); break;
case 0b11000000: turn_right(); break;
case 0b10000000: turn_right(); break;
}}
}



chương trình dịch báo lỗi:
Error 12 Undefined identifier RC0
Error 12 Undefined identifier TRISC
Error 12 Undefined identifier PORTC
ngosythuat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-09-2011, 11:07 PM   #2
chairman_t
Đệ tử 2 túi
 
Tham gia ngày: Aug 2009
Bài gửi: 36
:
vào trong file def_16f877a định nghĩa lại trisc,......
chairman_t vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-09-2011, 11:37 PM   #3
ngosythuat
Đệ tử 1 túi
 
Tham gia ngày: Sep 2011
Bài gửi: 17
:
Trích:
Nguyên văn bởi chairman_t View Post
vào trong file def_16f877a định nghĩa lại trisc,......
định nghĩa thế nào hả anh. anh có thế hướng dẫn cụ thể hơn dc ko ạ
ngosythuat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-10-2011, 11:10 AM   #4
chairman_t
Đệ tử 2 túi
 
Tham gia ngày: Aug 2009
Bài gửi: 36
:
Talking

#byte TRISC =0x87
#byte PORTC =0x07
#bit rC0 =0x07.0
chịu khó đọc datasheet mà cày đi chú
chairman_t vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-10-2011, 01:34 PM   #5
ngosythuat
Đệ tử 1 túi
 
Tham gia ngày: Sep 2011
Bài gửi: 17
:
Trích:
Nguyên văn bởi chairman_t View Post
#byte TRISC =0x87
#byte PORTC =0x07
#bit rC0 =0x07.0
chịu khó đọc datasheet mà cày đi chú
em mới tìm hiểu về con này. với lại em cũng không biết tra datasheet. em đang cần gấp nên lên đây hỏi các anh cho nhanh. anh có thể giả thích ý nghĩa của các số mà anh khai báo cho các chân và port đó giúp em đc ko
ngosythuat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-10-2011, 04:46 PM   #6
chairman_t
Đệ tử 2 túi
 
Tham gia ngày: Aug 2009
Bài gửi: 36
:
đó là địa các thanh ghi quy định trong datasheet của loại pic đang sử dụng, thế thôi
chairman_t vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


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à 01:20 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