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 07-06-2009, 12:03 AM   #16
hoc_picpicpic
Đệ tử 6 túi
 
Tham gia ngày: Feb 2009
Bài gửi: 127
:
bác Mr.Bi ơi con robo đó có những chức năng gì thế , em thấy bác dùng pic8f4431 mà sao chẳng thấy đoạn code nào viết cho bộ PWM thế .
hoc_picpicpic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-06-2009, 01:45 AM   #17
vidieukhiencdn
Đệ tử 7 túi
 
vidieukhiencdn's Avatar
 
Tham gia ngày: May 2009
Bài gửi: 242
:
Bạn tienchuan oi mạch nhiệt độ LM35 bạn thử chưa, chạy tốt ko vậy, minh muốn làm thử mạch đó
vidieukhiencdn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-06-2009, 09:07 AM   #18
tienchuan
Đệ tử 4 túi
 
tienchuan's Avatar
 
Tham gia ngày: Oct 2008
Bài gửi: 71
:
Trích:
Nguyên văn bởi vidieukhiencdn View Post
Bạn tienchuan oi mạch nhiệt độ LM35 bạn thử chưa, chạy tốt ko vậy, minh muốn làm thử mạch đó
Dạ em đã làm mạch thật,mạch này em làm để nộp ở môn Thực Tập Mạch Số Ứng Dụng(thầy đã test thử bằng điếu con ngựa,và cho em điểm A hehe).Mạch chạy rất ổn định,sai số cỡ chưa tới 1 độ ,nhưng do khi làm mạch in,em hàn con lm35dz gần chỗ nguồn (con 7805),nên nó chạy một lát thì có sai số chút ít(do con 7805 nó nóng lên anh ơi).Em thấy anh/bạn nên vẽ jump để đưa con lm 35dz ra khỏi mạch in bằng dây tín hiệu 3 đường (dây 3 sợi ấy) thì mạch đo ngon ơ luôn !
Chúc Anh/bạn thành công !
Chào !!! [+=+]
tienchuan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-06-2009, 11:30 AM   #19
vidieukhiencdn
Đệ tử 7 túi
 
vidieukhiencdn's Avatar
 
Tham gia ngày: May 2009
Bài gửi: 242
:
Thank bạn rất nhiều, mình sẽ ráp thử, có gì ko rõ bạn giúp mình nhé.
vidieukhiencdn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-06-2009, 09:01 PM   #20
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
Trích:
Nguyên văn bởi hoc_picpicpic View Post
bác Mr.Bi ơi con robo đó có những chức năng gì thế , em thấy bác dùng pic8f4431 mà sao chẳng thấy đoạn code nào viết cho bộ PWM thế .
Trong mạch này t đâu dùng PWM mà khai báo làm chi .

thay đổi nội dung bởi: Mr.Bi, 13-06-2009 lúc 04:44 PM.
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-08-2009, 03:40 PM   #21
sonduy1
Đệ tử 1 túi
 
Tham gia ngày: Jun 2009
Bài gửi: 20
:
bác vào khoe hàng hay giúp đỡ anh em tìm hiểu pic vậy.post những bài mà a,e ở đây xài dc,còn cái đó từ từ đã.
sonduy1 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-08-2009, 11:07 PM   #22
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
Trích:
Nguyên văn bởi sonduy1 View Post
bác vào khoe hàng hay giúp đỡ anh em tìm hiểu pic vậy.post những bài mà a,e ở đây xài dc,còn cái đó từ từ đã.
sr , đây là luồng cùng trao đổi về PIC chứ k phải luồng dành cho ng mới bắt đầu , điều đó cũng có thể hỉu là căn bản về PICu cần phải có , đã sử dụng wa hết các chức năng của PIC. t chỉ đi sâu vào ứng dụng những chức năng đó , cách giao tiếp với những module ngoài . ok ?
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-08-2009, 05:38 PM   #23
sonduy1
Đệ tử 1 túi
 
Tham gia ngày: Jun 2009
Bài gửi: 20
:
bác coi giúp e cái !..!

#include <16f877a.h>
#fuses HS,NOWDT
#use delay(clock=4000000)
#byte trisb=0x86
#byte portb=0x06
#BYTE TRISD=0X88
#BYTE PORTD=0X08


char bang_ma[10]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};
char n1,n2,n3,n4;
char sec,min,h;
#int_timer1
void ngat_TMR1()
{ int time,count;
set_timer1(15535);
time++;
if(time=1);//dc 1/2s
//<thuc hien cong viec>
{
count++;
if(count==1)
{ portb=bang_ma[N1];
OUTPUT_LOW(PIN_A0);
DELAY_MS(10);
OUTPUT_HIGH(PIN_A0);
}
if(count==2)
{ portb=bang_ma[N2];
OUTPUT_LOW(PIN_A1);
DELAY_MS(10);

}
if(count==3)
{ portD=bang_ma[N3];

OUTPUT_LOW(PIN_A4);DELAY_MS(10);
OUTPUT_HIGH(PIN_A4);
}
if(count==4)
{ portD=bang_ma[N4];
OUTPUT_LOW(PIN_A5);
DELAY_MS(10);
}
count==0;



}
time==0;
}
//SU DUNG HAM NGAT TIMER0 DE HIEN THI
#INT_TIMER0

void ngat_timer0()
{ int dem;

set_timer0(15536); //mac dinh gia tri ban dau cho TMR0

dem++;
if(dem==20) //20*50000=1s
{ dem=0;
sec++;
}
if(sec==60)
{ sec=0;
min++;
}
if(min==60)
{ min=0;
h++;
}
if(h==24)
{ h=0;
}
}





VOID main(void)
{ trisb=0x00;
portb=0xff;
TRISD=0X00;
PORTD=0XFF;
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
set_timer0(15536);
enable_interrupts(int_timer0);
enable_interrupts(global);


setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
set_timer1(15535);
enable_interrupts(int_timer1);
enable_interrupts(global);
N1=H/10;
N2=H%10;
N3=SEC/10;
N4=SEC%10;
while(1)
{

NGAT_TIMER0();
N1=H/10;
N2=H%10;
N3=SEC/10;
N4=SEC%10;
ngat_TMR1();

}
}
sonduy1 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-08-2009, 09:20 PM   #24
greenfield
Đệ tử 6 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 152
:
Bác nào đã làm chuẩn giao tiêps SPI xing chỉ cho em với. Em đang cần làm giao tiếp với EEPROM
greenfield vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-08-2009, 09:06 PM   #25
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
Trích:
Nguyên văn bởi greenfield View Post
Bác nào đã làm chuẩn giao tiêps SPI xing chỉ cho em với. Em đang cần làm giao tiếp với EEPROM
EEPROM bi h thường giao tiếp I2C , vd mấy con 24Cxx . Nếu ai đã từng làm về I2C thì sẽ thấy cực kỳ dễ dùng . B chưa test thử EEPROM với chuẩn SPI
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-08-2009, 09:27 PM   #26
Mr.Bi
Đệ tử 7 túi
 
Tham gia ngày: Jul 2007
Nơi Cư Ngụ: Đà Nẵng
Bài gửi: 188
:
Trích:
Nguyên văn bởi sonduy1 View Post
#include <16f877a.h>
#fuses HS,NOWDT
#use delay(clock=4000000)
#byte trisb=0x86
#byte portb=0x06
#BYTE TRISD=0X88
#BYTE PORTD=0X08


char bang_ma[10]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};
char n1,n2,n3,n4;
char sec,min,h;
#int_timer1
void ngat_TMR1()
{ int time,count;
set_timer1(15535);
time++;
if(time=1);//dc 1/2s
//<thuc hien cong viec>
{
count++;
if(count==1)
{ portb=bang_ma[N1];
OUTPUT_LOW(PIN_A0);
DELAY_MS(10);
OUTPUT_HIGH(PIN_A0);
}
if(count==2)
{ portb=bang_ma[N2];
OUTPUT_LOW(PIN_A1);
DELAY_MS(10);

}
if(count==3)
{ portD=bang_ma[N3];

OUTPUT_LOW(PIN_A4);DELAY_MS(10);
OUTPUT_HIGH(PIN_A4);
}
if(count==4)
{ portD=bang_ma[N4];
OUTPUT_LOW(PIN_A5);
DELAY_MS(10);
}
count==0;



}
time==0;
}
//SU DUNG HAM NGAT TIMER0 DE HIEN THI
#INT_TIMER0

void ngat_timer0()
{ int dem;

set_timer0(15536); //mac dinh gia tri ban dau cho TMR0

dem++;
if(dem==20) //20*50000=1s
{ dem=0;
sec++;
}
if(sec==60)
{ sec=0;
min++;
}
if(min==60)
{ min=0;
h++;
}
if(h==24)
{ h=0;
}
}





VOID main(void)
{ trisb=0x00;
portb=0xff;
TRISD=0X00;
PORTD=0XFF;
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
set_timer0(15536);
enable_interrupts(int_timer0);
enable_interrupts(global);


setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
set_timer1(15535);
enable_interrupts(int_timer1);
enable_interrupts(global);
N1=H/10;
N2=H%10;
N3=SEC/10;
N4=SEC%10;
while(1)
{

NGAT_TIMER0();
N1=H/10;
N2=H%10;
N3=SEC/10;
N4=SEC%10;
ngat_TMR1();

}
}
k biết u mún hỏi j , đọc sơ thì thấy hình như u chưa nắm ngắt timer
- K ai gọi hàm ngat_timer0() , ngat_timer1() cả ,khi khởi tạo ngắt timer , ta đã đặt thời gian ngắt , cứ khi mô timer tràn thì tạo ngắt , trong ct chính , ta k phảii gọi . Í tui nói ở đây là u xem hàm ngắt timer như 1 hàm con bình thường nên gọi . Hỉu sai chỗ í đó
- Đã dùng ngắt timer thì k ai còn gọi thêm delay nữa . Mục đích của ngắt timer là thay thế cho delay
- Trong hàm ngắt timer 1 , cuối ct ngắt có count ==0 để trống trơn t k hỉu u chỗ ni mún j , cóa phải u mún xóa biến count ??? Nếu xóa biến count thì ct k thực hiện đc if (count==2) , ==3 ... biết vì sao k ? Thử nhẩm sẽ thấy , vì count k bao h đếm lên đc tới 2
Mr.Bi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-10-2011, 07:48 PM   #27
van truong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 16
:
chuong trinh do chay chet lien ,len mang pot bay cho vui do ma
van truong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-10-2011, 07:53 PM   #28
van truong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 16
:
led 3D 8*8*8 cube

su dung pic de lam led 3d
van truong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-10-2011, 08:08 PM   #29
van truong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 16
:
Smile led 3D 8*8*8 cube

hinh anh va video minh thuc hien ne
hinh anh
http://www.mediafire.com/i/?v7e0zeflavzdff6
http://www.mediafire.com/i/?v69s9mu684mkt2q
video
http://www.mediafire.com/?haqkr203ztj2qzi
http://www.mediafire.com/?rec1ml6niyntymf
van truong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 29-10-2011, 08:16 PM   #30
van truong
Đệ tử 1 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 16
:
led 3D 8*8*8 cube

hinh anh va video minh thuc hien ne
hinh anh
http://www.mediafire.com/i/?v7e0zeflavzdff6
http://www.mediafire.com/i/?v69s9mu684mkt2q
video
http://www.mediafire.com/?haqkr203ztj2qzi
http://www.mediafire.com/?rec1ml6niyntymf

///////////////////////////////
van truong 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à 01:07 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