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 13-12-2009, 11:36 PM   #1
collector07
Nhập môn đệ tử
 
Tham gia ngày: Oct 2009
Bài gửi: 3
:
Hỏi về lệnh trong ccs

chào các bạn mình co câu hỏi này rất cần được giải đáp:
trong asm có thể dùng lệnh
MOVF portb,w để đưa giá trị portB và w

MOVLW (giá trị k) : gán cho w giá trị k để rồii sau đó đem w đi so sánh......
rồi dùng
MOVWF xuất giá trị từ w ra portB

vậy trong CCS làm sao gán giá trị portB cho một biến x nào đó (int8 x
để mình đem x đi so sánh trong lện (If else)


rồi xuất giá trị củ biến x ra portd vậy.

đã thử dùng
x=portb;
portd=x;
mà không được
rất mong được giúp đỡ.

collector07@gmail.com
collector07 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-12-2009, 12:18 AM   #2
haohao
Đệ tử 2 túi
 
Tham gia ngày: Jul 2008
Bài gửi: 27
:
Trích:
Nguyên văn bởi collector07 View Post
chào các bạn mình co câu hỏi này rất cần được giải đáp:
trong asm có thể dùng lệnh
MOVF portb,w để đưa giá trị portB và w

MOVLW (giá trị k) : gán cho w giá trị k để rồii sau đó đem w đi so sánh......
rồi dùng
MOVWF xuất giá trị từ w ra portB

vậy trong CCS làm sao gán giá trị portB cho một biến x nào đó (int8 x
để mình đem x đi so sánh trong lện (If else)


rồi xuất giá trị củ biến x ra portd vậy.

đã thử dùng
x=portb;
portd=x;
mà không được
rất mong được giúp đỡ.

collector07@gmail.com
Sao lai k duoc.Neu vay thi ban phai xem lai chuong trinh` cua ban.Hoac la` truoc 2 lenh tren ban da cho Portb = ? chua..Ban da khoi tao Trisb va TRID chua ?
haohao vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-11-2010, 10:35 AM   #3
thanhtrung_pic
Nhập môn đệ tử
 
Tham gia ngày: Nov 2010
Bài gửi: 2
:
mình cũng đang gặp một số vấn đền về câu lệnh trong phần lập trình băng ccs_c
các bạn có thể giới thiệu cho mình một số tài liệu để đọc không?
thanhtrung_pic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-11-2010, 02:15 PM   #4
dinhminh09
Đệ tử 4 túi
 
dinhminh09's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 83
:
Send a message via Yahoo to dinhminh09
chắt nó không hiểu portb là cái j rồi.
#byte TRISA = 0x85
#byte TRISB = 0x86
#byte TRISC = 0x87
#byte TRISD = 0x88
#byte TRISE =0x89

#byte PORTA = 0x05
#byte PORTB = 0x06
#byte PORTC = 0x07
#byte PORTD = 0x08
#byte PORTE = 0x09
thử khai báo mấy dòng này vào thêm thử sao
__________________
học đến trọc vẫn học.

ngồi buồn lại nhớ tây sơn võ.
nhị khúc tam côn vẫn dùng phan.
nhâm nhi chén rượi say (cả) thiên đình.
nhưng rồi đầu óc vẫn tuệ minh.




dinhminh09 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-11-2010, 07:28 PM   #5
caovanhuong
Đệ tử 2 túi
 
caovanhuong's Avatar
 
Tham gia ngày: Jul 2009
Bài gửi: 40
:
Trích:
Nguyên văn bởi collector07 View Post
chào các bạn mình co câu hỏi này rất cần được giải đáp:
trong asm có thể dùng lệnh
MOVF portb,w để đưa giá trị portB và w

MOVLW (giá trị k) : gán cho w giá trị k để rồii sau đó đem w đi so sánh......
rồi dùng
MOVWF xuất giá trị từ w ra portB

vậy trong CCS làm sao gán giá trị portB cho một biến x nào đó (int8 x
để mình đem x đi so sánh trong lện (If else)


rồi xuất giá trị củ biến x ra portd vậy.

đã thử dùng
x=portb;
portd=x;
mà không được
rất mong được giúp đỡ.

collector07@gmail.com
gán như vầy không được. bạn phải dùng lệnh #define
viết là #define X portd, lúc này giá trị xuất ra của X sẽ là port d, còn nếu muốn gán X với một portd nào đó. vd gán X bằng portb1 thì dùng lệnh #bit viết là #bit X=portb.1
__________________
Cao Văn Hưởng
SĐT: 01672754113
Email: caovanhuong@webdien.com
Nhận thiết kế mạch điện tử, PCB (Orcad)

caovanhuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-05-2011, 04:43 PM   #6
qquocddatdk
Nhập môn đệ tử
 
Tham gia ngày: May 2011
Bài gửi: 1
:
giải quyết lổi Improper use of a function identifier trong chương trình pic c ntn?

mình đang học viết ngôn ngử ccs,khi viết chương trình thì mình gặp một lổi về lệnh If .nó báo lổi là Improper use of a function identifier.bác nào biết nó là lổi gì và cách khắc phục thì cho mình biết nha.thanhks nhìu!đoạn chương trình mình viết như sau:

int x,chuc,donvi;
int a[10]={0,1,2,3,4,5,6,7,8,9};
void led();
void kt();
void batdau();
void main()
{
set_tris_a(0b1);
set_tris_b(0);
while(1)
{
void batdau()
{
If ( a0==0) ===> dòng nó báo lổi ở chử If: Improper use of a function identifier

delay_ms(1000);
kt();
else ===> dòng náy nó báo lổi A numeric expression must appear here
{
batdau();
}}}
void led()
{
e0=1;
e1=0;
portb=a[chuc];
delay_ms(10);
e0=0;
e1=1;
portb=a[donvi];
delay_ms(10);
}
void kt()
{
if (a0==1)
{
x=x+1;
chuc=x/10;
donvi=x%10;
led();
}
else
{
kt();
}}}
qquocddatdk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-05-2011, 09:08 PM   #7
hcmut.khoamaisi
Đệ tử 4 túi
 
hcmut.khoamaisi's Avatar
 
Tham gia ngày: Dec 2009
Nơi Cư Ngụ: TPHCM
Bài gửi: 79
:
Send a message via Yahoo to hcmut.khoamaisi
Trích:
Nguyên văn bởi qquocddatdk View Post
mình đang học viết ngôn ngử ccs,khi viết chương trình thì mình gặp một lổi về lệnh If .nó báo lổi là Improper use of a function identifier.bác nào biết nó là lổi gì và cách khắc phục thì cho mình biết nha.thanhks nhìu!đoạn chương trình mình viết như sau:

int x,chuc,donvi;
int a[10]={0,1,2,3,4,5,6,7,8,9};
void led();
void kt();
void batdau();
void main()
{
set_tris_a(0b1);
set_tris_b(0);
while(1)
{
void batdau()
{
If ( a0==0) ===> dòng nó báo lổi ở chử If: Improper use of a function identifier

delay_ms(1000);
kt();
else ===> dòng náy nó báo lổi A numeric expression must appear here
{
batdau();
}}}
void led()
{
e0=1;
e1=0;
portb=a[chuc];
delay_ms(10);
e0=0;
e1=1;
portb=a[donvi];
delay_ms(10);
}
void kt()
{
if (a0==1)
{
x=x+1;
chuc=x/10;
donvi=x%10;
led();
}
else
{
kt();
}}}
Bạn code lung tung quá!Mấy cái hàm con đưa ra khỏi main() .Thì chắc không có vấn đề gì nữa
__________________
My blog: http://autumnneverreturn.blogspot.com/
Đối thủ khó chiến thắng nhất là bản thân !!!
hcmut.khoamaisi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-06-2011, 08:55 PM   #8
embracelife
Nhập môn đệ tử
 
Tham gia ngày: Nov 2010
Bài gửi: 4
:
collector07 : dùng thế này
x= input_b();
output_d()=x;
embracelife 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à 05:07 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