PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   cho hỏi về lệnh output_high() ccs (http://www.picvietnam.com/forum/showthread.php?t=7004)

dinhminh09 17-09-2010 03:43 PM

cho hỏi về lệnh output_high() ccs
 
bác nào biết trả lơi giúp mình với
ví dụ

output_high(PIN_C0); khích c0 lên cao
output_high(PIN_C1); kích c1 lên cao
nhưng sau khi mình khích c1 lên cao thì c0 trở về mức thấp. có ai có giải pháp không

dinhminh09 17-09-2010 09:55 PM

đơn giản là mình xài cái này để làm sáng tắc mấy con led đó mà

nhưng cái này không chạy như ý muống
#include <16f877a.h> //PIC utilizado
#fuses HS,NOWDT,NOPROTECT,NOLVP //Configuramos los fuses
#use delay (clock=20000000) //Oscilador a 4Mhz
void main()
{
SET_TRIS_c( 0xFF );
while(1)
{
output_high(PIN_C0);
delay_ms(1000);
output_high(PIN_C1);
delay_ms(1000);
output_low(PIN_C1);
delay_ms(1000);
output_low(PIN_C0);
}
}



còn nếu thế này thay đổi phần cứng chút thì chyaj tốt

#include <16f877a.h> //PIC utilizado
#fuses HS,NOWDT,NOPROTECT,NOLVP //Configuramos los fuses
#use delay (clock=20000000) //Oscilador a 4Mhz
void main()
{
SET_TRIS_c( 0xFF );

while(1)
{
output_low(PIN_C0);
delay_ms(1000);
output_low(PIN_C1);
delay_ms(1000);
output_high(PIN_C1);
delay_ms(1000);
output_high(PIN_C0);
}
}

pk178 17-09-2010 11:43 PM

bạn xem lại các cấu hình của bạn, post cả code và mạch nguyên lí của bạn lên cho mọi người xem !

hongmta 18-09-2010 10:22 AM

thao tác xử lý bit này là độc lập mà, làm sao có thể như vậy được, bạn gửi code cho mọi người xem thì sẽ dễ trả lời bạn hơn!

chungtn1980 05-10-2011 10:23 PM

Trích:

Nguyên văn bởi dinhminh09 (Post 38679)
bác nào biết trả lơi giúp mình với
ví dụ

output_high(PIN_C0); khích c0 lên cao
output_high(PIN_C1); kích c1 lên cao
nhưng sau khi mình khích c1 lên cao thì c0 trở về mức thấp. có ai có giải pháp không

Tôi cũng bị hiện tượng như thế! Tôi dùng con 16F84
Bạn đã giải quyết đươc vấn đề đó chưa? không hiểu thế nào nhỉ?

pstin 05-10-2011 10:38 PM

Hì, tui cũng bị vấn đề . Dùng 4 chân để kích 4 cái relay, khi khởi động PIC là 1 chân kích lên luôn, sau khi vào chương trình chính thì chân đó "mới chịu tắt", chắc do trong CSS đang ở trạng thái "mơ hồ" nào đó!!!!!!!!. Chơi chiêu này chắc ok:

#include <16f877a.h> //PIC utilizado
#fuses HS,NOWDT,NOPROTECT,NOLVP //Configuramos los fuses
#use delay (clock=20000000) //Oscilador a 4Mhz
void main()
{
SET_TRIS_c( 0xFF );
output_low(PIN_C1);
output_low(PIN_C0);
while(1)
{
output_high(PIN_C0);
delay_ms(1000);
output_high(PIN_C1);
delay_ms(1000);
output_low(PIN_C1);
delay_ms(1000);
output_low(PIN_C0);
}
}

levuphuong 08-10-2011 08:13 PM

SET_TRIS_c( 0xFF );
Mình cũng mới học mà mình nhớ là output thì set_tris_C(0); mà

pstin 09-10-2011 10:39 AM

Hì, chép nguyên đoạn code trên nên hok để ý, đúng là set_tris_C(0); vậy lỗi của mấy anh chàng ở trên cũng có thể là do nguyên nhân đó, còn cái lỗi của tui là thiệt, set đương nhiên là đúng, khi tui bắt đầu chương trình tui luôn cho mấy chân kích =0 cho chắc!!!!!!!!.


Múi giờ GMT. Hiện tại là 07:42 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