1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Kỹ thuật vi điều khiển-p10 potx

51 273 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 51
Dung lượng 410,82 KB

Nội dung

Xung & Hoi1 1.Giớithiệu 2.Sơ đồ khốivàchân 3.Tổchứcbộnhớ 4.Cácthanhghichứcnăng đặcbiệt(SFR) 5.Dao độngvàhoạt độngreset 6.Tậplệnh 7.Cácmode định địachỉ 8.LậptrìnhIO 9.Tạotrễ 10. 10. L L ậ ậ p p tr tr ì ì nh nh Timer/Counter Timer/Counter 11.Lậptrìnhgiaotiếpnốitiếp 12.Lậptrìnhngắt 13.Lậptrìnhhợpngữ Xung & Hoi2 •8051 có2 timers/counters: timer/counter 0 & timer/counter 1. Chúngcóthểđượcdùngnhư: 1.Bộđịnhthời (Timer) dùngnhư 1 bộ tạotrễ –Nguồnxungclock chínhlàdao độngthạchanhbêntrong 2.Bộđếmsựkiện (Event Counter) – Đầuvàotừchânbênngoài đểđếmsốsựkiện –Cóthể dùng đếmsốngười điqua cổng, số vòngquay của bánhxe, hay bấtkểcácsựkiệnmàchuyển đượcsang dạng xung 3.Tạotốcđộ baud (baud rate) choport nốitiếpcủa8051 10-1. Giớithiệu Xung & Hoi3 Timer •Khởitạogiátrị ban đầuchocácthanhghi •KíchhoạtTimer, sau đó8051 tínhlên •Ngõvàolàtừclock nội(machine cycle) •Khicácthanhghibằng0 thì8051 sẽ set cờ tràn to LCD P1 8051 TL0 TH0 P2 Set Timer 0 Xung & Hoi4 Counter • Đếmsốsựkiện: –Chỉ rasốsựkiệntrêncácthanhghi –Counter 0: NgõvàotừchânbênngoàiT0 (P3.4) –Counter 1: NgõvàotừchânbênngoàiT1 (P3.5) T0 to LCD P3.4 P1 a switch TL0 TH0 Xung & Hoi5 CácthanhghidùngtruyxuấtTimer/Counter •TH0, TL0, TH1, TL1 •TMOD thanhghichếđộđịnhthời(Timer mode register) •TCON thanhghi điềukhiển địnhthời(Timer control register) •8052 với3 timers/counters sẽ cóthêmcácthanhghiT2CON (Timer 2 control register), TH2 and TL2 89hTimer ModeTMOD 88hTimer ControlTCON 8BhTimer 1 Low ByteTL1 8DhTimer 1 High ByteTH1 8AhTimer 0 Low ByteTL0 8ChTimer 0 High ByteTH0 SFR AddressDescriptionSFR Name Xung & Hoi6 TH0, TL0, TH1, TL1 (not bit addressable) •Cảtimer 0 & timer 1 đềucó độ rộng16 bits –Cácthanhghinàylưutrữ •Giátrị tạothờigiantrễ (time delay) (nếulàtimer) •Sốsựkiện(number of events) (nếulàcounter) –Timer 0: TH0 & TL0 •Timer 0 high byte, timer 0 low byte –Timer 1: TH1 & TL1 •Timer 1 high byte, timer 1 low byte –Mỗibộđịnhthời16-bit cóthểđượctruycậpnhư 2 thanhghi8-bit táchbiệt Xung & Hoi7 D15 D8D9D10D11D12D13D14 D7 D0D1D2D3D4D5D6 TH0TL0 D15 D8D9D10D11D12D13D14 D7 D0D1D2D3D4D5D6 TH1TL1 Timer 0 Timer 1 Xung & Hoi8 10-2. ThanhghichếđộđịnhthờiTMOD •Timer mode register: TMOD (not bit addressable) –Thanhghi8-bit –Thiếtlậpchếđộ hoạt độngchocácbộđịnhthời: •4 bits thấpdànhchoTimer 0 (Set to 0000 if not used) •4 bits caodànhchoTimer 1 (Set to 0000 if not used) GATE C/T M1 M0 GATE C/T M1 M0 Timer 1 Timer 0 (MSB)(LSB) Xung & Hoi9 GATE Bit điềukhiểncổng. Khiset lên1, timer chỉ hoạt độngkhi chân/INTx ở mứccaovàTRx= 1. Khixóa, timer hoạt động khiTRx= 1 C/T Bit chọnchứcnăng đếmhoặc địnhthời: 1: đếm; 0: địnhthời M1 Chọnmode -bit 1 M0 Chọnmode -bit 0 GATE C/T M1 M0 GATE C/T M1 M0 Timer 1 Timer 0 (MSB)(LSB) Xung & Hoi10 GATE –GATE=0 • Điềukhiểnbêntrong(Internal control) •Bậthay tắttimer bằngphầnmềm •Timer đượcchophépkhiTR đượcset –GATE=1 • Điềukhiểnbênngoài(External control) •Bậthay tắttimer bằngphầnmềm& mộtnguồnbên ngoài(external source) •Timer đượcchophépkhichân/INT ở mứccao& TR đượcset [...]... Hoi timer mode) 12 VD: Tìm giá trị TMOD nếu muốn lập trình Timer 0 làm vi c ở mode 2 ? Dùng 8051 XTAL cho xung clock, & dùng lệnh để bật hay tắt timer Giải đáp: timer 1 timer 0 TMOD= 0000 0010 Timer 1 không dùng Timer 0, mode 2 C/T = 0 à dùng nguồn xung clock (Timer) GATE = 0 à điều khiển bằng phần mềm Xung & Hoi 13 10-3 Thanh ghi điều khiển định thời TCON • Timer control register: TCON – ½ byte cao... auto reload timer/counter; THx lưu trữ giá trị nạp lại cho TLx mỗi khi tràn (overflow) Chế độ định thời chia sẻ (Split timer mode) Xung & Hoi 17 10-4-1 Chế độ định thời 16-bit (mode 1) 1 Chọn timer 0 làm vi c ở mode 1 (định thời 16-bit) – MOV TMOD,#01H 2 Khởi tạo giá trị ban đầu nạp cho TH0 & TL0 – MOV TH0,#FFH – MOV TL0,#FCH 3 Thoạt đầu nên xóa cờ TF0 về 0 – CLR TF0 4 Bật Timer 0 – SETB TR0 Xung & Hoi... cung cấp cho bộ định thời C/T XTAL oscillator ÷ 12 C/T=0: up C/T=0: down Timer clock T0 hay T1 pin THx TLx TF goes high when FFFF à 0 TRx TFx overflow flag Mode 1 Xung & Hoi 21 Bài toán 10.1 Sóng vuông EViết chương trình tạo sóng vuông có thời gian mức cao và thấp bằng nhau trên chân P1.5 Dùng Timer 0 tạo trễ mode 1 ;each loop is a half clock MOV TMOD, #01 ;Timer 0,mode 1(16-bit) HERE: MOV TL0, #0F2H... FFF5, FFF6, FFF7, FFF8, FFF9, FFFA, FFFB, FFFC, FFFFD, FFFE, FFFFH, 0000H à TF0 = 1 và khi này lệnh JNB bị bỏ qua 7 Tắt Timer 0 dùng lệnh “CLR TR0” CTC DELAY kết thúc, tiến trình được lặp lại Chú ý, làm vi c với mode 1, nên để lặp lại tiến trình, ta phải nhập lại giá trị cho các thanh & Hoi TH-TL & bật lại Timer 24 Xung ghi 10-4-2 Chế độ định thời 13-bit (mode 0) • Mode 0 tương tự mode 1, ngoại trừ nó... lệnh trong vòng lặp Xung & Hoi 32 Bài toán 10.3 • ETìm KQ các bài toán trên trong trường hợp có tính đến overhead? • EGiải các bài toán trên với chế độ định thời tự nạp lại 8-bit (mode 2)? • EVới phạm vi tần số nào thì không thể dùng chế độ tự nạp lại 8-bit (mode 2), giải thích? Xung & Hoi 33 10-6 Tìm giá trị các thanh ghi định thời • • Giả định biết trước thời gian trễ, XTAL = 11.0592 MHz Làm sao tính... trễ cho 1.085 ms Thực hiện 65536 –n, với n (decimal) từ bước 1 Chuyển KQ trong bước 2 sang hex yyxx Set TH = yy và TL = xx Xung & Hoi 34 Bài toán 10.4 Tạo sóng vuông theo f cho sẵn EXTAL = 11.0592 MHz, vi t chương trình tạo sóng vuông 50 Hz trên chân P2.3 Giải đáp: (a) T = 1 / 50 Hz = 20 ms (b) Thời gian mức cao = Thời gian mức thấp = 10 ms (c) 10 ms / 1.085 ms = 9216 65536 – 9216 = 56320 in decimal . 0 (MSB)(LSB) Xung & Hoi10 GATE –GATE=0 • Điềukhiểnbêntrong(Internal control) •Bậthay tắttimer bằngphầnmềm •Timer đượcchophépkhiTR đượcset –GATE=1 • Điềukhiểnbênngoài(External control) •Bậthay. khôngdùng Timer 0, mode 2 C/T = 0 à dùngnguồnxungclock (Timer) GATE = 0 à điềukhiểnbằng phầnmềm Xung & Hoi14 10-3. Thanhghi điềukhiển địnhthờiTCON •Timer control register: TCON –½byte caochotimer/counter,. Hoi5 CácthanhghidùngtruyxuấtTimer/Counter •TH0, TL0, TH1, TL1 •TMOD thanhghichếđộđịnhthời(Timer mode register) •TCON thanhghi điềukhiển địnhthời(Timer control register) •8052 với3 timers/counters sẽ cóthêmcácthanhghiT2CON

Ngày đăng: 11/08/2014, 01:20

TỪ KHÓA LIÊN QUAN