Khi sử dụng đốn LED và màn hỡnh LCD, thường cần thiết phải chuyển đổi số từ nhị phõn sang số thập phõn. Vớ dụ, nếu một vài thanh ghi cú chứa số ở dạng nhị phõn, cần hiển thị số đú trờn một màn hỡnh LED ba chữ số, cần thiết phải chuyển nú
sang dạng thập phõn. Núi cỏch khỏc, nú là cần thiết để xỏc định những gỡ sẽ được hiển thị trờn màn hỡnh hiển thị bờn phải nhất (đơn vị), ở giữa hiển thị (hàng chục) và hiển thị trỏi nhất (hàng trăm).
Cỏc chương trỡnh con dưới đõy thực hiện chuyển đổi một bytẹ Số nhị phõn được lưu trữ trong accumulator, trong khi số đú ở định dạng thập phõn được lưu trong thanh ghi R3, R2 và accumulator (đơn vị, hàng chục và hàng trăm, tương ứng).
;************************************************************************ ;* SUBROUTINE NAME : BinDec.ASM
;* DESCRIPTION : Content of accumulator is converted into ;* three decimal digits
;************************************************************************ BINDEC: MOV B,#10d ; Store decimal number 10 in B DIV AB ; A:B. Remainder remains in B MOV R3,B ; Move units to register R3 MOV B,#10d ; Store decimal number 10 in B DIV AB ; A:B. Remainder remains in B MOV R2,B ; Move tens to register R2 MOV B,#10d ; Store decimal number 10 in B DIV AB ; A:B. Remainder remains in B MOV A,B ; Move hundreds to accumulator RET ; Return to the main program 4.2.15Ghộp nối vi điều khiển với bàn phớm
Hỡnh 4-8.Ma trận bàn phớm Hỡnh 4-9.Cỏch ghộp nối bàn phớm
Đoạn chương trỡnh gửi mó ASCII khi bấm phớm P0.1
4.2.16Ghộp nối vi điều khiển với step motor
Bài toỏn thực hiện việc điều khiển động cơ bước quay, thay đổi tốc độ, đảo chiều, dừng động cơ. Chương trỡnh sử dụng 4 đầu tạo xung vào động cơ để làm thay đổi trạng thỏi của động cơ bước.
Thường cỏc cuộn dõy của động cơ bước được xỏc định theo màu dõy, tuy nhiờn đối với một động cơ bất kỳ, ta cú thể dựng đồng hồ để xỏc định dõy như hỡnh vẽ, ở đõy trỡnh bày cỏch xỏc định động cơ cú 5, 6 đầu dõỵ
167
Hỡnh 4-10. Cấu tạo động cơ bước
1. dựng đồng hồ để xỏc định đầu chung (common) dựng đồng hồ để ở thang đo trở, đo trở giữa cỏc cặp dõy, đầu chung là đầu cú trở giữa nú và cỏc đầu khỏc bằng ẵ điện trở cỏc đầu khỏc với nhaụ
Khi biết được thứ tự cỏc cuộn dõy, ta kớch xung theo thứ tự đú động cơ sẽ chạỵ Vớ dụ một đoạn chương trỡnh sau, giả sử 4 đầu của động cơ bước đấu vào 4 bit: P1.0 – P1.3 của 8051.
ORG 0000H
MOV R3, #00000011B MOV A, R3
BACK: MOV P1,A
RL A ;Quay thanh ghi A ACALL DELAY SJMP BACK DELAY: MOV R1, #50 H1: MOV R2 , #255 H2: DJNZ R2, H2 DJNZ R1, H1 RET END
Tài liệu tham khảo
1. Tống Văn On, Hoàng Đức Hải, Họ vi điều khiển 8051, NXB Lao động xó hội, năm 2001
2. Nguyễn Tăng Cường, Cấu trỳc và lập trỡnh họ vi điều khiển 8051, NXB Khoa học và kỹ thuật, năm 2004
3. Nguyễn Minh Tuấn, Giỏo trỡnh hợp ngữ - Chương 1, ĐHKHTN, 2002 4. Randal Hyde, The art of assembly language programming – Chapter 1. 5. Norton Guide
6. Dan Rollins, TechHelp v.6.0 7. http://picat.dieukhien.net
8. http://wapediạmobi/vi/Hợp_ngữ
9. http://www.emu8086.com/
10.http://www.daniweb.com/code/