Thông báo

Collapse
No announcement yet.

Làm sao để giỏi lập trình ASM cho vi điều khiển?

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    Chào bác embsys, cho em hỏi: Khi học Assembler thì có nhất thiết cần phải biết mã lệnh mã máy không?
    Mong bác trở lời sớm giúp vì em rất cần (rất quan trọng) .
    Rất cảm ơn.

    Comment


    • #17
      Nguyên văn bởi robotech Xem bài viết
      Có nhiều phương pháp để có thể tiếp thu nhanh một ngôn ngữ lập trình mới học,sau đây là một trong những phương pháp mà tôi đã áp dụng và có hiệu quả trong thờI gian ngắn.

      1/ về lý thuyết :
      cần có sách học lập trình ngôn ngữ mà mình muốn học,thường thì học song hành cùng 1 lúc 2 ngôn ngữ lập trình sẽ có lợI hơn,sự so sánh cú pháp và chức năng các câu lệnh của 2 ngôn ngữ lập trình có thể gíup mau thuộc bài hơn.
      a/ Đọc qua toàn bộ các câu lệnh , cách viết của ngôn ngữ lập trình,nếu trong sách đã phân chương trình ra nhiều phần rồI ,ta lập thêm 1 bảng tóm tắt các câu lệnh theo thứ tự từ A tớI Z,dán vào mỗI tờ giấy của cuốn sách để khi cần có thể tra ý nghĩa các câu lệnh một cách nhanh chóng(giống như các mẩu giấy đánh dấu của từ điển),
      lúc đầu không cần học thuộc lòng các câu lệnh,chỉ cần biết tổng quát chức năng của một số câu lênh thông dụng,và nhớ nó được dánh dấu ở chỗ nào trong sách
      b/ ghi nhớ 1 số thí dụ đơn giản trong sách
      c/ nếu là ngôn ngữ lập trình cho vi điều khiển thì cần đọc,hỏI,tra data sheet,am hiểu 1 số cơ bản về vi điều khiển này,như tần số dao động thạch anh,thanh ghi,các địa chỉ ô nhớ,timer,ngắt ,port v…v….
      d/một vài phần mềm tiện ích.
      2/ thực hành:
      cần có 1 bo nạp cho VĐK,nếu là bo nạp tích hợp luôn phần thực thi chương trình thì tốt
      thực hành 1 vài thí dụ đơn giản trong sách ,
      học một ngôn ngữ lập trình mớI,trở ngạI đầu tiên thường là không nhớ câu lệnh ,cách viết,cùng những chức năng ,vì vậy sự chuẩn bị cho việc tra cứu câu lệnh trong sách sao cho nhanh là cần thiết, điều này làm ta có thì giờ tập trung để viết nhiều câu lệnh hơn.và xem được kết quả thực hành nhanh hơn,chỉ cần xem được câu lệnh mà mình chưa thuộc lắm bằng động tác lật đúng trang giấy có viết câu lệnh này ngay lập tức thay vì phảI lật 20 tờ giấy là bạn có thể viết chương trình nhanh gấp 20 lần,

      3/viết lưu đồ giảI thuật : có nhiều khi các bạn và tôi nghĩ rằng giảI thuật cho 1 ngôn ngữ lập trình đòi hỏI ít nhiều sự sáng tạo và tùy thuộc Gen của mỗI ngườI, điều này đúng,giống như nước cờ đi của mỗI ngườI mỗI khác,nhưng chúng ta vẫn có thể nâng cao trình độ giảI thuật được bằng cách làm thực hành nhiều bài tập của các chương trình mẫu cho sẵn, tập viết lưu đồ giảI thuật từ các câu lệnh có sẵn của 1 chương trình, ta sẽ rút ra được nhiều kinh nghiệm về giảI thuật của các chương trình căn bản.(tương tự như một ngườI đánh cờ học các thế cờ căn bản vậy).

      4/Trí não: Dĩ nhiên động não là chính ,trong việc nghĩ ra các thuật toán hay, động não cần năng lượng,cần vitamin 6. năng lượng từ cơ thể do máu chuyển tảI lên não,nếu bạn có thường xuyên tập luyện 1 môn thể thao nào đó ,bạn sẽ nhận thấy rằng việc học lập trình không quá khó.

      5/ Tìm giảI thuật lúc trước khi ngủ,và viết câu lệnh của chương trình vào sáng sớm hôm sau.
      hay và khá chi tiết.

      Comment


      • #18
        1. Đam mê
        – đây là yếu tố hàng đầu và quan trọng nhất để thành công. Bạn cần có nó để có thể vượt lên số đông. Tất cả lập trình viên giỏi đều có niềm đam mê mãnh liệt, họ không phải là “siêu nhân”, họ không biết hết mọi thứ nhưng bởi vì có đam mê nên họ khao khát học hỏi cái mới và có thể tạo ra các sản phẩm nổi bật giúp ích cho mọi người.
        2. Thông minh
        – không cần là thủ khoa hoặc đạt điểm 10 thì mới gọi là thông minh. Yếu tố này có vẻ chủ quan nhưng ý của tôi ở đây là khi một cá nhân có khả năng hoàn thành một công việc trong một khoảng thời gian nào đó, hoặc có khả năng nảy sinh ra ý tưởng, giải pháp để giải quyết vấn đề. Tất cả chúng ta đều thông minh, không ai ngu ngốc cả, quan trọng là cách bạn hiểu chính mình, hiểu thế mạnh của mình và dựa trên nó. Tất cả lập trình viên đều có điểm mạnh và điểm yếu. Ví dụ: bạn có thể thiết kế giao diện rất tệ, nhưng bạn có thể kiểm tra giao diện của người khác và biết cách cải tiến nó.

        3. Chia sẻ – trong lĩnh vực này, chúng ta học bằng cách chia sẻ. Bạn sẽ không thể học hết mọi thứ mà không cần chia sẻ. Càng chia sẻ, chúng ta càng biết nhiều hơn, càng thông minh hơn và càng giỏi hơn. Ta có thể chia sẻ mọi thứ, từ các tài nguyên, thủ thuật, đến cách viết code hoặc viết tài liệu. Cách dễ nhất để cùng lúc chia sẻ và học là tham gia vào các nhóm thảo luận, tham gia các nhóm ngoài sở trường của bạn, ví dụ như nếu bạn là một lập trình viên Java, hãy thử tham gia nhóm thảo luận về CSDL (vd: Oracle, MySQL) ở đó bạn có thể học kỹ hơn về kiến trúc dữ liệu, hiệu suất thực thi, …

        4. Thực hành – nói đến thế giới phát triển phần mềm là nói đến thực hành và kinh nghiệm, bạn càng thử nghiệm nhiều thì bạn càng gặt hái được nhiều kinh nghiệm. Hãy tiếp tục thử nghiệm để thấy bạn có thể sử dụng chúng giúp ích cho dự án công ty hay dự án cá nhân.

        5. Thời gian – sử dụng thời gian của bạn một cách thông minh và lên kế hoạch một cách phù hợp. Thời gian là thứ mà bạn không thể mua. Tôi từng thấy một số lập trình viên tiêu phí thời gian của họ vào những việc vô bổ thay vì học những cái mới cho công việc/sự nghiệp của họ, và cũng chính các lập trình viên đó nói với tôi là họ muốn trở thành một kiến trục sư phần mềm trong vòng 3 năm, tôi chỉ biết nói là “Chúc bạn may mắn!”.
        Các yếu tố trên là các điểm cốt yếu giúp bạn định hướng trở thành một lập trình viên giỏi. Cũng giống như những điều khác trong cuộc sống, nếu bạn muốn đạt được một cái gì đó thì bạn cần phải đầu tư. Trong trường hợp này thì bạn cần phải đầu tư vào chính mình và nhận được kết quả càng sớm càng tốt bởi vì thời gian đang trôi qua và bạn sẽ không bao giờ trẻ lại.
        [/B]

        Comment


        • #19
          còn 1 điều là hãy đọc và hiểu toàn bộ cái RAM của con 8051. Mình từng viết CT ASM cho 8051 lúc mà chưa hiểu rõ về cái RAM thế là lỗi ko biết vì sao. Nay thì lỗi là biết tại sao lỗi rồi. ASM ko khó, chỉ khó là cái đầu của ta không chịu đơn giản hóa vấn đề, cứ nói tới vi điều khiển thì lại nghĩ cao siêu nhưng thật chất nó ko cao lắm ^^!.

          Comment


          • #20
            Câu trả lời là hãy làm mạch nhiều, lập trình nhiều thì từ từ sẽ đút rút được kinh nghiệm và sẽ giỏi. Khi gặp vấn đề khó hãy cố gắng hết sức giải quyết nó, hạn chế hở chút đi hỏi. Ko có 1 phương pháp nào cho kẻ lười biếng trở thành 1 người giỏi đâu.

            Comment


            • #21
              Nguyên văn bởi OpenDoor Xem bài viết
              Câu trả lời là hãy làm mạch nhiều, lập trình nhiều thì từ từ sẽ đút rút được kinh nghiệm và sẽ giỏi. Khi gặp vấn đề khó hãy cố gắng hết sức giải quyết nó, hạn chế hở chút đi hỏi. Ko có 1 phương pháp nào cho kẻ lười biếng trở thành 1 người giỏi đâu.
              Còn một vấn đề mà mình nghĩ bạn đã quên không nói ra là dám đương đầu với cái khó, và mình cũng tâm đắc cái ý này của bạn : ...hạn chế hở chút đi hỏi, cái này làm cho bộ não mình lười suy nghĩ

              Comment


              • #22
                Để học giỏi một cái gì đó, chăm chỉ + thông minh chưa đủ. Nó còn cần bí quyết

                Comment


                • #23
                  Nguyên văn bởi duong_act Xem bài viết
                  Để học giỏi một cái gì đó, chăm chỉ + thông minh chưa đủ. Nó còn cần bí quyết
                  @@ bí quyết là : không có bí quyết gì cả. Công lực hình thành thế thôi ^^! đó là bí quyết của bí quyết

                  Comment


                  • #24
                    Theo mình nghĩ học lập trình hay nhất là vặn vẹo nghĩ ra giải thuật. Càng tối ưu hóa được thì công lực càng lên.
                    YM: Noname_vnatr.
                    Project mã nguồn mở:
                    Học điện tử online:

                    Comment


                    • #25
                      e cũng đang tập tự học về asm mà đọc đc mấy chục trang sách mấy lệnh dễ dễ thì có hiểu đôi chút còn đa số rất mơ hồ k hiểu vì sao bác nào có cách học từ cơ bản mà dễ học dễ hiểu cho e xin với hoặc cho e xin 1 vài tài liệu về asm hoặc là các vd đơn giản có lời giải để e tập làm đc k.thank các bác nhìu
                      good luck !!!

                      Email:
                      Gmail:

                      Comment


                      • #26
                        Nguyên văn bởi tuankep6 Xem bài viết
                        e cũng đang tập tự học về asm mà đọc đc mấy chục trang sách mấy lệnh dễ dễ thì có hiểu đôi chút còn đa số rất mơ hồ k hiểu vì sao bác nào có cách học từ cơ bản mà dễ học dễ hiểu cho e xin với hoặc cho e xin 1 vài tài liệu về asm hoặc là các vd đơn giản có lời giải để e tập làm đc k.thank các bác nhìu
                        good luck !!!
                        Tất cả các lệnh trong 8051 đều dể hiểu hết mà, bạn kiếm cuốn vi điều khiển 8051 của Tống Văn On ra đọc phụ lục C. Viết vài cái code đơn giản hoặc kiếm bài tập về làm. Làm sai hoặc hok ra thì pm mình chỉ lỗi dùm cho ^^! Viết code rồi debug xem nó chạy,coi các thanh ghi các ô nhớ thay đổi mới hiểu đc
                        Last edited by chung1608; 09-09-2011, 20:17.

                        Comment


                        • #27
                          Nguyên văn bởi chung1608 Xem bài viết
                          @@ bí quyết là : không có bí quyết gì cả. Công lực hình thành thế thôi ^^! đó là bí quyết của bí quyết
                          Bác nhầm rồi Cùng học như nhau, chăm như nhau nhưng có người chỉ cần 1 tháng là ngon nghẻ nhưng cũng có người phải 2-3 tháng. Cái bí quyết là phải hiểu mình đang làm cái gì @@
                          Phải luôn tự hỏi : Vì sao lại thế

                          Comment


                          • #28
                            Nguyên văn bởi duong_act Xem bài viết
                            Bác nhầm rồi Cùng học như nhau, chăm như nhau nhưng có người chỉ cần 1 tháng là ngon nghẻ nhưng cũng có người phải 2-3 tháng. Cái bí quyết là phải hiểu mình đang làm cái gì @@
                            Phải luôn tự hỏi : Vì sao lại thế
                            bác nói khá chuẩn đó.^^!
                            tại sao thì e không biết nhưng "vì sao" thì ở trên trời

                            Email:
                            Gmail:

                            Comment


                            • #29
                              Nguyên văn bởi chung1608 Xem bài viết
                              Tất cả các lệnh trong 8051 đều dể hiểu hết mà, bạn kiếm cuốn vi điều khiển 8051 của Tống Văn On ra đọc phụ lục C. Viết vài cái code đơn giản hoặc kiếm bài tập về làm. Làm sai hoặc hok ra thì pm mình chỉ lỗi dùm cho ^^! Viết code rồi debug xem nó chạy,coi các thanh ghi các ô nhớ thay đổi mới hiểu đc
                              rồi ok thank bác.mấy quyển đó e đều vừa mới down về cả cái quyển của nguyễn tăng cường nữa down về rồi mang ra in mà mới đọc đc 60 trang thấy mấy cái nó trìu tượng ghê ak.k hỉu

                              Email:
                              Gmail:

                              Comment


                              • #30
                                Tất nhiên là trí thông minh rồi.Mấy bạn này còn phân tích gì bữa.Nếu kô thông minh thì làm sao có thể nhớ hết cái đống lệnh,sao hiểu các lệnh,sao vận dụng được tập lệnh.Để rành asm trước tiên là đọc hiểu,sau đó khi nhớ sơ sơ rồi bắt đầu viết chương trình,viết càng nhiều càng tốt.Khi viết được nhiều chương trình,trong chương trình chứa đầy đủ các lệnh.Thế là ok
                                , , ,

                                Comment

                                Về tác giả

                                Collapse

                                laquoc Tìm hiểu thêm về laquoc

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X