Bài giảng Vi xử lý- Chương 5: Bộ định thi

25 7 0
Bài giảng Vi xử lý- Chương 5: Bộ định thi

Đ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

Bài giảng Vi xử lý - Chương 5: Bộ định thi có cấu trúc gồm 2 phần cung cấp cho người học các kiến thức về: Đặc điểm các bộ định timer0, timer1, timer2 và timer3, các chế độ hoạt động của bộ định thi. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin dùng làm tài liệu học tập và nghiên cứu.

dce 2009 Chương - Các định BK Đặc điểm định timer0, timer1, timer2 timer3 Các chế độ hoạt động TP.HCM ©2009, CE Department dce dce 2009 2009 Đặc điểm Timer0 Đếm tăng / 16 bit tùy chọn lập trình Cho phép đọc / ghi nội dung (TMR0H, TMR0L) Chọn đếm nhảy bước bit Chọn nguồn xung clock hay Báo hiệu đếm tràn ngắt quãng Chọn cạnh tác động xung ngồi ©2009, CE Department dce dce 2009 2009 Thanh ghi điều khiển T0CON TMR0ON T08BIT T0CS T0SE PSA TOPS2 TOPS1 TOPS0 TMR0ON: bật / tắt đếm 1= cho phép đếm 0= cấm đếm T08BIT: chọn đếm bit 16 bit 1= đếm bit 0= đếm 16 bit T0CS: chọn nguồn clock 1= clock (chế độ đếm) 0= Fosc/4 (chế độ định thì) ©2009, CE Department dce dce 2009 2009 Thanh ghi điều khiển T0CON (2) TMR0ON T08BIT T0SE: T0CS T0SE PSA TOPS2 TOPS1 TOPS0 chọn cạnh tác động cho clock 1= cạnh xuống 0= cạnh lên PSA: chọn đếm theo bước 1= không chọn 0= chọn T0PS2 - T0PS0: chọn bước đếm 111= bước đếm 1:256 110= bước đếm 1:128 101= bước đếm 1:64 100= bước đếm 1:32 011= bước đếm 1:16 010= bước đếm 1:8 001= bước đếm 1:4 000= bước đếm 1:2 ©2009, CE Department dce dce 2009 2009 Chế độ đếm bit timer0 Lập cờ ngắt quãng TMR0IF đếm tràn từ FFh sang 00h Cờ phải xóa xử lý ngắt ©2009, CE Department dce dce 2009 2009 Chế độ đếm 16 bit timer0 TMR0H ghi đệm cho bit cao dùng chế đồng đọc ghi 16 bit Lập cờ ngắt quãng đếm tràn từ FFFFh sang 0000h ©2009, CE Department dce dce 2009 2009 Đặc điểm Timer1 Đếm tăng 16 bit Cho phép đọc / ghi nội dung (TMR1H, TMR1L) Chọn đếm nhảy bước bit Chọn nguồn xung clock xung clock chung xung clock từ dao động riêng Ngắt quãng đếm tràn từ FFFFh sang 0000h Nhận tín hiệu Reset từ khối CCP (dưới hình thức Special Event Trigger) Báo trạng thái sử dụng clock ©2009, CE Department dce dce 2009 2009 Thanh ghi điều khiển T1CON RD16 T1RUN T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON RD16: chọn cách đọc/ghi đếm 1= đọc/ghi 16 bit 0= đọc/ghi bit T1RUN: bit trạng thái sử dụng xung clock 1= sử dụng xung dao động timer1 0= sử dụng nguồn xung dao động khác T1CKPS1, T1CKPS0: chọn bước đếm 11= bước đếm 1:8 10= bước đếm 1:4 01= bước đếm 1:2 00= bước đếm 1:1 ©2009, CE Department dce dce 2009 2009 Thanh ghi điều khiển T1CON (2) RD16 T1RUN T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON T1OSCEN: cho phép dao động timer1 1= cho phép 0= tắt T1SYNC: chọn đếm đồng TMR1CS=1 1= không đồng 0= đồng TMR1CS: chọn xung clock hay 1= clock từ chân RC0/T1OSO/T1CKI 0= clock Fosc/4 TMR1ON: cho phép / cấm đếm 1= cho phép 0= cấm ©2009, CE Department dce dce 2009 2009 Chế độ đếm timer1 Bộ dao động timer1 dao động LP (low-power) ©2009, CE Department 10 dce dce 2009 2009 Đọc/ghi 16 bit timer1 Sơ đồ minh họa việc đọc timer1 theo dạng 16 bit Chỉ cần đọc TMR1L, TMR1H chốt vào ghi đệm TMR1H ©2009, CE Department 11 dce dce 2009 2009 Bộ dao động timer1 Sơ đồ minh họa việc dao động timer1 Bộ đếm timer1 nhận tín hiệu reset từ khối CCP hoạt động chuyển đổi A-D Tín hiệu dùng tốt chọn chế độ định (timer) đếm đồng (synchronous counter) ©2009, CE Department 12 dce dce 2009 2009 Chức Real Time Clock Bộ đếm sử dụng tạo xung thời gian thực (RTC) độc lập nhờ có dao động riêng Ứng dụng đơn giản thiết thực RTC đếm cho hệ thống Ví dụ minh họa sau dùng RTCisr trì giờ, phút, giây cho hệ thống Xung clock sử dụng từ dao động timer1 có tần số 32768 Hz nên đếm tràn đếm 2s Vì trị ban đầu khởi động cho đếm 32768 (8000h) ©2009, CE Department 13 dce dce 2009 2009 Minh họa RTCisr RTCinit MOVLW MOVWF CLRF MOVLW MOVWF 0x80 TMR1H TMR1L b'00001111' T1OSC ;Preload TMR1 register pair ;for second overflow CLRF CLRF MOVLW MOVWF BSF RETURN secs mins 12 hours PIE1, TMR1IE ; Enable Timer1 interrupt ;Configure for external clock, ;Asynchronous operation, external ;oscillator ; Initialize timekeeping registers ; ©2009, CE Department 14 dce dce 2009 2009 Minh họa RTCisr (2) RTCisr BSF BCF INCF MOVLW CPFSGT RETURN CLRF INCF MOVLW CPFSGT RETURN TMR1H,7 PIR1,TMR1IF secs,F 59 secs secs mins,F 59 mins ; Preload for sec overflow ; Clear interrupt flag ; Increment seconds ; 60 seconds elapsed? ; No, done ; Clear seconds ; Increment minutes ; 60 minutes elapsed? ; No, done ©2009, CE Department 15 dce dce 2009 2009 Minh họa RTCisr (3) CLRF INCF MOVLW CPFSGT RETURN MOVLW MOVWF RETURN mins hours,F 23 hours 01 hours ; clear minutes ; Increment hours ; 24 hours elapsed? ; No, done ; Reset hours to ; Done ©2009, CE Department 16 dce dce 2009 2009 Đặc điểm Timer2 Gồm ghi bit : định (timer) chu kỳ (period) Cho phép đọc / ghi nội dung (TMR2, PR2) Chọn đếm nhảy bước bit Chọn đếm bước trước (prescaler) hay bước sau (postscaler) Ngắt quãng TMR2 trùng với PR2 Dùng tạo xung truyền nhận cho khối MSSP (Master Synchronous Serial Port) ©2009, CE Department 17 dce dce 2009 2009 Thanh ghi điều khiển T2CON TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 TOUTPS3 - TOUTPS0: timer2 postscale 0000= 1:1 postscale 0001= 1:2 postscale 1111= 1:16 postscale 0000= 1:1 postscale ©2009, CE Department 18 dce dce 2009 2009 Thanh ghi điều khiển T2CON (2) TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 TMR2ON: cho phép / cấm đếm 1= cho phép 0= cấm T2CKPS1, T2CKPS0: chọn bước đếm trước 1x= bước đếm 1:16 01= bước đếm 1:4 00= bước đếm 1:1 ©2009, CE Department 19 dce dce 2009 2009 Chế độ đếm timer2 Tạo xung clock truyền nhận dùng giao tiếp nối tiếp ©2009, CE Department 20 dce dce 2009 2009 Đặc điểm Timer3 Đếm tăng 16 bit Cho phép đọc / ghi nội dung (TMR3H, TMR3L) Chọn nguồn xung clock Ngắt quãng đếm tràn từ FFFFh sang 0000h Nhận tín hiệu Reset từ khối CCP ©2009, CE Department 21 dce dce 2009 2009 Thanh ghi điều khiển T3CON RD16 T3CCP2 T3CKPS1 T3CKPS0 T3CCP1 T3SYNC TMR3CS TMR3ON RD16: chọn cách đọc/ghi đếm 1= đọc/ghi 16 bit 0= đọc/ghi bit T3CCP2, T3CCP1:chọn làm việc với khối CCP 1x= dùng timer3 cấp xung clock cho khối CCP 01= dùng timer3 cấp xung clock cho khối CCP2 dùng timer1 cấp xung clock cho khối CCP1 00= dùng timer1 cấp xung clock cho khối CCP T1CKPS1, T1CKPS0: chọn bước đếm 11= bước đếm 1:8 10= bước đếm 1:4 01= bước đếm 1:2 00= bước đếm 1:1 ©2009, CE Department 22 dce dce 2009 2009 Thanh ghi điều khiển T3CON (2) RD16 T3CCP2 T3CKPS1 T3CKPS0 T3CCP1 T3SYNC: T3SYNC TMR3CS TMR3ON chọn đếm đồng TMR3CS=1 1= không đồng 0= đồng TMR3CS: chọn xung clock hay 1= clock từ chân T1CKI 0= clock Fosc/4 TMR3ON: cho phép / cấm đếm 1= cho phép 0= cấm ©2009, CE Department 23 dce dce 2009 2009 Chế độ đếm timer3 Dùng chung dao động timer1 ©2009, CE Department 24 dce dce 2009 2009 Đọc/ghi 16 bit timer3 Sơ đồ minh họa việc đọc timer3 theo dạng 16 bit Chỉ cần đọc TMR3L, bit cao đếm chốt vào ghi đệm TMR3H Phục vụ chế độ so sánh khối CCP ©2009, CE Department 25 ... dce dce 2009 2009 Bộ dao động timer1 Sơ đồ minh họa vi? ??c dao động timer1 Bộ đếm timer1 nhận tín hiệu reset từ khối CCP hoạt động chuyển đổi A-D Tín hiệu dùng tốt chọn chế độ định (timer) đếm đồng... dce dce 2009 2009 Chế độ đếm timer1 Bộ dao động timer1 dao động LP (low-power) ©2009, CE Department 10 dce dce 2009 2009 Đọc/ghi 16 bit timer1 Sơ đồ minh họa vi? ??c đọc timer1 theo dạng 16 bit Chỉ... Department 12 dce dce 2009 2009 Chức Real Time Clock Bộ đếm sử dụng tạo xung thời gian thực (RTC) độc lập nhờ có dao động riêng Ứng dụng đơn giản thi? ??t thực RTC đếm cho hệ thống Ví dụ minh họa sau

Ngày đăng: 08/05/2021, 17:47