PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 08-06-2011, 06:54 PM   #1
tree
Nhập môn đệ tử
 
Tham gia ngày: May 2011
Bài gửi: 1
:
các huynh cho đệ hỏi pic 16f877a dùng phần mềm nào để nạp và mạch nạp nào thì hiệu quả nhât.
tree vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-10-2011, 06:12 PM   #2
NGUYEN24
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 3
:
Trích:
Nguyên văn bởi tree View Post
các huynh cho đệ hỏi pic 16f877a dùng phần mềm nào để nạp và mạch nạp nào thì hiệu quả nhât.
Bạn này có thể dùng PICKIT2 để nạp, phần mềm thì có thể dùng PICKIT2, hoặc có thể nạp trên MPLAB
__________________
- Mạch nạp vi điều khiển các loại
- LK Vi điều khiển
- Phụ kiện vi tính
- Quà tặng, Đồ dùng tiện ích

http://www.chipn24.com
NGUYEN24 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-12-2011, 11:50 AM   #3
holy_ghost
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 4
:
Mình đang làm mạch điều khiển động cơ DC, nhưng khi mô phỏng với Proteus ko chạy. Ai bjt lỗi gì ko? HELP!

Mô phỏng Proteus: http://www.mediafire.com/?tkk2cghepz34vp5


CODE:

#include <16F877A.h>

#fuses NOWDT,PUT,HS,NOPROTECT,NOLVP
#use delay(clock=10000000)
#use fast_io(b)
#define tocdo0 0 //toc do bang 0
#define td_macdinh 80 //toc do mac dinh
#define tocdo1 124 //1/5 toc do cuc dai
#define tocdo2 248 //2/5 toc do cuc dai
#define tocdo3 372 //3/5 toc do cuc dai
#define tocdo4 496 //4/5 toc do cuc dai
#define tocdo5 620 //toc do cuc dai
#byte portB =0x06
#bit B0 = portB.0
#bit B1 = portB.1
#bit B2 = portB.2
#bit B3 = portB.3
#bit B4 = portB.4
#bit B5 = portB.5
#bit B6 = portB.6
#bit B7 = portB.7
int16 duty1=0;
int16 duty2=0;
int8 bientocdo=0;
int1 bienthuan=0;
int1 biennghich=0;
void main() //bo PMW1 dk dong o quay thuan
{ //bo PMW2 dk dco quay nghich
set_tris_b(0x0ff); //khoi tao port B la port nhap
setup_ccp1(CCP_PWM); //khoi tao bo PWM1
setup_ccp2(CCP_PWM); //khoi tao bo PWM2
setup_timer_2(T2_div_by_16,154,1); //tao chu ky xung 1ms
//(1/clock)*4*t2div*(period+1)
//(1/10e6)*4*16*(154+1)=1e-3=1ms

set_pwm1_duty(duty1);
set_pwm2_duty(duty2);
//gia tri duty cua PWM duoc tinh theo cong thuc duty1*t2div/clock
//khoi tao duty=0 -> tat dong co
while(true)
{

if (B0 == 1)) //neu nhan phim FO : chay thuan
{
duty1=tocdo0;
duty2=tocdo0;
set_pwm1_duty(duty1); //cho duty cua 2 bo PMW=0 de
set_pwm2_duty(duty2); //tat dong co
delay_ms(1000); //delay 1s de giam quan tinh dong co
bienthuan=1;
biennghich=0;
goto next;
}
if (!bit_test(portb,2)) //neu nhan phim RE : chay nghich
{
duty1=tocdo0;
duty2=tocdo0;
set_pwm1_duty(duty1); //cho duty cua 2 bo PMW=0 de
set_pwm2_duty(duty2); //tat dong co
delay_ms(1000); //delay 1s de giam quan tinh dco
bienthuan=0;
biennghich=1;
goto next;
}
if (!bit_test(portb,3)) //nhan phim toc do 1
{
bientocdo=1;
goto next;
}
if (!bit_test(portb,4)) //nhan phim toc do 2
{
bientocdo=2;
goto next;
}
if (!bit_test(portb,5)) //nhan phim toc do 3
{
bientocdo=3;
goto next;
}
if (!bit_test(portb,6)) //nhan phim toc do 4
{
bientocdo=4;
goto next;
}
if (!bit_test(portb,7)) //nhan phim toc do 5

bientocdo=5;
next:

if (!bit_test(portb,0)) //neu nhan phim OFF
{
duty1=tocdo0;
duty2=tocdo0;
set_pwm1_duty(duty1); //cho duty cua 2 bo PMW=0 de
set_pwm2_duty(duty2); //tat dong co
bienthuan=0;
biennghich=0;
bientocdo=0; //xoa bien toc do
}
if (bienthuan)
{
duty2 = tocdo0;
switch (bientocdo)
{
case 1: duty1= tocdo1;
break;
case 2: duty1= tocdo2;
break;
case 3: duty1= tocdo3;
break;
case 4: duty1= tocdo4;
break;
case 5: duty1= tocdo5;
break;
default : duty1 = td_macdinh;
break;
}
set_pwm1_duty(duty1); //cho dco chay thuan
set_pwm2_duty(duty2);
}

if (biennghich)
{
duty1 = tocdo0;
switch (bientocdo)
{
case 1: duty2= tocdo1;
break;
case 2: duty2= tocdo2;
break;
case 3: duty2= tocdo3;
break;
case 4: duty2= tocdo4;
break;
case 5: duty2= tocdo5;
break;
default : duty2 = td_macdinh;
break;
}
set_pwm1_duty(duty1); //cho dco chay nghich
set_pwm2_duty(duty2);
}
}
}
File Kèm Theo
File Type: txt CODE.txt (3.8 KB, 9 lần tải)
holy_ghost vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bà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à 03:13 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