Tổng quan về vi điều khiển, chương 16 pdf

6 178 0
Tổng quan về vi điều khiển, chương 16 pdf

Đang tải... (xem toàn văn)

Thông tin tài liệu

Chương 16: THỰC HÀNH VỚI LED ĐƠN 4.1.Một số qui định: a. Chú thích: dùng dấu chấm phẩy ";"để bắt đầu các đoạn chú thích, các chú thích chỉ có tác dụng trên dòng chứa nó và được đặt tuỳ ý tại bất kì vị trí nào trên dòng. Chú thích giúp chương trình thể hiện rõ ràng trong sáng hơn, người lập trình dễ dàng hiểu và chỉnh sửa chương trình được viết ra, các đoạn chú thích phù hợp sẽ giúp cho việc tìm kiếm các đoạn chương tr ình dễ dàng hơn. Sau đây là dụ cho phần chú thích bắt đầu một chương trình : ;************************************************************************************************* ;**************///// TÊN CHƯƠNG TRÌNH \\\\\\ **************************************** ;** ;**////////////////___ Các yêu cầu của bài toán_________________\\\\\\\\\\\\\\\\\\\\\\\\ \ ;**///////////////___ ghi chú trên các dòng này__________________\\\\\\\\\\\\\\\\\\\\\\ \ ;**//////////////____ Kết cấu phần cứng và các linh kiện kèm theo___\\\\\\\\\\\\\\\\\\\\ \ ;**<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>> ;**\\\\\\\\\\\\\\\\\\ Mô tả các biến, các hàm cần sử dụng /////////////////////// ;**\\\\\\\\\\\\\\\\\\\\ cách giải quyết chương trình //////////////////// ;**\\\\\\\\\\\\\\\\\\\\\ các dòng ghi chú khác //////////// ///////// ;***************************************************************************************************** ;************************************************************* *************************************** d ụ về phân cách các đoạn chương trình phức tạp với nhau bằng chú thích: ;**<<<<<<<<<================= tên l ệnh hoặc chức năng =======>>>>>>** Câu lệnh 1 ;===>>>ghi chú cho câu lệnh 1 Câu lệnh 2 Câu l ệnh 3 ;===>>>ghi chú cho câu lệnh 3 Câu lệnh cuối ;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// b.Thụt dòng, Chữ hoa- chữ thường Khi soạn thảo chương trình để chương trình đễ đọc và dễ gỡ lỗi có một số đề nghị sau:  Các nhãn được đặt cạnh lề trái, một số phần mềm soạn và biên d ịch không phân biệt chữ hoa chữ thường của nhãn, tuy nhiên m ột số phần mềm khác lại phân biệt chữ hoa chữ thường, vậy để thuận tiện về sau, tên nhãn không nên đặt trùng nhau và thống nhất một kiểu viết nhãn duy nhất trong chương tr ình. dụ: không đặt 2 nhãn trong cùng một chương tr ình như sau: "Doan1" và "doan1".  Các câu lệnh nên đặt lùi với lề trái một hoặc hai khoảng gõ tab  Phần sau của câu lệnh cách phần đầu câu lệnh một hoặc hai khoảng gõ tab (Phần trước và sau của câu lệnh bắt buộc phải cách nhau ít nhất một khoảng trắng). dụ: Mov (gõ phím Tab) P1,#0FFH  Các chú thích nên cách sau câu lệnh một hoặc hai khoảng gõ tab Các câu l ệnh trong chương trình không phân biệt chữ hoa và ch ữ thường, do đó khi soạn thảo có thể dùng kiểu chữ sao cho phù h ợp và dễ nhận dạng dụ: ;**<<<<<<==================== đoạn chương tr ình 1 =====================>> Di_chuyen: Mov A,35H ;===>>>> di chuyen du lieu tu 35H vao A Mov B,20H ;===>>>> di chuyen du lieu tu 20H vao B Xuat: Mov P0,A ;===>>>> xuat du lieu tu A ra Port 0 Mov P1,B ;===>>>> xuat du lieu tu A ra Port 1 Cong: Add A,#20H ;===>>>> cong A voi gia tri 20H ;/////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// c.Kết thúc chương trình. Sau khi chương trình hoàn tất phải kết thúc bằng câu lệnh END .Các câu lệnh này báo cho trình biên dịch biết phần kết thúc của chương trình, trình biên dịch bỏ qua tất cả các câu lệnh sau lệnh END. d. Qui định về số Xem qui định này trong bài 2: một số qui ước khi viết số trong chương trình 4.2 BÀI THỰC HÀNH: Tên g ọi cho các bit: mỗi ô nhớ đều có 8 bit, để thuận tiện cho quá trình hướng dẫn, mỗi bit trong một ô nhớ sẽ được đánh số từ 0 đến 7 sau t ên gọi của ô nhớ đó và được ngăn cách bằng dấu chấm. dụ: -Thanh ghi A gồm 8 bit: A.7 A.6 A.5 A.4 A.3 A.2 A.1 A.0 với bit nhỏ nhất là bit A0 -thanh ghi R1 g ồm các bit R1.7 R1.6 R1.5 R1.4 R1.3 R1.2 R1.1 R1.0 Để bắt đầu bài thực hành, bạn nên xem lại phần kết nối vi điều khiển với led trong bài 1 Bài 1: Viết chương trình xuất tín hiệu ở Port 0 và Port 2 để 8 đèn led sáng với các led được kết nối với Port 0 và Port 2 như sơ đồ dưới Phân tích: Ở sơ đồ kết nối phần cứng như hình trên, đèn led sáng khi tín hiệu xuất ra ở mức 1(+5V). Như vậy cần viết chương trình để xuất mức logic 1 ra Port 0 và Port 2. Sau đây là chương trình ;************************************************************************************************* ;**************///// 8 LED SANG \\\\\\ **************************************************** ;** ;**////////////////___ lam 8 led o Port 0 va Port 1 sang_________________\\\\\\\\\\\\ \ ;**///////////////___ led sang khi tin hieu xuat o muc 1__________________\\\\\\\\\\ \ ;**//////////////____ phan cung su dung dien tro treo____________________\\\\\\\\\ \ ;**<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>> ;************ ***************************************************************************************** ;************************************************************* *************************************** ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom Mov P0,#0FFH ;===>>>> lam cac chan Port 0 xuat ra muc 1 Mov P2,#11111111B ;===>>>> lam cac chan Port 2 xuat ra muc 1 End + Khai báo ORG : dùng để khai báo địa chỉ để bắt đầu lưu chương tr ình trên ROM d ụ: ORG 0020H khi có khai báo này, chương trình sẽ được lưu từ ô nhớ ROM có địa chỉ 0020H trở đi. Trong chương trình không giới hạn số lượng khai báo ORG. Khi bắt đầu chương trình, Vi điều khiển bắt đầu đọc mã l ệnh từ vị trí đầu tiên của bộ nhớ ROM: 000H, sau mỗi lần thực hiện lệnh Vi điều khiển sẽ tìm đến để lấy lệnh ở vị trí ROM kế tiếp. Nếu có nhiều khai báo ORG, Vi điều khiển sẽ thực hiện các câu lệnh ở vị trí có địa chỉ thấp trước, nếu muốn chuyển sang thực hiện chương trình ở vị trí bất kì thì dùng các lệnh nhảy. + Hai câu lệnh Mov P0,#0FFH và Mov P2,#11111111B làm 8 bit c ủa Port 1 và 8 bit của Port 2 lên mức 1, hai câu lệnh này truyền cùng một giá trị như nhau, giá trị này có th ể viết bằng số hex (số thập lục phân-câu lệnh trên) hoặc bằng số nhị phân(câu lệnh dưới) đều được. Trong trường hợp này, ngõ ra quan tâm là giá tr ị của từng bit, do đó sử dụng số nhị phân sẽ thuận lợi hơn. Bài 2: Cho các dãy đèn led có kết nối như trong sơ đồ dưới, các dãy led này được kết nối với Port 1 và Port 2. Viết chương trình để các led nối mỗi Port sáng xen kẽ: led 1,3,5,7 sáng; led 2,4,6,8 tắt, các led được đánh số như sau led 1 nối với Px.0, led 2 nối với Px.1, lần lượt với các led khác. Phân tích: Ở sơ đồ kết nối phần cứng như hình trên, đèn led sáng khi tín hiệu ở ngõ ra ở mức 0(+0V). Như vậy cần viết chương trình để các bit P1.0, P1.2, P1.4, P1.6 và P2.0, P2.2, P2.4, P2.6 xu ất tín hiệu ở mức 0 , các bit còn lại xuất ra mức 1. Sau đây là chương trình: ;************************************************************************************************* ;**************///// 8 LED SANG XEN KE \\\\\\ **************************************** ;** ;**////////////////___ lam 8 led noi Port 1 va Port 2_________________\\\\\\\\\\\\\\\\ \ ;**///////////////___ led sang khi tin hieu xuat o muc 0__________________\\\\\\\\\\ \ ;**//////////////____ led sang xen ke o vi tri le____________________\\\\\\\\\\\\\\\\\\ \ ;**<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>> ;** \\\\\\\\\\\\ can xuat voi gia tri tren 1 Port la: 01010101b //////////////// ;**\\\\\\\\\\\\\ Duoc viet gon thanh 55H //////////////// ;***************************************************************************************************** ;******** ********************************************************************************************* ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom Mov P1,#55H ;=== >>>> lam tin hieu xuat xen ke tren P1 Mov P2,#01010101B ;===>>>> lam tin hieu xuat xen ke tren P2 End . giúp chương trình thể hiện rõ ràng trong sáng hơn, người lập trình dễ dàng hiểu và chỉnh sửa chương trình được vi t ra, các đoạn chú thích phù hợp sẽ giúp cho vi c tìm kiếm các đoạn chương. số lượng khai báo ORG. Khi bắt đầu chương trình, Vi điều khiển bắt đầu đọc mã l ệnh từ vị trí đầu tiên của bộ nhớ ROM: 000H, sau mỗi lần thực hiện lệnh Vi điều khiển sẽ tìm đến để lấy lệnh ở. R1.2 R1.1 R1.0 Để bắt đầu bài thực hành, bạn nên xem lại phần kết nối vi điều khiển với led trong bài 1 Bài 1: Vi t chương trình xuất tín hiệu ở Port 0 và Port 2 để 8 đèn led sáng với các

Ngày đăng: 01/07/2014, 22:20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan