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)
-   -   Hướng dẫn sử dụng CCS C (http://www.picvietnam.com/forum/showthread.php?t=612)

bengan 20-09-2008 01:29 AM

ủa làm sao tạo được mục thanks vậy các pác?

popeye_ts22 21-09-2008 01:34 AM

2 Attachment(s)
Trích:

Nguyên văn bởi bengan (Post 18966)
bạn gửi cho mình tài liệu về C lập trình PIC được không? thanks linh nhiều

Bạn nói rõ là dùng trình dịch nào nhé.Nếu dùng CCSC thì mình gửi cho bạn 2 tài liệu này nè:
1 TUT của anh Linh,1 của Trần Xuân Trường.

0903579509 21-09-2008 10:41 AM

Tôi đang dùng CCS C 4.068, trong device có nhiều thiết bị dsPIC, trong đó có nhiều hàm sử dụng cho dsPIC, tuy nhiên trong phần Help không có hướng dẫn sử dụng các hàm này. Tôi thấy trên diễn đàn anh Quang Nam viết nhiều về dsPIC trên ASM30 và C30 nhưng tôi không đủ sức để chuyển sang đây. Tôi đang tập tò với dsPIC, huynh nào biết viết code cho dsPIC bằng CCS C thì xin chỉ giáo.
Cám ơn nhiều!

thienstar 22-05-2009 12:35 PM

tạo file C trong CCs không cần tạo project ????
 
Đệ muốn tạo 1 vài file C trong CCs để dễ quản lý chương trình. Báo nào biết cách tạo file như thế nào chỉ Đệ với. Cảm ơn

Em_ku 26-07-2009 04:46 PM

Mấy anh ơi!! Trong con leg 7 đoạn, nếu mình hiển thị số bằng số lần bấm button thi sao đây ạ? Bấm 2 lần hiện số 2.

8051topic 26-07-2009 10:37 PM

@ Em_ku: Cái này chỉ là ý của mình thôi nhé. Bạn đặt 1 biến đếm, ấn một cái thì tăng thêm 1 (tăng từ 0 đến 9 chẳng hạn, đến 9 thì trở về 0 lại), dùng giá trị của biến này để gọi 1 phần tử trong mảng/bảng (mảng/bảng này là các mã của led 7 Seg) xong rồi thì xuất ra Led thôi.
Làm thử bạn sẽ thấy rõ hơn.

Em_ku 27-07-2009 02:26 PM

Vâng em cũng biết thế!! Đoạn code em viết được rồi nhưng sao bo vao cái mô phỏng proteus nó chạy chi chi ấy!! Biến tăng thì ok. Cái em hỏi là cái nút bấm thông thường mình đặt ở đâu?? Như em đặt ở MCLR thì phải khai báo như thế nào??

8051topic 27-07-2009 11:31 PM

Bạn nạp vào mạch thật thử đi, mình thấy Proteus không đúng lắm đâu.
Nút bấm thông thường thì cứ nối như "thông thường" thôi, tùy vào mức cao hay thấp ở chương trình mà bạn viết, nên nối thêm một con R 4k7 lên nguồn.
bạn dùng chân MCLR thì thiết lập cho nó là Input thì OK, mà đó là chân Reset mà, dùng chân khác đi bạn, chân MCLR để làm chức năng Reset thôi, khi nào hết chân thì hãy nghĩ tới nó.
Mình chỉ biết vậy thôi, không biết có đúng ý bạn không!

Em_ku 28-07-2009 09:14 PM

Em viết đoạn code thế này nhưng mà nó chạy chi chi ấy!! Công tắc bấm nút tại chân RB7, hiển thị số lần bấm nút bằng led7 đoạn. Hix viết mà kô hiểu nó sai chỗ nào. Các bác các anh các chị giúp em với. À mà mấy cái số case ... là em cho bậy quan trọng bấm nút sao cho led nó nhảy..

Code:

#include <C:\Program Files\PICC\Devices\16f877a.h>
#fuses HS,NOWDT
#byte trisb=0x86
#byte portb=0x06
#bit R7=portb.7
#use delay(clock=4000000)
int i;
main ()
{
while (1)
{
trisb=0x00;
R7=1;
portb=0x3f;
if (R7==0)
{
delay_ms(1000);
while (R7==0)
{
;
}
i=i+1;
if (i==10) i=0;
}
return i;
 switch (i)
 {
 case 0: portb=0x3f; break;
 case 1: portb=0x05; break;
 case 2: portb=0x89; break;
 case 3: portb=0xf1; break;
 case 4: portb=0xff; break;
 case 5: portb=0xf6; break;
 case 6: portb=0xf5; break;
 case 7: portb=0xf6; break;
 case 8: portb=0xf7; break;
 case 9: portb=0xf8; break;
 }
 
}
}


Viết của em nó kô bị lỗi gì cả. Nhưng nạp vào pic thì chạy gì gì kô à!! Theo em nghĩ là đúng rồi mà chẳng biết sao nữa. Mô phỏng bằng cái proteus.

manhha2799 29-07-2009 12:52 AM

Bạn có kéo điện trở treo lên nguồn chỗ chân RB7 ko.

Em_ku 29-07-2009 01:18 AM

có chứ điện trở đó để dùng hạn chế dòng mà!!

trung2343 19-08-2009 02:41 PM

co bac nao co tai lieu huong dan su dung ccs 4.032 cho em voi
em dang hoc pic ma khong biet su dung ccs

vandat07 21-08-2009 09:26 PM

Trích:

Nguyên văn bởi Em_ku (Post 28150)
Em viết đoạn code thế này nhưng mà nó chạy chi chi ấy!! Công tắc bấm nút tại chân RB7, hiển thị số lần bấm nút bằng led7 đoạn. Hix viết mà kô hiểu nó sai chỗ nào. Các bác các anh các chị giúp em với. À mà mấy cái số case ... là em cho bậy quan trọng bấm nút sao cho led nó nhảy..

Code:

#include <C:\Program Files\PICC\Devices\16f877a.h>
#fuses HS,NOWDT
#byte trisb=0x86
#byte portb=0x06
#bit R7=portb.7
#use delay(clock=4000000)
int i;
main ()
{
while (1)
{
trisb=0x00;
R7=1;
portb=0x3f;
if (R7==0)
{
delay_ms(1000);
while (R7==0)
{
;
}
i=i+1;
if (i==10) i=0;
}
return i;
 switch (i)
 {
 case 0: portb=0x3f; break;
 case 1: portb=0x05; break;
 case 2: portb=0x89; break;
 case 3: portb=0xf1; break;
 case 4: portb=0xff; break;
 case 5: portb=0xf6; break;
 case 6: portb=0xf5; break;
 case 7: portb=0xf6; break;
 case 8: portb=0xf7; break;
 case 9: portb=0xf8; break;
 }
 
}
}


Viết của em nó kô bị lỗi gì cả. Nhưng nạp vào pic thì chạy gì gì kô à!! Theo em nghĩ là đúng rồi mà chẳng biết sao nữa. Mô phỏng bằng cái proteus.


Theo em thì bác đã vô tình làm cho RB7 vừa là output vừa là input, bác nên cho chân input là 1 chân ở portA, C,..(không phải port B)
không biết các bác có ý kiến gì không?

mocdailam 24-08-2009 02:44 AM

Trích:

Nguyên văn bởi Em_ku (Post 28150)
Em viết đoạn code thế này nhưng mà nó chạy chi chi ấy!! Công tắc bấm nút tại chân RB7, hiển thị số lần bấm nút bằng led7 đoạn. Hix viết mà kô hiểu nó sai chỗ nào. Các bác các anh các chị giúp em với. À mà mấy cái số case ... là em cho bậy quan trọng bấm nút sao cho led nó nhảy..

Code:

#include <C:\Program Files\PICC\Devices\16f877a.h>
#fuses HS,NOWDT
#byte trisb=0x86
#byte portb=0x06
#bit R7=portb.7
#use delay(clock=4000000)
int i;
main ()
{
while (1)
{
trisb=0x00;
R7=1;
portb=0x3f;
if (R7==0)
{
delay_ms(1000);
while (R7==0)
{
;
}
i=i+1;
if (i==10) i=0;
}
return i;
 switch (i)
 {
 case 0: portb=0x3f; break;
 case 1: portb=0x05; break;
 case 2: portb=0x89; break;
 case 3: portb=0xf1; break;
 case 4: portb=0xff; break;
 case 5: portb=0xf6; break;
 case 6: portb=0xf5; break;
 case 7: portb=0xf6; break;
 case 8: portb=0xf7; break;
 case 9: portb=0xf8; break;
 }
 
}
}


Viết của em nó kô bị lỗi gì cả. Nhưng nạp vào pic thì chạy gì gì kô à!! Theo em nghĩ là đúng rồi mà chẳng biết sao nữa. Mô phỏng bằng cái proteus.

mình không để ký lại mấy cái dịa chỉ chân vào ra của bạn! sao không dùng thu viện chuẩn của CCS
bạn xem lại chổ return di! gap return no thoat khoi ham chu con dau ma chay doan sau nua. theo minh nghi la the.

buinhanh 08-09-2009 12:55 PM

mình đang cần tìm hiểu về lập trình c cho pic 16f877a và chương trình điều khiển đồng hồ số dùng 6 led 7 doan. các bác có ai biết xin chỉ giúp!!!!!! thanks

hdtspkt 21-11-2009 11:51 AM

Không hiểu sao em Compile thì OK, còn Build thi báo như sau: "I/O error 103" em chưa có khắc phục được.Nhờ được sự giúp đỡ!

huuducel 01-04-2010 10:13 AM

Anh F ơi cách sử dụng mảng trong CCS như thế nào ạ. Thực tế là em đang làm một cái mạch lấy số liệu từ bên ngoài sao đó cho số liệu X này so sánh với mảng [100,200,300,400,500,600,700]. Nếu X bằng với giá trị nào trong mảng thì xuất ra "H1"
Trong đó:
H1=100;H2=200;H3=300;H4=400;H5=500;H6=600;H7=700
Trường hợp X là số lẻ thì sao? làm tròn trên và dưới như thế nào. Thí dụ X=100.25 hoặc X=100.55 thì lúc đó sẽ chọn X là bao nhiêu so với mảng.

huuducel 02-04-2010 11:40 AM

Buồn quá sao không có ai relay cho mình hết...

haruoi 09-04-2010 10:12 AM

Hướng dẫn sử dụng CCS C cho dsPIC
 
Trích:

Nguyên văn bởi tmtm (Post 15520)
Mà em tìm trên diễn đàn sao chẳng thấy anh nào hướng dẫn lập trình cho dsPIC dùng CCSC nhỉ? Em nghĩ, khi CCSC đã hỗ trợ dsPIC thì với những người mới học như em, những ví dụ mẫu đó thật đáng quý!

Đúng đấy, hy vọng sẽ có những bài viết hướng dẫn sử dụng CCS C cho dsPIC.

lethanh27 14-04-2010 10:23 PM

Mọi người ơi giúp em cái này cái
Trích:

Mình cũng đang rất cần về phần này đây và đã tự vẽ được cái mạch như thế này
http://i920.photobucket.com/albums/a...nh27/gtlcd.jpg
nhưng chưa biết viết code như thế nào mọi người hướng dẫn e viết với nhé pm riêng yahoo càng tốt lethanhcdtk9.
Ý định của e là LCD sẽ hiện thì thời gian và ngày tháng có thể chỉnh bằng bàn phím .
nhưng trong quá trình nhập người nhập thời gian sai như ngày qua 31 ngày hay tháng quá 12 hoặc giờ >24 chẳng hạn thì đén sáng báo nhập sai và yêu cầu nhập lại
Mọi người xem có cách nào giải quyết vấn đề và dạy e viết code bằng css với !!
http://www.mediafire.com/file/juqnmy...en thi LCD.DSN

namvietcnd 08-07-2010 10:40 PM

chao ca nha
 
minh la thanh vien moi dang bat dau hoc pic
cac bac tu van cho minh hoc nhu the nao bat dau tu dau nhe
cam on nhieu
bac nao co tai lieu cho minh xin nhe
namvietcnd@yahoo.com.vn

thanh_30april 16-08-2010 09:45 PM

có bác nào biết tạo file có đuôi chấm h không trong CCS?giúp e với

goldstar09 02-10-2010 08:12 PM

Sao trong thư viện lcd không có kiểm tra cờ bận hả anh linh?

hongmta 23-10-2010 09:09 PM

Re
 
Trích:

Nguyên văn bởi goldstar09 (Post 39052)
Sao trong thư viện lcd không có kiểm tra cờ bận hả anh linh?

ko có thì định nghĩa thêm vào cũng được bạn ah!

DCP 28-10-2010 11:25 PM

mình mới học pic ,và đang học con 16f84a viết chương trình bằng ccs.
nhưng khi dịch nó lại báo lỗi,mong được các bác đi trước giúp cho.
đây là chương trình của mình:
#include <16f84a.h>
#ues delay(clock=4000000)
main()
{ while(1)
{ output_high(pin_b0)
delay_ms(250)
output_low(pin_b0)
delay_ms(250)
}
}
mong các bác chỉ giáo giúp em với.

DCP 28-10-2010 11:35 PM

em không phải là học sinh ,sinh viên gì cả .mà chỉ là một người có chút quan tâm đến pic mà thôi.
em cũng có biết sơ sơ asm nhưng khi lên diễn đàn lại toàn thấy nói về C nên em tìm hiểu
C. nhưng quả là hơi khó,em cũng theo dõi diễn đàn và tìm trên google nhưng cũng
không giải đáp được thắc mắc của mình.
mong cac bác giúp đỡ,em xin cảm ơn rất nhiều.

DCP 29-10-2010 08:23 PM

sao không có bác nào trả lời thế?

hcmut.khoamaisi 29-10-2010 09:48 PM

Trích:

Nguyên văn bởi DCP (Post 39693)
mình mới học pic ,và đang học con 16f84a viết chương trình bằng ccs.
nhưng khi dịch nó lại báo lỗi,mong được các bác đi trước giúp cho.
đây là chương trình của mình:
#include <16f84a.h>
#ues delay(clock=4000000)
main()
{ while(1)
{ output_high(pin_b0)
delay_ms(250)
output_low(pin_b0)
delay_ms(250)
}
}
mong các bác chỉ giáo giúp em với.

mình có chút góp ý chương trình của bạn về cơ bản là không sai gì cả.nhưng bạn nên bổ sung:
bạn sửa lại #ues delay(clock=4000000)
thành
Code:

#use delay(clock=4000000)
sau đó thêm vào mấy dòng sau ngay phía dưới
Code:

#use  fast_io(b)    //lệnh này rút ngắn thời gian thực thi của chương trình
#byte portb=0x06 //định địa chỉ của port b

trong main() bạn thêm vào lênh này trước khi vào vòng lặp while:
Code:

set_tris_b(0);
bạn nên download các tutorials trong diễn đàn này về xem.Tất cả (tất nhiên là những cái cơ bản)đều ở trong đó :)

DCP 29-10-2010 10:59 PM

cảm ơn bạn nhé,mình sửa lại rồi nhưng vẫn không được bạn ạ.
#include <16f84A.h>
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
main()
set_tris_b(0)
{ while(1)
{ output_high(pin_b0)
delay_ms(250)
output_low(pin_b0)
delay_ms(250)
}
}

DCP 29-10-2010 11:00 PM

không biết có phải lỗi do chương trình dịch không nữa.

DCP 29-10-2010 11:08 PM

có bác nào bớt chút thời gian giúp em một chút nhé,em đang chới với giữa dòng nè.

hcmut.khoamaisi 29-10-2010 11:26 PM

Trích:

Nguyên văn bởi DCP (Post 39729)
cảm ơn bạn nhé,mình sửa lại rồi nhưng vẫn không được bạn ạ.
#include <16f84A.h>
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
main()
set_tris_b(0)
{ while(1)
{ output_high(pin_b0)
delay_ms(250)
output_low(pin_b0)
delay_ms(250)
}
}

Bạn cứ code kiểu đó tới sáng mai cũng chưa xong đâu :) (mỗi dòng đều thiếu dấu ; ,thiếu dấu ngoặc hàm main!!!!!)
mình đã dơn về và chạy thử cái ct của bạn.Và nó chạy ok không vấn đề gì.Biên dịch ra file hẽ đàng hoàng
Code:

#include <16f84A.h>
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
main()
{
set_tris_b(0);
{ while(1)
{ output_high(pin_b0);
delay_ms(250);
output_low(pin_b0);
delay_ms(250);
}
}
}

cái này mà không được nữa thì chắc là lỗi chương trình rồi

DCP 29-10-2010 11:42 PM

cam ơn bạn nhé ok rồi .
mình đã xem các chương trình mẫu nhưng lại không nghĩ đến dấu ; sau mỗi dòng lệnh đó.
bởi khi mình viết asm thì nó chỉ để bắt đầu cho dòng chú thích.

chepcom 24-11-2010 03:28 AM

chào cả nhà! cho mình hỏi sao mình viết code trên ccs rồi build all thì nó không xuất file hex. chỉ có file .c và .bak. mình chọn new source file viết lệnh rồi build all.

chepcom 24-11-2010 02:36 PM

sao kỳ thiệt lúc được lúc khôg các pác ạ, bạn mình nói là khi viết một project mới thì phải close hết các project, mấy lần mình cũng làm như vậy nhưng lúc thì biên dịch ra đầy đủ các file lúc thì chỉ có 2 file .c và .bak.
pác nào biết giải thích giúp mình với!?

pucapuca123 15-07-2011 12:26 AM

Trích:

Nguyên văn bởi huuducel (Post 34637)
Anh F ơi cách sử dụng mảng trong CCS như thế nào ạ. Thực tế là em đang làm một cái mạch lấy số liệu từ bên ngoài sao đó cho số liệu X này so sánh với mảng [100,200,300,400,500,600,700]. Nếu X bằng với giá trị nào trong mảng thì xuất ra "H1"
Trong đó:
H1=100;H2=200;H3=300;H4=400;H5=500;H6=600;H7=700
Trường hợp X là số lẻ thì sao? làm tròn trên và dưới như thế nào. Thí dụ X=100.25 hoặc X=100.55 thì lúc đó sẽ chọn X là bao nhiêu so với mảng.

mình cũng đang là về cái này.
bạn nào làm được rùi gợi ý cho mình với.
cám ơn nhiều!

lamtuanhung 13-02-2012 01:04 PM

Trích:

Nguyên văn bởi falleaf (Post 4831)
Đây là báo cáo của Nguyễn Chí Linh thực hiện khi tham gia chương trình đào tạo mod của picvietnam.

Bỏ sót phần này quên đăng, xin thành thật xin lỗi Linh và tất cả các bạn

Chúc vui.

Đây là một cuốn sách hoàn toàn miễn phí được tiến sĩ Vũ Mạnh Hùng biên dịch phần help CCS của phần mềm lập trình cho VDK PIC sang Tiếng Việt và được đóng gói dưới dạng phần mềm help. Tất cả nội dung cuốn tài liệu này đều được biên dịch đến 90% sang tiếng việt, nội dung rễ hiểu, rễ đọc phù hợp với chuyên nghành điện. Nó thật sự hữu ích cho những người mới học PIC và cả các chuyên gia lập trình cho PIC.

Điều đặc biệt hơn nữa cuốn sách không chỉ có nội dung phần biên dịch Help CCS, nó còn bao gồm các kinh nghiệm rất quý báu của người đã sử dụng PIC đi trước, và một số ví dụ lập trình cho cổng USB, thẻ nhớ MMC/SD, các giao tiếp I2C, SPI

download tai day: http://updatebook.vn/dien-dien-tu-29...508/#post26966

lamtuanhung 13-02-2012 01:05 PM

Help CCS Tiếng Việt 4.0.2
 
Trích:

Nguyên văn bởi falleaf (Post 4831)
Đây là báo cáo của Nguyễn Chí Linh thực hiện khi tham gia chương trình đào tạo mod của picvietnam.

Bỏ sót phần này quên đăng, xin thành thật xin lỗi Linh và tất cả các bạn

Chúc vui.

Đây là một cuốn sách hoàn toàn miễn phí được tiến sĩ Vũ Mạnh Hùng biên dịch phần help CCS của phần mềm lập trình cho VDK PIC sang Tiếng Việt và được đóng gói dưới dạng phần mềm help. Tất cả nội dung cuốn tài liệu này đều được biên dịch đến 90% sang tiếng việt, nội dung rễ hiểu, rễ đọc phù hợp với chuyên nghành điện. Nó thật sự hữu ích cho những người mới học PIC và cả các chuyên gia lập trình cho PIC.

Điều đặc biệt hơn nữa cuốn sách không chỉ có nội dung phần biên dịch Help CCS, nó còn bao gồm các kinh nghiệm rất quý báu của người đã sử dụng PIC đi trước, và một số ví dụ lập trình cho cổng USB, thẻ nhớ MMC/SD, các giao tiếp I2C, SPI

download tai đây : http://updatebook.vn/dien-dien-tu-29...508/#post26966

lamtuanhung 13-02-2012 01:45 PM

Help CCS Tiếng Việt 4.0.2
 
Trích:

Nguyên văn bởi falleaf (Post 4831)
Đây là báo cáo của Nguyễn Chí Linh thực hiện khi tham gia chương trình đào tạo mod của picvietnam.

Bỏ sót phần này quên đăng, xin thành thật xin lỗi Linh và tất cả các bạn

Chúc vui.

Đây là một cuốn sách được tiến sĩ Vũ Mạnh Hùng biên dịch phần help CCS của phần mềm lập trình cho VDK PIC sang Tiếng Việt và được đóng gói dưới dạng phần mềm help. Tất cả nội dung cuốn tài liệu này đều được biên dịch đến 90% sang tiếng việt, nội dung rễ hiểu, rễ đọc phù hợp với chuyên nghành điện. Nó thật sự hữu ích cho những người mới học PIC và cả các chuyên gia lập trình cho PIC.

Điều đặc biệt hơn nữa cuốn sách không chỉ có nội dung phần biên dịch Help CCS, nó còn bao gồm các kinh nghiệm rất quý báu của người đã sử dụng PIC đi trước, và một số ví dụ lập trình cho cổng USB, thẻ nhớ MMC/SD, các giao tiếp I2C, SPI

DINH THANH SANG 13-02-2012 01:47 PM

Trích:

Nguyên văn bởi lamtuanhung (Post 54242)
Đây là một cuốn sách hoàn toàn miễn phí được tiến sĩ Vũ Mạnh Hùng biên dịch phần help CCS của phần mềm lập trình cho VDK PIC sang Tiếng Việt và được đóng gói dưới dạng phần mềm help. Tất cả nội dung cuốn tài liệu này đều được biên dịch đến 90% sang tiếng việt, nội dung rễ hiểu, rễ đọc phù hợp với chuyên nghành điện. Nó thật sự hữu ích cho những người mới học PIC và cả các chuyên gia lập trình cho PIC.

Điều đặc biệt hơn nữa cuốn sách không chỉ có nội dung phần biên dịch Help CCS, nó còn bao gồm các kinh nghiệm rất quý báu của người đã sử dụng PIC đi trước, và một số ví dụ lập trình cho cổng USB, thẻ nhớ MMC/SD, các giao tiếp I2C, SPI

download tai đây : http://updatebook.vn/dien-dien-tu-29...508/#post26966

chào bác dù sao cũng cảm ơn bác trước.
nhưng mà up lên đó cũng như không. có đăng ký mới tải được. bác cỏ thể up trực tiếp lên trang này luôn được không ạ hay các trang mà không đăng ký.
càm ơn bác.


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