PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > PIC - Thiết kế và Ứng dụng

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

PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 16-12-2008, 10:24 PM   #1
roi
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Bài gửi: 27
:
help me!!!! pic 18f4431 + mikroC

Mình đang làm đồ án, sử dụng con pic 18f4431 để điều rộng xung, mình viết bằng mikroC. Rắc rối mình gặp phải là khi thử cho xuất LED với đoạn lệnh:
void main()
{
TRISB = 0;
PORTB = 0;
while(1)
{
PORTB = 1 - PORTB;
delay_ms(1);
}
}
thì LED nhấp nháy với thời gian khoảng 1 giây. Mình nghĩ có lẽ vì mình chưa chọn đúng chế độ sử dụng thạch anh ngoài ( 20Mhz ) nên có một nguồn dao động nội nào đó làm việc chứ không phải thạch anh mình đang dùng. àh, giờ mới nhớ ra con chip mình tính toán cực kì chậm. Là lỗi này phải không? bạn nào đã từng làm qua hướng dẫn giúp mình cách sửa lỗi với. Chương trình mình đã xong rồi, chỉ còn bị chỗ này mà tìm mãi trong datasheet vẫn không biết làm sao cho đúng. 4 ngày nữa phải nộp rồi. hic. Help me!!! Help me!!! SOS.
Thanks for all your help!
roi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-12-2008, 10:38 PM   #2
roi
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Bài gửi: 27
:
Anh Nam đang online phải ko? May quá, giúp em với. Em đang chẳng biết hỏi ai vì hầu như mọi người thích sử dụng CCS hơn MikroC. Thanks anh!
roi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-12-2008, 12:02 AM   #3
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi roi View Post
Mình đang làm đồ án, sử dụng con pic 18f4431 để điều rộng xung, mình viết bằng mikroC. Rắc rối mình gặp phải là khi thử cho xuất LED với đoạn lệnh:
void main()
{
TRISB = 0;
PORTB = 0;
while(1)
{
PORTB = 1 - PORTB;
delay_ms(1);
}
}
thì LED nhấp nháy với thời gian khoảng 1 giây. Mình nghĩ có lẽ vì mình chưa chọn đúng chế độ sử dụng thạch anh ngoài ( 20Mhz ) nên có một nguồn dao động nội nào đó làm việc chứ không phải thạch anh mình đang dùng. àh, giờ mới nhớ ra con chip mình tính toán cực kì chậm. Là lỗi này phải không? bạn nào đã từng làm qua hướng dẫn giúp mình cách sửa lỗi với. Chương trình mình đã xong rồi, chỉ còn bị chỗ này mà tìm mãi trong datasheet vẫn không biết làm sao cho đúng. 4 ngày nữa phải nộp rồi. hic. Help me!!! Help me!!! SOS.
Thanks for all your help!
Lâu rồi tôi không dùng mikroC nên cũng không nhớ rõ. Bạn có thể chụp màn hình thiết lập cấu hình của bạn lên không (chụp tất cả các phần cấu hình)? PIC18F4431 có 7 từ cấu hình, tôi đã biết nhiều người gặp các hành vi khó hiểu của PIC vì thiết lập không đầy đủ các từ cấu hình. Ví dụ dưới đây là cấu hình điển hình của tôi cho PIC18F4431 (để bạn có khái niệm về những field cần thiết lập):
Code:
#pragma config OSC = HS
#pragma config FCMEN = OFF
#pragma config IESO = OFF
#pragma config PWRTEN = ON
#pragma config BOREN = ON
#pragma config BORV = 27
#pragma config WDTEN = OFF
#pragma config WINEN = OFF
#pragma config WDPS = 32768
#pragma config T1OSCMX = OFF
#pragma config HPOL = HIGH
#pragma config LPOL = HIGH
#pragma config PWMPIN = ON
#pragma config MCLRE = ON
#pragma config EXCLKMX = RD0
#pragma config PWM4MX = RD5
#pragma config SSPMX = RD1
#pragma config FLTAMX = RD4
#pragma config STVREN = ON
#pragma config LVP = OFF
#pragma config DEBUG = OFF
#pragma config CP0 = OFF
#pragma config CP1 = OFF
#pragma config CP2 = OFF
#pragma config CP3 = OFF
#pragma config CPB = OFF
#pragma config CPD = OFF
#pragma config WRT0 = OFF
#pragma config WRT1 = OFF
#pragma config WRT2 = OFF
#pragma config WRT3 = OFF
#pragma config WRTB = OFF
#pragma config WRTC = OFF
#pragma config WRTD = OFF
#pragma config EBTR0 = OFF
#pragma config EBTR1 = OFF
#pragma config EBTR2 = OFF
#pragma config EBTR3 = OFF
#pragma config EBTRB = OFF
Để xuất thông tin ra các port I/O của PIC18 thì bạn nên dùng thanh ghi LATx thay vì PORTx. Quy tắc đơn giản: xuất ra LATx, đọc từ PORTx.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-12-2008, 08:58 PM   #4
roi
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Bài gửi: 27
:
Em cảm ơn anh đã dành thời gian đọc bài và giúp em, em đã làm được rồi ạ. Có lẽ hôm trước em chưa set mấy thanh ghi về 0. Em cũng hoàn thành đề tài rồi, nhưng không biết cách post lên diễn đàn thế nào. À, anh cho em hỏi nhé. Em làm biến tần, dùng opto PC817 cách li từ PIC ra IRAMX(tần số tối đa là 20Khz) nhưng khi em cài đặt cho hoạt động ở tần số khoảng 5kHz thì đèn sáng rất yếu. Có phải do opto không thể đáp ứng được tần số lớn không ạ? Nếu vậy thì em có thể tìm mua loại OPTO nào chịu được tần số lớn hơn? Em cảm ơn anh nhiều!
roi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-12-2008, 11:40 PM   #5
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi roi View Post
Em cảm ơn anh đã dành thời gian đọc bài và giúp em, em đã làm được rồi ạ. Có lẽ hôm trước em chưa set mấy thanh ghi về 0. Em cũng hoàn thành đề tài rồi, nhưng không biết cách post lên diễn đàn thế nào. À, anh cho em hỏi nhé. Em làm biến tần, dùng opto PC817 cách li từ PIC ra IRAMX(tần số tối đa là 20Khz) nhưng khi em cài đặt cho hoạt động ở tần số khoảng 5kHz thì đèn sáng rất yếu. Có phải do opto không thể đáp ứng được tần số lớn không ạ? Nếu vậy thì em có thể tìm mua loại OPTO nào chịu được tần số lớn hơn? Em cảm ơn anh nhiều!
Theo datasheet của PC817:
http://sharp-world.com/products/devi...t/pc817x_e.pdf

thời gian tăng/giảm điển hình là 3 - 4 us (xấu nhất có thể đến 18 us), với điều kiện thử nghiệm đã nêu trong datasheet. Nếu điều kiện làm việc của mạch khác với điều kiện thử nghiệm, các thời gian tăng/giảm này có thể lớn hơn nữa. Cần chú ý rằng CTR (Current Transfer Ratio) thực tế của các optocoupler biến động khá nhiều, và có thể nhỏ hơn nhiều so với giá trị trong datasheet.

Với tần số 5 kHz, mỗi chu kỳ chỉ có 200 us, nếu thời gian tăng/giảm của optocoupler là khoảng 20 us thì tôi không nghĩ rằng bạn có nhiều thời gian để hiện thực các giải thuật. Không rõ bạn tạo ngõ ra 1 pha hay 3 pha.

Nếu ở VN thì có lẽ tôi dùng 6N136 (lâu rồi tôi không rõ thị trường linh kiện ở VN ra sao).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-12-2008, 12:33 PM   #6
roi
Đệ tử 2 túi
 
Tham gia ngày: Sep 2008
Bài gửi: 27
:
Em làm biến tần 3 pha. Lần đầu tiếp xúc với linh kiện thực tế nên không có kinh nghiệm. Cảm ơn anh về mọi sự giúp đỡ, hy vọng sẽ được tham khảo ý kiến của anh nhiều hơn. Chúc anh luôn khỏe và thành công!
roi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-12-2008, 11:25 PM   #7
nhatson.elec
Đệ tử 4 túi
 
Tham gia ngày: Nov 2008
Bài gửi: 84
:
Ở việt nam opto cao tốc có thể kiếm 6n137
nhatson.elec 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à 09:54 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