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

HƯỚNG DẪN LẬP TRÌNH ROBOT (Mạch ROBOCON BKIT 2009)

37 191 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 37
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khi ñược thiết lập làm ngắt ngoài thì các chân này phải ñược ñặt ở chế ñộ input bằng thanh ghi DDRx.. Sau khi ñã thiết lập các thanh ghi EICRA, EICRB và EIMSK, ta cần viết hàm phục vụ ng

Trang 1

HƯỚNG DẪN LẬP TRÌNH ROBOT (Mạch ROBOCON BKIT 2009)

Tp Hồ Chí Minh, tháng 6 năm 2009

Trang 2

MỤC LỤC

Chương 1 GIỚI THIỆU 3

1.1 Sơ lược 3

1.2 Yêu cầu 3

Chương 2 TÌM HIỂU VI ðIỀU KHIỂN ATMEGA64 4

2.1 Giới thiệu 4

2.2 Các chức năng cơ bản 5

2.2.1 Các port I/O 5

2.2.2 Ngắt Ngoài - External Interrupt 6

2.2.3 Timer/Counter 7

2.2.4 Chế ñộ PWM 8

2.2.5 Bộ chuyển ñổi ADC 9

2.2.6 Các tính năng khác 10

Chương 3 TÌM HIỂU MỘT SỐ LINH KIỆN & THIẾT BỊ ROBOT 11

3.1 ðộng cơ 11

3.1.1 ðộng cơ DC 11

3.1.2 ðộng cơ Servo 11

3.2 Cảm biến 12

3.2.1 Dò ñường 12

3.2.2 Encoder 12

3.3 Mạch ñiện 13

3.3.1 Mạch “ROBOCON BKIT 2009” 13

3.3.2 Mạch công suất ñiều khiển ñộng cơ 19

Chương 4 THỰC HÀNH LẬP TRÌNH 20

4.1 Chương trình soạn thảo và biên dịch CodeVisionAVR 20

4.1.1 Giới thiệu 20

4.1.2 Các thao tác cơ bản 20

4.1.3 Sử dụng chương trình tự sinh mã CodeWizardAVR 24

4.2 Mạch nạp AVR910 USB và chương trình nạp AvrProg 25

4.2.1 Mạch nạp AVR910 USB 25

4.2.2 Cách cài ñặt Driver 26

4.2.3 Chương trình nạp AVRProg 28

4.3 Lập trình trên mạch “ROBOCON BKIT 2009” 31

4.3.1 Yêu cầu 31

4.3.2 Hướng dẫn 31

Chương 5 TỔNG KẾT 36

TÀI LIỆU THAM KHẢO 37

Trang 3

Chương 1 GIỚI THIỆU

1.1 Sơ lược

1.2 Yêu cầu

Trang 4

Chương 2 TÌM HIỂU VI ðIỀU KHIỂN

ATMEGA64

2.1 Giới thiệu

Atmega64 là vi ñiều khiển AVR 8 bit tiêu thụ ñiện năng thấp (low-power) dựa trên kiến trúc RISC (Reduced Intruction Set Computer) Vào ra Analog – Digital và ngược lại Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu kì xung nhịp, vì thế tốc ñộ xử lý dữ liệu có thể ñạt ñến 16 triệu lệnh trên giây ở tần số 16 Mhz Vi ñiều khiển này cho phép người thiết kế có thể tối ưu hoá chế ñộ ñộ tiêu thụ năng lượng mà vẫn ñảm bảo tốc ñộ xử lí

ðặ c tả:

•Thuộc dòng vi ñiều khiển AVR 8 bit, hiệu năng cao, tiêu thụ năng lượng thấp

•Kiến trúc RISC tiên tiến

− Tập 130 lệnh máy – Hầu hết thực hiện chỉ trong một chu kỳ xung nhịp

− 32 thanh ghi x 8 bit làm việc ña mục ñích, và ñiều khiển ngoại vi

− 4 K Bytes SRAM nội

− Chu kỳ ghi/xóa: 10,000 Flash/100,000 EEPROM

− ðộ bền dữ liệu 20 năm ở 85°C và 100 năm ở 25°C

− Có thể nâng lên 64 K Bytes không gian bộ nhớ ngoài

− Khóa chương trình cho bảo mật phần mềm

− Giao diện SPI cho lập trình ngay trên hệ thống

•Giao diện JTAG

•ðặc tả ngoại vi

− Hai bộ Timer/Counters 8 bit với chế ñộ so sánh và ñếm chia trước riêng rẽ

− Hai bộ Timer/Counters mở rộng 16 bit với chế ñộ so sánh, ñếm chia trước, chế

ñộ bắt mẫu

− Bộ Timer/Counter thời gian thực với bộ giao ñộng tách biệt

− 2 kênh ñiều xung PWM 8 bit

− 6 kênh ñiều xung PWM lập trình ñược từ 1 ñến 16 bit

− 8 kênh ADC 10 bit

− Byte-oriented Two-wire Serial Interface

Trang 5

− Giao diện Master/Slave SPI Serial

− Bộ lập trình Watch dog timer

− Bộ so sánh Analog

•Tính năng khác

− Tự ñộng Reset khi bật nguồn

− Bộ tạo xung bên trong

Trang 6

output, ta có thể mặc ñịnh từng pin ở giá trị 1 hay 0 bằng cách ghi giá trị tương ứng vào thanh ghi PORTx

2.2.2 Ngắt Ngoài - External Interrupt

Atmega64 có 8 chân ngắt ngoài, ký hiệu là INTn (n = 0 7), theo thứ tự ñược nối với các pin PD0, PD1, PD2, PD3 (của port D, từ 25 ñến 28) và PE4, PE5, PE6, PE7 (của port E, từ 6 ñến 9) Khi ñược thiết lập làm ngắt ngoài thì các chân này phải ñược

ñặt ở chế ñộ input bằng thanh ghi DDRx

Các thanh ghi chức năng của ngắt ngoài:

Hai thanh ghi EICRA & EICRB có tổng cộng 16 bit, mỗi cặp bit ISCn1:0 ñược dùng ñể quy ñịnh mode cho ngắt “n”

Các mode ñược quy ñịnh theo bảng sau:

Mode sẽ quy ñịnh cách thức gây ngắt, bao gồm mức logic thấp (ngắt mức), cạnh xuống hoặc cạnh lên (ngắt cạnh)

Thanh ghi cho phép ngắt EIMSK:

Mặc ñịnh EIMSK = 0x00, tức là các ngắt ngoài ñều bị cấm Khi muốn cho phép ngắt nào thì ta ñặt giá trị bit tương ứng của ngắt ñó trong EIMSK lên 1

Thanh ghi cờ ngắt EIFR:

Mặc ñịnh các cờ (các bit trong EIFR) mang giá trị 0 Khi có ngắt xảy ra trên chân INTn thì bit tương ứng sẽ ñược ñặt lên 1, cờ ñược bật Khi hàm phục vụ ngắt ñược MCU thực hiện, cờ tự ñộng bị xóa Người sử dụng có thể xóa cờ bằng cách ghi giá trị

1 vào bit tương ứng của cờ Lưu ý, nếu không cần thiết, người sử dụng có thể không

cần quan tâm ñến EIFR khi lập trình ngắt ngoài

Trang 7

Sau khi ñã thiết lập các thanh ghi EICRA, EICRB và EIMSK, ta cần viết hàm phục vụ ngắt tương ứng theo mẫu sau (dùng CodeVision:

Lưu ý, nếu trong chương trình, ta thiết lập một ngắt nào ñó, nhưng không có hàm phục vụ ngắt tương ứng thì chương trình có thể bị treo

2.2.3 Timer/Counter

ATmega64 có 4 bộ timer, ñược ñánh số từ 0 ñến 3 Trong ñó, Timer0 và Timer2

là timer 8 bit (giá trị ñếm cao nhất là 28 - 1= 255), Timer1 và Timer3 là timer 16 bit (giá trị ñếm cao nhất là 216 - 1 = 65535)

Ta xét các thanh ghi và hoạt ñộng của Timer/Counter 0, các Timer/Counter còn lại tương tự (các thanh ghi của Timer/Counter 16 bit có 1 byte cao và một byte thấp) Thanh ghi ñiều khiển Timer/Counter TCCR0 (Timer/Counter Control Register):

Trong ñó:

− Bit 7 – FOC0: Force Output Compare Bit FOC0 chỉ hoạt ñộng khi bit WGM00 ñịnh rõ chế ñộ không PWM Khi ghi logic 1 tới bit FOC0, một sự so sánh trực tiếp là bắt buộc trên Waveform phát ñơn vị

− Bit 6, 3 – WGM01:0: Waveform Generation Mode Các bit ñiều khiển chuỗi

ñếm của Counter nguồn cực ñại cho giá trị Counter và kiểu của Waveform

Trang 8

Thanh ghi TCNT0 – Timer/Counter Register: Thanh ghi giá trị Timer/Counter, có

Thanh ghi TIMSK - Timer/Counter Interrupt Mask Register

− Bit 1 – OCIE0: Timer/Counter0 Output Compare Match Interrupt Enable: Khi bit này ñược ghi lên 1, cờ I-flag trong thanh ghi trạng thái ñược lập, Timer/Counter 0 ngắt ngõ ra so sánh trùng OC0 ñược enable Vector ngắt

ñược thực thi khi cờ OCF0 ñược lập

− Bit 0 – TOIE0: Timer/Counter0 Overflow Interrupt Enable: Khi bit này ñược ghi lên 1, cờ I-flag trong thanh ghi trạng thái ñược lập, Timer/Counter 0 ngắt tràn ñược enable Vector ngắt ñược thực thi khi cờ TOV0 ñược lập

Thanh ghi TIFR – Timer/Counter Interrupt Flag Register

− Bit 1 – OCF0: Output Compare Flag 0: Cờ này ñược lập khi chu kỳ xung Timer sau khi giá trị Counter (TCNT0) bằng thanh ghi ngõ ra compare (OCR0) OCF0 tự ñộng xóa khi vector ngắt ngõ nhập Capture ñược thực thi Hoặc khi ghi logic 1 cho các bit cục bộ

− Bit 0 – TOV0: Timer/Counter0 Overflow Flag: Lập cờ này phụ thuộc các bit WGM13:0 ñược lập Trong chế ñộ thông thường và CTC, cờ TOV1 ñược lập khi Timer tràn.TOV1 ñược tự ñộng xóa khi vector ngắt Timer/Counter 1 ñược thực thi TOV1 OCF1B có thể bị xóa khi ghi logic 1 cho các bit cục bộ

Trước hết ta xét PWM 8 bits với timer 0 Ngoài một số khác biệt ñược liệt kê dưới

ñây, cách lập trình của PWM cũng tương tự như lập trình timer

Khởi tạo TCCR0:

− Waveform Generation Mode (bit 6,3) : chọn Phase Correct (dạng dual-slope PWM)

− Compare Match Output Mode (bit 5:4) : chọn giá trị 01 hoặc 10 tùy ý (tương

ñương trong Code Wizard chọn output là inverted hay non-inverted

Sau khi khởi tạo, ta chỉ cần quan tâm ñến thanh ghi OCR0 ñể sử dụng PWM0 Giá trị ñiều xung mong muốn sẽ ñược nạp vào OCR0, dạng sóng tương ứng sẽ ñược xuất

ra trên chân OC0 (chân PB4, pin 14)

Trang 9

Lưu ý, một khi ñã chọn chức năng PWM, chân tương ứng với ngõ xuất PWM phải ñược chọn làm output

Với các bộ timer 16 bits, ñộ phân giải PWM có thể ñạt ñến 16 bits, nếu không có nhu cầu cao, ta có thể thiết lập Waveform Genaration Mode ở chế ñộ Phase Correct 8 bits (TOP = 0x00FF) Mỗi bộ PWM 16 bits gồm 3 kênh - 3 ngõ ra ñược ký hiệu là A,

B và C Thiết lập Compare Match Output cho mỗi kênh tương tự như trên Khi sử dụng, các thanh ghi cần quan tâm là OCR[1/3][A/B/C][H/L] (12 thanh ghi) tương ứng với timer 1/3, 3 kênh A/B/C cho mỗi timer và 2 mức H/L cho mỗi kênh (do ñộ phân giải có thể ñến 16 bits nên cần 2 thanh ghi riêng biệt ñể lưu giá trị)

2.2.5 Bộ chuyển ñổi ADC

ATmega64 có 8 kênh ADC 10 bits, ñược ñánh số thứ tự từ 0 ñến 7 Các ngõ vào

ñược ký hiệu là ADC0:7, ñều thuộc port F (chân 54 ñến 61)

Các thanh ghi ñặc tả của ADC:

Trong ñó:

− REFS1:0 : chọn giá trị 01, ứng với AVCC

− ADLAR : thứ tự lưu giữ của 10 bits giá trị ADC ñọc ñược trong 2 thanh ghi ADCH/L, ñọc thêm bên dưới

− MUX4:0 : phân kênh cho các kênh ADC, ñược sử dụng khi ñọc giá trị ADC

Trong ñó:

− bit ADEN - ADC Enable: cho phép (mang giá trị 1) hay cấm chức năng ADC (mang giá trị 0)

− bit ADSC - ADC Start Conversion: bật bit này thì bộ ADC bắt ñầu hoạt ñộng

− bit ADIF - ADC Interrupt Flag: báo hiệu ADC ñã ñọc xong giá trị

− bit ADIE - ADC Interrupt Enable: cho phép ngắt khi ñã ñọc xong giá trị

− ADPS2:0 : chọn hệ số chia cho xung clock của ADC

Trang 10

Các kênh ADC chỉ có chung một cặp thanh ghi lưu giá trị ñọc ñược ATmega64 dùng chức năng phân kênh, ñược thiết lập bằng các bit MUX trong thanh ghi ADMUX Chọn giá trị “n” (thập phân) cho MUX thì ADCH/L sẽ giữ giá trị của kênh ADC “n”

Hàm mẫu ñọc ADC 8 bits như sau:

2.2.6 Các tính năng khác

Ngoài các chức năng trên Atmega64 còn rất nhiều tính năng hỗ trợ khác như: các giao diện SPI, I2C, UART,…

Trang 11

Chương 3 TÌM HIỂU MỘT SỐ LINH KIỆN &

THIẾT BỊ ROBOT

Chương này sẽ giới thiệu mô tả cấu tạo, nguyên lý, cách hoạt ñộng, cách lập trình

ñiều khiển một số thiết bị cơ bản dùng cho robot Nội dung sẽ không tập trung ñi sâu

vào chi tiết mà chỉ dừng lại ở mức ñộ cơ bản, và biết cách ñể lập trình

3.1 ðộng cơ

3.1.1 ðộng cơ DC

ðộng cơ DC là loại ñộng cơ hoạt ñộng bằng ñiện thế một chiều DC Có rất nhiều

loại khác nhau về hình dạng, kích thước, công suất, tốc ñộ…

Chiều quay của ñộng cơ: Khi ta cấp nguồn DC cho ñộng cơ, ñộng cơ sẽ quay Khi

ñảo chiều dòng ñiện (+/-) thì ñộng cơ quay theo chiều ngược lại

ðiều xung PWM (Pulse-Width Modulation – ðiều biến ñộ rộng xung): Trục của ñộng cơ nhờ kỹ thuật ñiều xung (PWM) Trong hệ thống này, ñộng cơ là ñáp ứng của

một dãy các xung số ổn ñịnh Cụ thể hơn, mạch ñiều khiển ñộng cơ là ñáp ứng của một tín hiệu số có các xung biến ñổi từ 1 – 2 ms Các xung này ñược gởi ñi 50 lần/giây Chú ý rằng không phải số xung trong một giây ñiều khiển ñộng mà là chiều dài của các xung (hay ñúng hơn là Duty cycle) Tùy ñáp ứng của ñộng cơ và mạch ñiều khiển

ñộng cơ ñòi hỏi khoảng 30 – 60 xung/giây Nếu số này qua thấp, ñộ chính xác và công

suất ñể duy trì ñộng cơ sẽ giảm

Hình 1 Minh họa xung PWM

Giả sử tín hiệu mức 0 làm ñộng cơ quay, mức 1 làm ñộng cơ không quay Thì trong một chu kỳ xung, tỉ lệ mức 0 so với mức 1 sẽ làm cho ñộng cơ quay nhanh hay chậm

3.1.2 ðộng cơ Servo

ðộng cơ servo cũng là một loại ñộng cơ DC ñược thiết kế cho những hệ thống hồi

tiếp vòng kín Tín hiệu ra của ñộng cơ ñược nối với một mạch ñiều khiển Khi ñộng cơ quay, vận tốc và vị trí sẽ ñược hồi tiếp về mạch ñiều khiển này Nếu có bầt kỳ lý do

Trang 12

nào ngăn cản chuyển ñộng quay của ñộng cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa ñạt ñược vị trí mong muốn Mạch ñiều khiển tiếp tục chỉnh sai lệch cho ñộng cơ

ñạt ñược ñiểm chính xác

ðộng cơ servo có nhiều kiểu dáng và kích thước, ñược sử dụng trong nhiếu máy

khác nhau, từ máy tiện ñiều khiển bằng máy tính cho ñến các mô hình máy bay và xe hơi Ứng dụng mới nhất của ñộng cơ servo là trong các robot, cùng loại với các ñộng

cơ dùng trong mô hình máy bay và xe hơi

3.2 Cảm biến

3.2.1 Dò ñường

Dùng ñể nhận biết các vạch màu trên sân Thường dùng cảm biến quang trở

Hoạt ñộng: ñèn led phát ra ánh sáng xuống mặt sân, quang trở nhận tín hiệu trả về, sau ñó ñưa tín hiệu vào bộ ADC của vi ñiều khiển Vi ñiều khiển sẽ xử lý và trả về tỷ

lệ mức ñiện áp nhận ñược so với mức ñiện áp tham chiếu Và dựa vào giá trị ADC trả

Hoạt ñộng: khi trục encoder quay, nó sẽ gửi tín hiệu về cho vi ñiều khiển Hai

ñường tín hiệu lệch pha nhau 90 ñộ, dựa vào ñó ta biết ñược trục encoder quay theo

Trang 13

Ví dụ chân A của encoder nối vào interrupt, chân B nối vào input của vi ñiều khiển Cài ñặt interrupt cạnh xuống (hight-to-low) Khi interrupt xảy ra, ta kiểm tra tính hiệu nhận ñược ở chân B ñể biết ñược chiều quay của encoder

và ñã ñược một số ñội sử dụng trong cuộc thi Robocon 2009

Hình 4 Mạch ROBOCON BKIT 2009

•Các chức năng hỗ trợ của mạch:

− Nguồn vào 9-12VDC

− Nạp qua cổng USB máy tính bằng mạch nạp AVR910

− Bộ 8 ngõ ADC, thường sử dụng cho cảm biến dò ñường

− 5 ngõ PWM ñiều xung ñiều khiển ñộng cơ, có direct ñiều khiển chiều ñộng cơ

− 4 ngắt ngoại dùng nhận tín hiệu từ encoder

− Giao tiếp Gamepad PS2 thông qua giao thức SPI

− Hiện thị LCD 16x2 và bộ 8 led ñơn

− Hỗ trợ 3 cổng input và 2 cổng output ngoài, mỗi cổng 8 bit (trong ñó cổng output J6 dùng 5 chân 3-7 ñể ñiều khiển chiều ñộng cơ)

3.3.1.2 Hoạt ñộng của các IC số dùng trên mạch

•IC 74LS138 (3-to-8 lines encoder)

IC này dùng 3 ngõ tín hiệu ñầu vào ñể lựa chọn tích cực 1 trong 8 ngõ tín hiệu

ñầu ra

Trang 14

Hình 5 Sơ ñồ chân IC 74LS138

Bảng chân trị:

•IC 74LS245 (Octal bus tranceiver; 3-state)

IC này là bộ thu-phát song song 8 ñường tín hiệu, các chân vào/ra có 3 trạng thái làm việc (hight/low/high-impedance)

Hình 6 Sơ ñồ chân IC 74LS245

Trang 15

Bảng chân trị

•IC 74LS574 (3-STATE Octal D-Type Edge-Triggered Flip-Flop)

IC này như một bộ gồm 8 D Flip-Flop kết nối song song với nhau làm việc

ñồng bộ bằng xung clock chung Khi có xung cạnh lên (low-to-hight) thì giá trị các

ngõ ra sẽ ñược cập nhật bằng giá trị ngõ vào Các chân ra của IC này cũng làm việc ở

3 trạng thái (hight/low/high-impedance)

Hình 7 Sơ ñồ chân IC 74LS574

Bảng chân trị

Trang 16

3.3.1.3 LCD hiện thị ký tự (Text LCD)

•Giới thiệu

Trên thị trường có rất nhiều loại LCD với cách giao tiếp và mức ñộ hiện thị khác nhau Loại LCD ñược dùng trên mạch ROBOCON BKIT là LCD hiện thị 16 ký

tự x 2 dòng (Liquid Crystal Displays)

Khi sản xuất nhà sản xuất ñã tích hợp sẵn chip ñiều khiển (HD44780) bên trong lớp vỏ và chỉ ñưa các chân giao tiếp cần thiết

Trong khuôn khổ bài báo cáo này chúng tôi xin giới thiệu khái quát ở mức ñộ

“lập trình ñược” cơ bản loại LCD này

•Sơ ñồ và chức năng các chân

Hình 8 Sơ ñồ chân LCD 16x2

Trang 17

Chức năng các chân

•Giao tiếp với LCD

Có hai chế ñộ giao tiếp với LCD 16x2

- Chế ñộ 8 bit: là chế ñộ giao tiếp mặc ñịnh, ở chế ñộ này dữ liệu ñược truyền trên cả 8 ñường từ DB0-DB7

- Chế ñộ 4 bít: dữ liệu ñược truyền trên 4 ñường từ DB4 tới DB7 Chế ñộ này

ñược sử dụng trên mạch ROBOCON BKIT 2009

Trang 18

Kết nối LCD với Atmega64 ở chế ñộ 4 bít:

•Thư viện “lcd.h”

Thư viện “lcd.h” là thư viện viết sẵn trong CodeVisionAVR, gồm các hàm cơ bản ñể giao tiếp với LCD, hỗ trợ các loại LCD 1x8, 2x12, 3x12, 1x16, 2x16, 1x20, 2x20, 4x20, 2x24 và 2x40 (lines x characters)

Các hàm trong thư viện “lcd.h”:

Void _lcd_ready(void)

ðợi cho ñến khi LCD chuẩn bị nhận dữ liệu.Hàm này phải ñược gọi trước khi

viết dữ liệu ñến LCD với hàm _lcd_write_data

Void _lcd_write_data(unsigned char data)

Viết một byte dữ liệu ñến thanh ghi lệnh của LCD.Chức năng này có thể ñược sửa ñổi cho phù hợp với cấu hình LCD

Void lcd_write_byte(unsigned char addr,unsigned char data)

Viết một byte kí tự ñến LCD thông thường hoặc hiển thị RAM

Unsigned char lcd_ready_byte(unsigned char addr)

Ghi một byte kí tự ñến LCD thông thường hoặc hiển thị RAM

Void lcd_init(unsigned char lcd_columns)

Khởi tạo module LCD,xóa sự hiển thị và bắt ñầu in ra kí tự ở vị trí hàng 0 và cột 0 Chức năng này phải ñược gọi trước khi gọi các hàm LCD mức cao khác

Void lcd_clear(void)

Xóa LCD và thiết lập ñể bắt ñầu in ở vị trí hàng 0 và cột 0

Void lcd_gotoxy(unsigned char x,unsigned char y)

Thiết lập sự hiển thị cột x và hàng y Hàng và cột ñều bắt ñầu là 0

Hiển thị vị trí mà con trỏ str ñang trỏ tới Vùng nhớ cục bộ là FLASH

Cách thiết lập và code ví dụ về LCD sẽ ñược giới thiệu ở chương sau

3.3.1.4 Giao tiếp các cổng input/output ngoài

•ðặc tả

Tất cả 3 input/2 output ngoài ñiều ñược kết nối với PORTA của vi ñiều khiển, tại một thời ñiểm chỉ giao tiếp với 1 input/output Dùng 3 chân PORTG (bit 0,1,2) nối vào IC 74LS138, sử dụng như một bộ chọn lựa (selector) Với mỗi giá trị của Port G (3 bit thấp) sẽ mở (enable) một ñường (path) từ PORTA của vi ñiều khiển ñến một cổng input/output ngoài, ñồng thời ñóng (disable) các cổng còn lại

Ngày đăng: 07/11/2017, 13:03

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w