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)
-   -   Thảo luận xung quanh Học PIC trong 1 ngày (http://www.picvietnam.com/forum/showthread.php?t=446)

culan 27-12-2005 11:12 AM

merci bác falleaf.
Em cũng đã đọc các đường link của bác, cả bài về nút bấm và em cũng đã
xem. Tuy nhiên, em vẫn chưa rõ hết về open-drain, hi-z v.v.
Em lên mạng và down về cũng nhiều tài liệu nhưng vẫn chưa tìm được tài liệu nào ưng ý, nó hơi tản mạn và ít hình vẽ (dẽ hiểu hơn)
Tấc nhiên là để làm những cái ứng dụng cho vidieukhien thế cũng ổn rồi.
Nhưng em cũng muốn có một tài liệu từ A-Z về phần này.
Nếu các bác đã từng tìm tài liệu về phần này và nếu có thời gian thì share cho em với. Còn không thì để em tự vậy
Merci.

falleaf 27-12-2005 11:20 AM

http://focus.ti.com/logic/docs/gener...rans_opendrain

falleaf 27-12-2005 11:42 AM

Trích:

Nguyên văn bởi culan
merci bác falleaf.
Em cũng đã đọc các đường link của bác, cả bài về nút bấm và em cũng đã
xem. Tuy nhiên, em vẫn chưa rõ hết về open-drain, hi-z v.v.
Em lên mạng và down về cũng nhiều tài liệu nhưng vẫn chưa tìm được tài liệu nào ưng ý, nó hơi tản mạn và ít hình vẽ (dẽ hiểu hơn)
Tấc nhiên là để làm những cái ứng dụng cho vidieukhien thế cũng ổn rồi.
Nhưng em cũng muốn có một tài liệu từ A-Z về phần này.
Nếu các bác đã từng tìm tài liệu về phần này và nếu có thời gian thì share cho em với. Còn không thì để em tự vậy
Merci.

Tài liệu phần này bạn muốn hiểu vì sao nó có thể làm như vậy, thì bạn đọc lại tài liệu về mosfet. Đây là một khái niệm về điện tử rất cụ thể. Link tôi vừa đưa trên kia, miêu tả bằng hình, link đầu tiên tôi đưa, miêu tả bằng lời, link thứ hai, miêu tả ứng dụng trong PIC. Tôi chưa có thời gian để viết tiếp các phần này, mong bạn thông cảm.

Chúc vui.

anhviet 13-01-2006 02:37 PM

BAC FALLEAF em theo hướng dẫn của bác, với mạch tắt mở led khi nạp cho 16f628a .Rồi dem test thư không chạy, liệu còn thiếu nhưng gì a va cho em hỏi luôn hiện tương của 1con pic hỏng thì như thế nào EM MỚI HỌC NÊN CÒN GÀ QUÁ MONG BÁC CHỈ GIÚP .MẠCH NẠP CỦA EM PG3 WINPIC800.VÀ EM CO THẮC MẮC không hiểu khi tháo pg3 khỏi máy tính dung winpic800 vẫn chạy ấn verify all chạy không báo lỗi.khi cắm pg3 vào dể nạp .khi nạp dèn có nháy sáng thông báo,khi ấn veify all dèn cũng nháy sáng và winpic 800 không báo lỗi gì có bảng thông báo CODE:OK - ID :OK - CONFIG:OK - DATA : OK . KHI rút mạch nap ra khỏi máy tính cũng vậy,thế là hiện tượng gì hả bác MONG BÁC CHỈ GIÚP BÁC CHO EM SỐ DT DE LIÊN LAC NHÈ

falleaf 13-01-2006 07:21 PM

Em xem lại mạch phần cứng của mạch chạy em đã làm tốt chưa. Em thử đọc ngược nội dung của chip ra xem kết quả có đúng không? Nếu em đọc ra, lưu lại thành file mà nó đúng, thì tức là chip nạp oki, không phải lỗi chip hay mạch nạp.

Không hiểu em dùng chương trình nào để nạp, và em dùng mạch ứng dụng nào? Nếu em dùng chương trình nút bấm, thì nó không giống với cái mạch nút bấm anh làm đâu nhé.

Em đã đặt TRISB = 0 chưa? Bởi vì nếu không thì nó không xuất tín hiệu được. Phải định nghĩa PORT trước.

Chúc vui.

sinhluc 11-04-2006 11:59 AM

chao anh falleaf !
em la thanh vien moi toe cua dien dan, em vua moi co y dinh tho chan vao pic, nhung la y dinh nghiem tuc. Em mong anh va cac ban da lam quen voi pic giup do.
Truoc day em da lam quen voi 8051 roi, cung da viet chuong trình cho 8051 bang asm, dung uv2 de lap trinh C cho 8051, lam cai phan cung dieu khien quang bao, chua on lam nhung cung da chay tàm tạm, cung dung cai 89c va nap bang cai bộ nap cong noi tiep ezdl4.0 nhu moi nguoi. Noi chung voi vi dieu khien 8051 trinh do cung chi Amatuer, rồi dừng lại ỏ đó.
bay gio em muon chuyen qua hoc pic , vi em thay pic co nhieu cai mạnh hon (do doc trong cai mo ta chuc nang phan cung, chu chưa lam gi het) nhu la adc, usb ... nhung cai ma 8051 khong co. Em da bat dau download datasheet cua con pic18f4550 (sở di chon noi vi em co mot cai mạch TAO GIAO TIEP USB, ơ dó nguoi ta dung pic18f4550 va muc dich cua em la tao giao tiep usb dung pic) ve xem qua, em cung da doc bai huong dan ve vi dieu khien (.pdf ) sau do doc luong Hoc pic trong 1 ngay cua bac, .. Nhung da 5 ngay roi em van chua lam dc gi (buồn quá). Em con down cả tai lieu C18 user guide, roi down ca phan mem MPLAB ban student ve cai roi. Em dịnh lam quen một chut voi pic bang asm de hieu phan cung, sau do chuyen qua C viet cho de, sau khi đã quen se tập chung vào cai giao tiep usb cua nó.
Kế hoạch la nhu the, nhung den gio em bi dung lai vi khong biet lam gi, bac co the chi cho em phai lam gi de lam thu mot cai mạch dieu khien nhap nhay led.
Em da doc luong hoc pic trong 1 ngay roi, nhung trong do co mot so cai bac noi ma em khong hieu vi chua biet mot so khai niem, tiep nua la trong do bac co huong dan lam mot cai mach phan cung rat chi tiet, co ca phan mem (phai noi rat chi tiet và) nhung ko thay noi den phan bien dich và thao tac nap chip nhu the nao, mạch nap gi. Em chua biet gi nen den day coi nhu bi dung lai. cu tuong doc xong la ngon luon co the lam cai ung dung dau tien
Bac co the noi cho em phai lam gi de lam dc cai mạch (nhap nhay led) theo cach don gian nhat (mot ung dung dau tien co 'hello word'),em dang máu qua ma khong bit lam gi! em da co roi buc xuc qua moi hoi bac
Cam on bac nhieu !

namqn 11-04-2006 07:22 PM

Bạn mới bắt đầu học PIC thì sang phần cơ bản mà học, tìm một con 16F877A chẳng hạn để làm quen. Nếu muốn dùng PIC tạo giao tiếp USB thì bạn phải chuẩn bị tinh thần đọc thật nhiều tài liệu về USB. Bản thân tôi vẫn chưa dám thử sức với USB, vì chỉ thử tìm hiểu thì đã thấy ở USB là một thế giới khác hẳn với serial port hay parallel port.

Thân,

hatuan296 22-04-2006 05:02 PM

Cám ơn bác namqn . bây giờ ? thì mình đã biết sơ sơ ( chắc phải nghiên cứu lại thật kỹ ) , vì mình cũng chỉ là dân tự học thôi . à, mà bác có dùng ngôn ngữ PICBASIC không ? niếu có thì bác chỉ mình cách sang trang bộ nhớ flash khác được không ?

mình đang làm đề tài về LCD , có ma trận phím để nhập ký tự ( giống phím của DTDD ) , bước cơ bản là nhập các ký tự vào LCD , sau đó thì lưu vào bộ nhớ ngoài . khi cần thì gọi lại và hiển thị trên LCd . nâng cao là viết chương trình trên LCD để điều khiển led đơn . và có thể mở rộng ra điều khiển Relay , Servo Motor , Step Motor ...

nhưng ngặt nổi chuong trình dài quá , mà mình lại không biết cách sang trang như bác nói . bác giúp mình nha . nếu làm thành công , mình sẽ gửi đề tài này lên để cho các bạn tham khảo thêm về ngôn ngữ PICBASIC , mình thấy ngôn ngữ này rất dễ học , chương trình viết rất gọn ...
Bác thấy được không ? cho mình ý kiến nhé .

namqn 22-04-2006 08:43 PM

Không may là tôi không dùng PICBASIC bao giờ, chỉ có dùng Basic compiler của PIC Simulator (do Vladimir Soso viết). Nhưng tôi nghĩ việc giải quyết chuyển trang bộ nhớ là do trình biên dịch đảm nhận, hay chí ít thì cũng phải có các hướng dẫn để người lập trình có thể thực hiện điều đó. Bạn chịu khó tìm hiểu thêm các tài liệu hướng dẫn của PICBASIC, và đọc thêm các tài liệu liên quan đến PICBASIC trên Internet (có rất nhiều).
Chúc thuận lợi!

Thân,

hatuan296 23-04-2006 06:27 AM

vậy sao ? tiếc quá nhỉ . phần mềm PICBASIC Pro 2.46 mình đang dùng là dow từ PICVIETNAM.COM . không biết có phải là bản DEMO hay không nữa , mình đã xem rất kỹ phần HELP có trong trình dịch , có đầy đủ tập lệnh , các loại chíp có thể dịch , ...... nhưng mình lại không thấy có phần chỉ cách sang trang .. cũng hơi thất vọng .

bạn nói mình nên lên internet tìm , vậy mình phải gõ từ khóa gì về chủ đề sang trang bộ nhớ đây bạn ? bạn giúp mình được không ?

falleaf 23-04-2006 12:53 PM

Trang bộ nhớ, và trang soạn thảo lập trình
 
Bạn dùng chính từ khoá là PIC Basic đó, có thể thêm chữ tutorial phía sau, có thể thêm filetype: pdf nữa... Nó có hàng loạt tài liệu hướng dẫn liên quan.

Theo mình nghĩ, thì các phần mềm viết bằng ngôn ngữ cấp cao, thì nó hoàn toàn tự xử lý phần sang page cho bạn. Cho nên ban không phải lo.

Cái của bạn hiểu về sang trang của bộ nhớ PIC, và trang viết chương trình (trang giao diện) là hoàn toàn khác nhau.

Một khi chương trình dài quá, bạn có thể viết thành nhiều file .bas, hoặc .c, hoặc .asm, .s... Sau đó, trong cái file .bas chính, thì bạn include các file kia vào đúng vị trí cần include. Khi đó, nó sẽ dịch tất cả thành một file dài. Nhưng mà việc trình bày dễ dàng hơn.

Còn việc sang page trong bộ nhớ chương trình của PIC, đó là bản thân bộ nhớ chương trình của PIC, để định địa chỉ các ô nhớ chương trình, thì nó có 8KW, khoảng 9 nghìn mấy ô. Vì vậy, nó chia ra làm nhiều đoạn nhỏ, và bạn để ý rằng, khi đang thao tác nhảy tới nhảy lui trong 1 page, thì gần như là chỉ cần thay đổi địa chỉ các bit thấp, còn khi muốn sang page khác, thì thay đổi các bit cao của địa chỉ ô nhớ.

Bạn cần phân biệt rõ hai khái niệm này.

Chúc vui

chuchinh 18-05-2006 02:29 PM

Bác cho em hỏi, em copy đoạn code của bác rồi vào chạy trong MPLAB thấy nó cứ báo lỗi. Đoạn code như sau:
TITLE "Mach test LED_1"
PROCESSOR P16F628A
INCLUDE <P16F628A.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC

;================================================= ======
ORG 0x0000
GOTO MAIN


ORG 0x0005

MAIN
BANKSEL TRISB ; bank select
CLRF TRISB ; trisb = 00000000
; portb = output
BANKSEL PORTB
BSF PORTB, 0 ; rb0 = 1
; RB0 = 5V
GOTO $ ; dung chuong trinh tai day
; vong lap tai cho^~
; khong bao gio ket thuc
END ; lenh bat buoc de ket thuc
;================================================= ========

+ Trỏ dòng khai báo:
PROCESSOR P16F628A
Warning[215] E:\TEST\TEST1\TEST1.ASM 24 : Processor superseded by command line. Verify processor symbol.
+ Trỏ dòng:
CLRF TRISB ; trisb = 00000000
Message[302] E:\TEST\TEST1\TEST1.ASM 38 : Register in operand not in bank 0. Ensure that bank bits are correct.

Giúp em kiểm tra cái nhé!

nhh 20-05-2006 06:18 PM

Trích:

Nguyên văn bởi chuchinh
Bác cho em hỏi, em copy đoạn code của bác rồi vào chạy trong MPLAB thấy nó cứ báo lỗi. Đoạn code như sau:
TITLE "Mach test LED_1"
PROCESSOR P16F628A
INCLUDE <P16F628A.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF &_HS_OSC

;================================================= ======
ORG 0x0000
GOTO MAIN


ORG 0x0005

MAIN
BANKSEL TRISB ; bank select
CLRF TRISB ; trisb = 00000000
; portb = output
BANKSEL PORTB
BSF PORTB, 0 ; rb0 = 1
; RB0 = 5V
GOTO $ ; dung chuong trinh tai day
; vong lap tai cho^~
; khong bao gio ket thuc
END ; lenh bat buoc de ket thuc
;================================================= ========

+ Trỏ dòng khai báo:
PROCESSOR P16F628A
Warning[215] E:\TEST\TEST1\TEST1.ASM 24 : Processor superseded by command line. Verify processor symbol.
+ Trỏ dòng:
CLRF TRISB ; trisb = 00000000
Message[302] E:\TEST\TEST1\TEST1.ASM 38 : Register in operand not in bank 0. Ensure that bank bits are correct.

Giúp em kiểm tra cái nhé!

Cái message khi bạn có dòng đó thì nó đều báo vậy cả mà, ko sao đâu

Bạn chỉ cần viết
Code:

trisb = 0;
là portb output,không cần một mớ số 0 như vậy đâu
Trường hợp bạn muốn cả input và output thì dùng
Code:

trisb = 0b01011110
Chân nào muốn output thì đặt số 0, ngược lại input thì số 1.
Nếu thấy dài quá thì bạn chuyển qua số hex vậy!

Còn dòng khai báo PROCESSOR hình như là
Code:

PROCESSOR        PIC16F628A
Bạn đổi lại xem thế nào, lâu không viết ASM nên không nhớ rõ bạn à!

hungnp 22-05-2006 10:56 AM

Khi Nao Bien La Mot Thanh Ghi, Hang So
 
Chao ban ZERO2ONE!
Minh cung la nguoi moi bat dau nghien cuu ve PIC. Ve van de ban de cap nhu tren thi theo minh co the giai thich nhu sau:

Trong cau truc lenh cua lenh MOVWF co the giai thich nhu sau:

MOVWF <ADDRESS>

NHU VAY ADDRESS O DAY LA MOT HANG SO MA CHUNG TA CO THE GAN CHO NO MOT CAI TEN NAO DO VI DU NHU BAN GAN LA LABEL1. KHI CPU THUC HIEN DEN LENH NAY THI NO SE NGAM HIEU NGUOI LAP TRINH MUON CHUYEN GIA TRI TRONG THANH GHI W VAO MOT DIA CHI NAO DO TRONG RAM. NOI TOM LAI LABEL1 LA MOT BIEN DIA CHI.

- CON LENH MOVLW THI CO THE GIAI THICH THE NAY:

CAU TRUC LENH MOVLW <VALUE>

LENH NAY KHONG NOI CHAC BAN CUNG BIET NO CHUYEN GIA TRI (VALUE) VAO TRONG THANH GHI W. CO NGHIA LA VALUE LA MOT HANG SO.

BAN THU PHAN BIET 2 LENH NAY CO KHAC NHAU HAY KHONG NHE.

CHUNG TA KHAI BAO...

VALUE EQU 0AH
.....

MOVLW VALUE
VA LENH
MOVLW 0AH

CON TRONG LENH NAY THI SAO?

MOVWF VALUE

NO CHI CHUYEN GIA TRI TRONG W REG VAO THANH GHI VALUE CO DIA CHI 0AH TRONG RAM

HAI LENH NAY CHANG KHAC NHAU GI CA.

TONG QUAT LAI MA NOI.

KHI MINH KHAI BAO MOT BIEN HAY LA KHAI BAO NO LA MOT HANG SO THI KHI TRONG MOT CAU LENH CU THE THI KHONG PHAI NO LA MOT BIEN HOAC LA MOT HANG. NO LA BIEN HAY HANG LA TUY THUOC VAO NO LA DOI SO CUA LENH GI NUA.

TOI CHI BIET THE THOI. MONG RANG BAN CO THE HIEU DUOC RA VAN DE.

truongthinh 22-05-2006 01:17 PM

cong noi tiep
 
con 8051 có hỗ trợ cho minh cổng và thanh ghi trong việc truyền dữ liệu từ nối tiếp sang song song. mình đang sừ dụng con PIC6F84A. mình có thể sử dụng thanh ghi nào để thực hiện việc chuyển đổi. Mong các bạn giúp đở


Múi giờ GMT. Hiện tại là 10:28 PM.

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