PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   xin sửa giúp code ccs (http://www.picvietnam.com/forum/showthread.php?t=7949)

tuananhk53 08-03-2011 06:32 PM

xin sửa giúp code ccs
 
chào các anh,em mới bắt đầu học về pic nên có nhiều bỡ ngỡ,mong các anh chỉ giáo
có đoạn code CCS này

#include <16f877a.h>
#use delay(clock=20m)
void main()
{set_tris_b(0);
set_tris_a(255);
output_b(0);
while(1)
{
if(input(pin_a0)==1)
{
output_b(0xff);delay_ms(500);
output_b(0);delay_ms(500);
}
}
}
khi nạp vào pic thì nó chạy được rồi nhưng em muốn sau khi ấn nút,bỏ tay ra mà led vẫn nháy theo ý muốn thì phải sửa code thế nào cho đúng...
Anh nào rảnh lên chỉ giúp em với,thanks!!!

caovanhuong 08-03-2011 08:28 PM

Trích:

Nguyên văn bởi tuananhk53 (Post 42274)
chào các anh,em mới bắt đầu học về pic nên có nhiều bỡ ngỡ,mong các anh chỉ giáo
có đoạn code CCS này

#include <16f877a.h>
#use delay(clock=20m)
void main()
{set_tris_b(0);
set_tris_a(255);
output_b(0);
while(1)
{
if(input(pin_a0)==1)
{
output_b(0xff);delay_ms(500);
output_b(0);delay_ms(500);
}
}
}
khi nạp vào pic thì nó chạy được rồi nhưng em muốn sau khi ấn nút,bỏ tay ra mà led vẫn nháy theo ý muốn thì phải sửa code thế nào cho đúng...
Anh nào rảnh lên chỉ giúp em với,thanks!!!

bạn sửa lại như thế này
Code:

#include <16f877a.h>
#use delay(clock=20000000)
#bit ra0=0x5.0
void main()
{
set_tris_b(0);
set_tris_a(0xff);
output_b(0);
while(1)
{
if(ra0==1)
{
a:  output_b(0xff);
    delay_ms(500);
    output_b(0);
    delay_ms(500);
    if(ra0==0)
    goto a;
}
}
}


tuananhk53 08-03-2011 10:26 PM

uhm thanks bạn nhá,mình sẽ thử ngay^^

HAI1817 08-03-2011 10:49 PM

Board nguồn 24v sang 90v
 
Có ai biết nguồn 24vdc vào ra 90vdc,bán ở đâu không chỉ tôi với

vienhanlam01 08-03-2011 10:53 PM

#include <16f877a.h>
#use delay(clock=20m)
int8 j ;
void main()
{set_tris_b(0);
set_tris_d(255);
output_b(0);
while(true)
{
while(bit_test(input(pin_d0))) // kiểm tra pin_d0
{}
while(bit_test(!input(pin_d0)))
{} // chờ nhả phím
for(j = 0 ; j < 10 ; j++) // chớp tắt 10 lần
{
output_b(255) ;
delay_ms(50) ;
output_b(0) ;
delay_ms(700) ;
}
} // quay lại quét phím d0

}

tuananhk53 09-03-2011 12:18 AM

Trích:

Nguyên văn bởi vienhanlam01 (Post 42286)
#include <16f877a.h>
#use delay(clock=20m)
int8 j ;
void main()
{set_tris_b(0);
set_tris_d(255);
output_b(0);
while(true)
{
while(bit_test(input(pin_d0))) // kiểm tra pin_d0
{}
while(bit_test(!input(pin_d0)))
{} // chờ nhả phím
for(j = 0 ; j < 10 ; j++) // chớp tắt 10 lần
{
output_b(255) ;
delay_ms(50) ;
output_b(0) ;
delay_ms(700) ;
}
} // quay lại quét phím d0

}

ừm mình đã thử bài này của bạn,mà mình chưa cần nhả phím ra nó đã nháy loạn lên rồi

tuananhk53 09-03-2011 12:20 AM

tiện thể ai biết cách làm khi ấn button lần nữa thì LeD tắt hoặc chuyển sang hiệu ứng khác không????
thanks!!!!!^^

caovanhuong 09-03-2011 09:50 AM

Trích:

Nguyên văn bởi tuananhk53 (Post 42298)
tiện thể ai biết cách làm khi ấn button lần nữa thì LeD tắt hoặc chuyển sang hiệu ứng khác không????
thanks!!!!!^^

bác viết hiệu ứng ra đi. em sẽ viết hàm dùng nút nhấn để chuyển cho bác.

tuananhk53 09-03-2011 11:22 AM

Trích:

Nguyên văn bởi caovanhuong (Post 42310)
bác viết hiệu ứng ra đi. em sẽ viết hàm dùng nút nhấn để chuyển cho bác.

ví dụ như thế này chẳng hạn(đoạn code đầu vẫn như trên nhá^^)
while(1)
{
for(i=0;i<256;i++)
{output_b(i);delay_ms(300);
output_b(0);delay_ms(200);
}
}

arm_cortex01 21-03-2011 10:22 AM

#include <16f877a.h>
#use delay(clock=20m)
int8 j ;
void main()
{set_tris_b(0);
set_tris_d(255);
output_b(0);
while(true)
{
while(bit_test(input(pin_d0))) // kiểm tra pin_d0
{}
while(bit_test(!input(pin_d0))) //////////// SỬA LẠI CHỖ NÀY ---> ///////while(!bit_test(input(pin_d0))) /// THAY ĐỔI VỊ TRÍ !
{} // chờ nhả phím
for(j = 0 ; j < 10 ; j++) // chớp tắt 10 lần
{
output_b(255) ;
delay_ms(50) ;
output_b(0) ;
delay_ms(700) ;
}
} // quay lại quét phím d0

}


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

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam