Diễn đàn lớp 32CĐ Cơ-Điện Tử ĐHCN Việt - Hung
Chào Mừng bạn đến với diễn đàn của lớp 32CĐ Cơ - Điện Tử ĐHCN Việt-Hung
Diễn đàn lớp 32CĐ Cơ-Điện Tử ĐHCN Việt - Hung
Chào Mừng bạn đến với diễn đàn của lớp 32CĐ Cơ - Điện Tử ĐHCN Việt-Hung
Diễn đàn lớp 32CĐ Cơ-Điện Tử ĐHCN Việt - Hung
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Diễn đàn lớp 32CĐ Cơ-Điện Tử ĐHCN Việt - Hung

Sân chơi dành cho sinh viên giao lưu học tập
 
Trang ChínhPortalGalleryTìm kiếmLatest imagesĐăng kýĐăng Nhập

Share | 
 

 BÀI 4: THỰC HÀNH VỚI LED ĐƠN-P1

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Admin
vip
vip
Admin

Tổng số bài gửi : 366
vi phạm : 0
Join date : 15/04/2010
Age : 33
Đến từ : Bình Lục-Hà Nam

BÀI 4: THỰC HÀNH VỚI LED ĐƠN-P1 _
Bài gửiTiêu đề: BÀI 4: THỰC HÀNH VỚI LED ĐƠN-P1   BÀI 4: THỰC HÀNH VỚI LED ĐƠN-P1 EmptySat Dec 25, 2010 4:03 pm

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à ví 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 ------------/////////////////////
;*****************************************************************************************************
;************************************************************* ***************************************

Ví 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ì 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. Ví 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).
    Ví 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
Ví 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.
Ví 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
BÀI 4: THỰC HÀNH VỚI LED ĐƠN-P1 Led1
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
Ví 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.
BÀI 4: THỰC HÀNH VỚI LED ĐƠN-P1 Led0
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
Về Đầu Trang Go down
http://loveanhthao.co.cc
 

BÀI 4: THỰC HÀNH VỚI LED ĐƠN-P1

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn lớp 32CĐ Cơ-Điện Tử ĐHCN Việt - Hung :: Cơ - Điện Tử :: VI ĐIỀU KHIỂN ỨNG DỤNG-
Chuyển đến 
Đăng NhậpNhanh
.:Đăngkí:. | .: Quên mật khẩu:.