Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
461 KB
Nội dung
1 1: Làm bảng chữ, Thí dụ bảng chữ cửa hàng điện tử Phúc Lan có sau Bước 2: Bạn khoan lổ để gắn Led theo chữ theo hình, hay gắn Led theo đường chữ (tùy theo ý Bạn) Số Led đơn vị hình gắn theo nhánh (với Led siêu sáng, nhánh có Led) nhánh cho mắc song song, nhánh có điện trở hạn dịng sau chữ (một đơn vị hình) có dây Một dây nối vào nguồn +12V dây lại Bạn nối vào chân C transistor thúc Với Bảng đèn này, lấy 11 đơn vị hình cho chữ PHÚC LAN, đơn vị hình cho chữ ĐIỆN, đơn vị hình cho chữ TỬ đơn vị hình cho khung Tổng cộng 14 đơn vị hình Bước 3: Tính điện trở hạn dịng cho nhánh Led tính dòng cung cấp transistor thúc Trên thị trường có loại Led Loại Led thường, có mức ghim áp khoảng 2V loại Led siêu sáng có mức ghim áp 3V Vậy dùng luật Ohm Bạn dễ dàng tính trị điện trở hạn dịng R (Bạn xem hình) Dùng luật Ohm để tính điện trở hạn dịng nhánh có Led Hình sau cho thấy, cách dùng luật Ohm tính điện trở hạn dịng cho nhánh có nhiều Led mắc nối tiếp Sau hình cho thấy mắc song song nhiều nhánh cho đơn vị hình bảng đèn quảng cáo Trên nhánh có điện trở hạn dịng riêng Đến nói Bạn làm xong phần cứng gồm bảng đèn bo vi điều khiển, Bây nói đến cách viết phần mềm cho bảng đèn quảng cáo Bước 4: Cách viết câu lệnh điều khiển bảng đèn quảng cáo Trước hết, Bạn xem hình cho thấy cách chọn định chân để điều khiển bảng đèn quảng cáo: Hình vẽ cho thấy đơn vị hình điều khiển chân port 2, port Chúng ta dùng: Chân Chân Chân Chân Chân Chân Chân Chân Chân Chân Chân Chân p2.0 p2.1 p2.2 p2.3 p2.4 p2.5 p2.6 p2.7 p0.0 p0.1 p0.2 p0.3 để để để để để để để để để để để để tắt tắt tắt tắt tắt tắt tắt tắt tắt tắt tắt tắt mở mở mở mở mở mở mở mở mở mở mở mở cho cho cho cho cho cho cho cho cho cho cho cho chữ chữ chữ chữ chữ chữ chữ chữ chữ chữ chữ chữ P H Ú C L A N S H O P Điện Chân p0.4 để tắt mở cho chữ Tử Chân p0.5 để tắt mở cho chữ Sau chọn định xong phân cứng bắt đầu viết chương trình cho kiểu nháy bảng đèn Kiểu sáng chữ P với bit chân p2.0 Kiểu tắt chữ P với bit chân p2.0 Kiểu sáng chữ H với bit chân p2.1 Kiểu tắt chữ H với bit chân p2.1 Kiểu sáng chữ Ú với bit chân p2.2 Kiểu tắt chữ Ú với bit chân p2.2 Kiểu sáng chữ C với bit chân p2.3 Kiểu tắt chữ C với bit chân p2.3 Kiểu sáng chữ L với bit chân p2.4 Kiểu tắt chữ L với bit chân p2.4 Kiểu sáng chữ A với bit chân p2.5 Kiểu tắt chữ A với bit chân p2.5 Kiểu sáng chữ N với bit chân p2.6 Kiểu tắt chữ N với bit chân p2.6 Kiểu sáng chữ S với bit chân p2.7 Kiểu tắt chữ S với bit chân p2.7 Kiểu sáng chữ H với bit chân p0.0 Kiểu tắt chữ H với bit chân p0.0 Kiểu sáng chữ O với bit chân p0.1 Kiểu tắt chữ O với bit chân p0.1 Kiểu sáng chữ P với bit chân p0.2 Kiểu tắt chữ P với bit chân p0.2 Kiểu sáng chữ Điện với bit chân p0.3 Kiểu tắt chữ Điện với bit chân p0.3 Kiểu sáng chữ Tử với bit chân p0.4 Kiểu tắt chữ Tử với bit chân p0.4 Kiểu sáng [khung bảng] với bit chân p0.5 Kiểu tắt [khung bảng] với bit chân p0.5 Kiểu sáng chữ P - H - Ú - C - L - A - N - S - H - O - P - Điện - Tử - [Khung] với bit Kiểu tắt chữ P - H - Ú - C - L - A - N - S - H - O - P - Điện - Tử - [Khung] với bit Vậy chương trình viết sau: xoabangden: ; chương trình xóa, làm tắt tất Led bảng đèn mov p2, #00000000b ; Cho port p2 mức áp thấp để làm ngương dẫn transistor thúc mov p0, #00000000b ; Cho port p0 mức áp thấp để làm ngương dẫn transistor thúc ret ; Quay lại sau lệnh call sang_het_bang_den: ; chương trình làm sáng tất Led bảng đèn mov p2, #11111111b ; Cho đặt chân transistor thúc lên mức áp cao mov p0, #00111111b ; Cho đặt chân transistor thúc lên mức áp cao ret ; Quay lại sau lệnh call phuc_sang: ; chương trình làm sáng chữ PHÚC mov p0, #00000000b mov p2, #00001111b ret lan_sang: ; chương trình làm sáng chữ LAN mov p0, #00000000b mov p2, #01110000b ret shop_sang: ; chương trình làm sáng chữ SHOP mov p0, #00000111b mov p2, #10000000b ret dien_sang: ; chương trình làm sáng chữ Điện mov p0, #00000000b mov p2, #10000000b ret tu_sang: ; chương trình làm sáng chữ Tử mov p0, #00000001b mov p2, #00000000b ret sang_chu_up: ; chương trình cho chữ sáng lan lên qua bên phải mov p2, #00h mov p0, #00h call delay setb p2.0 call delay setb p2.1 call delay setb p2.2 call delay setb p2.3 call delay setb p2.4 call delay setb p2.5 call delay setb p2.6 call delay setb p2.7 call delay setb p0.0 call delay setb p0.1 call delay setb p0.2 call delay setb p0.3 call delay setb p0.4 ret tat_chu_down: ; chương trình cho chữ tắt lan qua bên trái mov p2, #11111111b mov p0, #00011111b call delay clr p0.4 call delay clr p0.3 call delay clr p0.2 call delay clr p0.1 call delay clr p0.0 call delay clr p2.7 call delay clr p2.6 call delay clr p2.5 call delay clr p2.4 call delay clr p2.3 call delay clr p2.2 call delay clr p2.1 call delay clr p2.0 call delay ret * Đại thể công việc viết kiểu nhấp nháy dùng câu lệnh đặt (Set bit) để sáng hay đặt (Clear bit) để tắt phần trình bày * Bây Bạn dùng phần mềm MIDE-51 để viết chương trình nguồn chép lại với tên file có họ asm cho biên dịch (với phím F9) để có file tên, họ hex * Đến việc dùng hộp nạp mà Bạn có để nạp mã lệnh vào nhớ EEP-ROM ic vi điều khiển AT89C51/52, cắm ic vào bo ứng dụng xong chuyện, sau muốn thay đổi kiểu nháy viết thêm làm tương tự, đơn giản phải không? Sau câu lệnh file bqc-1.asm: org 0000h ; Khởi đầu từ nhớ reset start: ; Đặt tên nhãn start call xoabangden ; cho gọi chương trình xóa bảng đèn call sang_het_bang_den ; Cho bảng đèn sáng hết call delay ; bảng đèn tiếp tục sáng call delay ; bảng đèn tiếp tục sáng call xoabangden ; Cho bảng đèn tắt hết call delay ; Bảng đèn tắt call phuc_sang ; Cho chữ PHÚC phát sáng call delay ; Chờ, lúc có chữ PHÚC sáng call lan_sang ; Cho chữ LAN phát sáng call delay ; Chờ, lúc có chữ PHÚC LAN sáng call shop_sang ; Cho chữ SHOP phát sáng call delay ; Chờ, lúc có chữ sáng PHÚC LAN SHOP setb p0.5 ; Cho chữ Điện phát sáng setb p0.4 ; Cho chữ Tử phát sáng setb p0.3 ; Cho khung phát sáng call delay ; Chờ, lúc bảng đèn phát sáng call delay call xoabangden mov r1, #20 ; Nạp số lần 20 ghi r1 tt_1: ; Đặt tên nhãn tiếp tục call sang_chu_up ; Gọi chương trình cho chữ bảng sáng lan lên call delay ; chờ call tat_chu_down ; Gọi chương trình cho tắt từ chữ bảng đèn call delay ; chờ djnz r1, tt_1 ; Giảm trị r1, chưa 0? nhẩy tên nhãn tt_1 call delay ; chờ jmp start ; Quay lại từ đầu xoabangden: ; Chương trình dùng xóa hết bảng đèn mov p2, #00000000b mov p0, #00000000b ret sang_het_bang_den: ; Chương trình dùng cho sáng hết bảng đèn mov p2, #11111111b mov p0, #00111111b ret phuc_sang: ; Chương trình dùng cho chữ PHÚC sáng mov p0, #00000000b mov p2, #00001111b ret lan_sang: ; Chương trình dùng cho chữ LAN sáng mov p0, #00000000b mov p2, #01110000b ret shop_sang: ; Chương trình dùng cho chữ SHOP sáng mov p0, #00000111b mov p2, #10000000b ret dien_sang: ; Chương trình dùng cho chữ Điện sáng mov p0, #00000000b mov p2, #10000000b ret tu_sang: ; Chương trình dùng cho chữ Tử sáng mov p0, #00000001b mov p2, #00000000b ret sang_chu_up: ; Chương trình dùng cho chữ sáng lan lên mov p2, #00h mov p0, #00h call delay setb p2.0 call delay setb p2.1 call delay setb p2.2 call delay setb p2.3 call delay setb p2.4 call delay setb p2.5 call delay setb p2.6 call delay setb p2.7 call delay setb p0.0 call delay setb p0.1 call delay setb p0.2 call delay setb p0.3 call delay setb p0.4 ret tat_chu_down: ; Chương trình dùng cho chữ tắt dần xuống mov p2, #11111111b mov p0, #00011111b call delay clr p0.4 call delay clr p0.3 call delay clr p0.2 call delay clr p0.1 call delay clr p0.0 call delay clr p2.7 call delay clr p2.6 call delay clr p2.5 call delay clr p2.4 call delay clr p2.3 call delay clr p2.2 call delay clr p2.1 call delay clr p2.0 call delay ret delay: ; Chương trình dùng làm trễ mov r7, #20 ; Nạp trị 20 vào ghi r7 v6: mov r6, #50 ; Nạp trị 50 vào ghi r6 v5: mov r5, #200 ; Nạp trị 200 vào ghi r5 djnz r5, $ ; Chờ r5 giảm theo bước -1 đến djnz r6, v5 ; Cho trị r6 giảm theo bước -1, chưa 0, tên nhãn v5 djnz r7, v6 ; Cho trị r7 giảm theo bước -1, chưa 0, tên nhãn v6 ret ; Quay lại chạy câu lệnh sau câu lệnh call gọi delay trước end ; dừng biên dịch từ vi trí Sau dịch mã lệnh, có file bqc-1.hex sau: :1000000012004812004F12010C12010C120048128B :10001000010C12005612010C12005D12010C1200AC :100020006412010CD285D284D28312010C12010C0D :10003000120048791412007912010C1200C1120149 :100040000CD9F212010C80B875A0007580002275E1 :10005000A0FF75803F2275800075A00F227580007B :1000600075A0702275800775A0802275800075A02C :10007000802275800175A0002275A0007580001295 :10008000010CD2A012010CD2A112010CD2A21201B9 :100090000CD2A312010CD2A412010CD2A512010C95 :1000A000D2A612010CD2A712010CD28012010CD2DE :1000B0008112010CD28212010CD28312010CD28463 :1000C0002275A0FF75801F12010CC28412010CC2A0 :1000D0008312010CC28212010CC28112010CC28077 :1000E00012010CC2A712010CC2A612010CC2A51269 :1000F000010CC2A412010CC2A312010CC2A2120173 :100100000CC2A112010CC2A012010C227F147E327B :090110007DC8DDFEDEFADFF622F7 :00000001FF (Bạn dùng hộp nạp cho nạp mã lệnh vào nằm nhớ EEP-ROM ic vi điều khiển AT89C51/52 dùng ic với bo 16 đường để điều khiển bảng đèn quảng cáo trên) Trên thí dụ giúp Bạn làm quen với cách viết câu lệnh cho bảng đèn quảng cáo Ở đây, dùng câu lệnh làm điều muốn Sau quen rồi, tự Bạn viết nhiều chương trình đa dạng hấp dẫn Qua phần trình bày trên, chúng tơi mong Bạn hiểu cách dùng bo vi điều khiển AT89C51/89C52 có bán cửa hàng Phúc Lan, dùng ráp nhanh bảng đèn quảng cáo, hay cịn dùng cho công việc điều khiển tự động khác nữa, cách viết chương trình điều khiển bảng đèn, chúng tơi tiếp tục trình bày khác, mong Bạn thường xuyên vào đọc Reply With Quote The Following Users Say Thank You to rongviet For This Useful Post: bean (03-06-2011), dobinghs (02-03-2011), mrjun49 (02-12-2010), vietlamdt (10-12-2010) ... Bước 4: Cách vi? ??t câu lệnh điều khiển bảng đèn quảng cáo Trước hết, Bạn xem hình cho thấy cách chọn định chân để điều khiển bảng đèn quảng cáo: Hình vẽ cho thấy đơn vị hình điều khiển chân port... * Đến vi? ??c dùng hộp nạp mà Bạn có để nạp mã lệnh vào nhớ EEP-ROM ic vi điều khiển AT89C51/52, cắm ic vào bo ứng dụng xong chuyện, sau muốn thay đổi kiểu nháy vi? ??t thêm làm tương tự, đơn giản phải... ic vi điều khiển AT89C51/52 dùng ic với bo 16 đường để điều khiển bảng đèn quảng cáo trên) Trên thí dụ giúp Bạn làm quen với cách vi? ??t câu lệnh cho bảng đèn quảng cáo Ở đây, dùng câu lệnh làm điều