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 Bài Trong Ngày 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 26-12-2007, 05:01 PM   #1
tungtot_vl
Đệ tử 6 túi
 
tungtot_vl's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 154
:
cảm ơn anh đã nhắc nhỡ

Bạn thấy có hiện tượng reset lại từ đầu như thế nào? Bạn mô tả chi tiết hiện tượng mà bạn thấy. Bạn nên chèn thêm một đoạn lệnh xuất dữ liệu ra RS232 hoặc ra một pin nào đó để kiểm tra xem có phải PIC reset lại hay không ? (nếu chương trình chạy trở lại void main() thì xuât, k thì thôi). Tôi nghĩ hiện tượng xảy ra ở đây không phải là reset, vì PIC thường bị reset khi bạn điều khiển động cơ, rơ le,... chứ điều khiển mấy cái led này thì hơi khó bị reset. Bạn nên xem xét lại kĩ nhá.

em đã kiểm tra kỷ rồi và cũng gởi lên pc dòng lệnh trước while(). cho chữ dịch sang trái hoặc phải. khi dịch gần được 1 chữ (1 led) thì reset lại và tiếp tục như thế. và đương nhiên là trên pc cũng có dòng kiểm tra reset của pic. nếu không có mạch hiển thị chữ tức là chỉ kiểm tra pic không hoặc kô có tụ thì chạy bình thường.
Cái tụ 10u song song với điện trở cực B của transistor mình thấy chẳng có lợi ích gì mà còn có hại. Khi tụ nạp dòng điện nạp lúc đầu rất lớn, nếu chân IO ko có khả năng chịu dòng điện lớn trong thời gian ngắn có thể bị hư.

cái tụ này rất hiệu quả đấy anh ạ. nêu ta mắc thêm tụ này sẽ làm cho a1013 phóng nhanh và mạch hơn đồng thời dòng rất ổn định
khi mắc tụ này vào bảng led sẽ sáng hơn rất nhiều và sẽ làm giảm đi rất đáng kể hiện tượng cột nào có nhiều điểm sáng thì mờ và ít điểm sáng thì rỏ, nói chung khi có tụ này thì sẽ làm cho bảng quang báo rỏ và sáng điều các led hơn.
tungtot_vl vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-12-2007, 09:54 PM   #2
electronicltv
Đệ tử 4 túi
 
electronicltv's Avatar
 
Tham gia ngày: Jul 2006
Nơi Cư Ngụ: Bốn biển là nhà
Bài gửi: 69
:
Tụ 10uF có chức năng cản thiện cạnh xung: Khi Y7 ở mức 0 thì điện áp trên cực B của Q1 gần bằng 5V, tụ điện được nạp điện. Khi Y7 chuyển lên mức 1, điện áp trên cực B của Q1 gần bằng điện áp trên Y7 + điện áp trên tụ => Q1 tắt nhanh và áp trên cực B của Q1 > 5V rất nhiều.Khi Y7 đang ở mức 1, tụ điện xả điện qua điện trở, Y7 chuyển xuống mức 0, dòng qua cực B của Q1 gồm dòng qua điện trở và dòng nạp tụ rất lớn => Q1 dẫn rất nhanh, dòng dẫn mạnh. Vì vậy tác dụng cải thiện cạnh xung của Q1 vô tình tạo xung nhiễu > 5V làm ảnh hưởng đến PIC => reset PIC. Tùy vào khả năng chịu nhiễu và dòng tải của 877 hay 4550 sẽ cho kết quả khác nhau. Vì vậy trong ứng dụng này không nên sử dụng tụ điện cải thiện cạnh xung. Ta chỉ cần giảm điện trở 4.7k xuống khoảng 2.2k và gắn thêm điện trở 10k từ cực B lên VCC là hoạt động tốt. Nên gắn thêm điện trở hạn dòng cho Led.
__________________
YM: electronicltv
electronicltv vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-12-2007, 05:01 PM   #3
tungtot_vl
Đệ tử 6 túi
 
tungtot_vl's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 154
:
reset 4550

Trích:
Nguyên văn bởi electronicltv View Post
Tụ 10uF có chức năng cản thiện cạnh xung: Khi Y7 ở mức 0 thì điện áp trên cực B của Q1 gần bằng 5V, tụ điện được nạp điện. Khi Y7 chuyển lên mức 1, điện áp trên cực B của Q1 gần bằng điện áp trên Y7 + điện áp trên tụ => Q1 tắt nhanh và áp trên cực B của Q1 > 5V rất nhiều.Khi Y7 đang ở mức 1, tụ điện xả điện qua điện trở, Y7 chuyển xuống mức 0, dòng qua cực B của Q1 gồm dòng qua điện trở và dòng nạp tụ rất lớn => Q1 dẫn rất nhanh, dòng dẫn mạnh. Vì vậy tác dụng cải thiện cạnh xung của Q1 vô tình tạo xung nhiễu > 5V làm ảnh hưởng đến PIC => reset PIC. Tùy vào khả năng chịu nhiễu và dòng tải của 877 hay 4550 sẽ cho kết quả khác nhau. Vì vậy trong ứng dụng này không nên sử dụng tụ điện cải thiện cạnh xung. Ta chỉ cần giảm điện trở 4.7k xuống khoảng 2.2k và gắn thêm điện trở 10k từ cực B lên VCC là hoạt động tốt. Nên gắn thêm điện trở hạn dòng cho Led.
đúng như anh nói khả năng chịu dòng của 877 tốt hơn 4550. em đã cho bộ đệm vào portb và led để khéo dòng xuống max. còn portb chỉ điểu khiển bộ đệm quả nhiên là 4550 không reset nữa và chạy rất ổn định. tìm hoài mới ra đúng là khổ thật.
tungtot_vl vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 31-12-2007, 08:16 AM   #4
tungtot_vl
Đệ tử 6 túi
 
tungtot_vl's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 154
:
còn một vấn đề này nữa em chưa giải quyết được mong các anh giúp em luôn.
em viết chương trình cho gởi ký tự từ pc xuống pic.
nếu chương trình ngắn thì sau khi thực hiện ngắt để nhận tín hiệu từ pc thì chương trình quay về vị trí tại điểm ngắt bình thường để thực hiện các lệnh tiếp theo.
nhưng nếu chương trình quá dài thì sau khi ngắt để thực hiện tín hiệu từ pc xuống nó không quay về vị trí cũ nữa. do đó ko thực hiện các lệnh tiếp theo được. nhưng nếu tiếp tục gởi tín hiệu từ pc xuống thì nó vận nhận bình thường.
có phải vì chương trình quá dài nên sau khi thực hiện ngắt nó nhảy không tới được vị trí cũ không hả các anh.
tungtot_vl vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-01-2008, 01:38 AM   #5
footballer
Đệ tử 1 túi
 
Tham gia ngày: Dec 2007
Bài gửi: 16
:
Chào các anh, em đang học con PIC18F4550 theo luồng này, có anh nào có thể send cho em quyển tài liệu "USB complete" được không?
email của em: quang.dktd@gmail.com
footballer vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-02-2008, 03:26 PM   #6
tungtot_vl
Đệ tử 6 túi
 
tungtot_vl's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 154
:
chào các anh. em dùng mạch nạp propic2, winpic800. nạp bình thường bằng socket và icsp cho pic 877 nhưng riêng pic 18 thì chỉ nạp được chương trình trên socket còn nạp bằng icsp thì không được. đã thử cả 18f4550 và 18f4580 qua cổng ICSP nhưng Winpic không nhận dạng được. vì sao các đại ca chỉ cho em biết với
tungtot_vl vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-02-2008, 05:27 PM   #7
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi tungtot_vl View Post
chào các anh. em dùng mạch nạp propic2, winpic800. nạp bình thường bằng socket và icsp cho pic 877 nhưng riêng pic 18 thì chỉ nạp được chương trình trên socket còn nạp bằng icsp thì không được. đã thử cả 18f4550 và 18f4580 qua cổng ICSP nhưng Winpic không nhận dạng được. vì sao các đại ca chỉ cho em biết với
Một số PIC18 nhạy cảm với nhiễu trên các chân PGD và PGC khi nạp chương trình. Khi nạp bằng socket ở trên mạch nạp, bạn không nối vi điều khiển với bất kỳ mạch ngoài nào, và các đường tín hiệu thường khá ngắn (chỉ vài cm). Khi nạp bằng ICSP thì bạn thường dùng cáp để nối từ mạch nạp sang mạch đích, cáp này có thể bị nhiễu. Ngoài ra, các mạch ngoài nối vào vi điều khiển cũng cần được thiết kế thích hợp để không ảnh hưởng đến việc nạp bằng ICSP. Bạn đọc thêm ở luồng sau về một số điều cần chú ý khi dùng ICSP (chú ý post #15):

http://www.picvietnam.com/forum/showthread.php?t=429

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-07-2008, 09:38 AM   #8
tallht
Đệ tử 5 túi
 
tallht's Avatar
 
Tham gia ngày: Mar 2008
Nơi Cư Ngụ: Bình Thạnh, TPHCM
Bài gửi: 98
:
bang chủ không học nữa ah?
__________________
-------------------------------------------------------------------
Cung cấp bo mạch thực hành Arduino và các mạch sáng tạo.
Mời tham quan: https://www.facebook.com/eshop1109

Cung cấp dịch vụ order hàng từ Aliexpress
Liên hệ: https://www.facebook.com/Mua-h%E1%BB...5265931515571/
tallht vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2009, 12:06 PM   #9
tranhuyky
Đệ tử 2 túi
 
Tham gia ngày: Nov 2006
Bài gửi: 39
:
Send a message via Yahoo to tranhuyky
Chào mọi người.
Mình đang làm với 18F4550 và CCS. Mình gặp vấn đề về bộ nhớ.
Hiện tại chương trình của mình chiếm 60% RAM và 100% ROM.
Mình viết thêm thì bị báo không đủ bộ nhớ.
Có cách nào giải quyết không?
Mong mọi người giúp đở.
tranhuyky vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2009, 03:53 PM   #10
tungtot_vl
Đệ tử 6 túi
 
tungtot_vl's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 154
:
có thể dung pic có rom, ram lớn hơn để thay nhưng 4550 chạy ở 48M nên nhanh hơn các con khác một tý. nếu bạn ko dùng chức năng giao tiếp USB thì có thể dùng pic 18f4680 có rom, ram gấp đôi 18f4550
tungtot_vl vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-04-2009, 10:57 PM   #11
manhha2799
Đệ tử 5 túi
 
Tham gia ngày: Apr 2007
Bài gửi: 121
:
Send a message via Yahoo to manhha2799
Có con 18f4685 còn có bộ nhớ ROM RAM lớn hơn mấy con khác mà chân Dip. Bạn thử dùng con này cũng oki.
__________________
Bảng ledsigns chất lượng cao...
http://www.ledviet.info - manhha2700@yahoo.com
Đt:0949299699
manhha2799 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-05-2009, 01:22 AM   #12
newboystylew
Đệ tử 1 túi
 
Tham gia ngày: Oct 2008
Bài gửi: 19
:
Unhappy thac max

bang chủ ơi cho em hỏi có con IC nào có tính năng ngược lại con IC 74hc154 không? 74154 nay giai mã ngõ ra tích cực mức thấp giờ em mún cũng giống như con 74154 này nhung ngõ ra tích cực mức cao.
em đang cần gấp bang chủ giúp em zới nha. thask nhìu
newboystylew vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 08-01-2010, 11:16 AM   #13
tam.sakura
Nhập môn đệ tử
 
Tham gia ngày: Dec 2009
Bài gửi: 5
:
hihi!
Nhờ các bật tiền bối giúp em nhé! em mới học Pic, ai có souce code chớp - tắt đèn 8Led,cho em xin nhé!
arigatoo gozaimasu!
tam.sakura vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-02-2010, 11:31 AM   #14
bravesoldier
Đệ tử 1 túi
 
Tham gia ngày: Apr 2009
Bài gửi: 18
:
Smile I/O đơn giản với 18F4550

Code:
#include <18f4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,PLL3,CPUDIV1,VREGEN
#device *=16 ADC=8
#use delay(clock=48000000) // thạch anh lắp vào mạch là 12MHz

#use fast_io(b)
#byte portb=0xf81
#byte latb=0xf8a

byte numm[]={
0b01000000, //- 0
0b01111001, //- 1
0b00100100, //- 2
0b00110000, //- 3
0b00011001, //- 4
0b00010010, //- 5
0b00000010, //- 6
0b01011000, //- 7
0b00000000, //- 8
0b00010000  //- 9
};

void main()
{
 byte i;
 
 set_tris_b(0);
 i=0;
 while(true)
  {   
   latb=numm[i];
   delay_ms(250);
   i++;
   if (i==10) i=0;
  }
}
mong các tiền bối xem xét và góp ý. mạch này cho LED 7 thanh đếm từ 0->9 em mô phỏng bằng proteus 7.6 (mới down hôm qua) cũng ok. em muốn học thêm về USB để làm quang báo có trao đổi data với máy tính.

thay đổi nội dung bởi: bravesoldier, 23-08-2010 lúc 10:02 AM. Lý do: sửa lại cho chuẩn
bravesoldier vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-05-2010, 08:52 PM   #15
thundernhut
Đệ tử 2 túi
 
Tham gia ngày: Jul 2009
Bài gửi: 33
:
ở trang 4 thấy có bro nào có vẻ giỏi quá, liệt kê liên hồi cách config cho 18f4550 thì phải
Nhưng mà tiếc người ấy có hiểu biết nhưng hoặc là hiểu biết nữa vời hoặc không có tâm khi chi dẫn người mới.
Cách chỉ đó chỉ là cho người ta con cá không cho cần câu, ví như truyền cho quyền cước chưa truyền cho nội công tâm pháp. tiếc quá

Minh tìm hiểu mãi mới biết ý nghĩa các phần config nó nằm trong cái file tên_PIC_tương_ứng.INC trong thư mục cài đặt của phần mềm MPLAD chánh hãng.

vào đó xem nó có liệt kê mọi thông số, ý nghĩa và nhiều tùy chọn cho 1 thông số theo đó mà ta cấu hình cho đúng ý muốn
Còn bạn gì chỉ cho mình 1 đống dòng config mẫu thế là mình máy móc copy vào. Đáng tiếc nếu bạn gì cũng đang học theo kiểu này thì mình khuyện bạn sựa lại nếu ko thì thành tựu chỉ có hạn thôi.
còn nếu bạn giấu nghề thì ok , biểu diễn như vậy là vừa đủ khoe tài mà không ai biết gì cả. Bạn khéo lắm . bái phục bái phục
thundernhut 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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
Pic18 voi USB Khanhnghia Cơ bản về vi điều khiển và PIC 2 24-02-2009 11:41 PM
interrupt in pic18 littlephoc Cơ bản về vi điều khiển và PIC 9 18-04-2007 01:27 AM
Bac falleaf co the viet tourial Pic bang C duoc ko namezero Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 2 21-10-2005 02:39 PM


Múi giờ GMT. Hiện tại là 01:53 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