Dc3Me22 bai giang ky thuat vi dieu khien 0456

76 4 0
Dc3Me22 bai giang ky thuat vi dieu khien 0456

Đ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

-p[o0pppppp744444444444444444444/ ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI ) KỸ THUẬT VI ĐIỀU KHIỂN (Lưu hành nội bộ) Chủ biên: ThS Hoàng Thế Phương Hà Nội, 2020 MỤC LỤC CHƯƠNG 1: MỞ ĐẦU VỀ VI ĐIỀU KHIỂN 1.1 Giới thiệu vi điều khiển AVR 1.2 Vi điều khiển Atmega16 1.3 Các công cụ phần cứng 1.3.1 Mạch nạp: 1.3.2 KIT thực hành: 14 1.3.3 Các công cụ phần mềm 15 1.3.3.1 Hướng dẫn sử dụng CodeVisionAVR 15 1.3.3.2 Hướng dẫn sử dụng AVR Prog 1.4 25 CHƯƠNG 2: ĐIỀU KHIỂN VÀO/RA DỮ LIỆU 28 2.1 Giới thiệu 28 2.2 Điều khiển vào/ra với AVR 29 2.2.1 Các ghi điều khiển vào/ra 29 2.2.2 Khởi tạo cho cổng vào/ra 31 2.3 Lập trình ứng dụng 32 2.3.1 Giao tiếp nút bấm điều khiển LED đơn 32 2.3.2 Điều khiển LED 36 2.3.2.1 Giới thiệu LED 36 2.3.2.2 Điều khiển LED 37 2.3.2.3 Điều khiển nhiều LED 38 2.3.3 Điều khiển hiển thị LCD 41 2.3.3.1 Giới thiệu LCD 41 2.3.3.2 Kết nối LCD với Vi điều khiển 43 2.3.3.3 Điều khiển hiển thị LCD 44 2.3.4 Giao tiếp với nút bấm ma trận 47 2.3.4.1 Kết nối nút bấm ma trận với vi điều khiển 47 2.3.4.2 Thuật tốn lập trình 47 CHƯƠNG 3: HOẠT ĐỘNG CỦA NGẮT NGOÀI 50 3.1 Khái niệm 50 3.2 Thanh ghi điều khiển ngắt 53 3.3 Lập trình ngắt ngồi 55 3.3.1 Khởi tạo 55 3.3.2 Ví dụ: 56 3.4 Bài tập thực hành 57 CHƯƠNG 4: HOẠT ĐỘNG CỦA BỘ CHUYỂN ĐỔI ADC 59 4.1 Chức chuyển đổi ADC 59 4.1.1 Khái niệm 59 4.1.2 Các bước chuyển đổi ADC 60 4.2 Lập trình ứng dụng ADC 62 4.2.1 Thiết lập ghi 62 4.2.2 Lập trình ứng dụng 63 4.3 Bài tập thực hành 64 CHƯƠNG 5: HOẠT ĐỘNG CỦA BỘ ĐỊNH THỜI TIMER/COUNTER 65 5.1 Hoạt động định thời 65 5.2 Thanh ghi điều khiển định thời 66 5.3 Các chế độ hoạt động định thời 69 5.3.1 Chế độ Normal 69 5.3.2 Chế độ CTC 71 5.3.3 Chế độ Fast PWM 72 5.3.4 Chế độ Phase Correct PWM 72 5.4 Ví dụ 73 DANH MỤC HÌNH ẢNH Hình 1 Vi điều khiển ATMEGA16 Hình Mạch nạp vi điều khiển Hình Hộp thoại Device manager 10 Hình Cấu hình cổng COM giao tiếp 11 Hình Thay đổi cổng COM giao tiếp 12 Hình Kiểm tra mạch nạp Device manager 13 Hình KIT thực hành vi điều khiển AVR 14 Hình Giao diện chương trình CodeVision 15 Hình Tạo project CodeVision 16 Hình 10 Cửa sổ CodeWizard 17 Hình 11 Lưu file khởi tạo 18 Hình 12 Giao diện soạn thảo chương trình 18 Hình 13 Cấu hình cho project 19 Hình 14 Cấu hình cho mạch nạp 20 Hình 15 Nạp chương trình vào chip 21 Hình 16 Cấu hình fuse bit 24 Hình 17 Giao diện AVRProg 25 Hình 18 Thay đổi fuse bit chip 27 Hình Mạch giao tiếp nút bấm điều khiển LED 28 Hình 2 Sơ đồ cấu tạo chân vi điều khiển AVR 29 Hình Thanh ghi DDRx 29 Hình Thanh ghi PORTx 30 Hình Thanh ghi PINx 30 Hình Khởi tạo cổng vào/ra 31 Hình Mạch điều khiển LED đơn 32 Hình Mạch giao tiếp nút bấm 33 Hình Khởi tạo cổng vào/ra 33 Hình 10 Cấu tạo LED Anode chung Cathode chung 36 Hình 11 Kết nối LED với vi điều khiển 37 Hình 12 Sơ đồ kết nối LED 40 Hình 13 Hình ảnh LCD thực tế 41 Hình 14 Kết nối LCD với vi điều khiển 43 Hình 15 Sơ đồ mạch giao tiếp LCD 44 Hình 16 Khởi tạo giao tiếp LCD CodeWizard 44 Hình 17 Kết nối nút bấm ma trận với vi điều khiển 47 Hình Giản đồ thực thi chương trình 50 Hình Thanh ghi GICR 53 Hình 3 Thanh ghi MCUCR 53 Hình Thanh ghi MCUSCR 54 Hình Thanh ghi GIFR 54 Hình Lấy mẫu 60 Hình Khởi tạo ADC 63 Hình Đồng hồ 65 Hình Đếm số lượng xe 65 Hình Điều chỉnh độ sáng bóng đèn 65 Hình Thanh ghi TCNT0 67 Hình 5 Thanh ghi OCR0 67 Hình Thanh ghi TCCR0 67 Hình Thanh ghi TIMSK 69 Hình Sơ đồ hoạt động chế độ Normal 70 Hình Sơ đồ hoạt động chế độ CTC 71 Hình 10 Sơ đồ hoạt động chế độ Fast PWM 72 Hình 11 Sơ đồ hoạt động chế độ Phase Correct PWM 73 DANH MỤC BẢNG BIỂU Bảng Bảng mã hiển thị LED Anode chung 38 Bảng 2 Ý nghĩa chân LCD 41 CHƯƠNG 1: MỞ ĐẦU VỀ VI ĐIỀU KHIỂN 1.1 Giới thiệu vi điều khiển AVR AVR họ vi điều khiển bit theo công nghệ mới, với tính mạnh tích hợp chip hãng Atmel theo cơng nghệ RISC, mạnh ngang hàng với họ vi điều khiển bit khác PIC, Pisoc.Do đời muộn nên họ vi điều khiển AVR có nhiều tính đáp ứng tối đa nhu cầu người sử dụng, so với họ 8051 89xx có độ ổn định, khả tích hợp, mềm dẻo việc lập trình tiện lợi * Tính họ AVR: -Có thể sử dụng xung clock lên đến 16MHz -Bộ nhớ Flash lập trình nhiều lần với dung lượng lớn - Giao diện SPI đồng - Các đường dẫn vào/ra (I/O) hướng lập trình - Giao tiếp I2C - Bộ biến đổi ADC 10 bit - Các kênh băm xung PWM - Các chế độ tiết kiệm lượng sleep, stand by vv - Một định thời Watchdog - Bộ Timer/Counter bit,16 bit - so sánh analog - Bộ nhớ EEPROM - Giao tiếp USART vv * Một số chip AVR: 1.2 Vi điều khiển Atmega16 Hình 1 Vi điều khiển ATMEGA16 Atmega16 có đầy đủ tính họ AVR, giá thành so với loại khác giá thành vừa phải nghiên cứu làm công việc ứng dụng tới vi điều khiển Tính năng: - Bộ nhớ 16K(flash) - 512 byte (EEPROM) - K (SRAM) - Đóng vỏ 40 chân , có 32 chân vào liệu chia làm PORT A,B,C,D Các chân có chế độ pull_up resistors - Giao tiếp SPI - Giao diện I2C - Có kênh ADC 10 bit - so sánh analog - kênh PWM - timer/counter bit, timer/counter1 16 bit - định thời Watchdog - truyền nhận UART lập trình Mơ tả chân: -4 cổng vào/ra lập trình được, chia làm PORT A,B,C,D - Vcc GND chân cấp nguồn cho vi điều khiển hoạt động Chú ý cần cấp điện áp 5V ổn định - Reset: chân Reset cứng khởi động lại hoạt động hệ thống - chân XTAL1, XTAL2 chân tạo dao động cho vi điều khiển, chân nối với thạch anh (hay sử dụng loại 8M), tụ gốm (22p) - Chân Aref thường nối lên 5v(Vcc), sử dụng ADC chân sử dụng làm điện áp so sánh, chân phải cấp cho điện áp cố định, sử dụng diode zener - Chân Avcc nguồn nuôi cho ADC, thường nối lên Vcc VCC C1 XTAL1 R1 10K RESET RESET 22pF SW1 C2 C4 10uF Y1 16MHZ XTAL2 22pF 1.3 Các công cụ phần cứng 1.3.1 Mạch nạp: Đây công cụ khơng thể thiếu thực hành VĐK Hình Mạch nạp vi điều khiển Có số loại mạch nạp phổ biến bao gồm: STK200 (nạp qua cổng máy in), AVR910, STK500 (nạp qua cổng USB) Cài đặt, cấu hình mạch nạp AVR910 Sau cài đặt driver cho mạch nạp xong: Vào Control PanelSystemAdvancedDevice Manager, ta có hộp thoại Device Manager lên: Hình Hộp thoại Device manager +Mở nhánh Ports (COM & LPT), ta thấy có thơng báo mạch nạp AVR910 kết nối với máy tính, cổng COM gán cho mạch COM19 Ở có số điểm cần lưu ý: - Cần kết nối mạch nạp với máy tính phần Ports (COM&LPT) lên thơng báo thiết bị - Với máy tính xách tay khơng có cổng COM LPT thực Phần Ports (COM & LPT) khơng lên khơng có thiết bị gắn vào - Tên cổng COM gán cho thiết bị phụ thuộc vào máy tính, giống nhau, nhiên cần lưu ý AVR Prog hoạt động với cổng COM từ 1-4 CodeVisionAVR hoạt động với cổng COM từ 16 Do cổng COM gán tự động khoảng này, ta cần tiến hành gán lại cổng COM tay cho phù hợp! 10 Mức điện áp lớn mã hóa giá trị tối đa gọi điện áp tham chiếu VREF Công thức tính điện áp: V VREF  ADC 24  ADC bit: V VREF  ADC 255 V VREF  ADC 1023 ADC 10 bit: 4.2 Lập trình ứng dụng ADC 4.2.1 Thiết lập ghi Giới thiệu ADC vi điều khiển ATMEGA16:  Chân 30, 31: điện áp nguồn nuôi cho ADC (5V)  Chân 32 AREF: cấp điện áp tham chiếu  chân ADC nằm PORTA Chú ý: để ADC hoạt động xác, cần cấp điện áp ổn định cho chân AVCC AREF Nguyên tắc: sử dụng tín hiệu ADC kết nối đầu tương ứng vào chân PORTA, theo thứ tự ưu tiên từ nhỏ đến lớn 62 Khởi tạo cho ADC hoạt động: Hình Khởi tạo ADC  Cổng vào / ra: phải thiết lập làm đầu vào thả trôi  Sang tab ADC, thiết lập sau:  Tích vào ADC Enable phép ADC hoạt động  Tích vào Interrupt phép ngắt ADC  Nếu tích vào Use bit ADC hoạt động với độ phân giải bit, khơng mặc định 10 bit  Volt Ref: lựa chọn điện áp tham chiếu  Clock: lựa chọn tần số lấy mẫu ADC  Auto Trigger Source: lựa chọn Free Running  Automatically Scan Inputs: Tự động quét đầu vào ADC, sử dụng tín hiệu ADC lựa chọn giá trị First Last tương ứng 4.2.2 Lập trình ứng dụng Sử dụng tính ADC vi điều khiển, lập trình đo điện áp từ 0-5V, hiển thị kết lên LED 63 4.3 Bài tập thực hành - Sử dụng biến trở để điều chỉnh điện áp thay đổi từ 0-5V Sử dụng chức ADC vi điều khiển để đo điện áp, hiển thị giá trị lên LED với độ xác 0.1V - Sử dụng biến trở để điều chỉnh điện áp thay đổi từ 0-5V Sử dụng chức ADC vi điều khiển để đo điện áp, hiển thị giá trị lên LED Độ xác đo lựa chọn mức 0.1V 0.01V cách sử dụng nút bấm - Sử dụng cảm biến nhiệt độ LM35 để đo nhiệt độ, hiển thị giá trị đo lên LED - Sử dụng biến trở để điều chỉnh điện áp thay đổi từ 0-5V Sử dụng chức ADC vi điều khiển để đo điện áp, hiển thị giá trị lên LED Sử dụng nút bấm để lựa chọn tín hiệu đo từ 0-7, sử dụng LED đơn hiển thị để biết lựa chọn tín hiệu đo 64 CHƯƠNG 5: HOẠT ĐỘNG CỦA BỘ ĐỊNH THỜI TIMER/COUNTER 5.1 Hoạt động định thời Bộ định thời VĐK AVR có mảng ứng dụng chính:  Ứng dụng định (đo thời gian): dùng để tạo khoảng thời gian xác 1s cho đồng hồ Hình Đồng hồ  Ứng dụng đếm kiện: dùng để đếm kiện xảy có tín hiệu từ cảm biến, dùng để đếm lưu lượng xe vào bãi gửi xe Hình Đếm số lượng xe Một ứng dụng phổ biến định điều chế độ rộng xung PWM: ứng dụng điều chỉnh độ sáng bóng đèn, hay điều chỉnh tốc độ động Hình Điều chỉnh độ sáng bóng đèn 65 5.2 Thanh ghi điều khiển định thời Các Timer Atmega16:  Timer/Counter 0: timer bit Có chế độ hoạt động là: Normal, CTC, Fast PWM, Phase correct PWM  Timer/Counter 1: timer 16 bit Nó có đầy đủ chế độ hoạt động Timer 0, nhiên timer 16 bit nên phạm vi hoạt động rộng Nếu giá trị MAX Timer0 0xFF, giá trị MAX Timer1 lên đến 0xFFFF Ngoài Timer1 cịn tạo tín hiệu PWM độc lập chân OC1A (PORTD.5) OC1B (PORTD.4), giúp dễ dàng điều khiển động lúc (2 động chạy bánh)  Timer/Counter 2: Timer bit Nó có chế độ hoạt động giống Timer0, là: Normal, CTC, Fast PWM, Phase correct PWM  Chân T0 (PB0), T1 (PB1): đầu vào cho Timer / Counter  Chân OC0 (PB3): đầu cho Timer  Chân OC1A (PD5) OC1B (PD4): đầu cho Timer  Chân OC2 (PD7): đầu cho Timer Một số định nghĩa:  BOTTOM: giá trị thấp mà T/C đạt được, giá trị  MAX: giá trị lớn mà T/C đạt được, giá trị quy định bởi giá trị lớn mà ghi đếm T/C chứa Ví dụ với T/C bit giá trị MAX ln 0xFF (tức 255 hệ thập phân), với T/C 16 bit MAX 0xFFFF (65535) Như MAX giá trị không đổi T/C  TOP: giá trị mà T/C đạt đến thay đổi trạng thái, giá trị không thiết số lơn bit hay 16 bit MAX, giá trị TOP thay 66 đổi cách điều khiển bit điều khiển tương ứng nhập trực tiếp thông qua số ghi  Thanh ghi TCNT0 (Timer/Counter Register): Hình Thanh ghi TCNT0 Đây ghi bit chứa giá trị vận hành Timer0 Cứ lần xuất tín hiệu “kích” giá trị ghi tăng thêm đơn vị Giá trị MAX mà ghi đạt đến 255 Sau xuất thêm xung kích giá trị ghi xóa  Thanh ghi OCR0 (Output Compare Register): Hình 5 Thanh ghi OCR0 Đây ghi bit Giá trị vận hành Timer TCNT0 liên tục so sánh với ghi Khi giá trị nhau, xảy kiện “Compare Match” Sự kiện tạo ngắt (nếu ngắt cho phép), hay xuất tín hiệu chân OC0, tùy theo chế độ thực thi Timer  Thanh ghi TCCR0 (Timer/Counter Control Register): Hình Thanh ghi TCCR0 Đây ghi điều khiển hoạt động Timer  Các bit 0,1,2 (CS00,CS01,CS02): bit quy định xung cấp cho hoạt động Timer: 67  Các bit 3,6 (WGM00,WGM01): Đây bit chọn chế độ Timer  Bit 4,5 (COM00,COM01): Đây bit quy định đầu phép so sánh Trong trình Timer đếm, giá trị ghi TCNT0 liên tục so sánh với OCR0 Khi giá trị nhau, có kiện “Compare Match” xảy Khi giá trị đầu OC0 (PORTB.3) xuất mức tín hiệu bảng đây:  Đầu chế độ non-PWM (Normal CTC):  Đầu chế độ Fast PWM: 68  Đầu chế độ Phase Correct PWM:  Chú ý: muốn xuất đầu chân OC0 phải để OUT, tức DDRB.3=1;  Thanh ghi TIMSK (Timer/Counter Interrupt Mask Register): Hình Thanh ghi TIMSK Đây ghi điều khiển ngắt Timer  Bit (TOIE0-Timer/Counter0 Overflow Interrupt Enable): bit cho phép ngắt tràn Timer0 Khi bit ghi cho phép ngắt tràn định thời Khi ngắt xảy Timer tràn  Bit (OCIE0-Timer/Counter0 Output Compare Match Interrupt Enable): bit cho phép ngắt so sánh Timer0 Khi bit ghi cho phép ngắt so sánh định thời Khi ngắt xảy có kiện “Compare Match” 5.3 Các chế độ hoạt động định thời 5.3.1 Chế độ Normal Thiết lập bit: WGM00 =0 69 WGM01=0 Hình Sơ đồ hoạt động chế độ Normal Đây chế độ hoạt động đơn giản Timer Mỗi lần có tín hiệu clock giá trị ghi TCNT0 tăng lên 1, tăng đến mức TOP 255 Khi nhịp Timer bị tràn, ghi TCNT0 đặt lại mức 0, lại tiếp tục trình đếm Thời gian để TCNT0 tăng lên đơn vị phụ thuộc vào tần số ta chọn, tần số lớn thời gian đếm nhanh Ứng dụng:  Đo thời gian  Quét LED  Điều chế độ rộng xung (PWM) phần mềm Tần số hoạt động Timer: tần số để ghi TCNT0 tăng lên đơn vị, thiết lập bit CS00,CS01,CS02 Để đếm thời gian ta lựa chọn tần số phù hợp, cho tính tốn thời gian đẹp, ví dụ 125kHz Sau lựa chọn giá trị khởi đầu cho ghi TCNT0, giá trị chọn cho tính tốn thời gian đẹp, ví dụ TCNT0=6 Như giá trị xuất phát đếm 6, đếm đếm từ đến 255, sau nhịp tràn, ngắt tràn xảy Nhưng sau ngắt tràn phục vụ ghi TCNT0 lại trở 0, giá trị mà ta muốn Như câu lệnh cuối chương trình phục vụ ngắt tràn ta lại đặt lệnh TCNT0=6, làm giá trị xuất phát cho lần đếm Như vậy, thời gian để Timer tràn lần (2566)/125000=2ms Và sau lần tràn ta có thời gian 2ms, xử lí thời gian tùy người sử dụng 70 5.3.2 Chế độ CTC Thiết lập bit: WGM01 = WGM00 = Hình Sơ đồ hoạt động chế độ CTC Đây chế độ mà giá trị ghi TCNT0 so sánh với giá trị ghi OCR0 Khi giá trị ghi TCNT0 giá trị ghi OCR0 giá trị ghi TCNT0 bị xoá đi, tiếp tục trình đếm Giá trị OCR0 đóng vai trị giá trị TOP cho đếm Tuy nhiên chế độ giá trị ghi vào ghi OCR0 mà nhỏ giá trị tức thời đếm thì so sánh bị lỡ, đếm đếm đến giá trị lớn sau rơi xuống giá trị trước so sánh xuất Ứng dụng:  Đo thời gian  Tạo xung vuông Để đếm thời gian giống chế độ Normal, khác chỗ chế độ Normal giá trị TOP 255, giá trị TOP CTC OCR0, giá trị thay đổi được, tính tốn thời gian cách tính tốn giá trị ghi này, thay đổi giá trị ghi này,mà không cần phải khởi tạo giá trị ban đầu TCNT0 cho đếm Tạo xung vng chân: tạo xung đầu Timer (PORTB.3), hoăc tạo xung chân Mỗi lần đếm tràn, ta đảo bit chân Như lần tràn chu kì xung vng Tính tốn tần số hoạt động Timer giá trị OCR0 để tạo tần số mong muốn VD: muốn tạo xung có tần số 1kHz  chu kì 71 1ms 1 lần tràn Timer 500us Chọn tần số Timer 125kHz giá trị OCR0 cần chọn là: 500*10-6*125000+1=63.5, lấy gần thành 63 5.3.3 Chế độ Fast PWM Thiết lập bit: WGM01 = WGM00 = Hình 10 Sơ đồ hoạt động chế độ Fast PWM Bộ đếm đếm từ BOTTOM đến MAX sau khởi động lại từ BOTOM Trong chế độ không đảo (Non-inverted) đầu OC0 (PORTB.3) bi xố có phép tốn so sánh TCNT0 ghi OCR0 nhau, set lên giá trị tràn đạt BOTTOM Trong chế độ đảo (inverted), đầu set lên so sánh ghi TCNT0 giá trị ghi OCR0 bị xoá giá trị tràn đạt BOTTOM 5.3.4 Chế độ Phase Correct PWM Thiết lập bit: WGM01 = WGM00 = 72 Hình 11 Sơ đồ hoạt động chế độ Phase Correct PWM Chế độ hoạt động dựa hai sườn lên xuống Bộ đếm đếm liên tục từ giá trị BOTTOM đến giá trị MAX sau đếm ngược lại từ giá trị MAX đến giá trị BOTTOM Trong chế độ so sánh không đảo (Non-inverted) chân OC0 bị xóa giá trị TCNT0 giá trị OCR0 trình đếm lên set giá trị so sánh xuất trình đếm xuống Chế độ so sánh đảo giá trị ngược lại Với hoạt động hai sườn xung chế độ khơng tạo tần số lớn chế độ sườn xung Nhưng tính cân đối hai sườn xung tốt cho điều khiển động Chế độ Phase correct PWM hoạt động cố định bít Trong chế độ đếm tăng đạt giá trị MAX, đổi chiều đếm 5.4 Ví dụ Khởi tạo Timer CodeWizard  Chọn tab “Timers”, chọn tiếp tab “Timer 0”, “Timer 1”, “Timer 2”  Clock Source: chọn nguồn clock cho Timer hoạt động  System Clock: nguồn clock lấy từ thạch anh  T0 pin Falling Edge: nguồn clock cạnh xuống lấy từ đầu vào chân T0  T0 pin Falling Edge: nguồn clock cạnh lên lấy từ đầu vào chân T0  Clock value: lựa chọn tần số cho Timer hoạt động  Mode: lựa chọn chế độ hoạt động cho Timer 73  Output: lựa chọn đầu phép so sánh “Compare Match”  Hai ô Overflow Interrupt Compare Match Interrupt cho phép ngắt tràn cho phép ngắt so sánh thực thi hay không 74 Cách thiết lập Timer để đo thời gian:  Lựa chọn tần số hoạt động: sử dụng bit CS00,CS01,CS02  Lựa chọn chế độ hoạt động Normal: sử dụng bit WGM00, WGM01  Kích hoạt ngắt tràn Timer0: đặt bit ghi TIMSK  Tính tốn thời gian: Ví dụ: tính tốn thời gian trễ 1(s) sử dụng thạch anh 8MHz Lựa chọn chia tần 8, tần số hoạt động Timer f = fta / = 1(MHz)  T = / f = 10-6s = 1us (thời gian để ghi TCNT0 tăng đơn vị) TCNT0 : 0255, 256 chu kì  Thời gian để lần tràn timer: Ttran = 256 * 1us = 256 us  Kích hoạt ngắt tràn Timer Ở CTCPVN dùng biến dem để đếm số lần tràn 256 us số khơng đẹp, để tính tốn thời gian gây sai số  Để tính thời gian xác cần thay đổi giá trị  Giá trị TOP 255 khơng thay đổi được, phải thay đổi giá trị xuất phát ban đầu TCNT0 75  TCNT0: 6255, 250 chu kì  Thời gian cho lần tràn timer 250 * 1us = 250us Tuy nhiên, sau timer bị tràn TCNT0 lại tự động clear 0, chu kì hoạt động lại phải gán lại giá trị xuất phát ban đầu cho TCNT0  Ở CTCPVN:  Lệnh tăng giá trị biến dem  Lệnh gán giá trị ban đầu cho TCNT0 = 6; 76

Ngày đăng: 28/06/2023, 21:22

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan