PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Pic16f877a TỪ DỄ TỚi KhÓ (http://www.picvietnam.com/forum/showthread.php?t=238)

nevergoback1001 11-09-2006 01:23 AM

1 Attachment(s)
Ý quên tôi chưa up code lên sorry nhé!
Giờ mới up nè!

vtt 14-09-2006 08:47 PM

Cảm ơn Nevergoback1001!
Tôi sẽ về thử, có gì xin sự chỉ giúp của bạn!
Thank!

ngulapphuong 15-09-2006 12:32 PM

các cao thủ có tài liệu và code, sơ đồ nguyên lý về giao tiếp pic với SPI EPROM cho em share với

briantk_1988 26-09-2006 06:28 AM

Chào bác ntc,

Sao cháu không thấy bác post phần RS232 cho Pic16f877a? Mặc dù cháu biết viết RS232 bằng CCS C nhưng ASm thi chịu. Mong bác giúp đỡ.

Thnx

B

huunam 27-09-2006 10:23 PM

trong bai test cho portB cua pic16f877a, em viết code giống hệt nhu bác ntc nhưng vẫn 'build failed' , va báo lỗi sau:

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p16F877A "f877atemp.asm" /l"f877atemp.lst" /e"f877atemp.err" /o"f877atemp.o"
Message[302] C:\PROGRAM FILES\MICROCHIP\MPASM SUITE\TEMPLATE\CODE\F877ATEMP.ASM 27 : Register in operand not in bank 0. Ensure that bank bits are correct.
Executing: "C:\Program Files\Microchip\MPASM Suite\MPLink.exe" "C:\Program Files\Microchip\MPASM Suite\LKR\16f877a.lkr" "C:\Program Files\Microchip\MPASM Suite\Template\Code\f877atemp.o" /o"NAM.cof" /M"NAM.map"
MPLINK 4.05, Linker
Copyright (c) 2006 Microchip Technology Inc.
Error - section '.org_0' can not fit the absolute section. Section '.org_0' start=0x00000000, length=0x00000012
Errors : 1

BUILD FAILED: Wed Sep 27 21:12:59 2006

em không hiểu lỗi gì , mong cac bác chỉ giúp.
Đây là code của em :


;************************************************* *********************
;
; Filename: testportb.asm
; Date: 25/9/2006
; File Version: 1
;
; Nguoi thuc hien : huunam
;************************************************* *************************** *


list p=16f877A ; khai bao thiet bi
#include <p16f877A.inc> ;file header dinh kem

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC& _WRT_OFF & _LVP_ON & _CPD_OFF

;khai bao configuration bit

;************************************************* *********************
; chuong trinh bat dau tai day
ORG 0x000 ;
GOTO start
start
BCF STATUS,RP1
BSF STATUS,RP0 ;chon bank1

CLRF TRISB ;khoi tao portb la cong xuat du lieu

BCF STATUS,RP1 ; chon bank0
BCF STATUS,RP0
MOVLW b'10001111' ;ghi gia tri can xuat ra portb
MOVWF PORTB ;PORTB<8Fh
loop
GOTO loop ; vong lap vo han

END ;ket thuc chuong trinh

namqn 27-09-2006 11:40 PM

Ở luồng này có người gặp lỗi hệt như bạn:
http://www.picvietnam.com/forum//showthread.php?t=636

Như tôi đã nói, bạn kiểm tra lại cách dịch chương trình của bạn. Cách tạo project cho các chương trình hợp ngữ trong MPLAB tôi đã post ở đây:
http://picvietnam.com/forum/showthread.php?t=354

Thân,

chuchinh 12-10-2006 04:13 PM

Thừa mà thiếu các bác ạ.
 
Em thiết kế một mạch dùng PIC6F877A, hiển thị LCD (song song 8 bit), ADC (cũng song song 8 bit), kết nối PC. Vấn đề là khi kết nối PC: mất 2 chân RC6 và RC7, LCD và ADC mất hai cổng song song 8 bit còn lại là port B và portD, như vậy, em không còn chân nào khác phục vụ ngắt dùng cho bàn phím. Trong khi cũng không muốn giảm số chân kết nối của LCD hay ADC để giải phóng cổng B.
Bác nào có phương án hay giúp hộ em cái, em xin chân thành cảm ơn.
Em xin viết lại yêu cầu:
+ Kết nối PC
+ Hiển thị LCD dùng đường dữ liệu 8 bit
+ Kết nối ADC ngoài dùng bus 8 bit
+ Dùng 4 phím bấm
Giúp em nhé các bác ơi...............................................

hieulongan039 12-10-2006 07:02 PM

trước tiên xin gửi lời chào đến các cao thủ PIC
mình mới vừa bít trang web này và cũng vừa đăng ký thành viê thôi.
minh chưa bit gì về pic hết mình chỉ biét về At89 thôi.
minh thấy hàng loạt bài viết của bác NTC dăng trên diển dàn nên mạng phép down về và tham khảo.
mình nghe nói PIC có rất nhiều cái hay lắm nên cũng muốn học hỏi để biết thêm. vậy mong các bác giúp đỡ cho mình với nhé
chân thành cảm ơn.
tiện thể cho mình hỏi thăm ở Hà Nội có mở lớp PIC vậy ở thành phố có mở chưa. nếu chưa vậy các cao thủ ở Hà Nội có tài liệu hãy pót lên cho mình tham khảo và còn chĩ bảo thêm cho diển dàn ngày càng lớn mạnh.

namqn 12-10-2006 08:13 PM

Trích:

Nguyên văn bởi chuchinh (Post 5415)
Em thiết kế một mạch dùng PIC6F877A, hiển thị LCD (song song 8 bit), ADC (cũng song song 8 bit), kết nối PC. Vấn đề là khi kết nối PC: mất 2 chân RC6 và RC7, LCD và ADC mất hai cổng song song 8 bit còn lại là port B và portD, như vậy, em không còn chân nào khác phục vụ ngắt dùng cho bàn phím. Trong khi cũng không muốn giảm số chân kết nối của LCD hay ADC để giải phóng cổng B.
Bác nào có phương án hay giúp hộ em cái, em xin chân thành cảm ơn.
Em xin viết lại yêu cầu:
+ Kết nối PC
+ Hiển thị LCD dùng đường dữ liệu 8 bit
+ Kết nối ADC ngoài dùng bus 8 bit
+ Dùng 4 phím bấm
Giúp em nhé các bác ơi...............................................

Tham khảo các app. note sau:

http://www.microchip.com/stellent/id...pnote=en012090
http://www.microchip.com/stellent/id...pnote=en011019

Thân,

ppthaidpp 08-11-2006 10:23 AM

Trích:

Nguyên văn bởi ntc (Post 3192)



:D

Đồng ý hoàn toàn, các bài viết dẫu sao cũng tốn nhiều công sức của người viết và post lên để hướng dẫn lại cho những người mới dễ dàng hơn trong việc tìm hiểu và tự học.
Cám ơn nhiều.

hanspkt 08-11-2006 08:32 PM

Xin chào!
Sao không thấy ai bàn về cách viết chương trình xuất ra led 7 đoạn bằng ASM nhỉ?
Em vừa mới tìm được cách chuyển đổi từ mã nhị phân 8bit sang mã bcd để xuất ra led 7 doan, nhưng em không biết cách để chuyển mã nhị phân 16bit sang mã bcd, mong được các bác chỉ giáo.
Đây là cách chuyển mã nhị phân 8bit sang mã bcd
;***********************************************
tram
movwf tam
clrf tg
tram_loop
movlw .100
incf tg,f
subwf tam,f
btfsc STATUS,C
goto tram_loop
decf tg,w
return
;*************************************************
chuc
movwf tam
clrf tg
chuc_loop
movlw .10
incf tg,f
subwf tam,f
btfsc STATUS,C
goto chuc_loop
decf tg,w
goto chuc1

chuc1
movwf tg
movlw .10
chuc1_loop
subwf tg,f
btfsc STATUS,C
goto chuc1_loop
addwf tg,w
return
;*************************************************
DONVID

MOVWF tg
DV
MOVLW .10
SUBWF tg,F
BTFSC STATUS,C
GOTO DV
MOVLW .10
ADDWF tg,W
RETURN
;************************************************* **
các kết quả nằm trong W

cám ơn nhiều!

namqn 08-11-2006 09:06 PM

Thuật toán trực quan:

Ví dụ với số 8-bit, giá trị tối đa là 255, do đó số BCD có 3 chữ số. Tính từ hàng trăm đến hàng đơn vị, lấy số cần chuyển trừ cho 1 đơn vị của hàng trăm (tức là 100) đến khi có kết quả âm thì không trừ nữa, coi như đã chuyển xong hàng trăm, lấy phần dư thực hiện tiếp cho hàng chục, sau đó đến hàng đơn vị.

Với số 16-bit, giá trị tối đa là 65535, do đó số BCD có 5 chữ số. Cũng có thể làm theo cách tương tự, nhưng vấn đề ở đây là vi xử lý 8 bit không thể trừ hai số 16-bit với nhau một cách trực tiếp. Do đó cần phải có một số chương trình con để thực hiện các phép toán giữa các số 16-bit. Nếu không muốn đau đầu thì người dùng thường chọn ngôn ngữ cấp cao. Nếu vẫn muốn đau đầu thì tìm trên mạng hay tự viết các chương trình con hợp ngữ cho 16-bit.

Thân,

minhtruong 30-11-2006 07:40 PM

cho em hỏi đã có ai sử dụng pascal để viết chương trình cho pic chưa vậy

namqn 30-11-2006 07:49 PM

Trích:

Nguyên văn bởi minhtruong (Post 6197)
cho em hỏi đã có ai sử dụng pascal để viết chương trình cho pic chưa vậy

Bạn có thắc mắc gì thì cứ hỏi, ít nhất thì tôi cũng đã dùng thử. Kẹt lắm thì đọc sách giùm bạn thôi.

Thân,

Jerry 03-12-2006 10:06 AM

Đổi mã nhị phân 16bit sang 5 byte bcd unpacked
 
Trích:

Nguyên văn bởi hanspkt (Post 5878)
Xin chào!
Em vừa mới tìm được cách chuyển đổi từ mã nhị phân 8bit sang mã bcd để xuất ra led 7 doan, nhưng em không biết cách để chuyển mã nhị phân 16bit sang mã bcd, mong được các bác chỉ giáo.

Code:

; Đổi mã nhị phân 16bit sang 5byte BCD unpacked

;****************************
;Binary 16 bit to BCD unpacked 5 digit
;****************************
; Input : hex number in Hi, Lo (16bit binary)
; Output : TenK:Thou:Hun:Ten:Ones

bin16tobcdup5:
        swapf        Hi,w       
                andlw          0x0F           
                addlw          0xF0               
                movwf          Thou       
                addwf          Thou,f       
                addlw          .226       
                movwf          Hun       
                addlw          .50       
              movwf          Ones       

                movf            Hi,w       
                andlw          0x0F
                addwf          Hun,f       
                addwf          Hun,f       
                addwf          Ones,f       
                addlw          .233       
                movwf          Ten       
                addwf          Ten,f       
                addwf          Ten,f       

                swapf          Lo,w       
                andlw          0x0F       
                addwf          Ten,f       
                addwf          Ones,f       

                rlf            Ten,f       
                rlf            Ones,f       
                comf            Ones,f       
                rlf            Ones,f       

                movf            Lo,w       
                andlw          0x0F       
                addwf          Ones,f       
                rlf            Thou,f       

                movlw          0x07       
                movwf          TenK       

                movlw          .10       
Lb1:                       
                addwf          Ones,f       
                decf            Ten,f       
              btfss          3,0
                goto          Lb1       
       
Lb2:                       
                addwf          Ten,f       
                decf            Hun,f       
                btfss          3,0
                goto          Lb2       
Lb3:                       
                addwf          Hun,f       
                decf            Thou,f       
                btfss          3,0
                goto          Lb3       
Lb4:                       
                addwf          Thou,f       
                decf            TenK,f       
                btfss          3,0
                goto          Lb4       
                retlw          0

; Phần khai báo đầu chương trình thêm vào khai báo RAM:
        CBLOCK        0x20
        TenK
        Thou
        Hun
        Ten
        Ones
        Hi
        Lo
            ENDC

; gọi thử chương trình đổi mã nhị phân 16bit sang 5 byte bcd unpacked
        movlw        0xff
        movwf        Hi
        movlw        0xff
        movwf        Lo
        call        bin16tobcdup5


Notes: Nhờ các Mod edit lại phần code sao cho dễ nhìn hộ em, em chẳng biết làm thế nào!!!Thanks

namqn: Chọn phần code cần định dạng, chọn nút có hình dấu '#' trên thanh công cụ (ở trong khung soạn thảo lớn nhé). Cách khác là đặt mã [ code] trước phần code cần định dạng, và mã [ /code] ngay sau phần cần định dạng (nhớ là không có khoảng trắng bên trong các tag [] nhé, tôi phải để khoảng trắng thì các tag mới hiển thị được).

LEO-XBS 24-12-2006 05:38 PM

Giải đáp thắc mắc của bạn vtt:
bạn gán biến RunningLed = RD2 (#define RunningLed RD2), bạn muốn đưa chân này lên mức cao tức là dùng lệnh RunningLed = 1; tuy nhiên chương trình của bạn ko chạy được, lý do rất đơn giản là bạn chưa thiết lập chế độ I/O cho cổng D. Trước đó bạn phải dùng lệnh set_tris_d(0); để cổng D làm cổng ra rồi mới thực hiện lệnh RunningLed = 1; Còn lệnh output_high(PIN_D2) ; thì nó đã tự thiết lập cho chân RD2 làm chân ra rồi. Bạn thư lại xem sao nhé!

giaosucan 31-12-2006 10:47 PM

sao không thấy hướng dẫn bằng C các bác nhỉ

phamgiaquang 11-01-2007 04:21 PM

Mình đã dịch file bật tắt led 1s của NHH bằng MPLABIDEv7.51 nhưng không được. Chương trình báo lỗi:

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "F:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F452 "onoffled1s.asm" /l"onoffled1s.lst" /e"onoffled1s.err"
Warning[215] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 8 : Processor superseded by command line. Verify processor symbol.
Message[301] F:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F877A.INC 37 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Warning[230] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 10 : __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG.
Error[126] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 10 : Argument out of range (not a valid config register address)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 12 : Found label after column 1. (COUNT1)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 13 : Found label after column 1. (COUNT2)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 14 : Found label after column 1. (COUNT3)
Error[173] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 53 : Source file path exceeds 62 characters (F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM)
Halting build on first failure as requested.
BUILD FAILED: Thu Jan 11 16:17:17 2007

Mình cũng đã dịch file mạch test led 1 của bác F nhưng cũng bị lỗi. Không biết tại sao.

namqn 11-01-2007 06:36 PM

Trích:

Nguyên văn bởi phamgiaquang (Post 6797)
Mình đã dịch file bật tắt led 1s của NHH bằng MPLABIDEv7.51 nhưng không được. Chương trình báo lỗi:

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "F:\Program Files\Microchip\MPASM Suite\MPAsmWin.exe" /q /p18F452 "onoffled1s.asm" /l"onoffled1s.lst" /e"onoffled1s.err"
Warning[215] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 8 : Processor superseded by command line. Verify processor symbol.
Message[301] F:\PROGRAM FILES\MICROCHIP\MPASM SUITE\P16F877A.INC 37 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Warning[230] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 10 : __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG.
Error[126] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 10 : Argument out of range (not a valid config register address)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 12 : Found label after column 1. (COUNT1)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 13 : Found label after column 1. (COUNT2)
Warning[207] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 14 : Found label after column 1. (COUNT3)
Error[173] F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM 53 : Source file path exceeds 62 characters (F:\DOCUMENTS AND SETTINGS\PHAM GIA QUANG\DESKTOP\ONOFFLED1S.ASM)
Halting build on first failure as requested.
BUILD FAILED: Thu Jan 11 16:17:17 2007

Mình cũng đã dịch file mạch test led 1 của bác F nhưng cũng bị lỗi. Không biết tại sao.

Warning[215], Message[301], và Warning[230] không quan trọng lắm. Tuy nhiên trong MPLAB bạn đang chọn PIC18F452, trong khi tập tin header được gộp vào trong mã nguồn lại là cho PIC16F877A!

Các Warning[207] cho thấy format của tập tin nguồn của bạn không chuẩn. Tất cả các nhãn (label) phải nằm ở cột 1 của các dòng mã nguồn.

Error[173] chính là rắc rối, tên đường dẫn đến tập tin nguồn của bạn quá dài (dài hơn chiều dài tối đa là 62 ký tự). Bạn đặt mã nguồn trong một thư mục nào đó ở gần thư mục gốc, đặt tên thư mục sao cho đường dẫn tương đối ngắn thôi.

Thân,

namqn 30-01-2007 06:16 PM

Trích:

Nguyên văn bởi anhoa1608 (Post 7134)
Em chưa từng làm việc với bảng quang báo...Bây giờ bạn em rủ làm đề tài cùng nên bọn em đang fải tìm tài liệu(vì bạn ấy cũng chưa biết nhiều)...Có anh nào biết chỉ em với...
Cám ơn nhiều

Có thông tin về bảng cần làm chưa? Số hàng, số cột, đơn sắc hay bao nhiêu màu, các yêu cầu về tính năng: giao tiếp để nhập dữ liệu, điều chỉnh độ sáng hay không, ...

Về nguyên tắc thì có nhiều trang đã đề cập, vào google với từ khóa 'led matrix' thôi. Cách hay nhất theo nhiều người đã từng làm là dùng vi mạch dịch/chốt 74HC595 cùng với các vi mạch source/sink dòng như UDN2981/ULN2803.

Thân,

newuser 01-02-2007 08:55 PM

Đề tài về quang báo nói chung là không mới và cũng đã có nhiều người làm với 8051 rùi, nhưng với PIC-midrange thì sẽ gặp đôi chút khó khăn với cái vụ bộ đếm PC đấy.Nội giải quyết tốt bài toán công suất cho các Led sáng đều và đủ độ sáng(kể cả mở rộng hàng/cột) cũng đã là tốt rồi.

newuser 03-02-2007 08:28 PM

1 Attachment(s)
tôi có tài liệu này, chẳng nhớ lấy từ đâu nữa, mà cũng chưa đọc thử bao giờ. Bạn xem thử có tham khảo được phần nào không.

hero01 05-02-2007 02:20 PM

mấy anh ơi ! down tài liệu PIC ở đâu thế.tài liệu tiếng anh cũng được(miễn không phải là tiếng arap). chỉ giùm em với.cám ơn các anh nhiều

ntc 05-02-2007 05:31 PM

Trích:

mấy anh ơi ! down tài liệu PIC ở đâu thế.tài liệu tiếng anh cũng được(miễn không phải là tiếng arap). chỉ giùm em với.cám ơn các anh nhiều
Ngay trong luồng này. Hoặc vào phần "Cơ bản về vi điều khiển và PIC", có hai luồng cho cả tài liệu tiếng Việt và tài liệu tiếng Anh, và còn nhiều luồng khác nữa, hoặc search trên google.

Bạn phải chịu khó tìm, đây là kĩ năng rất cần thiết mà bạn cần phải trang bị.

Thân.

1322 09-03-2007 04:30 PM

giup ve SPI
 
Xin giup dum em, lam sao doc va viet tu pic16F877A to MCP2515, can controller, bang SPI.

namqn 09-03-2007 06:07 PM

Trích:

Nguyên văn bởi 1322 (Post 7614)
Xin giup dum em, lam sao doc va viet tu pic16F877A to MCP2515, can controller, bang SPI.

Bạn đã tìm hiểu gì về SPI chưa? Bạn đã đọc các phần liên quan đến SPI trong datasheet của PIC16F877A và MCP2515 chưa?

Thân,

1322 09-03-2007 11:56 PM

em da doc roi, nhung bang tieng anh, nen chua hieu duoc nhieu lam, nho ban giup dum

tinhbanso 14-03-2007 07:38 PM

các bác ơi cho em hỏi các làm mạch nạp cho pic 16f877a thông qua cổng USB làm như thế nào vậy. em đang làm một project về phần này.

anh_gioi 28-04-2007 11:14 AM

quang bao
 
Trích:

Nguyên văn bởi anhoa1608 (Post 7134)
Em chưa từng làm việc với bảng quang báo...Bây giờ bạn em rủ làm đề tài cùng nên bọn em đang fải tìm tài liệu(vì bạn ấy cũng chưa biết nhiều)...Có anh nào biết chỉ em với...
Cám ơn nhiều

chào mọi người. mình muốn tự học quang báo dùng C lập trình cho pic.nhưng ko có tài liệu(hiện tại chua biết gì về quang báo cả)
mong mọi người cho mình tài liệu về vấn đề này được ko?
cám ơn nha

jeanpiere 28-04-2007 10:18 PM

Nếu có thêm đoạn code viết bằng ngôn ngữ C thì hay hơn

hieulongan039 01-05-2007 11:08 PM

cho minh hỏi tí, khi mình sử dụng các lệnh CALL hoặc GOTO mà nó vượt quá bank thanh ghi mình đang làm việc thì mình xử lí thế nào. còn nữa cho mình hòi thêm trong thanh ghi status co bit IRP và 2 bit RP1: RP2 để chon bank thank ghi, bit IRP = 1, chọn bank 2,3; =0 chọn bank 0,1, vậy nếu mình chi sử dụng IRP ko để chọn 1 lượt 2 bank thì co phải tiện hơn ko, lúc đó đỡ mất công chọn mỗi lần 1 bank khi sử dụng RP1, RP0 (ko bit đúng ko?). Mình đã đọc ở diển đàn rùi về call và goto và đọc trong datasheet nữa nhung chưa hiểu mình nhờ các cao thủ PIC chỉ giúp.
thanks

tranvanthuong 07-05-2007 06:31 PM

minh cho tài lệu bạn nhé, làm quang báo ko dể đâu- nặng óc lắm nếu bạn thích thì theo ý kiến tui như sau: định hướng trước mình cần thiết kế bằng nhửng IC gi: pic, quét cột-74193, truyền dữ liệu vào cột 74hc595, phải biết vẽ orcad hoặc protuer. còn tài liệu ccs c thì tui sẻ cho link nè: đợi tý nhé

tranvanthuong 07-05-2007 06:34 PM

http://www.tailieuvietnam.net/downlo...CCSC_3.249.rar

tranvanthuong 07-05-2007 06:36 PM

và còn nhiều tài liệu nữa nếu anh em cần thì cứ đặt câu hỏi lên diễn đàn nhé mình sẽ cố gắng giúp cho!

tranvanthuong 07-05-2007 06:42 PM

1 Attachment(s)
a! wên nữa chào anh_gioi anh vào các đề tài học tập dùng pic mà tìm chương trình C, hoặc trong luồng lập trình nhóm 16f877a cũng rất nhiều và anh nên bắt đầu từ đó em có 1 bài gởi cho anh ne!

dvnccbmacbt 30-05-2007 09:19 PM

Chào mọi người! Em mới học về pic một ít thôi. Trước đây có học về 8051. Cho em hỏi một tí. Các nguyên tắc hoạt động của bộ định thời, các ngắt của PIC có giống với 8051 không? Ý em muốn hỏi về nguyên tắc hoạt động thôi. Mong các bác giúp đỡ! Em cảm ơn nhiều.

namqn 30-05-2007 11:38 PM

Trích:

Nguyên văn bởi dvnccbmacbt (Post 9026)
Chào mọi người! Em mới học về pic một ít thôi. Trước đây có học về 8051. Cho em hỏi một tí. Các nguyên tắc hoạt động của bộ định thời, các ngắt của PIC có giống với 8051 không? Ý em muốn hỏi về nguyên tắc hoạt động thôi. Mong các bác giúp đỡ! Em cảm ơn nhiều.

Về nguyên tắc thì PIC và 8051 đều là các vi điều khiển, do đó các khối chức năng (module) sẽ có nguyên tắc hoạt động giống nhau. Chẳng hạn, bộ định thời sẽ đếm xung với tần số đã biết, do đó sẽ tạo được khoảng thời gian cần thiết. Tuy nhiên, bộ định thời trong PIC có thể sử dụng khá nhiều nguồn xung khác nhau, do đó linh hoạt hơn so với 8051. Đa số module ngoại vi của PIC là tiện lợi hơn hay là không hề có trong 8051.

Thân,

dvnccbmacbt 31-05-2007 09:41 AM

Trích:

Nguyên văn bởi tranvanthuong (Post 8555)
và còn nhiều tài liệu nữa nếu anh em cần thì cứ đặt câu hỏi lên diễn đàn nhé mình sẽ cố gắng giúp cho!

Anh cho em hỏi có tài liệu nào về Các IC giải mã địa chỉ hàng và cột kô? Em chưa hiểu rõ chỗ này lắm. Cảm ơn anh nhiều.

dvnccbmacbt 31-05-2007 03:14 PM

Các bác cho em hỏi thêm câu nữa! Ví dụ như ở 8051 ta có timer hoạt động như sau: đầu tiên chọn chế độ hoạt động cho timer ( vi dụ như chế độ tự động nạp lại), sau đó nạp giá trị bắt đầu đếm, rồi cho phép timer. Thế còn ở Pic chúng ta có làm tương tự như vậy không? tức là cũng sử dụng các cờ và các bit để điều khiển và chọn chế độ cho timer tương tự như 8051 hay không? Em muốn tìm một sự tương tự giữa Pic và 8051 để có thể hiểu PIc nhanh hơn. Cảm ơn các bác nhiều!

namqn 01-06-2007 12:14 AM

Trích:

Nguyên văn bởi dvnccbmacbt (Post 9051)
Các bác cho em hỏi thêm câu nữa! Ví dụ như ở 8051 ta có timer hoạt động như sau: đầu tiên chọn chế độ hoạt động cho timer ( vi dụ như chế độ tự động nạp lại), sau đó nạp giá trị bắt đầu đếm, rồi cho phép timer. Thế còn ở Pic chúng ta có làm tương tự như vậy không? tức là cũng sử dụng các cờ và các bit để điều khiển và chọn chế độ cho timer tương tự như 8051 hay không? Em muốn tìm một sự tương tự giữa Pic và 8051 để có thể hiểu PIc nhanh hơn. Cảm ơn các bác nhiều!

Về nguyên tắc thì các vi điều khiển hoạt động giống nhau, nhưng về mạch hiện thực thì có nhiều công nghệ khác nhau. Nếu bạn học AVR rồi và muốn tìm sự tương đồng giữa AVR và PIC để học nhanh hơn thì tôi cho là hợp lý, vì chúng cùng sử dụng kiến trúc RISC. Nhưng nếu bạn học 8051 rồi và định tìm sự tương đồng giữa 8051 và PIC (dưới cái nhìn của một người thiết kế) thì tôi cho là không có nhiều lợi ích cho bạn, vì 8051 dùng kiến trúc CICS.

Thân,


Múi giờ GMT. Hiện tại là 07:27 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam