Làm thế nào để Blink một LED-phần 6 microcontroller khái niệm cơ bản (PIC10F200)

Được rồi, vì vậy thời gian qua, chúng tôi cuối cùng đã nhận này vi điều khiển lập trình, và chúng tôi đã bật đèn LED, và đó là awesome.

Bây giờ, chúng tôi & #39; lại sẽ làm cho nó nhấp nháy.

Kể từ khi chúng tôi & #39; tái sử dụng lắp ráp, nó & #39; s sẽ được một chút phức tạp hơn nếu chúng tôi đã làm điều này trong Arduino hoặc một cái gì đó như rằng, bởi vì bạn phải làm tất cả mọi thứ rất thủ công.

Nhưng đồng thời, nó & #39; s không phải là khó khăn.

Vì vậy, chúng tôi & #39; lại sẽ đi qua này.

Và chúng tôi & #39; lại đi học chủ yếu về cách vòng lặp chậm trễ làm việc và tìm ra cấu trúc đó, để chúng tôi có thể, bởi vì chúng tôi & #39; lại sẽ sử dụng rằng trên tất cả các nơi.

Và đó & #39; s thực sự những gì chúng ta cần làm là chúng tôi cần phải bật, trì hoãn, tắt, trì hoãn, bật, trì hoãn, tắt, trì hoãn.

Vì vậy, trước tiên, tôi muốn đi qua và giới thiệu một số hướng dẫn lắp ráp mới mà chúng tôi & #39; lại sẽ được nhấn và vì vậy tôi & #39; m đi để đi qua dòng này bằng đường dây và sau đó tôi & #39; m sẽ quay trở lại và nói về cấu trúc và những gì đang thực sự xảy ra từ một quan điểm cao hơn.

Vì vậy, với điều đó, hãy & #39; s đi thẳng vào Mã.

Bạn & #39; lại đi để thấy rằng cơ bản là người đầu tiên chín dòng mã chúng tôi & #39; ve đã được thảo luận, bạn đã biết làm thế nào để cấu hình nó, bạn biết làm thế nào để khởi tạo nó, và bạn có thể nhìn thấy từ di chuyển chữ để làm việc đăng ký mà chúng tôi & #39; Re cho phép GPIO và cũng thiết lập nó như là một đầu ra.

Và như vậy tất cả những thứ mà loại công cụ nên được đơn giản.

Bây giờ, chương trình thực tế chính nó là từ 10 đến 15.

Vì vậy, dưới 10, bạn có thể thấy nơi nó nói Loop.

Như nhiều niềm vui như nó & #39;d được để nói, một vòng lặp, tất cả Tôi phải làm là đặt trong lệnh Loop, rằng & #39; s thực sự không phải là một lệnh, mà & #39; s chỉ cần nói, “đây là phần vòng lặp.

” vì vậy, từ 10 đến 15, đó là một vòng lặp và bạn có thể Xem BSF, đó là bit Set F.

Vì vậy, nó & #39; s nói về cơ bản trong đăng ký GPIO, bit GP2-Set mà bit.

Vì vậy, về cơ bản biến nó thành một.

Sau đó, bạn & #39; lại sẽ gọi đó là thói quen chậm trễ, sau đó bạn & #39; lại sẽ có bit Clear F trong dòng 13 BCF và sau đó bạn & #39; lại sẽ đi mà GP2 của GPIO đăng ký và rõ ràng nó hoặc tắt nó đi.

Và sau đó bạn & #39; lại sẽ gọi rằng sự chậm trễ trong dòng 14, trước khi nhấn 15 làm rằng GOTO vòng lặp và Bam, bạn & #39; lại ở đầu trang và bạn & #39; Re làm điều đó vòng lặp vĩnh viễn và bao giờ hết.

Rằng & #39; s khá đơn giản.

Vì vậy, nó được một chút phức tạp hơn một lần chúng tôi thực sự nhận được vào sự chậm trễ.

Vì vậy, hãy để & #39; s đi xuống và chúng tôi & #39; lại đi xem một số các lệnh này.

Và trong dòng 18, chúng tôi đã di chuyển chữ để W.

Và đó & #39; s một cái gì đó chúng tôi & #39; ve đã được thảo luận, nơi bạn có một chữ, một số thực tế, và đặt nó vào đăng ký làm việc, W đăng ký.

Và trong trường hợp này, chúng tôi đặt thập phân 162.

Chúng tôi & #39; LL đi qua đó sau đó.

Trước tiên, tôi muốn đi qua điều này, nhưng 162 ISN & #39; t một số hoàn toàn ngẫu nhiên.

Và dòng tiếp theo là nơi chúng tôi làm MOVWF.

Và đó là nơi chúng tôi sao chép giá trị của W vào một đăng ký F.

Trong trường hợp này, nó & #39; s đăng ký 10.

Và sau đó chúng tôi làm điều tương tự mà chúng tôi sao chép rằng 162 trong dòng 20, để đăng ký 11.

Vì vậy, chúng tôi & #39; lại nhận được tất cả mọi thứ thiết lập.

Và sau đó trong dòng 21, chúng tôi & #39; lại thực sự làm vòng lặp chậm trễ.

Vì vậy, đây là một lệnh mới.

Đây là một loại dài, kỳ lạ, ngẫu nhiên tìm kiếm một DECFSZ-giảm F, bỏ qua nếu không.

Bây giờ & #39; s thực sự khá đơn giản Nếu bạn mang nó ngoài hoàn toàn.

Vì vậy, những gì bạn & #39; Re làm là bạn & #39; Re decrementing F, trong trường hợp này, toán hạng là 10, đăng ký 10.

Vì vậy, bạn & #39; Re decrementing bất cứ giá trị là trong 10.

và sau đó kiểm tra, là thực sự là một số không? Hoặc hiện nó vẫn còn có một số?  Vì vậy, nếu chúng ta bắt đầu lúc 162, và chúng tôi & #39; Re decrementing đến 161, nó & #39; LL kiểm tra để xem, Oh, nó & #39; s được sai, nó & #39; s 161.

Nó & #39; s không phải là 0.

Và sau đó, vì nó & #39; s không phải là không, nó sẽ không để bỏ qua dòng tiếp theo.

Vì vậy, kể từ khi nó & #39; s sẽ không bỏ qua các dòng, nó & #39; s sẽ không bỏ qua dòng 23, vì nó & #39; s không phải bằng không, nó & #39; s sẽ đi-23 nói, Oh, tôi gotta đi trở lại lên đến đỉnh, đi lại lên đến dòng 21, nhảy xuống đến 22.

mất rằng 161 thay đổi để 160 nói, Hey, nó & #39; s vẫn không phải là không nhảy lên đến 21 nào mà hơn và hơn và hơn một lần nữa.

Bây giờ, bạn & #39; LL thông báo trong dòng 22, thứ hai toán hạng là F.

Và lý do nó & #39; s làm điều đó là bởi vì nó & #39; s dùng mà F đăng ký, nó & #39; s decrementing nó và sau đó đặt giá trị đó trở lại vào đăng ký F.

Đó là một cái gì đó mà bạn có thể lấy giá trị, giảm nó, và sau đó tải rằng giá trị mới vào đăng ký làm việc.

Nhưng chúng tôi muốn giữ nó trong đó F đăng ký.

Vì vậy, nó giữ trên decrementing.

Bởi vì nếu chúng ta nạp trong đăng ký làm việc, nó sẽ chỉ được đi từ 162, tải 161 vào làm việc đăng ký 162, tải một 161 và đăng ký làm việc, và nó đã có hoàn toàn không có điểm nào.

Vì vậy, kể từ chúng tôi & #39; lại làm điều đó, và chúng tôi & #39; lại đi thông qua đó một, sáu để trở lại thông qua thông qua, cuối cùng, chúng tôi & #39; lại sẽ đạt số không, và chúng tôi & #39; lại sẽ bỏ qua dòng 23.

Khi chúng tôi bỏ qua dòng 23, chúng tôi & #39; lại sẽ nhảy đến dòng 24, nơi nó & #39; s lệnh tương tự chính xác, nhưng thay vì giảm giá trị trong đăng ký 10, chúng tôi & #39; lại làm nó trong đăng ký 11, đó cũng là 162 ngay tại đây.

Vì vậy, bây giờ đây là nơi nó được một chút phức tạp hơn vì nó & #39; s sẽ đi qua và rằng 162 và nó & #39; s sẽ đi Tất cả các con đường xuống không.

Và sau đó nó & #39; s sẽ nhảy xuống và nó & #39; s sẽ mất mà 162 trong đăng ký 11 và giảm rằng để 161 sau đó nó & #39; s không đi để được bằng không, do đó, nó & #39; s sẽ đi đến vòng Delay Loop chạm lên đến rất hàng đầu.

Bây giờ một khi nó đi lên đến rất hàng đầu, nó & #39; s đi kiểm tra, giảm tập tin đăng ký 10, đó là số không, và sau đó kiểm tra xem nếu nó & #39; s số không một lần nữa.

Nhưng cách máy tính làm việc, vì đây là một tám bit vi điều khiển, nó đi không đến 255.

Vì vậy, nếu bạn không trừ một, nó & #39; s không tiêu cực một, nó & #39; s 255.

Vì vậy, những gì & #39; s sẽ xảy ra là, bạn & #39; lại đi để có mà không, bạn & #39; lại đi giảm nó, và nó & #39; s sẽ bật lên đến 255, nó & #39; s sẽ kiểm tra và nói 255 ISN & #39; t 0.

Vì vậy, nó & #39; s sẽ làm điều đó vòng lặp tất cả các cách xuống từ 255 đến số không một lần nữa, trước khi đi xuống, kiểm tra đăng ký 11, nói, “okay, bây giờ tôi & #39; m tại 161, thả nó vào 160, “nhảy tất cả các cách trở lại lên đến vòng đầu 255 lần với 10, đi xuống 11.

làm điều đó một lần nữa.

10, 255 lần xuống đến 11.

Và nó & #39; s sẽ làm điều đó rất nhiều.

Và kể từ này công trình rất nhanh chóng, đây là tất cả xảy ra rất, rất nhanh.

Và đây là tất cả các công việc bận rộn.

Đây là cái gì đó chỉ là nói cho các vi điều khiển để làm điều gì đó để cho nó thời gian để có thể nói được tất cả các quyền, mà & #39; s các lượng thời gian tôi muốn.

Và một khi nó đi qua tất cả những vòng, Tất cả những lần, sau đó nó nhảy trở lại đến dòng 14, nơi bạn & #39; ve gọi là sự chậm trễ, và bạn & #39; ve được trả lại.

Bây giờ bạn & #39; lại thực hiện, bạn đi đến dòng 15, bạn vòng lặp trở lại lên đến dòng 10, bạn làm các bit Set F, gọi đó là sự chậm trễ, đi qua tất cả những rigmarole, đi xuống bit Clear F, gọi DELAY, làm tất cả những gì rigmarole, trở lại lên đến vòng lặp.

Và đó & #39; s những gì nó & #39; s làm.

Vì vậy mà & #39; s về cơ bản toàn bộ cấu trúc của chương trình này.

Và một lần nữa, sự chậm trễ đó, nó có thể là loại khó hiểu, bởi vì nó & #39; s tất cả lồng vào đó.

Và bởi vì bạn phải đếm mà đăng ký 10 rất nhiều lần trước khi bạn giảm đăng ký 11 ở tất cả.

Và nó chỉ có vẻ lạ lúc đầu, có vẻ như giống như một toàn bộ rất nhiều.

Nhưng một lần nữa, nó & #39; s xảy ra quá nhanh, mà bạn phải làm điều đó toàn bộ nhiều lần để làm cho nó chậm đủ mà, vì điều này là bật và ra, chúng ta thực sự có thể nhìn thấy nó.

Thực sự nhanh chóng, tôi muốn đề cập đến lý do tại sao chúng tôi đã chọn 162.

Vì vậy, Sergey đã tìm ra điều này và khi anh ta nói, tôi muốn điều này để dao động một vài lần một giây.

Và điều này không phải là rất chính xác, chúng tôi Don & #39; t cần để có nó một cách chính xác một tốc độ nhất định, chúng tôi chỉ cần nó khoảng một thứ tám của một giây ngày, thứ tám của một thứ hai tắt, vì vậy chúng ta có thể nhìn thấy nó.

Và đó & #39; s thực sự nó.

Đây không phải là chính xác một thứ tám của một giây.

Nhưng nói chung, chúng tôi nhận ra rằng nếu chúng tôi đã có 162 lần 255, lần trong ba chu kỳ mà nó cần để làm GOTO, bởi vì GOTO chỉ dẫn mất hai chu kỳ, và các giảm mất một chu kỳ.

Và cũng có một thực tế là mỗi chu kỳ, bạn có thể chạy một triệu chu kỳ mỗi giây, tất cả những người được thêm vào với nhau đi ra khoảng 125 mili giây, xấp xỉ 125 mili giây.

Vì vậy, & #39; s lý do tại sao chúng tôi đã chọn rằng 162.

Bây giờ một lần nữa, nó & #39; s sẽ không được chính xác, bởi vì lần đầu tiên chúng tôi làm điều đó, đăng ký 10 giảm, chúng tôi & #39; lại bắt đầu từ 162 thay vì 255.

Vì vậy, đây là một chút tay lượn sóng, nhưng.

.

.

chúng tôi Don & #39; t cần phải có loại chính xác ngay bây giờ.

Trong một vài hướng dẫn, chúng tôi & #39; lại sẽ được tạo nhạc bằng loa.

Và sau đó bạn cần phải nhận được rằng pitch chính xác Phải.

Và đó & #39; s khi nó & #39; s sẽ thực sự quan trọng.

Nhưng đối với ngay bây giờ, chúng tôi & #39; lại không lo lắng về Nó.

Vì vậy, tôi & #39; m sẽ tải này thực sự nhanh chóng và Hiển thị cho bạn những gì bạn nên được nhìn thấy khi bạn nhận được điều này.

Được rồi, do đó, nó & #39; s tải lên ngay bây giờ lập trình.

Và điều đó & #39; s nó.

Vì vậy, & #39; s tất cả các bạn nhận được là nhấp nháy LED.

Vì vậy, tất cả những điều này là mỗi lần nó & #39; s quay bật và tắt là chờ đợi số tiền rất lớn của thời gian, theo vi điều khiển, biến nó trên chờ đợi một số lượng lớn thời gian, tắt nó đi, trở lại và ra, qua lại.

Và nó & #39; s chỉ là một vòng lặp vô tận.

Sergey, khi ông đã viết hướng dẫn, Ông đặt một bài tập ở nhà trong đó.

Và đó là bài tập về nhà để làm cho nó Vì vậy bạn có một trong những nhấp nháy trên, và trong khi những người khác tắt, điều này một lần tắt, mà một & #39; s trên và về cơ bản có chúng dao động.

Bây giờ, tôi rất khuyên bạn nên làm điều này.

Vì vậy, khi bạn & #39; Re nghe này, Hy vọng bạn & #39; ve được sau cùng, bạn có tất cả các bộ phận này.

Chúng tôi cố gắng hết sức để làm điều này như không tốn kém và dễ dàng để làm theo càng tốt, bởi vì chỉ bằng cách làm nó, là bạn sẽ Tìm hiểu nó, và trực giác hiểu nó.

Vì thành thật mà nói, Sergey đã cùng nhau đưa Tôi đã làm điều đó.

Okay, tôi đã học được vài thứ.

Nhưng nó wasn & #39; t cho đến khi tôi đã làm nó bản thân mình và không chỉ sau cùng với những hướng dẫn, rằng tất cả các lệnh này thực sự chìm trong.

Và tôi có một sự hiểu biết trực quan tốt hơn và tất cả mọi thứ bắt đầu nhấp chuột.

Vì vậy, ông thích để cung cấp cho các bài tập về nhà, bởi vì ông & #39; một cựu giáo sư, và ông hiểu được sự cần thiết của thực sự làm việc đó, để tìm hiểu Nó.

Vì vậy, trước khi bạn chuyển sang hướng dẫn tiếp theo, một khi bạn nhận được điều này làm việc, và bạn nhận được rằng LED nhấp nháy, làm cho nó thay đổi của riêng bạn, để bạn có thể có cả hai trong số họ nhấp nháy, xen kẽ.

Bạn có thể đi kiểm tra, bởi vì ông & #39; s có giải pháp, ông & #39; s có một giải pháp để làm điều đó.

Và bạn có thể thấy nếu bạn là tương tự như của mình, nó doesn & #39; t có được, nó có thể được tốt hơn có thể tồi tệ hơn, bất cứ điều gì.

Miễn là bạn & #39; lại làm nó, bạn & #39; lại đi Tìm hiểu.

Được rồi, tôi & #39; LL ra khỏi hộp xà bông của tôi bây giờ.

Nếu bạn thích video này, cung cấp cho nó một như thế! Nếu bạn có bất kỳ câu hỏi nào, hãy để ý kiến trên YouTube hoặc trên trang web của chúng tôi CircuitBread.

com và chúng tôi & #39; LL thử và lấy lại cho bạn một cách nhanh chóng càng tốt và chúng tôi & #39; LL đặt nó trong một trong những câu hỏi thường gặp của mình, đăng ký vào kênh của chúng tôi và chúng tôi & #39; ll xem bạn trong một kế tiếp.

.

Leave a Reply