![]() |
bác namqn ơi
Em đang định làm đề tài truyền thông nối tiếp F877 với PC.
8 kênh ADC ( dùng 1 sensor nhiệt độ, còn lại chỉ dùng biến trở) --> RS232--->f877---> màn hình máy tính(dùng VB để viết). bác cho em hỏi tí: .Nguồn cho pic em có thể dùng chính nguồn (biến đổi) của cổng COM được không? .Giao tiếp cổng COM thì vẫn dùng Max 232 như gt với 8051 hả bác? BÁc chỉ dùm em đường link có liên quan với. Em đang chuẩn bị thi nên mấy hôm nay ko học được thanks! |
Trích:
- Giao tiếp một vi điều khiển bất kỳ với máy tính đều có thể dùng MAX232 (hoặc một vi mạch tương thích), do đó với PIC bạn vẫn dùng như vậy. Sơ đồ cụ thể còn tùy thuộc vào việc bạn dùng module USART của PIC hay hiện thực bằng phần mềm (bit-banging). Nếu dùng USART của PIC thì nối như sau: + Chân TX (PIC) -> T1IN/T2IN (MAX232) -> T1OUT/T2OUT (MAX232) -> chân RD (chân 2) của cổng COM + Chân RX (PIC) <- R1OUT/R2OUT (MAX232) <- R1IN/R2IN (MAX232) <- chân TD (chân 3) của cổng COM. Những chân còn lại của MAX232 được nối như trong datasheet. Thân, |
bác cho em hỏi:
địa chỉ ngắt f877 là 004h. Nếu mình sử dụng 1 ngắt thì ko vấn đề gì. Nhưng khi em sử dụng nhiều ngắt , Vậy thì mình phải làm gì để nó phân biệt được đâu là ngắt ngoài , ngắt timer , counter.... hả bác |
Các bác ơi sao ko viết bằng C đi!! Em thấy viết bằng C dễ hiểu hơn.
|
chào mọi người !theo em nhận thấy tại sao chúng ta không một dự án nhỏ từ a đến z giống như tụi nước ngoài luôn !Em thấy các cứ post kiểu em thấy xưa cũ quá rồi !nhai đi nhai lại hoài chán lắm !phải có cái gì mới lạ hơn và khó hơn để cùng nhau mổ xẻ !..........
|
uh mình cũng thấy viết C thì đơn giản hơn nhiều.
mình đang học cả 2. mình muốn trước tiên phải hiểu về cấu trúc PIC thật rõ ràng đã nên học ASM. Muốn học lắm mà ko có nhiều thời gian. |
Trích:
Quyết định vậy đi. Hẹn bạn ở luồng nâng cao |
các anh cho em hỏi với.Nếu muốn thêm bộ nhớ ram cho vi điều khiển PIC 16F877A thì làm thế nào nhỉ.em chưa biết sao,các anh giúp em với nhé.
|
Trích:
Bạn nên cho biết cần thêm bao nhiêu RAM, và tốt hơn nữa thì cho biết vì sao bạn cần bổ sung thêm RAM. Thân, |
anh ntc sao a không post bài tiếp đi . E đang theo dõi luồng này , nó rất hay với lại e cũng mới tiềm hiểu con 16f877A thôi. Nên rất cần tài liệu về con này mong a giúp đỡ.
|
cho em hỏi vấn đề dùng 16f877A để giao tiếp pc qua ethernet, từ đó có thể nối ứng dụng điều khiển đo, hiển thị nhiệt độ, điều khiển tốc độ động cơ...
|
anh nào có thể cho tư liệu về hình ảnh encoder va nguyên lí hoạt động của nó vớ
|
anh ơi anh có thể giúp em thiết kế mạch sử dụng pic 16f877a (tính năng là dùng đề chạy chữ)giúp em lam zoi nha anh ntc,hoac ai làm được chỉ mình với nha.thanks nhiu
|
Mình mới bắt đầu học Pic. Cũng đọc qua một số tài liệu. Viết xuất I/O cho 1 Led bằng cách khác thì chạy, còn cách này thì không. Mong các anh em chỉ giáo. Biết sai để hiểu hơn. Cảm ơn anh em.
Code:
#include <16F877A.h> |
Trích:
Nếu bạn muốn lật trạng thái của chân B1, bạn có thể dùng hàm output_toggle() đã được CCS C cung cấp. Thân, |
Cảm ơn anh namqn nhé. Anh cho em hỏi. Em muốn xoay bit ở 8 led đơn. Code em viết như sau:
#include <16F877A.h> #fuses HS,NOLVP,NOWDT,PUT #use delay(clock=4000000) void main() { int16 i,count; while(1) { count=1; for (i=0;i<=8;i++) { output_A(count); delay_ms(100); count=count>>1; } } } Không hiểu sao chỉ chạy 6 led. Mong anh em chỉ dùm. Có cách nào để lưu 1 giá trị vào 1 thanh ghi rồi cho xoay k anh? Chẳng hạn lưu: b10000000 vào rồi cho rotate sang phải để dịch? |
Ah. Mình hiểu rồi. Port A chi có I/O từ RA0-RA5 thôi. Cám ơn anh em.
|
bác namqn chỉ cho em cách dùng timer được không?
.khởi tạo .thiết lập giá trị ban đầu. |
Các anh trong dien đàn chỉ em phần này với. Em lập code cho chương trình led sáng dồn, nếu dùng xuất ra portB 0x01,0x02... thì dài quá nên em viết theo 1 kiểu khác. Không hiểu sai chỗ nào mà lại chạy sai, nhờ mấy anh chỉ giúp.
Code:
#include <16F877A.h> |
Trích:
Nếu chọn xung clock thực thi lệnh là nguồn xung clock cho Timer 1, thì chúng ta cần đếm đủ 100000 chu kỳ máy (= 100000 us) để định khoảng thời gian 100 ms. Vì bộ đếm của Timer 1 chỉ có độ dài 16-bit, giá trị lớn nhất mà Timer 1 có thể đếm được mà không bị tràn là 65535. Do đó, chúng ta cần giảm tần số xung đi vào Timer 1 để có thể đạt được mục đích. Điều này có thể thực hiện bằng cách sử dụng bộ chia (tần) trước (prescaler). Bộ chia trước của Timer 1 trong PIC16F877A có thể chia 1, 2, 4, hay 8 tần số clock trước khi đưa vào Timer 1. Ở ví dụ này, tôi chọn hệ số chia là 8. Như vậy, số đếm mà Timer 1 sẽ đếm được ứng với 100 ms sẽ là 100000/8 = 12500. Vì Timer 1 chỉ tràn từ 0xFFFF về 0x0000, cần thiết lập trước giá trị của các thanh ghi TMR1H và TMR1L để sẽ tràn trong 12500 lần đếm, tức là giá trị TMR1 = 65536 - 12500 = 53026 = 0xCF2C. Xem thêm hình 6-2 trong datasheet của PIC16F877A để hiểu rõ hơn phần trình bày trên. Code để thiết lập Timer 1 như sau: Code:
T1CON = 0x30; // Prescale = 1:8, dung clock thuc thi lenh Một nhắc nhở nhỏ: Bạn nên tránh nêu đích danh người được hỏi, và chú ý là những câu hỏi loại này không phải chỉ có một vài người có thể trả lời. Thân, |
Trích:
Code:
#include <16F877A.h> |
chào các bác em mới bắt đầu học về vi điều khiển pic nên rất mong bác ntc sớm post bài lên kèm thêm giải thích câu lệnh thì hay quá
|
ở đây có bác nào biết viết lập trình cho pic bằng ngôn ngữ ccs không?bảo em với có ví dụ minh họa thì tốt quá
|
Bạn vào luồng này :
http://www.picvietnam.com/forum/show...=2113#post2113. Link download trình biên dịch CCS C ở đây: http://www.tailieuvietnam.net/downlo...CCSC_3.249.rar Hiện nay đã có phiên bản mới hơn 4.0 rùi đó. mình cũng mới học về nó thôi , chủ yếu là học trong phần Help của nó đó , có ví dụ rõ ràng lắm. |
chào các bạn, mình đang làm đề tài về đo khoảng cách 5-10m kết hợp với vi xử lý, mình đang băn khoăn không biết trọn con cảm biến nào cho phù hợp, mong được sự góp ý từ các bạn, mình xin cảm ơn trước
|
Điều khiển tốc độ động cơ từ máy tính?
Tôi đã làm được mạch điều khiển tốc độ động cơ DC, sử dụng pwm của 16f877a, tốc độ được điều khiển bằng biến trở thay đổi điện áp đưa vào chân RA1 (dùng chức năng ADC). Bây tôi giờ muốn khi nhập giá trị tốc độ trên máy tính thì tốc độ động cơ sẽ thay đổi theo, vậy phần mạch và phần chương trình phải cần có những gì, mong các bạn giúp đỡ.
(Trình độ diễn đạt hơi kém, các bạn thông cảm nhé) |
anh em cho mình hỏi khi sử dụng Port B để xuất dữ liệu thì có chú ý gì đặc biệt
tới chân RB3 ko? hay chỉ cần thiết lập nó thành chân Output là đủ.( ASM) |
Trích:
|
Thắc mắc về PIC16f877 và PIC16F887
Mình mới tìm đc một mạch nguyên lý điều khiển 3 động cơ bước dùng PIC16F877 nhưng mình có nhờ một người chuyên điện tử thiết kế lại thì anh đó lại dùng PIC16F887. Mình không biết 2 con đó có giống nhau không. Và xin được hỏi mọi người, trong 2 con đó thì con nào mới hơn, nhiều chức năng hơn. Cảm ơn
|
bạn search trên google là ra thôi. như mình thấy thì 2 con chức năng như nhau.
Thường thì xài F877 không à |
Mình có vấn đề muốn hỏi. khi mình viết xong chương trình trong MPLAB và build nó thì có 1 lỗi liên quan tới _config là "Error[126] E:\DOCUMENTS\HOC KY 8\DA THUC NGHIEM\TEST.ASM 3 : Argument out of range (not a valid config register address)"
Một vấn đề nữa là.Cũng file.asm đó trước đây mình build thì SUCCEEDED. Mà giờ build lại thì bị lỗi trên.Mình thử bỏ phần khai báo config thì build được mà file.hex đó thì lại chạy mô phỏng không được.Mong được chỉ dẫn! |
bạn post bài lên đi
|
cảm ơn! Mình đã chỉnh lại được rồi.Lý do là trong MPLAB mình chưa select device đúng loại PIC.
|
anh ơi anh có mạch lịch vạn niên không anh giúp em với. anh post cho em được không
|
ai có mạch lịch vạn niên không cho mình đi, mình đang làm đồ án.
|
help me vói hjx hjx rối quá
1 Attachment(s)
các bác ơi xin giúp đở cho em với em mới vào luống này và cảm nhận được sự nhiệt tình của các bác ở đây nhiều lắm !
Em có một vấn đề ở đây rất cần sự giúp đở của các bác! em mới học môn vxl về viết chương trình cho pic em tìm được một đề tài về con pic là dùng pic để điều khiển cái CD_ROM có được đoạn chương trình để chạy no nhưng em muốn viết lại theo ý của mình là dùng các key nút nhấn để điếu khiển nó trước tiên là dùng các lệnh kiểm tra trục tiếp xem nút nào ở trạng thái được nhấn và xuất dử liệu ra cổng IDE của CD_ROM VD: kiểm tra thấy trạng thái của nút nhấn play đang ở mưc thấp (đang nhấn) thì phải xuất dữ liệu ra chân số mấy ở cổng IDE của CD_ROM là mức cao hay mức thấp (chẳng hạn như lệnh để cho CD_ROM play thì cần cáu trúc lệnh xuất ra cổng IDE là: IDE1=0,IDE0=1,IDE2=1,IDE3=1,IDE4=0.......)nói chung là cấu trúc ngỏ ra của nó là dạng số nhị phân (xuất ra các port của pic) đây là các tài liệu mà em tìm được nhưng khi ngâm cứu thì gặp phải quá nhiều khó khăn vì trình độ em còn quá thấp ko thể hiểu hết được cấu trúc lệnh của chương trình mong các bác chỉ bảo thêm cho.vị trí các chân của pic nối với cổng IDE em lấy giống như trong hình vẽ cho dể kiểm tra còn phần chương trình của LCD thì em ko dám đụng tới chỉ làm phấn điều khiển thôi (gà mà hjx hjx)mong các bác tận tình giúp đở cảm ơn rất nhiều!!!!!!! |
hix hix anh em trên diễn đàn đâu hết rùi!!!!!!!!!!!
hix có người tải mà ko có người trả lời kỳ zậy ta?????????? |
cho e hỏi về thạch anh
e đang xài thạch anh 20Mhz,2 tụ 33p cho con 16f877a, mạch chay tốt mà không hiểu tại sao khi e lấy tay chạm vào 1 chân thạch anh nối vào chân OSC1/CLK(13) thi mạch bị đứng lại, thả tay ra lại hoạt động binh thường, mấy pác giúp e khắc phục lỗi này của e với
|
không chạm vào nữa
|
help me!
có bạn nào chỉ giúp mình cách thiết lập interrupt serial port của pic16f877a được không?
cảm ơn nhiều...! |
Múi giờ GMT. Hiện tại là 06:12 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