![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Sep 2012
Bài gửi: 10
: |
Cần tư vấn về PWM cho pic18f4331.
Chào các bác.
Tình hình là e bị giao bài tập về nhà. Đề khoai quá.e thì mới học pic nên cũng chưa rõ lắm.(gà).hề. Các pro giúp em băm xung 4 lỗ độc lập.điều khiển động cơ. Em mới viết dc mấy dòng code thế này; //////////////////////////////////////////////////////////////// #include <p18f4431.h> #include <stdio.h> #include <delays.h> //---------------------------------Cau hinh chip------------------------------------ #pragma config OSC = HS #pragma config FCMEN = OFF #pragma config IESO = OFF #pragma config PWRTEN = OFF #pragma config BOREN = OFF #pragma config WDTEN = OFF #pragma config T1OSCMX = OFF #pragma config HPOL = HIGH #pragma config LPOL = HIGH #pragma config PWMPIN = OFF #pragma config MCLRE = ON #pragma config EXCLKMX = RD0 #pragma config PWM4MX = RB5 #pragma config SSPMX = RD1 #pragma config FLTAMX = RC1 #pragma config STVREN = OFF #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 //-----------------------------------end--------------------------------------------- //------------------------------khoi ham tao tre---------------------------- void delay (void) { Delay10TCYx(2); } void delay_ms(int us) { int ims; for(ims=0;ims<us;ims++) { Delay1KTCYx(4); Delay100TCYx(10); } } void delay_s(int ms) { int ims; for(ims=0;ims<ms;ims++) { delay_ms(1000); } } //----------------------------- end----------------------------- //-------------------Khoi ham khoi tao----------------------------- void Init_Interrupt(void) { //Cho phep ngat ngoai 0,1,2; Ngat uu tien cao RCONbits.IPEN = 1; INTCON = 0b11010000; INTCON2 = 0x00; INTCON3 = 0b11011000; PIR1 = 0x00; PIR2 = 0x00; PIR3 = 0x00; PIE1 = 0x00; PIE2 = 0x00; PIE3 = 0x00; IPR1 = 0x00; IPR2 = 0x00; IPR3 = 0x00; } void Init_PWM(void) { PTCON0 = 0x00; //Postscale 1:1, Prescale 1:1, Free Running PTCON1 = 0x80; //PWM time base is on, Count Up! PWMCON0 = 0x4F; //Enable PWM0-5, Independent Mode PWMCON1 = 0x00; ///////////////////////////////////////////////////////// Mớ có thế thui.giúp em với các anh các chị ơi. |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Sep 2012
Bài gửi: 10
: |
Không có ai giúp em ak.
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 2 túi
Tham gia ngày: Jun 2011
Bài gửi: 37
: |
Bạn lập trình bằng soft gì vậy. Mình dùng CCS thì trong CCS có sẵn các hàm cho module power pwm, còn bạn dùng soft khác thì mình ko rành, mình share cho bạn code bằng CCS nhé
Đề điều khiển 4 động cơ thì đơn giản nhất là dùng 4 chân pwm1, pwm3, pwm5, pwm7 của module power pwm để điều khiển setup_power_pwm(pwm_clock_div_4|pwm_free_run,1,0,6 25,0,1,0); //cài đặt tần số xung 8kHz setup_power_pwm_pins(pwm_odd_on,pwm_odd_on,pwm_odd _on,pwm_odd_on); // cho phép xuất xung các chân lẻ set_power_pwm0_duty(0); //xuất xung chân pwm1 set_power_pwm2_duty(0); //xuất xung chân pwm3 set_power_pwm4_duty(0); //xuất xung chân pwm5 set_power_pwm6_duty(0); //xuất xung chân pwm7 giá trị duty từ 0-2500 |
![]() |
![]() |
![]() |
#4 | |
Đệ tử 1 túi
Tham gia ngày: Aug 2012
Bài gửi: 24
: |
Trích:
bác có thể dạy em thêm chút về tạo PWM theo quy luật của bange giá trị sine không em đang cần thanks bác nhiều |
|
![]() |
![]() |
![]() |
#5 |
Nhập môn đệ tử
Tham gia ngày: Sep 2012
Bài gửi: 10
: |
Em viết bằng ngôn ngữ C bác ak. code của bác viết bằng CCS em chả biết tị gì.hj.
Dù sao thì cung thank bác nhiều. |
![]() |
![]() |
![]() |
#6 |
Nhập môn đệ tử
Tham gia ngày: Feb 2012
Bài gửi: 5
: |
chiviyeu_ltk91 b nói thế là bó tay rồi vì CCS là phần mềm viết bằng ngôn ngữ C cho PIC mà
|
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|