THÔNG TIN TÀI LIỆU
HỌC VIỆN HÀNG KHÔNG VIỆT NAM KHOA ĐIỆN – ĐIỆN TỬ KỸ THUẬT VI XỬ LÝ – VI ĐIỀU KHIỂN TIỂU LUẬN CUỐI KỲ Giáo viên hướng dẫn: Th.s Võ Bá Việt Nghĩa Sinh viên thực : Phan Hồng Doanh -1953020071 Nguyễn Thị Phương Thảo - 1953020027 THÀNH PHỐ HỒ CHÍ MINH, NĂM 2021 download by : skknchat@gmail.com Mục lục Phần lí thuyết········································································ 1.1 câu 1- dùng timer điều khiển led ··············································1 Phần mô phỏng······································································ 1.1 câu - dùng timer tạo ngắt với chu kỳ 1.2s································2 1.2 câu - dùng rs232 bật tắt led đơn············································· 1.3 câu - điều khiển tốc độ động cơ············································· Phần lập trình······································································· 1.1 lưu đồ giải thuật··································································9 1.1.1 câu 1- dùng timer điều khiển led··········································· 1.1.2 câu 2- dùng rs232 điều khiển led···········································9 1.1.3 câu 3- điều khiển động cơ················································· 10 1.2 giải thích code·································································· 11 1.1.1 câu 1- dùng timer điều khiển led········································· 11 1.1.2 câu 2- dùng rs232 điều khiển led········································· 12 1.1.3 câu 3- điều khiển động cơ················································· 14 Phần kết luận······································································ 17 download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led Mục lục hình ảnh hình 1.0 - sơ đồ mơ 1················································· hình 1.1 - kết mơ phỏng····················································· hình 1.2 - chu kỳ đầu tiên·························································3 hình 1.3 - chu kỳ tiếp theo························································3 hình 1.4 - sơ đồ mơ 2················································· hình 1.5 - nút RB0 nhấn····················································4 hình 1.6 - nút RB1 nhấn····················································5 hình 1.7 - nút RB2 nhấn ···················································5 hình 1.8 - nút RB3 nhấn····················································5 hình 1.9 - sơ đồ mơ 3················································· hình 2.0 - nhấn nút quay phải···················································· hình 2.1 - nhấn nút quay trái····················································· hình 2.2 - nhấn nút stop··························································· hình 2.3 - điều khiển tốc độ động biến trở··························· ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led PHẦN LÝ THUYẾT 1.1 Câu 1- dùng timer điều khiển led Tính tốn timer 1: u cầu dùng timer1 tạo Ngắt với chu kì 1.2 s FTimer1 = 1/1.2 = 5/6 hz FTimer1 = 20.000.000 /4 = 5.000.000hz ==> 100ms: 500.000 lệnh Chọn chia trước : 500.000 / 1=500.000 500.000 / 2=250.000 500.000 / =125.000 500.000 / = 62.500 ==> chọn chia trước prescaler = Giá trị đặt trước cho ghi TMR1: value = 65536-62500 = 3036 Số lần ngắt: count = 20.000.000 4.8.(65536−3036) = 12 ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led PHẦN MÔ PHỎNG 1.1 Câu - dùng timer1 tạo ngắt với chu kỳ 1.2s Hình 1.0 - sơ đồ mô + linh kiện cần cho mô - pic16f877A tần số 20Mhz - thạch anh tần số 20Mhz ( crystal) - điện trở 1k 220ohm ( resistor) - đèn led màu đỏ (led red) - tụ 22pF Sắp xếp linh kiện hình 1.0 Lấy probes voltage gắn vào đầu B0 để đo chu kì sáng tắt led từ biết kết tính tốn hay chưa + kết mơ Hình 1.1- kết mơ ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led Hình 1.2- chu kỳ Hình 1.3- chu kỳ ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led RB0 bắt đầu sáng sau 1.2s tắt , tới thời điểm 1.2*8 =9.6( có led sáng lần lượt) RB0 tiếp tục sáng 1.2 Câu - dùng rs232 bật tắt led đơn Hình 1.3- sơ đồ mơ + linh kiện cần cho mô - pic16f877A tần số 20Mh - nút nhấn (button) - điện trở 10k 220ohm( resistor) - đèn led màu đỏ( led red) Sắp xếp linh kiện cài đặt hình 1.3 + kết mơ Hình 1.4- nút RB0 nhấn ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led Hình 1.5 - nút RB1 nhấn Hình 1.6 - nút RB2 nhấn Hình 1.7 - nút RB3 nhấn 1.3 Câu điều khiển tốc độ động ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led Hình 1.8 - sơ đồ mơ + linh kiện cần cho mô - pic16f877A tần số 20MHz - nút nhấn (button) - biến trở 10k (pot-hg) - hình lcd LM016L - động dc ( motor) - L298 - tụ 100nF ( capacitor) - diode 1N4007 - cục pin 12v ( battery) Sắp xếp cài đặt linh kiện hình 1.8 + kết mô ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led Hình 1.9 - nhấn nút quay phải Hình 2.0 - nhấn nút quay trái ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led Hình 2.1 - nhấn nút stop Hình 2.2 - dùng biến trở điều chỉnh tốc độ động ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led PHẦN LẬP TRÌNH 1.1 Lưu đồ thuật tốn 1.1.1 Câu 1- dùng timer điều khiển led 1.1.2 Câu 2- dùng rs232 điều khiển led ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led Câu 3- điều khiển động ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led 10 download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led 1.2 Giải thích code 1.1.1 câu 1- dùng timer điều khiển led #include unsigned int16 count=12; unsigned int16 i=0; int8 seg[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};// giá trị mảng sáng từ port b0 đến b7 int k=0; #INT_TIMER1// thị ngắt timer 1_interrupt // hàm ngắt timer1 void timer1_interrupt(){ i++; if(i>=count){ i> count xảy lần ngắt i=0;// gán i =0 k++;// cộng k lên đơn vị if(k>7){//nếu lớn phần tử mảng gán =0 k=0; } output_b(seg[k]); // output vị trí k mảng } set_timer1(3036);// cài đặt giá trị đặt trước cho ghi timer1 clear_interrupt(INT_TIMER1);// xóa cờ ngắt timer } void main() { clear_interrupt(INT_TIMER1);// xóa cờ ngắt timer enable_interrupts(INT_TIMER1);// cho phép ngắt timer ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led 11 download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led enable_interrupts(GLOBAL);// cho phép ngắt toàn cục setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);// cài đặt chia trc cho timer set_timer1(3036);//cài đặt giá trị đặt trước cho ghi timer1 Output_b(0x01);// ban đầu port b0 sáng while(TRUE) { } } 1.1.2.Câu 2- dùng rs232 điều khiển led + code truyền #include #use rs232(uart1,baud=9600)// khai báo sử dụng rs232 ccs char c; void main() { while(true){ if(input(pin_B0)==0){ // nút B0 nhấn gán c kí tự while(input(pin_B0)==0); c='0'; putc(c);// xuất kí tự } if(input(pin_B1)==0){// nút B1 nhấn gán c kí tự while(input(pin_B1)==0); c='1'; putc(c);// xuất kí tự } if(input(pin_B2)==0){// nút B2 nhấn gán c kí tự ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led 12 download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led while(input(pin_B2)==0); c='2'; putc(c);// xuất kí tự } if(input(pin_B3)==0){// nút B3 nhấn gán c kí tự while(input(pin_B3)==0); c='3'; putc(c);// xuất kí tự } } } + code nhận #include #use rs232(uart1,baud=9600)// khai báo sử dụng rs232 ccs char c; void main() { while(TRUE) { if(kbhit()==1){// kiểm tra có nhận kí tự chưa c=getc();// đọc kí tự nhận từ chân RC7 lưu vào biến c } if(c=='0'){// kí tự nhận sáng port B0 output_b(0x01); } if(c=='1'){// kí tự nhận sáng port B1 output_b(0x02); } ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led 13 download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led if(c=='2'){// kí tự nhận sáng port B2 output_b(0x04); } if(c=='3'){// kí tự nhận sáng port B3 output_b(0x08); } } } 1.1.3.câu 3- điều khiển động #include #define LCD_ENABLE_PIN PIN_D2 #define LCD_RS_PIN #define LCD_RW_PIN PIN_D0 PIN_D1 #define LCD_DATA4 PIN_D4 #define LCD_DATA5 PIN_D5 #define LCD_DATA6 PIN_D6 #define LCD_DATA7 PIN_D7 #include// khai báo cho hình lcd int8 k=0; #INT_RB// thị ngắt rb // hàm ngắt rb interrupt void rb_interrupt(){ clear_interrupt(INT_RB);// xóa cờ ngắt port if(input(pin_B5)==0){//stop k=1;// nút B5 nhấn gán k=1 } if(input(pin_B6)==0){//quay trai k=2;// nút B6 nhấn gán k=2 ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led 14 download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led } IF(input(PIN_B7)==0){//quay thuan k=3;// nút B7 nhấn gán k=3 } } void lcd_imp(int16 value){// hàm hiển thị lcd int8 thousand,hundred,tens,units; thousand=value/1000;// số hàng nghìn hundred=(value%1000)/100;// số hàng trăm tens=((value%1000)%100)/10;// số hàng chục units=(value%1000)%10;// số hàng đơn vị lcd_gotoxy(1,1);// vị trí in số hàng nghìn lcd_putc(thousand+48);// in số hàng nghìn lcd_gotoxy(2,1);// vị trí in số hàng trăm lcd_putc(hundred+48);// in số hàng trăm lcd_gotoxy(3,1);// vị trí in số hàng chục lcd_putc(tens+48);// in số hàng chục lcd_gotoxy(4,1);// vị trí in số hàng đơn vị lcd_putc(units+48);// in số hàng đơn vị } void main() { int16 value=0; lcd_init();// khởi tạo hình lcd lcd_putc('\f');// xóa hình trắng clear_interrupt(INT_RB);// xóa cờ ngắt port b enable_interrupts(INT_RB);// cho phép ngắt port b enable_interrupts(GLOBAL);// cho phép ngắt toàn cục ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led 15 download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led setup_adc_ports(ALL_ANALOG);// cấu hình chân analog setup_adc(ADC_CLOCK_INTERNAL);// cấu hình adc set_adc_channel(1);//chọn kênh để đọc giá trị adc setup_timer_2(T2_DIV_BY_16,0XFF,1);//cấu hình timer để tạo period setup_ccp1(CCP_PWM);//cấu hình ccp1 hoạt động chế độ pwm while(TRUE) { switch(k){ case 1:// biến k =1 dừng động output_bit(PIN_B0,0); output_bit(PIN_B1,0); break; case 2:// k = động quay trái output_bit(PIN_B0,0); output_bit(PIN_B1,1); break; case 3:// k =3 động qua phải output_bit(PIN_B0,1); output_bit(PIN_B1,0); break; } value=read_adc();// lưu giá trị adc đọc vào biến value set_pwm1_duty(value);// đặt tốc độ động value lcd_imp(value);// hiển thị giá trị value lên lcd } } ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led 16 download by : skknchat@gmail.com ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led ky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.ledky.thuat.vi.xuly.vi.dieukhientieu.luan.cuoi.ky.cau.1.dung.timer.dieu.khien.led
Ngày đăng: 08/01/2024, 01:10
Xem thêm: