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 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 Phn kt lunÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃ 17 Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Mc lc 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ở··························· Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led PHN Lí THUYT 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 Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led PHN Mễ PHNG 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- kt qu mụ phng Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Hỡnh 1.2- chu kỳ Hình 1.3- chu kỳ Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Cõu 3- iu khin ng c 10 Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.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 11 Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led enable_interrupts(GLOBAL);// cho phộp ngt ton cc 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ự 12 Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led while(input(pin_B2)==0); c='2'; putc(c);// xut 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 l thỡ sỏng port B1 output_b(0x02); } 13 Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led if(c=='2'){// nu kớ t nhn c l thỡ 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;// nu nỳt B6 c nhn thỡ gỏn k=2 14 Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led } IF(input(PIN_B7)==0){//quay thuan k=3;// nu nỳt B7 c nhn 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 ngt ton cc 15 Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led setup_adc_ports(ALL_ANALOG);// cu 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 } } 16 Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led Kỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.ledKỏằá.THUỏơT.VI.xỏằưlẵõ.VI.ãIỏằUKHIỏằNTIỏằU.LUỏơN.CUỏằãI.kỏằ.cÂu.1.dạng.timer.iỏằãu.khiỏằn.led
Ngày đăng: 09/11/2023, 00:45
Xem thêm: