1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI TẬP VI XỬ LÝ

24 42 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 24
Dung lượng 734,24 KB

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ BÀI TẬP CHƯƠNG VI XỬ LÝ GVHD: Nguyễn Trung Hiếu Thành viên: Phạm Hồng Đơng 1811942 Lâm Vinh Phú 1813541 Nguyễn Mạnh Toàn 1814368 TP.HCM – 10/2021 1a Viết chương trình xuất chuỗi xung vng đối xứng tần số 5KHz P1.0 sử dụng Timer1 f = 5000 Hz T = 200 us 200 MCs T high = T low = 100 MCs LOOP: ORG 0000H MOV MOV MOV SETB JNB CLR CLR CPL SJMP TMOD, #10H TH1, #HIGH(-100) TL1, #LOW(-100) TR1 TF1, $ TF1 TR1 P1.0 LOOP 1b Lặp lại câu a với tần số xung 1KHz f = 1000 Hz T = 1000 us 1000 MCs T high = T low = 500 MCs LOOP: ORG 0000H MOV MOV MOV SETB JNB CLR CLR TMOD, #10H TH1, #HIGH(-500) TL1, #LOW(-500) TR1 TF1, $ TF1 TR1 CPL SJMP P1.0 LOOP 2a Viết chương trình xuất chuỗi xung vng đối xứng tần số 200Hz P1.0 sử dụng Timer0 f = 200 Hz T = 5000 us 5000 MCs T high = T low = 2500 MCs LOOP: ORG 0000H MOV MOV MOV SETB JNB CLR CLR CPL SJMP TMOD, #01H TH0, #HIGH(-2500) TL0, #LOW(-2500) TR0 TF0, $ TF0 TR0 P1.0 LOOP 2b Viết chương trình xuất chuỗi xung vng có D = 30% tần số 200Hz P1.0 sử dụng Timer0 f = 200 Hz T = 5000 us 5000 MCs T high = 1500 MCs T low = 3500 MCs ORG 0000H MOV CLR JB MOV MOV SJMP TMOD, #01H P1.0 P1.0, CASE2 TH0, #HIGH(-3500) TL0, #LOW(-3500) CONTINUE CASE2: MOV MOV TH0, #HIGH(-1500) TL0, #LOW(-1500) CONTINUE: SETB JNB CLR CLR CPL SJMP TR0 TF0, $ TF0 TR0 P1.0 LOOP LOOP: CASE1: Thiết kế mạch thỏa yêu cầu: - Khi nút nhấn chân P1.2 nhấn xuất xung có tần số f = 100Hz với D=50% chân P1.0 - Khi nút nhấn chân P1.2 nhả P1.0 mức cao Cho phép viết chương trình cho tốn có độ trễ vừa phải f = 100 Hz T = 10 000 us 10 000 MCs T high = T low = 000 MCs LOOP: CASE1: CASE2: ORG 0000H MOV JB SETB SJMP TMOD, #01H P1.2, CASE2 P1.0 LOOP MOV MOV SETB JNB CLR CLR CPL SJMP TH0, #HIGH(-5000) TL0, #LOW(-5000) TR0 TF0, $ TR0 TF0 P1.0 LOOP Thiết kế mạch xuất xung PWM (Pulse Width Modulation) với tần số 1KHz, chu kỳ nhiệm vụ thay đổi từ Dmin = 10%T đến Dmax = 90%T thỏa yêu cầu: - Xung xuất chân P1.0 - Nút nhấn chân P1.5 nhấn D tăng 5%, tối đa Dmax - Nút nhấn chân P1.6 nhấn D giảm 5%, tối đa Dmin Cho phép viết chương trình cho tốn có độ trễ vừa phải f = 1000 Hz T = 000 us  Giải thuật: 000 MCs T high = 900 MCs T low = 100 MCs  Chương trình: ORG MOV TMOD,#01H MOV R2, #2 MOV R3, #18 AGAIN: MOV 30H,R2 MOV 31H,R3 JNB P1.5, LOC1 JNB P1.6, LOC2 CLR P1.0 LAP1: CALL DL1 DJNZ 30H,LAP1 SETB P1.0 LAP2: CALL DL1 DJNZ 31H,LAP2 JMP AGAIN DL1: MOV TMOD,#01H MOV TH0,#HIGH(-50) MOV TL0,#LOW(-50) SETB TR0 LOOP: JNB TF0, LOOP CLR TF0 CLR TR0 RET LOC1: CJNE R2,#18,AGAIN INC R2 DEC R3 RET LOC2: CJNE R2,#2,AGAIN INC R3 DEC R2 RET  Mô Protues Viết chương trình thực xuất chuỗi xung theo nguyên tắc sau chân P1.0 Giải sử thạch anh 12 MHz Thời gian có xung = thời gian mức thấp = 50 000 us = 50 000 MCs Khi có xung: T = 2000 us T high = T low = 1000 us = 1000 MCs AGAIN: LOOP: ORG MOV 000H TMOD, #01H MOV MOV MOV SETB JNB CLR CLR CPL DJNZ R7, #50 TH0, #HIGH(-1000) TL0, #LOW(-1000) TR0 TF0, $ TR0 TF0 P1.0 R7, LOOP MOV MOV CLR SETB JNB CLR CLR SJMP TH0, #HIGH(-50000) TL0, #LOW(-50000) P1.0 TR0 TF0, $ TR0 TF0 AGAIN END Trong loại kỹ thuật điều chế tín hiệu: - Bit tương đương với xung có chu kỳ 1ms D = 25% - Bit tương đương với xung có chu kỳ 1ms D = 60% Viết chương trình xuất bit nằm ghi R7 thành chuỗi xung chân P1.0 theo nguyên tắc cho (Lưu ý: Bit MSB truyền trước) Ví dụ: Trong ghi R7 chứa 1001 0101 chuỗi xung phát có dạng hình Giải thuật: ACC.7=1 ACALL BIT0 ACALL BIT1 R0=0 UOT DJNZ R0 R≠ RL A  Chương trình: MOV R0,#8 BDAU: JB ACC.7,CTBIT1 ACALL BIT0 SJMP SS CTBIT1: ACALL BIT1 SS: DJNZ R0,NHAY SJMP OUT NHAY: RL A SJMP BDAU SJMP $ BIT1: SETB P1.0 ACALL DELAY250 CLR B P1.0 ACALL DELAY250 ACALL DELAY250 ACALL DELAY250 RET DELAY250: MOV TMOD, #01H MOV TH0,#HIGH(-250) MOV TL0,#LOW(-250) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 RET BIT0: SETB P1.0 ACALL DELAY200 ACALL DELAY200 ACALL DELAY200 CLR B P1.0 ACALL DELAY200 ACALL DELAY200 RET DELAY200: MOV TMOD, #01H MOV TH0,#HIGH(-200) MOV TL0,#LOW(-200) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 RET Một hệ thống dùng vi xử lý 8051 dùng để đếm số sản phẩm băng tải Cho biết số sản phẩm tối đa mà hệ thống đếm 250 sản phẩm Số sản phẩm đếm hiển thị dùng LED đoạn Khi số sản phẩm đạt tối đa LED đơn gắn với P0.0 phát sáng a Thiết kế mạch dùng để hiển thị số sản phẩm đếm Yêu cầu có thêm nút reset để nhấn reset số sản phẩm đếm 7b Viết chương trình dùng để thực thi yêu cầu toán Giải thuật: Chương trình: LOOP: NHO: TRAN MOV TMOD,#50H MOV TL1,#0 SETB TR1 MOV A,TL1 CJNE A,#250D,NHO SJMP TRAN MOV B,#100D DIV AB MOV P2,A MOV A,B MOV B,#10D DIV AB SWAP A ORL A,B MOV P1,A SJMP LOOP SETB P0.0 MOV TL1,#0 SJMP LOOP vi xử lý 8051 sử dụng để đo thời gian mức cao (độ rộng xung) xung có tần số 8KHz Kết hiển thị LED đoạn dạng xx% a Thiết kế mạch đo hiển thị lên LED đoạn Cho phép tính xâp xỉ 8b Viết chương trình thực thi u cầu tốn Cho phép tính xâp xỉ 9 Lặp lại câu với xung có tần số 100Hz Yêu cầu tính xác L1: ORG MOV TMOD , #01H MOV TL0,#00H MOV TH0,#00H SETB TR0 JNB P0.0,$ JB P0.0,$ CLR TR0 MOV 25H,TH0 MOV A,25H MOV B, #10 DIV AB MOV R0,A MOV A,B ANL A,#0FH MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P2,A MOV A,R0 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P1,A SJMP L1 TABLE: DB 3Fh,06h,5Bh,4Fh,66h DB 6Dh,7Dh,07h,7Fh,6Fh DONE: NOP END  Mô protues 10 Vi xử lý 8051 sử dụng để đo tần số xung ngõ vào Biết xung có tần số từ 1KHz tới 99KHz Kết hiển thị LED đoạn a thiết kế mạch đo hiển thị LED đoạn 10b Viết chương trình thực thi yêu cầu toán Giải thuật: MAIN: AGAIN: DONE: ORG 0000H MOV SETB MOV MOV MOV SETB SETB JNB CLR CLR CLR MOV MOV DIV SWAP ORL MOV SJMP TMOD, #0001 0101B P3.4 TL0, #0 TL1, #LOW(-1000) TH1, #HIGH(-1000) TR0 TR1 TF1, $ TF1 TR1 TR0 A, TL0 B, #10 AB A AB P2, A AGAIN NOP END ... SJMP LOOP vi xử lý 8051 sử dụng để đo thời gian mức cao (độ rộng xung) xung có tần số 8KHz Kết hiển thị LED đoạn dạng xx% a Thiết kế mạch đo hiển thị lên LED đoạn Cho phép tính xâp xỉ 8b Vi? ??t chương... END  Mô protues 10 Vi xử lý 8051 sử dụng để đo tần số xung ngõ vào Biết xung có tần số từ 1KHz tới 99KHz Kết hiển thị LED đoạn a thiết kế mạch đo hiển thị LED đoạn 10b Vi? ??t chương trình thực... CLR CLR CPL SJMP TMOD, #01H TH0, #HIGH(-2500) TL0, #LOW(-2500) TR0 TF0, $ TF0 TR0 P1.0 LOOP 2b Vi? ??t chương trình xuất chuỗi xung vng có D = 30% tần số 200Hz P1.0 sử dụng Timer0 f = 200 Hz T =

Ngày đăng: 28/10/2021, 18:24

HÌNH ẢNH LIÊN QUAN

Ví dụ: Trong thanh ghi R7 chứa 1001 0101 thì chuỗi xung phát có dạng như hình - BÀI TẬP  VI XỬ LÝ
d ụ: Trong thanh ghi R7 chứa 1001 0101 thì chuỗi xung phát có dạng như hình (Trang 12)

TỪ KHÓA LIÊN QUAN

w