PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và 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

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 08-03-2011, 06:32 PM   #1
tuananhk53
Nhập môn đệ tử
 
Tham gia ngày: Feb 2011
Bài gửi: 9
:
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!!!
tuananhk53 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-03-2011, 08:28 PM   #2
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 tuananhk53 View Post
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;
}
}
}
__________________
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 08-03-2011, 10:26 PM   #3
tuananhk53
Nhập môn đệ tử
 
Tham gia ngày: Feb 2011
Bài gửi: 9
:
uhm thanks bạn nhá,mình sẽ thử ngay^^
tuananhk53 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-03-2011, 10:49 PM   #4
HAI1817
Đệ tử 5 túi
 
HAI1817's Avatar
 
Tham gia ngày: Feb 2010
Bài gửi: 94
:
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
HAI1817 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-03-2011, 10:53 PM   #5
vienhanlam01
Đệ tử 1 túi
 
Tham gia ngày: Mar 2011
Bài gửi: 11
:
#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

}
vienhanlam01 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-03-2011, 12:18 AM   #6
tuananhk53
Nhập môn đệ tử
 
Tham gia ngày: Feb 2011
Bài gửi: 9
:
Trích:
Nguyên văn bởi vienhanlam01 View Post
#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 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-03-2011, 12:20 AM   #7
tuananhk53
Nhập môn đệ tử
 
Tham gia ngày: Feb 2011
Bài gửi: 9
:
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!!!!!^^
tuananhk53 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-03-2011, 09:50 AM   #8
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 tuananhk53 View Post
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.
__________________
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 09-03-2011, 11:22 AM   #9
tuananhk53
Nhập môn đệ tử
 
Tham gia ngày: Feb 2011
Bài gửi: 9
:
Trích:
Nguyên văn bởi caovanhuong View Post
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);
}
}
tuananhk53 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-03-2011, 10:22 AM   #10
arm_cortex01
Đệ tử 1 túi
 
Tham gia ngày: Mar 2011
Bài gửi: 13
:
#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

}
arm_cortex01 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à 02:06 AM.


Đượ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