![]() |
|
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 |
Nhập môn đệ tử
Tham gia ngày: Oct 2007
Bài gửi: 3
: |
![]() Mình thì không có Proteus 6.8, chỉ có Proteus 7.9SP1 Full, nên post lên cho ai có cần thì dùng.
Link: https://www.box.com/s/1x4jhfaisb2ne4nxx9p4 |
![]() |
![]() |
![]() |
#2 |
PIC Bang chủ
|
Đôi lời giải thích với các bạn như sau:
- picvietnam hay dientuvietnam hoặc diendandientu cũng chỉ là nơi để trao đổi và học tập. F cũng là mod của dientuvietnam và diendandientu. Do vậy, khi phát triển hoạt động, chúng ta phát triển cho cộng đồng điện tử VN. Vì vậy không có sự khác biệt và so sánh. - Điều F quan tâm ở đây, đó là chúng ta có một nơi chuyên để thảo luận những vấn đề chúng ta quan tâm, và đi sâu vào đó. Ở dientuvietnam hay diendandientu, đó là những diễn đàn rộng, vì vậy, có rất nhiều người có những kiến thức khác nhau về điện tử tập hợp lại, và nó hình thành được nhiều bài viết khi ứng dụng PIC vào những vấn đề thực tế, và kinh nghiệm thực tế được trao đổi và thảo luận. - Trong khi đó ở picvietnam, nó là một lớp học online, do chính những thành viên tự học và tự dạy cho nhau. Có thể về mặt thảo luận và đề tài ứng dụng, thì việc trao đổi không nhiều. Nhưng F sẽ phân tích dưới đây để các bạn thấy được vấn đề tại sao picvietnam vẫn được xây dựng và tồn tại, và đó là lời động viên của F dành cho các bạn. Diễn đàn của chúng ta chủ yếu nghiên cứu các tool, các công cụ, các vấn đề lý thuyết, thuật toán, và tập trung vào việc khai thác PIC. Ví dụ như trong luồng đố vui của dientuvietnam, một câu đố vui đó, có thể ứng dụng cho rất nhiều loại vi điều khiển, không chỉ riêng gì PIC, nhưng lực lượng người dùng PIC online hiện nay đã và đang phát triển rất mạnh. Chính vì vậy, vấn đề thảo luận này được đặt trong luồng về PIC, và do những người dùng PIC phát triển ra. Nhưng đó là nhưng bài toán mang tính chất ứng dụng vào thực tế. Và bài toán ứng dụng thì không thể trang bị tool, công cụ, lý thuyết, để phát triển tất cả những sản phẩm sau này. Các bạn để ý một điều rằng, hầu như các bạn sinh viên học PIC, khởi đầu ở picvietnam, sau đó bắt đầu học dần lên, và có thể tự học, tự làm, rồi bắt đầu "đủ công lực" sẽ đem nhưng học thuật, hiểu biết của mình, phát triển ở các diễn đàn khác. Trong khi đó, picvietnam cung cấp các công cụ làm việc, những bài học cơ bản, nhằm mục đích phát triển riêng về PIC. Vd như khi nói về điều khiển LED ma trận, hoặc khi điều khiển LCD, LED 7 đoạn... tất cả những cái đó là những ứng dụng thực tế. Trong khi đó, trên picvietnam, chúng ta thảo luận về cái gỉ? PORT I/O và kỹ thuật bảng. Đứng trên vị trí của PIC mà nói, chỉ cần PORT I/O và kỹ thuật bảng, đã đủ và dư sức để có thể làm được LED ma trận, led 7 đoạn và LCD... có phải vậy không? Chính vì điều này, chúng ta nghiên cứu các công cụ, các bước cơ bản, các thuật toán tính toán cơ sở để có thể phát triển các giải thuật trên PIC. Ở các luồng thảo luận về PIC khác, ít người chú ý đến việc tính toán các hàm delay, nhưng ở đây, chúng ta viết khá nhiều cách để xây dựng hàm delay. Chúng ta cũng viết nhiều bằng MPASM để hiểu PIC và đi vào các tương tác gần nhất với PIC. Có thể điều này hơi mang tính chất academic với các bạn, và nó hơi mơ hồ! Nhưng không, chính những gì chúng ta làm và chuẩn bị ở đây, đó là những công cụ, những có sở nền tảng vững chắc. Chúng ta sẽ đi chậm, nhưng rồi chúng ta sẽ có những nghiên cứu xử lý thuật toán, và những bài toán dần dần đang được nhóm PIC vietnam thực hiện. Ví dụ như một niềm tự hào của picvietnam, đó là bộ thư viện ORCAD. Kể cả những trang nước ngoài cũng không làm được. Bộ thư viện này đã có ít nhất 100 lượt người tải về sử dụng, chưa kể những người download bằng đường link trực tiếp. Có ít nhất 300 lượt người duyệt bài và link vào trang. Các bạn hãy thử tưởng tượng rằng 1 người hết 5 phút để vẽ một con linh kiện. Vậy 10 người là 50 phút (coi như 1 giờ cho chẵn). Thì 100 người là 10 giờ (một ngày làm việc). Đó là thời gian 1 tháng sau khi nó được đưa lên. Cứ 1 tháng thì nó tiết kiệm 1 ngày làm việc. Đây chính là xu hướng mà picvietnam sẽ đi và sẽ phát triển xã hội bằng việc mỗi một việc làm của picvietnam sẽ tiết kiệm một ngày làm việc cho toàn cộng đồng. Hãy vững tin về điều đó. Chúng ta sẽ làm được nhiều và rất nhiều. Sắp tới, bộ tiny bootloader sẽ được picvietnam chuẩn hoá, kèm theo việc giới thiệu về I2C bằng CCS C (I2C bằng MPASM đã được bạn Mạnh phổ biến rồi). Tiến tới là multi master I2C. Đó là hai công việc picvietnam đang làm và sắp xong. Giao tiếp RS232 cũng đã tạm ổn (chưa được ổn cho lắm hehehe...) Nhưng sẽ xong. Như vậy, sau khi xong tinybootloader cũng đồng thời xong luôn phần cứng cho RS232. Cứ như vậy, từng bước, từng bước, chúng ta không đi sau mà đi sâu các bạn ạ. Những câu hỏi và trả lời không thể làm thành cơ sở thư viện được, chỉ có những bài viết như nhh vừa gửi mới có thể hình thành cơ sở, thư viện, và tài liệu hữu ích cho sự phát triển mà thôi. Đó là hướng đi của picvietnam. Mong rằng các bạn hiểu và vững tin theo ý nghĩa này của picvietnam. 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? |
![]() |
![]() |
![]() |
#3 |
Đệ tử 1 túi
Tham gia ngày: Jul 2006
Bài gửi: 19
: |
lap trinh pic 16f876a
cac anh oi , cho em noi la : lap trinh voi pic 16f877a cung giong het voi lap trinh cho con pic 16f876a phai khong? a`, phan mem asm de viet cho pic down o dau vay cac anh
|
![]() |
![]() |
![]() |
#4 |
Trưởng lão PIC bang
|
Câu hỏi 1: Đúng, ngoại trừ PIC16F877A có một số chân và thanh ghi tương ứng mà PIC16F876A không có.
Câu hỏi 2: vào link sau download MPLAB IDE, trong đó có trình hợp dịch, bộ mô phỏng, và một số thứ khác http://www.microchip.com/stellent/id...&part=SW007002 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 |
![]() |
![]() |
![]() |
#5 |
Đệ tử 8 túi
|
![]() Các ứng dụng của nhh được xây dựng dựa trên một số thông tin cơ bản:
_ Về phần cứng: đó là các thông tin về phím nhấn, thông tin về LED 7 đoạn, thông tin về cấu tạo, tổ chức các PORT I/O và các ngắt ngoài của PORT B, ... _ Về phần mềm: đó là thông tin về kĩ thuật bảng, thông tin về chương trình ngắt và cách xử lí ngắt, một số thao tác lập trình với PIC (khai báo biến,...) ... _ Về kĩ năng: đó là các kĩ năng phân tích tìm hiểu thông tin trong tài tiệu (datasheet chẳng hạn), kĩ năng xây dựng ứng dụng dựa trên các thông tin thu thập được. Ứng dụng của nhh rất hay, nhưng nhìn chung lại, hầu hết mọi ứng dụng đều được xây dựng dựa trên một số thông tin và kĩ năng cơ bản. Trường hợp ứng dụng của nhh cũng không ngoại lệ. Bây giờ, nhh thử tưởng tượng coi, nếu một thành viên mới tìm hiểu PIC, đọc ứng dụng của nhh thì số lượng thông tin thu thập được là bao nhiêu. Sẽ có rất nhiều thắc mắc: làm sao mà viết chương trình như vậy thì con PIC sẽ hiển thị được con số đó ra LED 7 đoạn, làm sao mà viết như vậy thì PIC sẽ nhận diện được sự thay đổi muắc logic ở PORT B để tạo ra ngắt. Đó là cái mà picvietnam đang cố gắng lí giải thông qua các tutorial được viết rất cơ bản, thông qua các module, các công cụ, ...đó là một phần vai trò của picvietnam trong các diễn đàn điện tử. Hướng đi này có thể hơi khác biệt, nhưng không hề lạc hướng. Nếu tìm hiểu thêm một số thông tin về timer, nhh có thể xây dựng được một ứng dụng mới: một đồng hồ điện tử. ![]() PIC16F877A nếu chỉ để tìm hiểu thì được, chứ nếu để xây dựng các ứng dụng thực tế thì có đôi khi ... hơi phí phạm, vì hiếm khi nào ta sử dụng được hết các chức năng của nó trong một ứng dụng. Việc xây dựng các module và trang bị các thông tin cơ bản có thể cho phép ta sử dụng bất cứ PIC nào mà không hề cảm thấy bỡ ngỡ. ![]() |
![]() |
![]() |
![]() |
#6 |
Đệ tử 9 túi
|
Thanks bác F và mod NTC!
Vậy thì phần tutorial cơ bản bác sẽ viết bên đó,còn về vọt những ứng dụng viết được anh em có thể post bên "PIC6F877A từ dễ đến khó" hoặc trong luồng này cũng tốt! NHH sẽ cố gắng viết những ứng dụng bậy bạ từ những cái tutorial của bác mod! Cùng nhau phá PIC bà con ơi! À phiền bác F sửa lại giúp tiêu đề cái thread này,do sơ ý nên em viết nhầm tên Pic ! Thanks!
__________________
Ngày mai bắt đầu từ ngày hôm nay Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này: http://www.picvietnam.com/forum//showthread.php?t=1263 |
![]() |
![]() |
![]() |
#7 |
Đệ tử 2 túi
Tham gia ngày: Jan 2006
Bài gửi: 36
: |
Chào cả nhà!
picpicpic đã copy và cho chạy thử bài viết của bác nhh,kết quả rất tốt!Bác có viết vài ý về các cách ngắt của con pic này được không? Hẹn câu trả lời của các bác!
__________________
************************************************** ** The only wrong thing would be to deny what your heart truly feels! ************************************************** ** |
![]() |
![]() |
![]() |
#8 | |
Đệ tử 9 túi
|
Trích:
__________________
Ngày mai bắt đầu từ ngày hôm nay Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này: http://www.picvietnam.com/forum//showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#9 |
Nhập môn đệ tử
Tham gia ngày: Oct 2006
Bài gửi: 1
: |
pic
em cung moi nghien cuu ve con pic6f877a , em cung thay mach nap cua may bac nhung sao ko thay co bo nguon cung cap cho no vay
|
![]() |
![]() |
![]() |
#10 |
Đệ tử 6 túi
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
: |
cho em hỏi trong bài đếm ngắt ngoài chân RB0 của bác nhh có lệnh:
INCF COUNT,F Vậy lệnh này có giống như lệnh : INCF COUNT,0 hay không (có khi nào F---->False---->0) |
![]() |
![]() |
![]() |
#11 | |
Trưởng lão PIC bang
|
Trích:
Với lệnh INCF COUNT, F (tương đương với INCF COUNT, 1), kết quả của lệnh tăng giá trị trong thanh ghi COUNT sẽ được lưu trở lại thanh ghi COUNT. 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 |
|
![]() |
![]() |
![]() |
#12 |
Đệ tử 6 túi
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
: |
Thanks bác nhiều nha. Em hiểu rồi.
À nếu bác rảnh thì xem dùm bài bên luồng " pic từ dễ tới khó " hộ em |
![]() |
![]() |
![]() |
#13 |
Nhập môn đệ tử
Tham gia ngày: Dec 2008
Bài gửi: 5
: |
Cái này hay à ngen...
các bro giúp mình tính cái PWM Period=[(PR2+1)]*4*Tosc *TMR2 prescale. Và tương tự với cái PWM duty cycle=... luôn ngen (mình đang làm PÍC6F877A với CCS v 4.065).Thanks
|
![]() |
![]() |
![]() |
#14 |
Nhập môn đệ tử
Tham gia ngày: Apr 2007
Bài gửi: 10
: |
pic6f877a va ds12c887
Em đang mô phổng lịch âm dương với PIC6f877a va DS12c887 nhưng không hiểu sao LCD không thể hiển thị.chỉ sáng xanh mà thôi.các bác giúp em phát hiên lỗi với.thank nhiều nhiều...mới học về PIC nên em không hiểu chắc lắm.mong mọi ngưới giúp đỡ
protues_hex:http://www.mediafire.com/?ixdwoylnyya title "DONG HO SO" ;processor P16f877a ;#include <P16F77a.inc> LIST P=16F877A #INCLUDE P16F877A.INC __CONFIG _CP_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC&_LVP_OFF ;+++++++++++++++++++++++++++++++++++++++++++++++++ +++++++ ; CAC BIEN CBLOCK 020H COUNT1 COUNT2 COUNT3 CHUC_P DV_P CHUC_G DV_G C_P DVP C_G G MAPHIM MAQUET R4 R7 R6 BIENTAM ENDC ;---------------------------------------------------------------------------------------- CT ORG 0x000 CLRF STATUS MOVLW 00H MOVWF PCLATH GOTO START ;----------------------------------------------------------------------------------------- ; KHAI BAO PORT START ORG 0x005 BCF STATUS,RP1 BSF STATUS,RP0 errorlevel -302 CLRF TRISB errorlevel -302 CLRF TRISC errorlevel -302 CLRF TRISD errorlevel -302 BCF STATUS,RP0 ; CHUONG TRINH CHINH MOVLW 0X05 MOVWF C_P MOVLW 0X07 MOVWF DVP MOVLW 0X06 MOVWF C_G MOVLW 0X07 MOVWF G MOVLW 0XFE MOVWF MAQUET LB CALL BCD_7DOAN CALL DELAYHIENTHI ;GIAM DVI GIAY DECF G,1 MOVF G,0 XORLW 0XFF BTFSS STATUS,2 GOTO LB DECF C_G,1 MOVLW D'9' MOVWF G ;GIAM CHUC GIAY MOVF C_G,0 XORLW 0XFF BTFSS STATUS,Z GOTO LB DECF DVP,1 MOVLW 05H MOVWF C_G ; GIAM DVI PHUT MOVF DVP,0 XORLW 0FFH BTFSS STATUS,Z GOTO LB DECF C_P,1 MOVLW 09H MOVWF DVP ;GIAM CHUC PHUT MOVF C_P,0 XORLW 0FFH BTFSS STATUS,Z GOTO LB BCF PORTC,4 GOTO CT BCD_7DOAN MOVF G,0 CALL TABLE MOVWF DV_G MOVF C_G,0 CALL TABLE MOVWF CHUC_G MOVF DVP,0 CALL TABLE MOVWF DV_P MOVF C_P,0 CALL TABLE MOVWF CHUC_P RETURN DELAYHIENTHI MOVLW 0x004 MOVWF COUNT1 DEL1 MOVWF 0x100 MOVWF COUNT2 DEL2 CALL HIENTHI DECFSZ COUNT2,1 GOTO DEL2 DECFSZ COUNT1,1 GOTO DEL1 RETURN ;quetphim KEYPRES MOVLW D'10' MOVWF R4 KEYPRES1 CALL KEY BTFSS STATUS,0 GOTO PN1 RETURN PN1 DECFSZ R4,1 GOTO KEYPRES1 MOVWF BIENTAM KEYPRES2 MOVLW D'10' MOVWF R4 KEYPRES3 CALL KEY BTFSS STATUS,0 GOTO KEYPRES2 DECFSZ R4,0 GOTO KEYPRES3 MOVF BIENTAM,0 RETURN KEY MOVF MAQUET,0 MOVWF R7 MOVLW D'4' MOVWF R6 MOVLW 0X00 MOVWF MAPHIM KEY1 MOVF R7,1 MOVWF PORTD MOVF PORTD,0 ANDLW 0XF0 XORLW 0XF0 BTFSS STATUS,Z GOTO KEY2 RLF R7,1 MOVF MAPHIM,0 ADDLW 4 MOVWF MAPHIM DECFSZ R6,1 GOTO KEY1 CLRF STATUS MOVLW 0XFF RETURN KEY2 MOVWF BIENTAM SWAPF BIENTAM,1 KEY4 RRF BIENTAM,0 BTFSS STATUS,0 ;THIEU BIT KIEM TRA CHO LA BIT THU 0 GOTO KEY3 INCF MAPHIM,1 GOTO KEY4 KEY3 MOVF MAPHIM,0 BSF STATUS,0 ;THIEU BIT KIEM TRA CHO LA BIT THU 0 RETURN ;+++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++ HIENTHI MOVF DV_G,0 MOVWF PORTB MOVLW 0xFE MOVWF PORTC CALL DELAY MOVF CHUC_G,0 MOVWF PORTB MOVLW 0xFD MOVWF PORTC CALL DELAY MOVF DV_P,0 MOVWF PORTB MOVLW 0xFB MOVWF PORTC CALL DELAY MOVF CHUC_P,0 MOVWF PORTB MOVLW 0xF7 MOVWF PORTC CALL DELAY RETURN ;+++++++++++++++++++++++++++++ DELAY MOVLW 0xFF MOVWF COUNT3 DELA1 DECFSZ COUNT3,1 GOTO DELA1 RETURN TABLE ADDWF PCL,1 DT 0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90 END |
![]() |
![]() |
![]() |
#15 | |
Nhập môn đệ tử
Tham gia ngày: Apr 2007
Bài gửi: 10
: |
Trích:
|
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
TUT về USART trong PIC16F877A | mafd_47a | MPASM | 16 | 19-02-2025 05:32 AM |
TUT ve I2C ( pic16f877a ) | mafd_47a | MPASM | 28 | 28-01-2025 10:45 PM |
Bộ so sánh và PWM cho PIC16F877A | anhquangngai | Cơ bản về vi điều khiển và PIC | 24 | 08-09-2012 09:00 AM |
Pic16f877a TỪ DỄ TỚi KhÓ | ntc | Cơ bản về vi điều khiển và PIC | 373 | 23-05-2009 10:24 PM |
CCS C for PIC16F877A | nhh | Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) | 405 | 24-04-2008 12:00 PM |