tailieunhanh - Kỹ thuật vi xử lý căn bản và vi điều khiển 8051

Tài liệu tham khảo Kỹ thuật vi xử lý căn bản và vi điều khiển 8051 | Kỹ thuật vi xử lý căn bản và vi điều khiển 8051 Bài tập 1 Cho sáng lần lượt từng LED mỗi LED sáng 1 giây. Trên đây là lưu đồ việc thể hiện bằng lệnh lưu đồ trên có thể bằng cách chân phương làm lần lượt hoặc có thể dùng lệnh quay để đưa bit 0 ra lần lượt các chân cổng làm LED sáng theo lần lượt. Từ bài tập này trở đi mặc định chương trình đã có khai báo include Cách chân phương org 00h ljmp main org 40h main mov SP 5fh Việc tắt tất cả các LED được tự động làm do khi reset lên các chân cổng đều 1 mov p1 11111110b sáng LED 1 lcall tre_1s mov p1 11111101b tắt LED 1 sáng LED 2 lcall tre_1s mov p1 11111011b tắt LED 2 sáng LED 3 Written by Kieennx MicroStudy group Kỹ thuật vi xử lý căn bản và vi điều khiển 8051 lcall tre_1s mov p1 01111111b lcall tre_1s sjmp main tre_1s mov r1 10 loop1 mov r2 100 loop2 mov r3 100 loop3 nop . tất cả 8 lệnh Nop nop djnz r3 loop3 djnz r2 loop2 djnz r1 loop1 ret end Nếu sử dụng lệnh quay thì chương trình sẽ gọn hơn . main mov mov main_loop mov lcall rl sjmp SP 5fh a 11111110b P1 a tre_1s a main_loop tre_1s .như ở trên. end Lưu ý là trong các đoạn chương trình trên ngăn xếp được khởi tạo với giá trị ban đầu của thanh ghi con trỏ ngăn xếp SP là 5fh tức là các địa chỉ hay dữ liệu cất vào ngăn xếp sẽ bắt đầu từ ô nhớ 60h trở đi. Việc khởi tạo ngăn xếp là một thao tác không thể thiếu khi trong chương trình có sử dụng lệnh gọi chương trình con hoặc các ngắt. Written by Kieennx MicroStudy group Kỹ thuật vi xử lý căn bản và vi điều khiển 8051 Bài tập 2 kiểm tra phím bấm nối với khi phím được bấm thì sáng cả 8 LED khi không bấm phím thì tắt cả 8 LED. Với lưu đồ thuật toán như trên ta viết được chương trình sau org 00h ljmp main org 40h main việc đặt cổng làm cổng vào được tự động thực hiện khi 8051 reset xong. các LED cũng tự động được tắt vì khi 8051 reset xong các cổng đều 1 jnb phim_bam mov P1 0ffh tắt tất cả các LED nếu không có phím bấm sjmp main phim_bam mov P1 0 sángtất cả các LED nếu có phím bấm sjmp main end Với cùng