1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Dạy lập trình biển led quảng cáo Led Full eChipKool

27 1,1K 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 0,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO- Một cửa sổ thông báo hiện ra nhấp No - Tạo File lập trình mới Menu – File -> New hoặc chọn ngay biểu tượng như hình dưới... GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

Trang 1

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 1

I Hướng dẫn sử dụng phần mềm Lập trình Keil biên dịch code Asembly

- Khởi động phần mềm Keil C – Vào Project – Chọn New uvisin project để tạo dự án mới

- Chọn IC lập trình ở đây chọn IC 89C52 – vào Atmel – chọn AT89C52

Trang 2

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

- Một cửa sổ thông báo hiện ra nhấp No

- Tạo File lập trình mới Menu – File -> New hoặc chọn ngay biểu tượng như hình dưới

Trang 3

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 3

- Lưu tên file vừa tạo mới chọn Save

Trang 4

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

- Đặt Tên file là BAI 1.ASM chú ý lập trình asembly phải là đuôi

*.asm

- Thêm file chương trình vừa lưu ( mục đích lấy file nguồn để biên dịch)

Trang 5

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 5

- Nhấp vào chon All files (*.*) để lấy tất cả các đuôi ( mục đích hiển thị file nguồn lập trình asm)

Trang 6

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

- Nhấp chọn tên File đã lưu sẽ có đuôi *.asm

- Sau khi viết chương trình xong thì vào mục Target để chọn tần số thạch anh sử dụng và chọn biên dịch sang file hex nạp vào IC mô phỏng

Trang 7

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 7

protues

- Nhấp chọn Creat HEX file để có file nạp

IC

II Hướng dẫn sử dụng phần mềm Protues để mô phỏng

- Khởi động phần mềm Protues 7.10 Chọn Component Mode rồi nhấp P để lấy ( phím tắt

P trên bàn phím)

Trang 8

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

- Cửa sổ lấy linh kiện:

+ Thạch anh gõ Cry ( khóc huhu ấy ^^)

- Sau khi lấy xong linh kiện bắt đầu sắp xếp và nối mạch:

Trang 9

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 9

- Mạch mà không có nguồn làm sao chạy được đây, đi tìm nguồn nào?

- Sau khi nối xong nguồn ta được sơ đồ nguyên lý chuẩn

Trang 10

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

- Mạch mà không có Noron thần kinh cũng bó tay không chạy được, ta nhấp đúp chuột vào thân IC rồi truy cập file hex biên dịch trong BAI

Trang 11

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 11

1

- Tìm thấy file HEX BAI1 rồi nạp xem mạch chạy như thế nào

Trang 12

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

- Hồi hộp nhấn Play để chạy,

Trang 13

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 13

- Cuối cùng mạch cũng chạy ngon lành

Trang 14

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

III Tìm hiểu IC 89xx – Các cổng I/O lập trình – Các mức tích cực lập trình Led đơn quảng cáo

1 Tìm hiểu IC 89xx: IC 89xx có nhiều loại như :

- 89C4051 có 20 chân

- 89C51/S51 có 40 chân 4k ROM – 128 byte RAM – 2 timer/counter – 32 chân I/O

- 89C52/S52 có 40 chân 8K ROM – 256 byte RAM – 3 timer/counter – 32 chân I/O

Tại sao lại dùng IC họ 8051 để lập trình quảng cáo? Lý do giá thành rẻ, tốc độ xử lý vừa phải với bảng led quảng cáo, mạch nạp chương trình đơn giản, dễ dàng lập trình, phổ biến trên thị trường

2 Các cổng I/O lập trình:

Đây là sơ đồ chân thực tế trên một ic 89xx 4 chân Bao gồm 4 PORT I/O

+ Port 0: P0.0 – P0.7 ( phải có thêm trở băng kéo )

+ Port 1: P1.0 – P1.7

+ Port 2: P2.0 – P2.7

+ Port 3: P3.0 – P3.7

Chân 20 nối âm nguồn, chân 40 nối dương nguồn 5V

Chú ý chân EA chân 31 bắt buộc phải nối dương 5v không thì mạch không thì mạch không hoạt động được

Trang 15

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 15

3 Các mức tích cực lập trình led quảng cáo:

Led trên thị trường có nhiều loại nhưng chung lại đều có cực Anode (A) – Chân dài và

cathode (K ) – chân ngắn có cạnh khuyết Anode nối với dương nguồn còn Cathode nối với âm nguồn thì led mới sáng

Chính sự quy định chân led như vậy sẽ nảy sinh 2 kiểu lập trình led đó là tích cực mức dương tích cực mức âm.

Trang 16

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

- Led tích cực mức dương có nghĩa là chân Anode led nối với chân Vi Điều khiển ( chân I/O của chip 89xx) còn các chân Cathode được nối với chung lại nối xuống âm ( xuống đất) và khi đó trong lập trình quy định mức 1 là sáng và mức 0 là tắt

VD; MOV P2,#00111111B các led nào là 1 sẽ sáng vàng còn 0 sẽ tắt

- Tương tự led mắc tích cực âm: các chân Cathode led nối với chân I/O Vi Điều Khiển còn các chân Anode led nối chung với nhau nối với nguồn dương Và khi lập trình điều khiển mức 1 là tắt, và mức 0 là sáng.

VD: MOV P2, #11000000B

Tóm lại khi lập trình biển led quảng cáo chủ yếu lập trình tích cực mức dương? Tại sao lại như vậy? Vì thường dùng TIP41 C hoặc TIP122 để điều khiển led, mà muốn kích mở TIP thì phải kích mức dương thì TIP mới mở có vậy thôi

IV Lập trình biển led quảng cáo:

1 Một số lệnh cơ bản dùng trong lập trình biển led quảng cáo:

- Lệnh MOV lệnh di chuyển dữ liệu:

VD: MOV P2,#00000000B chuyển dữ liệu nhị phân 8 bit 00000000 vào Port 2

- Lệnh DJNZ giảm và nhảy nếu R0 = 0

VD: MOV R0,#100

LAP: DJNZ R0,LAP

- Lệnh SETB P1.0 thực hiện cài bit tại chân P1.0 lên mức 1

- Lệnh CLR P1.0 thực hiện cài bit tại chân P1.0 xuống mức 0

- Lệnh CJNE A,#data Nhảy nếu A khác data

- Lệnh RR A thực hiện quay phải thanh ghi A

Một byte dữ liệu có 8 bit, được chia thành 4 byte cao và 4 byte thấp

VD: MOV P2,#01010011B Một byte dữ liệu 01010011 byte thấp là 0011 byte cao là

0101 và khi đó Byte dữ liệu có bit thấp nhất là 1 = P2.0 và bít cao nhất là 0 = P2.7 tương

Trang 17

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 17

ứng lần lượt là P2.7 = 0, P2.6 =1, P2.5 = 0, P2.4 =1, P2.3 =0, P2.2 =0, P2.1=1, P2.0 =0 Rất quan trọng trong lúc lập trình thao tác từng bit

- Lệnh RL A thực hiện quay trái thanh ghi A

HIEU_UNG1:; chuong trinh con hieu ung

;…………Viet hieu ung vao ben trong………

- Cách tính toán chương trình delay:

Một chương trình delay đơn giản 1 vòng lặp như sau:

Trang 18

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

DJNZ R1,LOOP1

DJNZ R0,LOOP

RET

1 chu kỳ máy bằng 12 lần dao động thạch anh, nếu mạch dùng thạch anh 12Mhz thì tần

số sẽ là f = 12/12 = 1Mhz -> chu kỳ máy sẽ bằng T=1/f = 1/1 = 1us Như vậy mỗi chu kỳ máy thưc hiện 1us rất nhanh Ở đây lập trình quảng cáo không cần độ chính xác quá cao

Ta sẽ tính đối với delay 1 vòng lặp là lấy giá trị 100x1us = 100us suy ra delay đó trễ 100us = 0.1ms

Đối với delay 2 vòng lặp thì lấy 200 ở vòng lặp trong nhân 100 vòng lặp ngoài nhân với 1us là ok vậy trễ 200x100x1us = 20000us = 20ms

Khi muốn thay đổi độ trễ tăng lên ta thay đổi gia trị như 100 hoặc 200 lên tối đa là 255

không được vượt quá

Muốn băm nhỏ hơn delay thì thêm Nop vào trong vòng lặp

- Yêu cầu: lập trình bằng lệnh MOV, viết hiệu ứng 8 led Port 2 theo sơ đồ sau:

+ Led sáng đuổi từ trên xuống dưới:

HIEU_UNG1:; Led sang duoi tu tren xuong

Trang 19

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 19

+ Sáng đuổi từ dưới lên trên

HIEU_UNG2:;Sang duoi tu duoi len tren

Trang 20

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

RET

+ Led sáng dần từ trên xuống:

HIEU_UNG3:; sang dan tu duoi len tre

+ Led sáng dần từ dưới lên trên:

HIEU_UNG4:; sang dan tu duoi len tre

Trang 21

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 21

Trang 22

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

+ led nhấp nháy tráo đổi 4 bit cao và 4 bit thấp

Trang 23

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 23

Trang 24

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

Trang 25

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 25

Trang 26

GIÁO TRÌNH LẬP TRÌNH QUẢNG CÁO

YÊU CẦU LED VÀNG NỐI PORT 2

Trang 27

WWW.ECHIPKOOL.COM – ĐÌNH DUY - UNETI Page 27

Ngày đăng: 05/04/2016, 22:34

TỪ KHÓA LIÊN QUAN

w