![]() |
|
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 |
PIC Bang chủ
|
Các đồng chí thiết kế mạch quá cao siêu, tóm lại, con PIC18F4550 hỗ trợ những tính năng gì?
Câu hỏi đặt ra này có vẻ hơi ngớ ngẩn, nhưng đừng cho rằng nó quá ngớ ngẩn, bởi vì hãy nhìn một người mới học, khi đọc luồng này, họ đang bị dội vì những cái có thể nói là chả hiểu gì vả chả có gì để mà hiểu? Làm việc luôn có một mục đích, một đối tượng cụ thể, các đồng chí đi quá xa vấn đề, và dường như các đồng chí đang làm cho những người muốn thực hành từng bước bị dội thì phải? Nếu làm vậy, thì nói thực là picvietnam không thể mạnh được đâu. picvietnam mạnh được là nhờ rất nhiều người cùng học cùng nghiên cứu, chứ picvietnam không thể mạnh nhờ những mod giỏi. Đúng như anh Nam nhắc nhở, việc thảo luận USB tạm thời chấm dứt ở đây, chúng ta sẽ nói lại vấn đề USB ở phần cuối của 4550. Oki, trong lúc nói về USB, PTH đã gửi cho chúng ta một cái sơ đồ nguyên lý. F sẽ sử dụng sơ đồ nguyên lý này để lắp mạch chạy Các bạn làm theo mạch này chú ý, F sẽ không lắp phần USB, và các bạn cũng khoan lắp phần USB. Chúng ta trước tiên đơn giản nói về I/O, I/O và tập lệnh là cái mà chúng ta đang cần quan tâm ở đây. http://www.picvietnam.com/download/taplenh.pdf Chắc các bạn còn nhớ bản tập lệnh này. Nó cần cho người đọc thế nào, thì F cũng rất muốn soạn lại phần tập lệnh này cho người học 18F. Vậy bạn nào soạn lại tài liệu này theo chuẩn form của picvietnam, F xin gửi tặng ngay các bạn 5 con PIC18F4550. Nếu chịu khó ngồi làm việc, các bạn làm việc 1 ngày liên tục để soạn lại, các bạn dường như được trả lương với một cái giá 80K x 5 = 400K cho một ngày làm việc, và các bạn đem lại một lợi ích là 30 phút (đọc, chưa chắc hiểu tập lệnh) x 100 người/ngày = 3000 phút/ngày. = 50 giờ /ngày. Lương kỹ sư 3 triệu/tháng (là thấp lắm rồi) = 100K/ngày = 15K/giờ (cực thấp). Vậy với việc làm này các bạn giúp cho xã hội một ngày 15K x 50 = 750K/ngày. Các bạn bỏ ra 1 ngày làm việc, và các bạn nhận được mức lương 400K/ngày, công việc của các bạn đem lại lợi ích 750K/ngày cho xã hội. Chừng nào picvietnam còn tồn tại, chừng đó lợi ích này vẫn còn. Mỗi năm picvietnam tồn tại, công việc của các bạn đem lại cho xã hội 750K x 300 ngày = 225000K/năm. Cụ thể là 225 triệu VND/năm. Các bạn không tin vào các con số mà F tính toán? Các bạn thử soạn bộ tập lệnh đi rồi các bạn sẽ biết hiệu quả của nó. Riêng picvietnam chỉ ngồi nói dóc 1 năm, kéo được công ty sản xuất vi điều khiển 8bit vào VN, thì đó không phải là nói dóc nữa. Và chúng ta sẽ xem thử VN có lợi được bao nhiêu trong vụ này? Vậy nên, F trả lương 5 con PIC cho người nào soạn lại bộ tập lệnh này có ý nghĩa của nó chứ nhỉ? Cái giá bèo là tại vì F không có tiền ![]() Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
![]() |
#2 |
Đệ tử 3 túi
Tham gia ngày: Jun 2005
Bài gửi: 56
: |
Thế thôi, em đóng góp cho luồng này của anh F vậy
![]() Trả lời câu 5: Việc muốn biết tính năng của bất cứ tính năng nào của con PIC thì nơi tốt nhất phải là datasheet của nó, tất cả những điều hay của con PIC đều được Microchip giới thiệu ở trang thứ 3 của Datasheet. Mục lục của Datasheet đó cũng gần như là giới thiệu tính năng của con PIC đó. Ở đống câu hỏi dài ngoằng của em ở trên, có nói về hầu hết các tính năng mới của 18F4550, em hỏi cho vui thôi, bạn nào muốn trả lời những câu hỏi đó tớ sẵn sàng giúp. |
![]() |
![]() |
![]() |
#3 |
PIC Bang chủ
|
Oki, thế giờ F về lắp cái mạch 4MHz rồi nhờ các bạn chỉ cho cách config nhé.
Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
![]() |
#4 |
Đệ tử 3 túi
Tham gia ngày: Jun 2005
Bài gửi: 56
: |
Cái này em viết từ trước, dùng HTPICC18
__CONFIG(1,HSPLL & USBPLL & PLLDIV5 & CPUDIV1 & FCMDIS & IESODIS); // Thạch anh HighSpeed với PLL, USB với PLL, PLLDIV5 dùng cho thạch anh 20Mhz // chia 5 để được 4MHz, nếu dùng thạch anh 48Mhz thì config là PLLDIV12, tần // số này sẽ được dùng để tạo tần số làm việc cho USB. // CPUDIV1 tức là không chia, dùng tốc độ của thạch anh ngoài cho PIC. // FCMDIS: disabled chế độ fail-safe clock monitor // IESODIS: disabled chế độ Internal/External Oscillator Switchover __CONFIG(2,VREGEN & PWRTDIS & BOREN & BORV20 & WDTDIS & WDTPS32K); //VREGEN: USB Internal Voltage Regulator Enable //PWRTDIS: Power-up Timer disabled //BOREN: Brown-out Reset enabled //BORV20: Brown-out Reset Voltage //WDTDIS: Watchdog disabled //WDTPS32K: Watchdog Timer Postscaler là 32768 __CONFIG(3,CCP2RC1 & PBADDIS & LPT1DIS & MCLREN); //CCP2RC1: CCP2 input/output is multiplexed with RC1 //PBADDIS: Cổng RB<4:0> được config là digital I/O mỗi lần Reset //LPT1DIS: Timer chạy cần năng lượng cao //MCLREN: Master Clear được bật, vô hiệu hóa RE3 __CONFIG(4,STVREN & LVPDIS & XINSTDIS & DEBUGDIS); //STVREN: Stack Full/Underflow Reset enabled //LVPDIS: Low Voltage Programming Dis //XINSTDIS: Extended Instruction Set disabled //DEGUGDIS: disables chế độ DEBUG __CONFIG(5,UNPROTECT); __CONFIG(6,UNPROTECT); __CONFIG(7,UNPROTECT); |
![]() |
![]() |
![]() |
#5 |
PIC Bang chủ
|
Thế có đồng chí nào config cho F bằng ASM và bằng CCS C không nhỉ, hoặc C18.
Lý do, với các đồng chí 18F trở xuống, F quen dùng ASM, nên thân thuộc với CCS C. Còn với các đồng chí dsPIC thì chúng ta có C30 rồi, xài vi vu. Một ghi chú nhỏ, bảng config bằng ASM được trình bày ở tài liệu [2] PIC18C Manual Section 29. Ở bảng 29-1, có nói về phần dao động. Có bạn nào trình bày cho F hiểu phần dao động này và khi config cho thạch anh 4MHz thì dùng như thế nào không? Câu hỏi 8: Nếu dùng thạch anh 4MHz, thì có mấy cách lựa chọn? Lý do, F đã nói F chọn thạch anh 4MHz để dùng rồi. Câu hỏi 9: F thấy cái OSC Switch nó hơi lạ so với đồng chí 16F, bạn nào giải thích cho F cái này với? Câu hỏi 10: Tạm thời F chưa dùng cái gì hết, cho nên một số tính năng CCP, WDT.. F không quan tâm, nhưng đọc vào thấy cái liên quan đến Processor thì quan tâm. Đó là cái Processor Mode, bạn nào giải thích cho F biết cái này để làm cái gì vậy? Câu hỏi 11: Hàng loạt các giá trị config phía dưới, liên quan tới các bus, vậy câu hỏi: 11a) Tại sao phải có phần config mấy cái quỷ nhỏ này? 11b) Giải thích các giá trị config này Chú ý, chỉ giải thích vừa đủ hiểu, không giải thích quá chi tiết thì nó sẽ đụng chạm lung tung, lằng nhằng. Vì F mới học, cho nên F chỉ quan tâm đơn giản vừa đủ hiểu thôi. Chúc vui
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
![]() |
#6 | |
Đệ tử 3 túi
Tham gia ngày: Jun 2005
Bài gửi: 56
: |
Trích:
#include <18F4550.h> #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CP UDIV1,VREGEN Cái này cho thạch anh 12Mhz, tùy giá trị PLLx mà các bác sửa, cái nì chạy ở 48Mhz, CPUDIV1 ASM: __CONFIG _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L __CONFIG _CONFIG1H, _FOSC_HSPLL_HS_1H __CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H __CONFIG _CONFIG3H, _PBADEN_OFF_3H __CONFIG _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L Thạch anh 20Mhz hoặc chơi kiểu nì: ;__CONFIG _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC3_PLL4_1L & _USBDIV_2_1L ;__CONFIG _CONFIG1H, _FOSC_XTPLL_XT_1H & _FCMEM_OFF_1H & _IESO_OFF_1H ;__CONFIG _CONFIG2L, _PWRT_OFF_2L & _BOR_ON_2L & _BORV_21_2L & _VREGEN_ON_2L ;__CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_32768_2H ;__CONFIG _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H & _CCP2MX_ON_3H ;__CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L & _DEBUG_OFF_4L ;__CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L ;__CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H ;__CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L ;__CONFIG _CONFIG6H, _WRTB_OFF_6H & _WRTC_OFF_6H & _WRTD_OFF_6H ;__CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L ;__CONFIG _CONFIG7H, _EBTRB_OFF_7H config PLLDIV = 1 config CPUDIV = OSC3_PLL4 config USBDIV = 2 config FOSC = XTPLL_XT config FCMEM = OFF config IESO = OFF config PWRT = OFF config BOR = ON config BORV = 21 config VREGEN = ON config WDT = OFF config WDTPS = 32768 config MCLRE = ON config LPT1OSC = OFF config PBADEN = OFF config CCP2MX = ON config STVREN = ON config LVP = OFF config ICPRT = OFF config XINST = OFF config DEBUG = OFF config CP0 = OFF config CP1 = OFF config CP2 = OFF config CP3 = OFF config CPB = OFF config CPD = OFF config WRT0 = OFF config WRT1 = OFF config WRT2 = OFF config WRT3 = OFF config WRTB = OFF config WRTC = OFF config WRTD = OFF config EBTR0 = OFF config EBTR1 = OFF config EBTR2 = OFF config EBTR3 = OFF config EBTRB = OFF Ý nghĩa thì các bác tự tra datasheet ![]() C18 #include <p18f4550.h> #pragma config PLLDIV = 1 #pragma config CPUDIV = OSC3_PLL4 #pragma config USBDIV = 2 #pragma config FOSC = XTPLL_XT #pragma config FCMEM = OFF #pragma config IESO = OFF #pragma config PWRT = OFF #pragma config BOR = ON #pragma config BORV = 21 #pragma config VREGEN = ON #pragma config WDT = OFF #pragma config WDTPS = 32768 #pragma config MCLRE = ON #pragma config LPT1OSC = OFF #pragma config PBADEN = OFF #pragma config CCP2MX = ON #pragma config STVREN = ON #pragma config LVP = OFF #pragma config ICPRT = OFF #pragma config XINST = 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 Có cần PicBasic mà MikroC không anh F nhẩy ![]() |
|
![]() |
![]() |
![]() |
#7 | |
Đệ tử 3 túi
Tham gia ngày: Jun 2005
Bài gửi: 56
: |
Trích:
- Dùng bộ dao động nội 8Mhz của PIC, quên thằng 4Mhz đi ![]() - Config thạch anh 4Mhz là XT hay HS không dùng USBPLL - Dùng USBPLL đầu vào thạch anh không chia (do đã là 4Mhz) tần số có thể dùng 96Mhz PLL div 2,3,4,6. |
|
![]() |
![]() |
![]() |
#8 | |
Đệ tử 3 túi
Tham gia ngày: Jun 2005
Bài gửi: 56
: |
Trích:
Với PIC18 thì bắt đầu xuất hiện PLL, với 18F4550 thì ta có thể có các tùy chọn sau với OSC: - Dùng Primary Oscillator, tức là có thể config như PIC16, nhưng cũng có thể dùng PLL - Dùng Secondary Oscillator, đầu vào bộ dao động lấy từ chân T1OSO, T1OSI - Dùng Internal Oscillator 8Mhz. - Ngoài ra 18F4550 còn có chế độ fail-safe clock monitor, Internal/External Oscillator Switchover, quản lý clock, khi clock ngoài không hoạt động thì dùng clock trong. --> tất nhiên OSC Switch sẽ khác. Với PIC16 thì không nhớ con nào có PLL, còn có bộ dao động nội thì hình như chỉ có ở bọn 10F,12F thì phải ![]() |
|
![]() |
![]() |
![]() |
#9 | ||
Đệ tử 3 túi
Tham gia ngày: Jun 2005
Bài gửi: 56
: |
Trích:
Trích:
Vi xử lý chỉ bao gồm bộ xử lý trung tâm, cái mà loằng ngoằng bao gồm ALU, khối tính toán số học... và không bao gồm ngoại vi. Vi điều khiển = Vi xử lý + Ngoại vi: cái đề cập chính ở đây là bộ nhớ chương trình, vi điều khiển có, còn vi xử lý thì không. Hai chế độ này khác nhau ở cách thức định địa chỉ (mapped) và cách thức truy xuất bộ nhớ. Với chế độ vi xử lý thì ta phải truy xuất bộ nhớ ngoài, liên quan trực tiếp đến việc truy xuất qua bus, ngoài ra còn liên quan đến chế độ định địa chỉ bộ nhớ, các hoạt động như Table Reads, Writes... Muốn truy cập được bộ nhớ ngoài thì phải config là Microprocessor mode hoặc Extended microcontroller mode. 8051 có tính năng gần như vậy ở chân EA\ (External Access), nếu là mức cao thì dùng bộ nhớ trong(giống như chế độ controller), mức thấp thì truy xuất bộ nhớ ngoài (giống như chế độ processor). |
||
![]() |
![]() |
![]() |
#10 | |
PIC Bang chủ
|
Trích:
Câu hỏi này ngoài luồng, vì chú Hòa đang ngâm cứu ARM, ngoài ra, cũng muốn giúp các bạn làm rõ nghĩa một số khái niệm về bộ nhớ ở phần này, vì lên tới dòng 18F và dòng dsPIC, một số vấn đề về bộ nhớ nó sẽ gây rắc rối cho các bạn. Đặc biệt, làm việc với 18F, giúp các bạn một bước chuẩn bị tốt để tiến tới sử dụng dsPIC hiệu quả hơn, và từ dsPIC, các bạn tiến tới sử dụng các loại DSP khác không có gì khó khăn, cũng giống như khi học PIC16 và sử dụng các vi điều khiển khác vậy. À, vụ ARM, cuối tháng 1, bạn anh về VN, anh gửi cho chú bộ kit đầy đủ ARM, có thể thực hành và dùng JTAG qua USB ảo của nó. Có đầy đủ CD và kit, cable... Có gì anh sẽ trao đổi thêm với anh BA về định hướng phát triển của phòng. Thực sự chủ trương của anh không muốn phát triển ARM, lý do anh sẽ trao đổi sau. Nhưng anh vẫn chủ trương phát triển TI ở Việt Nam, mặc dù thị phần của ARM mạnh hơn TI trên thế giới. Oki, việc này không bàn xa ở đây. Thế nhé.
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
|
![]() |
![]() |
![]() |
#11 | |
Đệ tử 3 túi
Tham gia ngày: Jun 2005
Bài gửi: 56
: |
Trích:
Em vừa cho mấy thằng bạn mấy chú 877A, giờ nhà còn ít PIC, lại có cơ hội ngon, bổ, rẻ thế này, em kiếm mấy con về dùng, các bác thông cảm ![]() Anh F còn câu hỏi gì thì post nhanh lên ạ ![]() |
|
![]() |
![]() |
![]() |
#12 | |
PIC Bang chủ
|
Trích:
Uhm, mạng ở VN bị động đất ở Đài Loan, nên chập chờn, mọi người cứ thoải mái nhé. Chú PTH không cho trả lời nữa, đứng một bên để cho anh học. Anh mà cần làm gì anh đâu có làm nữa, giao cho chú với Chính làm hết rồi kaka... Ờ, chuẩn bị gửi anh Phước ra HN, có lẽ sau đó sẽ gửi Chính ra (sau khi anh Phước về). Bây giờ anh gọi về VN không được nữa, cho nên anh nhắn lên đây. Khoảng tầm sau tết thì chú coi đứa nào còn chỗ ở, nhắn anh một tiếng, để anh còn sắp xếp cho anh Phước. Thế nhé.
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
|
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|
![]() |
||||
Ðề 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 |