View Full Version : Tranh luận về vấn đề học PIC và vi điều khiển
vanmai.co
11-03-2013, 10:51 AM
Cũng không có gì phức tạp nắm đâu bạn chỉ cần xây dựng một khối thời gian thực(BQ3285EP nó chứa cả mạch DS gì đó của Maxim nếu bạn học BKHN tôi có thể tặng bạn con này để làm mạch thật) và một khối giao tiếp người máy có thể là một bàn phím và 1 LCD và 1 bàn phím chẳng hạn để bạn chỉnh giờ cho nó.Còn về vi điều khiển :nếu nhw bạn mới học về vi điều khiển thì mình khuyên bạn nên dùng 8051 nó vừa đơn giản lại là cơ sở để bạn có thể học các dòng vi điều khiển khác.PIC có ít lệnh và nhiều thiết bị ngoại vi nhưn học không dẽ và có các điểm không phải là mạnh như:
1.Ít lệnh đồng nghĩa với việc bạn muốn thực hiện một lệnh tương đương với 8051 thì phải viết bột đống lệnh rất dài (như thế sẽ phức tạp,tốn bộ nhớ và chậm hơn 8051 rồi.)
2.Do một từ lệnh có độ dài khác với một từ dữ liệu cho nên ngăn xếp sẽ hoàn toàn độc lập với bộ nhớ RAM và có dung lượng nhỏ vì vậy số chương trình con và ngắt tại một thời điểm là hữ hạn và nhỏ.
bich_pham
11-03-2013, 10:51 AM
Nhân tiện đây tôi cũng xin mạn muội viết đôi chút hiểu biết của mình về V Đ K với các bạn.Các bạn thường thắc mắc tại sao trường BK day 8051,8086 mà không dạy về PIC tôi xin trả lời rằng :"nếu như các bạn học về công nghệ thôn tin hoặc điện tử viễn thông thì 8086 là con dễ nhất trong họ các vi xử lý hiện đại và nó là cơ sở cho các con sau này.8051 cũng vậy nó là dòng vi xử lý đầu tiên và là cơ bản dễ học nhiều tài liệu ,rẻ tiền cho thí nghiệm.PIC như tôi nói ở trên các bạn đã thấy hai điểm yếu của nó nhưng bù lại nó có điểm mạnh là nhiều thiết bị ngoại vi.Nhưng chưa phải la nhiều nhất các bạn có lẽ từng nghe nói tới PSoC .Đây mới là thws nhiều thiết bị ngoại vi.Có cả tương twj và số.Nếu bạn học điện tử Y sinh thì chú ý con này vì sau mấy năm nữa thì con này sẽ rất nhiều trong các thiết bị Y tế. Và nếu như tính đến tốc độ thì không thể kể tới AVR đứng đầu về tốc độ.Tôi khoái nhất thằng này vì nó nhanh đến mức mà có thể lập trình đa nhiệm !!! hì hì.Còng nếu các bạn làm về các bord mạch của các nước như Trung Quốc hoặc Nhật bản,Ixaren... và cụ thể là các máy điều hòa nhiệt độ thì chúng dung 68HCxx.
Ở các trường đại học thì mới chỉ có trương DH BK dạy về PIC ,AVR,68HC11 và cụ thể là bôn môn kĩ thuật đo và tin học công nghiệp day.Vì vậy các bạn trong trường có quan tân thì dến học ở các lớp trong bộ môn này.
htcosg
11-03-2013, 10:51 AM
Chắc bác quên PIC có kiến trúc RISC (Reduced Instruction Set Computer=Máy tính có tập lệnh rút gọn). Còn 8051 có kiến trúc CISC (Complex Instruction Set Computer=Máy tính có tập lệnh phức tạp). Theo các nhà nghiên cứ điều tra thống kê thì:
+Trong nhiều chương trình điển hình được xử lý bằng bộ vi xử lý CISC thì đến 80% chạy chương trình chỉ bởi 20% số lệnh trong tập lệnh
+Có trường hợp để đạt được cùng một kết quả thì việc chạy một chuỗi lệnh đơn giản sẽ chạy nhanh hơn một lệnh phức tạp.
Tập lệnh của RISC tập chung vào các lệnh chính yếu và phần cứng được thiết kế sao cho các phần tử RISC hiểu ngay được lệnh máy do chương trình cung cấp, không cần phải giải mã thành một chuỗi các vi lệnh như CISC. Rõ ràng thời gian thực hiện một lệnh ở đây rút ngắn đi nhiều so với CISC.
Một đặc điểm quan trọng nữa mà bác quên là RISC có một số lượng lớn các thanh ghi nên ngăn xếp không cần nhiều (8) và đương nhiên các tính toán trên thanh ghi là nhanh hơn rồi. Còn nữa bộ xử lý RISC có một tập lệnh nhỏ chúng chỉ có các lệnh cơ sở, nên công việc của người lập trình khó khăn. Nhưng tại sao người ta lại dùng RISC vì trên 95% các lệnh đều được thực hiện chỉ với một nhịp đồng hồ. Bộ xử lý RISC có các BUS riêng cho dữ liệu và mã gọi là kiến trúc Harvardcòn CISC chỉ có một tập hợp BUS. Vì tập lệnh bé nhưng lại có ưu điểm đó bác, là các lệnh được nối cứng và việc cứng hóa chiếm không quá 10% transitor, số transitor dư ra làm được rất nhiều thứ hữu ích khác.-> Vì vậy theo tôi không thể nói là PIC chậm hơn 8051 được.
AVR (RISC)nói chạy ở clock 8Mhz thì công nhận là nó thực hiện được 8 triệu lệnh/giây thật. Nhưng không hẳn đã như thế đâu, vả lại so sánh giữa các con nó cũng khập khiễng phải không bác. Có chăng lấy con mạnh nhất của các họ ra so sánh may chăng còn kết luận được vì PIC có nhưng con chạy tới 30 triệu lệnh/giây mà.
Còn riêng tôi thấy PIC là quá đủ để dùng rồi nên cũng không cần bận tâm nhiều. :e-cu:
cholonco
11-03-2013, 10:51 AM
Hehe... các bạn cân đối thì biết ngay lợi điểm của từng loại.
-Về chủng loại PIC bậc nhất, một rừng PIC. Nên nếu làm những ứng dụng chuyên dụng sẽ rất tối ưu.
-Về doanh số uC 8 bit,thế giới dùng PIC nhiều nhất.
-Về uC >=16 bit thi motorola vẫn hàng đầu. Nhưng cũng coi chừng thằng dsPIC, một bài học xương máu là uC8 bit PIC vừa vượt mặt 68HC 8 bit 2 năm nay.
-Về việc tiết kiệm năng lượng: PIC hàng đầu rồi. Ứng dụng dùng PIN thì PIC nhất.
-Về tính ổn định: PIC được đánh giá rất cao ngang ngửa Motorola. Vì nhạy cảm nên tui ko so với AVR, 89... :rolleyes:
-Về tốc độ: mấy con AVR chưa ăn thua so với dsPIC. Nhưng ARM thì đỉnh cao về tốc độ rồi. Nhưng công lực cao mới sử dụng được laọi dán, loại nhiều chân...còn tui thì chịu chết.Tìm cái đế cắm bon này còn khó hơn mua chip.. :laycu:
-Bạn nào đó ko nên so sánh PIC với 89C51 của Atmel, thử download tài liệu PIC16F877A và con 89S8252(xấp xỉ bằng tiền nhau), rồi phán xét 1 câu. Riêng đọc để thấu đáo các tính năng của con PIC đó cũng cần có thời gian và công sức. Nhìn cái chức năng của con PIC đó thì ko dành cho người yếu bóng vía.
-Nếu hệ nhúng thì nên làm AVR. Nhưng ai có khả năng làm được viẹc này? xây dựng 1 hệ OS trên nó??? khà khà... làm được em bái phục. Em mà làm em kiếm cái PC104 làm thui. Ko đâm đầu vào rọ. :laycu:
Em viết mấy dòng mong các bác tiếp tục tranh luận cho rôm
nghiathanhwood
11-03-2013, 10:51 AM
Tôi cũng đang học Pic, và cũng phải thừa nhận học Pic rất phức tạp, nhưng chính những Phức Tạp lại đi liền với những tính năng ưu việt tương ứng. Cái gì cũng có cái giá của nó. VD ta phải luôn chon Các Bank để khi làm việc với thanh ghi ( banksel …..) nhưng nhờ có cái đó mà dung lượng Ram của Pic được tăng lên rất nhiều: VD Pic16f88 , thì Ram là 368 byte trong khi đó ở 89x52 chỉ có 256, …….
Cũng phải đồng ý với bác ChiBang là nhiều chủng loại để chọn lựa cho các ứng dụng của mình, điểm này em rất khoái em đang dung F88 bé tí xíu nhưng đủ cho các ứng dụng của em
To Nguyenngang: bạn đang làm bài tập lớn phải ko, mình cũng vậy, Nếu bạn phân vân chọn VĐK khiển nào để làm bài tập lớn tôi khuyên bạn nên chọn 8051 vì hai lý do sau:
+ Nếu bây giờ bạn băt tay vào học PIc bạn sẽ ko kip nữa
+ Các tài liệu làm bài tập lớn về Pic hầu như ko có, mà bác lại chưa làm mấy về VĐK phải ko nên chắc sẽ rất khó khan cho bác nếu phải làm lại từ đầu. Tôt nhất là hãy xin code của các anh khoá trên để làm (www.svbkol.org mục ĐTVT), cái này ko thiếu đâu
Còn sau này bạn chuyển sang PIC cũng ko muộn đâu.
jaeyoungkim.dhi
11-03-2013, 10:51 AM
chao bạn manhfd, mình cũng học DTVT, mình học ở trường KTCN TP.HCM, mình rất muốn có tài liệu về PIC và cả mạch nạp nữa, bạn có thể gưi qua mail của mình đoucwj ko? cảm ơn trước nha.
mail: nkk180102@yahoo.com
nkpressuretech
11-03-2013, 10:51 AM
Chào ban !
Toi thực sự chỉ muốn khuyên cho các bạn cách các bạn có thể tiếp cận vi xử lý tố hơn .Vì tôi cũng từng như các bạn cũng đã học qua vi điều khiển nhưng tôi dám chắc một điều rằng đa số các bạn ở đây không được đào tạo về vi xử lý và vi điều khiển một cách bài bản như tôi ! Và thực sự rằng qua các bài viết của các bạn tôi đã thấy kiến thức cơ bản về vi điều khiển các bạn cũng đã chưa có không nói tới gì việc làm thế nào để chọ lựa một vi điều khiển để nghiên cứi đến làm việc.
Tôi không có ý định tranh luận gì với các bạn vì điều đó không thể giải quyết được gì vì các bạnu chỉ là những người mới học tôi đã không giúp được gì thì thôi !
Theo những kinh nghiệm của tôi thì PIC ,AVR,PSoC có kiến trúc hiện đại còn 8051 và 68HC11 và những V Đ K có kiến trúc tương đương và phù hợp cho người mới học tại sao nhỉ? vì các bạn thấy đấy nó rất dễ học và nó thể hiện những khái niệm cơ bản về vi điều khiển.
Vậy các bạn đã biết thế nào là một Port? cổng ra cơ bản,cổng vào cơ bản? cổng ra điều khiển hướng,cổng vào điều khiển hướng ...Vậy nếu như các bạn chỉ học V Đ K chỉ để điều khiển mấy con LED hay LCD hoặc bàn phím đi chăng nữa hay một cái động co thì điều đó cũng chẳng qua chỉ là công việc của một công nhân lập trình.Các nhà SX có thể cung cấp Free cho các bạn và một điều tôi muốn nói với các bạn rằng không phải bạn học cái gì mà điều các bạn cần học là cách học nó như thế nào?
Sau này khi các bạn ra trường thì bạn chỉ là một người làm thuê mà thôi,ông chủ của các bạn muốn các bạn dùng AVR ,PIC,hay PSoC ,8051,68HC ...thì các bạn cũng phải học và có lẽ các bạn đã hiểu ý tôi rồi nhỉ?
Nếu như các bạn học PIC thì tôi e rằng các bạn sẽ phải bắt đầu twf đầu nếu như muốn làm vơi 8051 hoặc bất kì một loại nào khác còn nếu như các bạn học và hiểu về V Đ K thì việc học một loai cụ thể nào đó thì chỉ là vấn đề nhỏ.
Thích ca nói :
"Ta không có gì để cho các ngươi ta chỉ có thể chỉ cho các ngươi con đường để lấy được chúng mà thôi"
Tôi cũng nghĩ rằng chúng ta lên làm theo lời của ông đã dạy !
daforesco2004
11-03-2013, 10:51 AM
ban khong thay BKHN o tren tieu de sao, minh o HN gui ban kieu gi bay gio
Ban o TPHCM ban co the toi cho anh Dang xem sao: myfrienddang@yahoo.com
Hoac la ban qua www.picvietnam.com down o do cung duoc. Tren do co du cac tutorial cho ban de nghien cuu ve Pic. Con datasheet cac ban co the down tren www.microchip.com
vnformosta
11-03-2013, 10:51 AM
Nói túm lại em hổng hiểu ông này nói gì nữa. :laycu:
Nếu ông đưa ra mấy con PSoC, AVR hù tui thì tui hổng có sợ.
Tui đã làm nhiều việc trên 89, sau đó chuyển sang PIC và đang làm về PSoC.
Bạn nói những beginer? hổng hiểu ám chỉ ai vậy?
Mà bác lại còn phát ngôn:"các bạn giống tôi 2 năm về trước" nghe tức anh ách.
Anh bạn muốn chứng tỏ điều gì?
vBulletin v3.6.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.