![]() |
|
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. |
![]() |
![]() |
|
|