viết chương trình điều khiển 8 led sáng dồn, chương 1
Số trang: 7
Loại file: pdf
Dung lượng: 167.43 KB
Lượt xem: 20
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Mục đích yêu cầu: hiểu cách sử dụng lệnh xoay kết hợp với lệnh logic để thực hiện chương trình điều khiển led sáng dồn. II. Trình tự thực hiện: 1. Giải thuật:Begin Tắt 8 led Mức 1 dịch chuyển từ led 1đến led 8Mức 1 dịch chuyển từ led 1đến led 7Mức 1 dịch chuyển từ led 1đến led 2Mức 1 dịch chuyển về led 1
Nội dung trích xuất từ tài liệu:
viết chương trình điều khiển 8 led sáng dồn, chương 1 Chương 1: CHƯƠNG TRÌNH ĐIỀU KHIỂN 8 LED SÁNG DỒNI. Mục đích yêu cầu: hiểu cách sử dụng lệnh xoay kết hợp vớilệnh logic để thực hiện chương trình điều khiển led sáng dồn.II. Trình tự thực hiện: 1. Giải thuật: Begin Tắt 8 led Mức 1 dịch chuyển từ led 1đến led 8 Mức 1 dịch chuyển từ led 1đến led 7 Mức 1 dịch chuyển từ led 1đến led 2 Mức 1 dịch chuyển về led 1 End 2. Kết nối mạch theo trình tự : - Dùng bus dây kết nối port 0 với một trong bốn PINHD của dãy 32 led. - Gắn vi điều khiển vào đế nạp 40 pin ( socket ) ở modul nạp của hệ thống 2. 3. Khởi động phần mềm, mở File mới và đặt tên file. Vd: bai1_4 4. Viết chương trình với tên file vừa đặt :;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh dieu khien port 0 sang don va tat het - cach I;su dung bo thi nghiem PE-1,ket noi port 0 den 8 led bang cap 8 soi;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0200h ;khai bao dia chi luu tru vung du lieu ma: db 00000000b ;byte du lieu nay luu vao o nhoco dia chi 0200H;lan thu nhat la 8 byte db 00000001b ;byte du lieu nay luu vao o nhoco dchi 0201H db 00000010b ;tuong tu cho cac byte du lieucon lai db 00000100b db 00001000b db 00010000b db 00100000b db 01000000b db 10000000b;lan thu hai la 7 byte db 10000001b db 10000010b db 10000100b db 10001000b db 10010000b db 10100000b db 11000000b;lan thu 3 la 6 byte db 11000001b db 11000010b db 11000100b db 11001000b db 11010000b db 11100000b;lan thu 4 la 5 byte db 11100001b db 11100010b db 11100100b db 11101000b db 11110000b;lan thu 5 la 4 byte db 11110001b db 11110010b db 11110100b db 11111000b;lan thu 6 la 3 byte db 11111001b db 11111010b db 11111100b;lan thu 7 la 2 byte db 11111101b db 11111110b;lan thu 8 la 1 byte db 11111111b ;byte du lieu cuoi cung = FFH;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h ;khai bao dia chi chtr chinhport0_44: mov dptr,#0200h ;nap dia chi luu du lieu vao thghidptrport0_4a: movc a,@a+dptr;lay du lieu tu bo nho dua vao A mov p0,a ;goi ra port 0 lcall delay ;goi chtr con delay inc dptr ;tang dptr len o nho ke cjne a,#0ffh,port0_4a ;ktra co phai la byte ket thuc haychua sjmp port0_44 ;quay tro lam lai tu dau khi da hetdu lieu;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh con delay;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay: mov r6,#0ffh de2 : mov r7,#0ffh de1 : djnz r7,de1 djnz r6,de2 ret end 5. Thực hiện các bước từ 5 đến 9 giống như các bài trước. Theo cách viết 1 ta hãy quan sát dữ liệu trong chương trình đãđược sắp xếp theo đúng trình tự và chương trình chỉ thực hiệnnhiệm vụ là di chuyển lần lược các byte dữ liệu có trong bộ nhớđem gởi vào A và sau đó gởi ra port 0. Lệnh “ma: db dữ liệu “ có chức năng nạp các byte dữ liệuvào vùng nhớ có địa chỉ 0200H. Dữ liệu viết dưới dạng số nhị phân cho dễ nhìn thấy và có thểviết dưới dạng số hex – khi đó chương trình sẽ ngắn hơn rất nhiều.Phần khai báo dữ liệu dưới dạng số hex như sau: org 0200h ;khai bao dia chi luu tru vung du lieu ma: db 00H DB 01H,02H,04H,08H,10H,20H,40H,80H DB 81H,82H,84H,88H,90H,0A0H,0C0H DB 0C1H,0C2H,0C4H,0C8H,0D0H,0E0H DB 0E1H,0E2H,0E4H,0E8H,0F0H DB 0F1H,0F2H,0F4H,0F8H DB 0F9H,0FAH,0FCH DB 0FDH,0FEH DB 0FFH Chương trình giống như trên nhưng viết theo cách II:;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh dieu khien port 0 sang don va tat het - cach II;ket noi port 0 den 8 led bang cap 8 soi;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000hport0_05: mov r2,#00h ;luu trng thai ban dau mov r4,#08 ;goi bien dem so lan dich chuyencua l ...
Nội dung trích xuất từ tài liệu:
viết chương trình điều khiển 8 led sáng dồn, chương 1 Chương 1: CHƯƠNG TRÌNH ĐIỀU KHIỂN 8 LED SÁNG DỒNI. Mục đích yêu cầu: hiểu cách sử dụng lệnh xoay kết hợp vớilệnh logic để thực hiện chương trình điều khiển led sáng dồn.II. Trình tự thực hiện: 1. Giải thuật: Begin Tắt 8 led Mức 1 dịch chuyển từ led 1đến led 8 Mức 1 dịch chuyển từ led 1đến led 7 Mức 1 dịch chuyển từ led 1đến led 2 Mức 1 dịch chuyển về led 1 End 2. Kết nối mạch theo trình tự : - Dùng bus dây kết nối port 0 với một trong bốn PINHD của dãy 32 led. - Gắn vi điều khiển vào đế nạp 40 pin ( socket ) ở modul nạp của hệ thống 2. 3. Khởi động phần mềm, mở File mới và đặt tên file. Vd: bai1_4 4. Viết chương trình với tên file vừa đặt :;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh dieu khien port 0 sang don va tat het - cach I;su dung bo thi nghiem PE-1,ket noi port 0 den 8 led bang cap 8 soi;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0200h ;khai bao dia chi luu tru vung du lieu ma: db 00000000b ;byte du lieu nay luu vao o nhoco dia chi 0200H;lan thu nhat la 8 byte db 00000001b ;byte du lieu nay luu vao o nhoco dchi 0201H db 00000010b ;tuong tu cho cac byte du lieucon lai db 00000100b db 00001000b db 00010000b db 00100000b db 01000000b db 10000000b;lan thu hai la 7 byte db 10000001b db 10000010b db 10000100b db 10001000b db 10010000b db 10100000b db 11000000b;lan thu 3 la 6 byte db 11000001b db 11000010b db 11000100b db 11001000b db 11010000b db 11100000b;lan thu 4 la 5 byte db 11100001b db 11100010b db 11100100b db 11101000b db 11110000b;lan thu 5 la 4 byte db 11110001b db 11110010b db 11110100b db 11111000b;lan thu 6 la 3 byte db 11111001b db 11111010b db 11111100b;lan thu 7 la 2 byte db 11111101b db 11111110b;lan thu 8 la 1 byte db 11111111b ;byte du lieu cuoi cung = FFH;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h ;khai bao dia chi chtr chinhport0_44: mov dptr,#0200h ;nap dia chi luu du lieu vao thghidptrport0_4a: movc a,@a+dptr;lay du lieu tu bo nho dua vao A mov p0,a ;goi ra port 0 lcall delay ;goi chtr con delay inc dptr ;tang dptr len o nho ke cjne a,#0ffh,port0_4a ;ktra co phai la byte ket thuc haychua sjmp port0_44 ;quay tro lam lai tu dau khi da hetdu lieu;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh con delay;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay: mov r6,#0ffh de2 : mov r7,#0ffh de1 : djnz r7,de1 djnz r6,de2 ret end 5. Thực hiện các bước từ 5 đến 9 giống như các bài trước. Theo cách viết 1 ta hãy quan sát dữ liệu trong chương trình đãđược sắp xếp theo đúng trình tự và chương trình chỉ thực hiệnnhiệm vụ là di chuyển lần lược các byte dữ liệu có trong bộ nhớđem gởi vào A và sau đó gởi ra port 0. Lệnh “ma: db dữ liệu “ có chức năng nạp các byte dữ liệuvào vùng nhớ có địa chỉ 0200H. Dữ liệu viết dưới dạng số nhị phân cho dễ nhìn thấy và có thểviết dưới dạng số hex – khi đó chương trình sẽ ngắn hơn rất nhiều.Phần khai báo dữ liệu dưới dạng số hex như sau: org 0200h ;khai bao dia chi luu tru vung du lieu ma: db 00H DB 01H,02H,04H,08H,10H,20H,40H,80H DB 81H,82H,84H,88H,90H,0A0H,0C0H DB 0C1H,0C2H,0C4H,0C8H,0D0H,0E0H DB 0E1H,0E2H,0E4H,0E8H,0F0H DB 0F1H,0F2H,0F4H,0F8H DB 0F9H,0FAH,0FCH DB 0FDH,0FEH DB 0FFH Chương trình giống như trên nhưng viết theo cách II:;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;chuong trinh dieu khien port 0 sang don va tat het - cach II;ket noi port 0 den 8 led bang cap 8 soi;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000hport0_05: mov r2,#00h ;luu trng thai ban dau mov r4,#08 ;goi bien dem so lan dich chuyencua l ...
Tìm kiếm theo từ khóa liên quan:
chương trình điều khiển led vi xử lý Kết nối mạch vi điều khiển lệnh xoay lệnh logicTài liệu liên quan:
-
Đề cương chi tiết học phần Vi xử lý
12 trang 298 0 0 -
Giáo trình Vi điều khiển (Nghề: Cơ điện tử - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Ninh Thuận
127 trang 282 0 0 -
Báo cáo môn học vi xử lý: Khai thác phần mềm Proteus trong mô phỏng điều khiển
33 trang 185 0 0 -
Giáo trình Vi điều khiển (Nghề: Điện công nghiệp - Cao đẳng) - Trường Cao đẳng Cơ giới (2022)
144 trang 155 0 0 -
Báo cáo môn Vi xử lý - TÌM HIỂU VỀ CÁC BỘ VI XỬ LÝ XEON CỦA INTEL
85 trang 154 0 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 142 0 0 -
Báo cáo bài tập lớn môn Kỹ thuật vi xử lý: Thiết kế mạch quang báo - ĐH Bách khoa Hà Nội
31 trang 133 0 0 -
Ứng dụng vi điều khiển PIC 16F877A trong thí nghiệm vật lí phổ thông
12 trang 120 0 0 -
Bài tập lớn môn Vi xử lý, vi điều khiển: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều
27 trang 118 0 0 -
Bài tập lớn Vi xử lý: Thiết kế môn học Đèn LED đơn ghép thành đèn quảng cáo
15 trang 118 0 0