PDA

View Full Version : Hỏi về lệnh trong ccs


collector07
13-12-2009, 11:36 PM
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

haohao
14-12-2009, 12:18 AM
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 ?

thanhtrung_pic
13-11-2010, 10:35 AM
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?

dinhminh09
13-11-2010, 02:15 PM
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

caovanhuong
13-11-2010, 07:28 PM
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

qquocddatdk
18-05-2011, 04:43 PM
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();
}}}

hcmut.khoamaisi
18-05-2011, 09:08 PM
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

embracelife
11-06-2011, 08:55 PM
collector07 : dùng thế này
x= input_b();
output_d()=x;