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)
-   -   Bài tập CCSC đơn giản nhưng ko chạy (http://www.picvietnam.com/forum/showthread.php?t=6725)

congtri91 24-07-2010 07:07 AM

Bài tập CCSC đơn giản nhưng ko chạy
 
em lập trình tắt bật led bằng ccsc nhưng khi mô phỏng nó lại ko chạy, cho e hỏi code sai chỗ nào ạ

#include <16F877A.h>
#include <def_877a.h>
#device icd=true
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)

main()
{
set_tris_b(0);
output_low (portc);
while(true)
{
output_low (portb);
delay_ms(200);
output_high (portb);
delay_ms(200);
}

cskiller 24-07-2010 10:11 AM

Hàm output_low,output_high và output_bit là dùng cho 1 PIN, còn output_a,output_b,... mới là dùng cho 1 PORT.

Regards

vinasheva 24-07-2010 10:33 AM

Code:

output_b(0);
delay_ms(200);
output_b(0xff);
delay_ms(200);

Nếu đã include #include <def_877a.h> thì đơn giản hơn: TRISB=0; PORTB=0xff

congtri91 24-07-2010 08:00 PM

[QUOTE=vinasheva;37519]
Code:

output_b(0);
delay_ms(200);
output_b(0xff);
delay_ms(200);

Nếu đã include #include <def_877a.h> thì đơn giản hơn: TRISB=0; PORTB=0xff[/QUO

trước đó em đã làm như vậy nhưng nó chỉ sáng tắt có 1 pin thôi

congtri91 24-07-2010 08:15 PM

cuối cùng cũng chạy, các báo cho em hỏi mình viết 2 chương trình trong cùng 1 project có được ko ạ??? em vết hai chương trình test led khác nhau nhưng khi dịch cái này nó lại dịch cái kia

nhamdtk4 25-07-2010 09:56 AM

Chọn CT bạn muốn dịch rồi vào Project trên taskbar sau đó chọn "Make File Project".

congtri91 26-07-2010 12:48 AM

ko thấy make project

nbb3i 26-07-2010 01:43 AM

Trích:

Nguyên văn bởi congtri91 (Post 37534)
cuối cùng cũng chạy, các báo cho em hỏi mình viết 2 chương trình trong cùng 1 project có được ko ạ??? em vết hai chương trình test led khác nhau nhưng khi dịch cái này nó lại dịch cái kia

Nếu chỉ đơn giản vậy thì bạn nên viết tách hai chương trình đó ra 2 hàm con. Ở hàm main thì bạn lần lượt gọi hàm con theo kịch bản test :beer:

nhamdtk4 26-07-2010 08:23 AM

Vào phần tùy chỉnh có tên là "Project" trên thanh taskbar của CCS chứ ko phải là vào project của bạn, trong đó mới có "Make File Project"

congtri91 26-07-2010 01:31 PM

ặc, vậy mà em tìm trong mplab

orecky 31-08-2010 04:18 AM

Trích:

Nguyên văn bởi congtri91 (Post 37514)
em lập trình tắt bật led bằng ccsc nhưng khi mô phỏng nó lại ko chạy, cho e hỏi code sai chỗ nào ạ

#include <16f877a.h>
#include <def_877a.h>
#device icd=true
#device *=16 adc=8
#fuses nowdt, hs, noput, noprotect, nodebug, nobrownout, nolvp, nocpd, nowrt
#use delay(clock=20000000)

main()
{
set_tris_b(0);
output_low (portc);
while(true)
{
output_low (portb);
delay_ms(200);
output_high (portb);
delay_ms(200);
}

cÓ vẺ thiÊuc ngoẮc Ở vÒng void main thÌ phẢi bẠn ah

zztaolaozz 31-08-2010 01:28 PM

bác nào có viết trương trình C hiển thị trên led7 ko. Cho mình xin tham khảo nha.
Tks

vupromax7209 29-03-2012 04:52 PM

[QUOTE=congtri91;37514]em lập trình tắt bật led bằng ccsc nhưng khi mô phỏng nó lại ko chạy, cho e hỏi code sai chỗ nào ạ

#include <16F877A.h>
#include <def_877a.h>
#device icd=true
#device *=16 ADC=8
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)

void main() //thiếu void nữa
{
set_tris_b(0);
output_low (portc);
while(true)
{
output_low (portb);
delay_ms(200);
output_high (portb);
delay_ms(200);
}
} //thiếu cái này nềk!

vupromax7209 29-03-2012 04:59 PM

các bác ơi!,em là người mới học lập trình ccs c cho pic,có chỗ này chưa làm được mong các bác giúp đỡ em với ạ!

đoạn code như sau:
#include <16f877a.h>
#include <def_16f877a.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWN OUT,NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
void main()
{
trisb=0x00;
portb=0xff;
while (1)
{
portb=0;
delay_ms(500);
portb=0xff;
delay_ms(500);
}
}




các bác ơi làm sao viết cho led chớp nháy đúng số lần minh mong muốn ạ. mong các bác giúp đỡ!

OoMrBayoO 29-03-2012 06:27 PM

Trích:

Nguyên văn bởi vupromax7209 (Post 55332)
các bác ơi!,em là người mới học lập trình ccs c cho pic,có chỗ này chưa làm được mong các bác giúp đỡ em với ạ!

đoạn code như sau:
#include <16f877a.h>
#include <def_16f877a.h>
#fuses NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWN OUT,NOLVP, NOCPD, NOWRT
#use delay(clock=20000000)
void main()
{
trisb=0x00;
portb=0xff;
while (1)
{
portb=0;
delay_ms(500);
portb=0xff;
delay_ms(500);
}
}




các bác ơi làm sao viết cho led chớp nháy đúng số lần minh mong muốn ạ. mong các bác giúp đỡ!

Dùng cái vòng for là được thôi mà. Ví dụ:
void main()
{
unsigned int8 i;
trisb=0x00;
portb=0xff;
for(i=0;i<10;i++) // 10 lan
{
portb=0;
delay_ms(500);
portb=0xff;
delay_ms(500);
}
while(true);
}


Múi giờ GMT. Hiện tại là 01:09 AM.

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