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 08-04-2011, 10:02 AM   #1
tienchuan
Đệ tử 4 túi
 
tienchuan's Avatar
 
Tham gia ngày: Oct 2008
Bài gửi: 71
:
Question Cần giúp chọn pic18fxx,chạy nguồn 3,3V có 2 UART

chào mọi người.
mình đang làm 1 mạch sử dụng module sim300 giao tiếp với Pic18F26k20,nhưng do yêu cầu phải thêm giao tiếp với máy tính thông qua RS485 nữa nên h mình cần mọi người tư vấn chọn cho con pic khác có 2 cổng UART để vừa giao tiếp vs máy tính,vừa giao tiếp với module Sim300.
Và mình cần xin thêm tài liệu để thực hiện 2 UART trên cùng 1 pic,có diều khiển gì khác so với điều khiển 1 UART như bt ko ?
Mong được mọi người giúp đỡ.
Chân thành cảm ơn.
Thân chào.
tienchuan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-04-2011, 05:01 PM   #2
hvhq
Nhập môn đệ tử
 
Tham gia ngày: Apr 2011
Bài gửi: 2
:
pic18fxx điều khiển động cơ!

mình đang làm đề tài trên pic18f4431 để điều khiển động cơ có bạn nào đã làm mảng này làm ơn chỉ mình với!
mình đã mày mò viết thử code nhưng ko biết có đúng ko?
đây là lần đầu tiên mình tiếp cận pic nên mong các bạn chỉ giáo!
thanks!
các bạn tham khảo code nhe!
#include<18f4431.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NODEBUG
#use delay(clock=20000000)
//#bit TBInt_pin = 0xfa4.4
FLOAT MODULATION_INDEX0,MODULATION_INDEX1;
INT16 U_DK2_DUTY;
INT8 adc,i = 0;
Void GENERATE_PWM()
{
set_power_pwm0_duty(U_DK2_DUTY);
}
Void GENERATE_PWM1()
{
set_power_pwm2_duty(U_DK2_DUTY);
}
void adc_init()
{
setup_adc_ports(SAN0);
setup_adc(adc_clock_internal);
set_adc_channel(0);
delay_ms(1000);
}
void pwm_init()
{
setup_power_pwm_pins(PWM_COMPLEMENTARY,PWM_COMPLEM ENTARY,PWM_OFF,PWM_OFF);
setup_power_pwm(PWM_CLOCK_DIV_128|PWM_UP_DOWN|PWM_ DEAD_CLOCK_DIV_16,1,0,62,0,1,0);
MODULATION_INDEX0 = 0;
MODULATION_INDEX1 = 1;
}
void chedo()
{
i=0;
while(i<80)
{
if(input(pin_C3))
{
adc = read_adc();
output_low(pin_d2);
output_high(pin_d3);
// output_low(pin_d1);
{
if(i<25)
{
U_DK2_DUTY = adc*MODULATION_INDEX0;
GENERATE_PWM();
i++;
}
if(25<=i<60)
{
U_DK2_DUTY = adc*MODULATION_INDEX1;
GENERATE_PWM();
i++;
}
if(60<=i<80)
{
U_DK2_DUTY = adc*MODULATION_INDEX0;
GENERATE_PWM();
i++;
}
// if(i == 80) {i == 0;}
}
}
if (input(pin_C4))
{
adc = read_adc();
// output_low(pin_d1);
output_low(pin_d3);
output_high(pin_d2);
//{
if(i<25)
{
U_DK2_DUTY = adc*MODULATION_INDEX0;
GENERATE_PWM1();
i++;
}
if(25<=i<60)
{
U_DK2_DUTY = adc*MODULATION_INDEX1;
GENERATE_PWM1();
i++;
}
if(60<=i<80)
{
U_DK2_DUTY = adc*MODULATION_INDEX0;
GENERATE_PWM1();
i++;
}
// if(i == 80) {i == 0;}
}
//if(i == 80) {i == 0;}
}}
void main()
{
GENERATE_PWM();
// SAN6==0;
// SAN7==0;
adc_init();
pwm_init();
while(true)
chedo();
}
hvhq 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à 02:55 PM.


Đượ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