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)
-   -   CCS C cho PIC/dsPIC phiên bản 4.xxx (http://www.picvietnam.com/forum/showthread.php?t=2296)

hoanghuy911 19-04-2010 01:19 AM

Delay với thời gian thực
 
Thêm một điều nữa mình dùng PIC16F877A và thạch anh 4Mhz để cho led sáng trong 1s tắt trong 1s thì mình delay_ms(?) mình khai báo là delay_ms(1000) mà mô phỏng trên ông Proteus nó vẫn cứ nháy loạn hết cả lên mà không đúng 1s. Xin các bạn giải thích dùm mình với? Xin chân thành cám ơn.

Hard 03-05-2010 06:50 AM

1 Attachment(s)
Trích:

Nguyên văn bởi hoanghuy911 (Post 35266)
Xin chào các cao thủ trên diễn đàn PIC VIỆT NAM mình là người mới tìm hiểu về PIC và đang dùng PIC16F877A mình muốn hỏi chương trình dùng tín hiệu vào ADC và dùng PWM để điều khiển độ sáng cho một con LED công suất. Bác nào có chương trình mẫu thì cho mình tham khảo với đây là chương trình của mình nhưng khi mô phỏng thấy im re biên dịch thì không có lỗi.
Phần cứng: Nút nhấn trên RB0 và biến trở nối với nguồn 5V và cho vào AN0.
Tạm thời mình chưa tìm hiểu cách post hình lên diễn đàn và đóng khung code nên mới viết như vậy mong mọi ng thông cảm. Mong hồi âm và xin chân thành cảm ơn!

code______________________________________________ _____________________

#include "C:\Documents and Settings\SMART HOME\Desktop\LAP TRINH PIC\CCS for PIC16F877A\PWM\cht\main.h"
// su dung adc o che do 8 bit
// chuong chinh doc 3 moc gia tri adc xuat ra tuong ung 3 muc sang cua den led
byte value;
void main()
{
byte value;

setup_adc_ports(AN0); // Thiet lap cong AN0 la cong vao ADC.
setup_adc(ADC_CLOCK_INTERNAL ); // Thiet lap che do xung mo rong
// setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
setup_timer_2(T2_DIV_BY_16,255,1);
setup_ccp1(CCP_PWM);
set_pwm1_duty(0);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

// TODO: USER CODE!!
set_tris_b(0x0f);
while(true)
{
if(input(PIN_B0)==1) //Tin hieu cam bien

{
set_adc_channel( 0 );
value = read_adc();
if((value>0)&&(value<100))
set_pwm1_duty(50);
else if((value>100)&&(value<200))
set_pwm1_duty(150);
else
set_pwm1_duty(255);
delay_ms(10);
}
else
set_pwm1_duty(0);
}

}
__________________________________________________ _______________________

Hi,
Đôi khi mô phỏng Protues không chạy nhưng thực tế lại chạy ngon ơ đó. Protues có một lỗi khi mô phỏng PWM, để khắc phục trước mắt xem chương trình của bác có chạy không thì bác thêm vào một dòng setup_timer_2(xxx) ngay sau khi thực hiện set_pwm1_duty(xx).
Để khắc phục lỗi củ chuối này của Protues, bác down file Pic16.dll sau và thay thế file Pic16.dll trong thư mục cài đặt. Lúc này không cần phải setup_timer_2(xx) nữa.
Thân ái.

hatbui 04-05-2010 12:57 PM

giúp em lỗi của chương trình
 
1 Attachment(s)
Chào các bác

Em đang tập viết chương trình dùng CCSC

chương trình đơn giản bên dưới. Compile không báo lỗi nhưng khi chạy mô phỏng thì không chạy/

Code:

#include <16f877A.h>
#include <def_877a.h>
#FUSES NOWDT, HS, NOPUT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG, NOPROTECT,
#use delay(clock=20000000)


//===========Chuong trinh chinh================
void main()
{
unsigned char i;

While(true)
{
for (i=0x01;i<0x80;i++)
{
PORTB=i;
delay_ms(100);
}
for (i=0x80;i>0x01;i--)
{
PORTB=i;
delay_ms(100);
}
}
}

Các bác giúp em với.

trieucn 26-05-2010 05:50 PM

Alo! có ai biết trong CCS, hàm so sánh xem xâu S2 có trong xâu S1 là j` không ạ?
Sử dụng như thế nào ạ?
Em đọc trong help thì hình như là hàm strstr();
Nhưng em so sánh ko thành công

nguyenvu149 05-06-2010 12:25 PM

Chào mọi người, mình mới bắt đầu nghiên cứu về PIC, hiện tại cũng đang cài đặt và sử dụng CCS 4.65, tuy nhiên vì chưa biết gì nên lúc vào thử viết code thì không biết phải viết ở mục nào, chọn PIC trong CCS ra sao, liên kết với MPLAB như thế nào, sau khi biêt xong thì dịch ra file cho PIC như thế nào, file này cuối cùng có phải là nạp vào PIC để mô phỏng trong protues không?

Ai biết chỉ giáo dùm với? chỉ cần viết cũng được, không cần minh họa hình ảnh.

tungtot_vl 05-06-2010 01:02 PM

led
 
Trích:

Nguyên văn bởi hatbui (Post 35676)
Chào các bác

Em đang tập viết chương trình dùng CCSC

chương trình đơn giản bên dưới. Compile không báo lỗi nhưng khi chạy mô phỏng thì không chạy/

Code:

#include <16f877A.h>
#include <def_877a.h>
#FUSES NOWDT, HS, NOPUT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG, NOPROTECT,
#use delay(clock=20000000)


//===========Chuong trinh chinh================
void main()
{
unsigned char i;

While(true)
{
for (i=0x01;i<0x80;i++)
{
PORTB=i;
delay_ms(100);
}
for (i=0x80;i>0x01;i--)
{
PORTB=i;
delay_ms(100);
}
}
}

Các bác giúp em với.

thêm dòng lệnh là chạy được
set_tris_b(0x00);

tranquoclap 09-06-2010 02:06 PM

cho em xin link down ccs c với các bác ơi!!!
 
anh em nào có link down ccs c post lại cho mình với!!! link bác F post từ đời nào rồi, giờ ko down dc!

pocolo276 21-06-2010 06:47 PM

1 Attachment(s)
là gà Pic.Nên cho mình hỏi lỗi này trong CCS

bean984 11-08-2010 04:12 PM

xin các bác giải thích các dùng watchdog hiệu quả?
nếu có ví dụ kèm theo thì tốt quá.thấy mọi người nói cái này rất quan trọng nhưng khi hướng dẫn thì không thấy các bác nhắc tới.
thanks mọi người!

bean984 26-08-2010 03:07 PM

cac cao thủ giấu bài kinh quá
không ai giúp đỡ mình sao

gawafer 06-09-2010 12:28 PM

Các bác ơi giúp em với. em muốn lập trình cho led ma trận chạy chữ với pic6F877A bằng ngôn ngữ C ,em không biết lập trình như thế nào các bác giúp em với
Địa chi mail của em : gawafer@yahoo.com

Mr.Bi 06-01-2011 10:04 AM

Trích:

Nguyên văn bởi pocolo276 (Post 36872)
là gà Pic.Nên cho mình hỏi lỗi này trong CCS

chữa lại (bỏ 2 dòng đó đi)
Code:

// long CCP_1
 // long CCP_2

tui không hiểu vì sao trong thư viện của u lại có vậy ,vì tui nhìn dòng bên dưới thì thấy đã định nghĩa
Code:

# byte CCP_1 ...
# byte CCP_2


Mr.Bi 06-01-2011 10:05 AM

Trích:

Nguyên văn bởi nguyenvu149 (Post 36543)
Chào mọi người, mình mới bắt đầu nghiên cứu về PIC, hiện tại cũng đang cài đặt và sử dụng CCS 4.65, tuy nhiên vì chưa biết gì nên lúc vào thử viết code thì không biết phải viết ở mục nào, chọn PIC trong CCS ra sao, liên kết với MPLAB như thế nào, sau khi biêt xong thì dịch ra file cho PIC như thế nào, file này cuối cùng có phải là nạp vào PIC để mô phỏng trong protues không?

Ai biết chỉ giáo dùm với? chỉ cần viết cũng được, không cần minh họa hình ảnh.

đọc lại bài 1 của luồng này

quangvanvo 09-01-2011 09:59 AM

các anh chị ơi em dịch chương trình thì được nhưng nó cứ báo warning la sao nhưng vẫn dich sang file de chạy trên prôtust được

bean984 15-02-2011 10:17 AM

mọi người cho mình hỏi dòng PIC nào hỗ trợ 2 cổng USART vây?
Thanks!


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