1. Trang chủ
  2. » Luận Văn - Báo Cáo

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 led

38 3 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

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:

w