View Full Version : xin sửa giúp code ccs
tuananhk53
08-03-2011, 06:32 PM
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
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
#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
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
#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
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
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
}
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.