You are on page 1of 34

Chƣơng 8

CỔNG NỐI TIẾP


(SERIAL PORT)
- Một số khái niệm về truyền dữ liệu.
- Các giao thức sử dụng trong ATmega324P.
- Các thanh ghi liên quan.
- Ứng dụng.

Bài giảng môn Vi xử lý 1


GV: Lê Thị Kim Anh
Chương 8
KHÁI NIỆM VỀ KIỂU TRUYỀN

0
1
0 010..1
DEVICE1 . DEVICE2 DEVICE1 DEVICE2
.
.
1

SONG SONG(PARALLEL) NỐI TIẾP(SERIAL)

• TRUYỀN SONG SONG:


- Các bit dữ liệu được truyền cùng lúc, thiết kế vật lý đơn giản, tốc độ nhanh.
- Phần cứng phải thay đổi khi dung lượng cần truyền tăng dẫn đến chi phí cao.
Hạn chế về khoảng cách truyền.
• TRUYỀN NỐI TIẾP:
- Dữ liệu được truyền từng bit một nên tốc độ truyền sẽ chậm hơn, nhưng kết
nối vật lý vẫn không thay đổi khi cần truyền khối lượng dữ liệu lớn hơn.
- Được sử dụng rộng rãi khi truyền ở khoảng cách xa vì hiệu quả kinh tế cao.
Bài giảng môn Vi xử lý 2
GV: Lê Thị Kim Anh
Chương 8
CÁC PHƢƠNG PHÁP TRUYỀN NỐI TIẾP

Transmitter Receiver Transmitter Receiver

Clock Clock

ĐỒNG BỘ BẤT ĐỒNG BỘ


(SYNCHRONOUS) (ASYNCHRONOUS)

ĐỒNG BỘ: Giữa 2 thiết bị Phát/Thu phải được đồng bộ bởi tín hiệu xung
Clock. Dữ liệu truyền theo 1 khối và tốc độ truyền không đổi.

BẤT ĐỒNG BỘ: Dữ liệu truyền theo từng byte với định dạng khung(frame).
Xung clock sử dụng để định dạng khung truyền.

Bài giảng môn Vi xử lý 3


GV: Lê Thị Kim Anh
Chương 8
CÁC CHẾ ĐỘ TRUYỀN NỐI TIẾP

ĐƠN CÔNG (SIMPLEX)

BÁN SONG CÔNG (HALF DUPLEX)

SONG CÔNG ( DUPLEX)

Bài giảng môn Vi xử lý 4


GV: Lê Thị Kim Anh
Chương 8
CHUẨN GIAO TIẾP NỐI TIẾP VỚI MÁY TÍNH

Vì các tín hiệu ở ngõ ra của MCU theo chuẩn TTL nên khi giao tiếp giữa MCU
với máy tính qua cổng COM phải sử dụng bộ chuyển đổi mức điện áp(MAX232)
để tương thích với mức logic theo chuẩn RS232.

Bài giảng môn Vi xử lý 5


GV: Lê Thị Kim Anh
Chương 8
CÁC GIAO THỨC GIAO TIẾP TRÊN MCU 324P

- Giao tiếp USART (Universal Synchronous and


Asynchronous serial Receiver and Transmitter).
- Giao tiếp SPI (Serial Peripheral Interface).
- Giao tiếp TWI(2-Wire Serial Interface).

XCK0
USART SPI
/SS
dong bo la can clock con bat dong bo MOSI
khong can clock trong gt u MISO
SCK

USART
RXD0
TXD0
RXD1
USART TXD1
XCK1 SDA
SCL
TWI(I2C)
Bài giảng môn Vi xử lý 6
GV: Lê Thị Kim Anh
Chương 8
MỘT SỐ VD GIAO TIẾP NỐI TIẾP VỚI MCU324P

GIAO TIẾP UART GIAO TIẾP SPI

GIAO TIẾP TWI

Bài giảng môn Vi xử lý 7


GV: Lê Thị Kim Anh
GIAO THỨC TRUYỀN NỐI TIẾP
USART
Universal Synchronous and Asynchronous serial
Receiver and Transmitter
- Chế độ truyền bất đồng bộ (UART)
- Chế độ truyền đồng bộ (USRT)
- Chế độ Master SPI

Bài giảng môn Vi xử lý 8


GV: Lê Thị Kim Anh
GIAO THỨC TRUYỀN NỐI TIẾP USART
MODE UART

Bài giảng môn Vi xử lý 9


GV: Lê Thị Kim Anh
Chương 8
HOẠT ĐỘNG MODE UART TRÊN MCU 324P

- Truyền song công, bất đồng bộ


- Khung truyền: 5,6,7,8 hoặc 9 bit.
- Tạo parity bit bằng phần cứng.
- Phát hiện lỗi khung truyền và
chồng chập dữ liệu.
- Cho phép chọn tăng gấp đôi tốc độ
Baud khi truyền.
RXD0
TXD0
RXD1
TXD1

Bài giảng môn Vi xử lý 10


GV: Lê Thị Kim Anh
Chương 8
HOẠT ĐỘNG MODE UART TRÊN MCU 324P

Control & Status Unit(n=0,1)

UCSRnA UCSRnB UCSRnC

clk dinh dang khung truyen


SYSTEM CLOCK

Receive Unit Clock divider Transmit Unit


UDRn UBRRn UDRn
Stop MSB LSB Start Stop MSB LSB Start

1 0
Receive Shift REG Transmit Shift REG

RXD TXD

Bài giảng môn Vi xử lý 11


GV: Lê Thị Kim Anh
Chương 8
CÁC THANH GHI ĐIỀU KHIỂN & TRẠNG THÁI CỜ

UCSRnA (Addr_MEM)
RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn
Các cờ báo trạng thái truyền, nhân dôi tốc độ truyền hoặc chọn chế độ truyền
thông đa xử lý.

UCSRnB(Addr_MEM)
RXCIEn TXCIEn UDRIEn RXENn TXENn UCSZn2 RXB8n TXB8n
Cho phép giao tiếp UART,…

UCSRnC(Addr_MEM)
UMSELn1 UMSELn0 UPMn1 UPMn0 USBSn UCSZn1 UCSZn0 UCPOLn
Chọn MODE hoạt động, kiểm tra PARITY, số STOP bit, KHUNG truyền,..

Bài giảng môn Vi xử lý 12


GV: Lê Thị Kim Anh
Chương 8
CÁC THANH GHI ĐIỀU KHIỂN & TRẠNG THÁI CỜ

UCSRnB
RXCIEn TXCIEn UDRIEn RXENn TXENn UCSZn2 RXB8n TXB8n

Bit cho phép UART:


- TXENn=1: cho phép bộ PHÁT hoạt động.
- RXENn=1: cho phép bộ THU hoạt động.

Bài giảng môn Vi xử lý 13


GV: Lê Thị Kim Anh
Chương 8
CÁC THANH GHI ĐIỀU KHIỂN & TRẠNG THÁI CỜ
UCSRnC
UMSELn1 UMSELn0 UPMn1 UPMn0 USBSn UCSZn1 UCSZn0 UCPOLn

CHỌN MODE HOẠT ĐỘNG


UMSELn1 UMSELn0 MODE
0 0 BẤT ĐỒNG BỘ (UART)
0 1 ĐỒNG BỘ (USRT)
1 0 DỰ TRỮ
1 1 MASTER SPI

CHỌN SỐ STOP BIT


USBSn SỐ BIT STOP
0 1 BIT
1 2 BIT

Bài giảng môn Vi xử lý 14


GV: Lê Thị Kim Anh
Chương 8
CÁC THANH GHI ĐIỀU KHIỂN & TRẠNG THÁI CỜ
UCSRnB
RXCIEn TXCIEn UDRIEn RXENn TXENn UCSZn2 RXB8n TXB8n

UCSRnC
UMSELn1 UMSELn0 UPMn1 UPMn0 USBSn UCSZn1 UCSZn0 UCPOLn

CHỌN SỐ BIT TRUYỀN (KÍCH THƢỚC KÝ TỰ)


UCZn2 UCZn1 UCZn0 SỐ BIT TRUYỀN
0 0 0 5
0 0 1 6
0 1 0 7
0 1 1 8
1 1 1 9

Mặc định ban đầu UCZn2:1=011


Bài giảng môn Vi xử lý 15
GV: Lê Thị Kim Anh
Chương 8
CÁC THANH GHI ĐIỀU KHIỂN & TRẠNG THÁI CỜ
UCSRnB
RXCIEn TXCIEn UDRIEn RXENn TXENn UCSZn2 RXB8n TXB8n

UCSRnC
UMSELn1 UMSELn0 UPMn1 UPMn0 USBSn UCSZn1 UCSZn0 UCPOLn

ĐỊNH DẠNG 1 KHUNG TRUYỀN

Bài giảng môn Vi xử lý 16


GV: Lê Thị Kim Anh
Chương 8
CÁC THANH GHI ĐIỀU KHIỂN & TRẠNG THÁI CỜ
UCSRnC parity la tinh tong so bit 1

UMSELn1 UMSELn0 UPMn1 UPMn0 USBSn UCSZn1 UCSZn0 UCPOLn

CHỌN KIỂM TRA CHẲN LẺ – PARITY


UPMn1 UPMn0 PARITY
0 0 KHÔNG CÓ PARITY
0 1 DỰ TRỮ
1 0 PARITY CHẲN
1 1 PARITY LẺ

Peven=Dn-1Dn-2 ….D0  0 Podd =Dn-1Dn-2 ….D0  1


(n: số bit data trong 1 frame truyền)
NGUYÊN TẮC HOẠT ĐỘNG: Khi có cho phép kiểm tra PARITY
- BÊN PHÁT: Sẽ tự động tạo bit parity chẳn/lẻ tương ứng chèn vào khung truyền tại vị
trí sau bit cuối của dữ liệu cần truyền và trước bit STOP của khung truyền.
- BÊN THU: cũng tự động tạo bit kiểm tra parity tương ứng với dữ liệu thu được và so
sánh với bit parity nhận được. Nếu kết quả không đúng MCU sẽ bật cờ UPEn trong
thanh ghi UCSRnA lên 1. Bài giảng môn Vi xử lý 17
GV: Lê Thị Kim Anh
Chương 8
CÁC THANH GHI ĐIỀU KHIỂN & TRẠNG THÁI CỜ
UCSRnA
RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn

UBRRnH - - - - UBRR[11:8]
UBRRnL UBRR[7:0]
CHỌN TỐC ĐỘ TRUYỀN – BAUD RATE
ghi byte cao trc, doc byte thap trc
𝟐𝐔𝟐𝐗 . 𝐅𝐎𝐒𝐂
BAUD RATE =
𝟏𝟔(𝐔𝐁𝐑𝐑+𝟏)

Bài giảng môn Vi xử lý 18


GV: Lê Thị Kim Anh
Chương 8
MỘT SỐ TỐC ĐỘ BAUD THÔNG DỤNG

Bài giảng môn Vi xử lý 19


GV: Lê Thị Kim Anh
Chương 8
KHỞI TẠO HOẠT ĐỘNG CHO UART
- Cho phép PHÁT/THU: TXENn, RXENn.  UCSRnB
- Chọn khung DATA(UCSZn2{UCSRnB},UCSZn1, UCSZn0) {a}
- Chọn số STOP BIT(USBSn)=0/1 (1/2 STOP BIT) {b}
- Chọn kiểm tra PARITY(UPMn1, UPMn0) {c}
- {a,b,c}  UCSRnC
- Tính giá trị tạo tốc độ BAUD nạp vào UBRRn=UBRRnH_UBRRnL.

VD: CTC KHỞI ĐỘNG USART0 PHÁT/THU 8 BIT


;*******************************************************************************
; BAUD RATE=9600 (fOSC=8MHz, CKDIV8=1, U2Xn=0)
*******************************************************************************
USART_INIT:
LDI R16,(1<<TXEN0)|(1<<RXEN0) ; cho phép PHÁT/THU
STS UCSR0B,R16
LDI R16,(1<<UCSZ01)|(1<<UCSZ00) ; khung data 8bit, 1 STOP BIT , NO PARITY
;LDI R16,(1<<UCSZ01)|(1<<UCSZ00)|(1<<UPM01) ; PARITY chẵn
;LDI R16,(1<<UCSZ01)|(1<<UCSZ00)|(1<<UPM01)|(1<<UPM00) ; PARITY lẻ
STS UCSR0C,R16
LDI R16,0x00 ; nạp giá trị tạo tốc độ BAUD vào UBRR
STS UBRR0H,R16 ; nạp BYTE CAO trước
LDI R16,51
STS UBRR0L,R16
RET Bài giảng môn Vi xử lý 20
GV: Lê Thị Kim Anh
Chương 8
NGUYÊN TẮC PHÁT 1 KHUNG DỮ LIỆU TỪ 5 ĐẾN 8BIT
UCSRnA
RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn

UDRn(Addr_MEM)
D7 D6 D5 D4 D3 D2 D1 D0

- Chờ bộ đệm PHÁT trống bằng cách kiểm tra


N
cờ UDREn. (mặc định ban đầu UDREn=1) UDREn=1

- Đặt DATA cần phát vào thanh ghi UDRn. Y


UDRn DATA

Lưu ý:
Phần cứng tự động đặt cờ UDREn=1 khi bộ đệm phát UDRn trống và xóa cờ
UDREn=0 khi ghi dữ liệu cần phát vào thanh ghi này.
Bài giảng môn Vi xử lý 21
GV: Lê Thị Kim Anh
Chương 8
NGUYÊN TẮC PHÁT 1 KHUNG DỮ LIỆU TỪ 5 ĐẾN 8BIT

VD1:Viết chương trình phát liên tục DATA=$F0 ra cổng nối tiếp USART0. Sử
dụng khung truyền 8 bit dữ liệu, 1 STOP bit, tốc độ baud 9600, tần số
fosc=8MHz, CKDIV8 = 1. Lần lượt thay đổi các điều kiện về PARITY: không có,
có parity chẳn hoặc lẻ và quan sát kết quả khung truyền trên đường truyền
TXD0.

GIẢI THUẬT:
- Gọi CTC khởi động USART0 theo yêu cầu.
- Xác định DATA cần truyền, nạp vào thanh ghi phù hợp và sử dụng CTC phát
DATA 8BIT để thực hiện việc truyền dữ liệu bằng cổng nối tiếp qua chân
TXD0.

Bài giảng môn Vi xử lý 22


GV: Lê Thị Kim Anh
DẠNG SÓNG TRÊN ĐƢỜNG TRUYỀN :
- Không PARITY

LSB MSB

START DATA STOP

- PARITY CHẲN

START Parity STOP

- PARITY LẺ

START Parity STOP

Bài giảng môn Vi xử lý 23


GV: Lê Thị Kim Anh
Chương 8
NGUYÊN TẮC PHÁT 1 KHUNG DỮ LIỆU 9BIT
UCSRnA
RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn

UCSRnB
RXCIEn TXCIEn UDRIEn RXENn TXENn UCSZn2 RXB8n TXB8n

UDRn(Addr_MEM)
D7 D6 D5 D4 D3 D2 D1 D0

- Chờ bộ đệm phát trống bằng cách kiểm tra cờ N


UDREn=1
UDREn. Y

- Đặt bit8 vào vị trí TXB8n. TXB8n BIT8

- Đặt 8bit DATA cần phát vào thanh ghi


UDRn DATA
UDRn.

Bài giảng môn Vi xử lý 24


GV: Lê Thị Kim Anh
Chương 8
NGUYÊN TẮC PHÁT 1 KHUNG DỮ LIỆU 9BIT
 CTC PHÁT 9BIT:
;***************************************************************
;INPUT: R16  DATA, R17(LSB)  BIT8
***************************************************************
USART9BIT_TRANS:
LDS R18,UCSRnA
SBRS R18,UDREn
RJMP USART9BIT_TRANS
LDS R18,UCSRnB
ANDI R18,0xFE
BST R17,0
SBRC R17,0 
BLD R18,0
ORI R18,1
STS UCSRnB,R18
STS UDRn,R16
RET

Bài giảng môn Vi xử lý 25


GV: Lê Thị Kim Anh
Chương 8
NGUYÊN TẮC PHÁT 1 KHUNG DỮ LIỆU 9BIT

VD2:Viết chương trình phát liên tục khung 9 bit dữ liệu gồm: DATA=‘A’, BIT8=1
ra cổng nối tiếp USART0. Với 1 STOP bit, tốc độ baud 9600, tần số fosc =8MHz,
CKDIV8 = 1. Lần lượt thay đổi các điều kiện về PARITY:không có, có parity
chẳn hoặc lẻ và quan sát kết quả khung truyền trên đường truyền TXD0.

GIẢI THUẬT:
- Gọi CTC khởi động USART0 theo yêu cầu.
- Xác định DATA cần truyền, nạp vào thanh ghi phù hợp và sử dụng CTC phát
DATA 9BIT để thực hiện việc truyền dữ liệu bằng cổng nối tiếp qua chân
TXD0.

Bài giảng môn Vi xử lý 26


GV: Lê Thị Kim Anh
DẠNG SÓNG TRÊN ĐƢỜNG TRUYỀN:
- Không PARITY

START ‘A’ BIT8 STOP

- PARITY CHẲN

START ‘A’ BIT8 P STOP

- PARITY LẺ

START ‘A’ BIT8 P STOP

Bài giảng môn Vi xử lý 27


GV: Lê Thị Kim Anh
Chương 8
NGUYÊN TẮC THU 1 KHUNG DỮ LIỆU TỪ 5 ĐẾN 8BIT
UCSRnA
RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn

UDRn(Addr_MEM)
D7 D6 D5 D4 D3 D2 D1 D0

- Chờ việc THU được hoàn thành bằng cách kiểm tra
N
cờ RCXn. RXCn=1
Y
- Đọc các cờ trạng thái để kiểm tra và báo lỗi nếu cần.
DATA =UDRn
- Đọc DATA thu được từ thanh ghi UDRn.

Lưu ý:
Cờ RXCn=1 báo bộ đệm thu UDRn thu đủ số bit dữ liệu và chờ đọc. Khi đọc bộ
đệm thu UDRn, phần cứng tự động xóa cờ XCn=0.
Bài giảng môn Vi xử lý 28
GV: Lê Thị Kim Anh
Chương 8
CÁC TRẠNG THÁI BÁO LỖI
UCSRnA
RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn

Các cờ báo trạng thái được đặt lên 1 khi có lỗi xảy ra.
- Bit FEn: báo khi có lỗi khung truyền xảy ra. Tương ứng với trạng thái STOP
BIT đầu tiên nhận được trong khung truyền là 0.
- Bit DORn: báo lỗi bộ đệm thu đầy(nhận 2 ký tự). Tương ứng với trạng thái 1
ký tự mới đang chờ trong thanh ghi dịch thu (Receive Shift Register) và xuất
hiện START BIT của ký tự mới .
- Bit UPEn = 1: khi có lỗi PARITY xảy ra trong trường hợp có sử dụng chức
năng kiểm tra chẵn lẻ

Bài giảng môn Vi xử lý 29


GV: Lê Thị Kim Anh
Chương 8
NGUYÊN TẮC THU 1 KHUNG DỮ LIỆU 9BIT
UCSRnA
RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn

UCSRnB
RXCIEn TXCIEn UDRIEn RXENn TXENn UCSZn2 RXB8n TXB8n

LƢU Ý: N RXCn=1
Cách THU cũng tương tự việc PHÁT khung dữ liệu 9 Y
TT=FEn,DORn,UPEn
bit. Nhưng việc đọc dữ liệu thu phải theo đúng thứ tự
sau: BIT8= RXB8n

1. Đọc các bit cờ trạng thái FEn, DORn và UPEn.


DATA= UDRn
2. Đọc BIT8(RXB8n) từ thanh ghi UCSRBn.
N
TT=1
3. Đọc 8bit DATA từ UDRn.
Y
BÁO LỖI
Bài giảng môn Vi xử lý 30
GV: Lê Thị Kim Anh
BÀI TẬP TẠI LỚP:
Trong các BT sau sử dụng các USART hoạt động ở chế độ BẤT ĐỒNG BỘ, hệ
thống có FOSC=8MHz, U2X=0.
1. Thiết kế mạch và viết chương trình truyền chuỗi ký tự là HỌ & TÊN tương
ứng của SV khi có tác động NHẤN/NHẢ của SW tại vị trí PC7 của PortC bằng
cách sử dụng USART1 với các thông số sau:
- BAUD RATE=9600, NO PARITY, khung truyền 8bit, 1STOP BIT.
2. Thiết kế mạch và viết chương trình sử dụng USART0 để thu ký tự. Thực hiện
kiểm tra ký tự nhận được nếu là chữ thường thì chuyển sang chữ IN HOA và
xuất lên LCD. Các trường hợp khác thì xuất chuỗi ERROR cũng hiển thị lên
LCD. Sử dụng giao tiếp với LCD trong cả 2 trường hợp 4 và 8 BIT.

Bài giảng môn Vi xử lý 31


GV: Lê Thị Kim Anh
BÀI TẬP:
Trong các BT sau sử dụng các USART hoạt động ở chế độ BẤT ĐỒNG BỘ, hệ
thống có FOSC=8MHz, CKDI8=1, U2X=0.

1. TK mạch liên tục kiểm tra trạng thái của SW, nếu có tác động NHẤN/NHẢ của
SW thì đọc dữ liệu là mã nhị phân 8bit từ các DIPSW, sau đó chuyển sang mã
Gray và gửi ra UART.
2. TK mạch liên tục kiểm tra trạng thái của SW, nếu có tác động NHẤN/NHẢ của
SW thì đọc dữ liệu 8bit từ 8 DIP_SW và kiểm tra dữ liệu nhận được, chỉ khi dữ
liệu này là một số dương thì mới gửi ra cổng UART.
3. TK mạch nhận dữ liệu từ UART, kiểm tra dữ liệu nhận được nếu là các ký tự
số từ 0 – 9 thì xuất ra led 7 đoạn, ngược lại xuất ra barled. với các yêu cầu cho
led 7 đoạn trong 2 trường hợp như sau:
- Led 7 đoạn là loại anode chung, giải mã bằng phần cứng.
- Led 7 đoạn là loại cathode chung, giải mã bằng phần mềm.
Bài giảng môn Vi xử lý 32
GV: Lê Thị Kim Anh
BÀI TẬP:
Trong các BT sau sử dụng các USART hoạt động ở chế độ BẤT ĐỒNG BỘ, hệ
thống có FOSC=8MHz, CKDI8=1, VU2X=0.
4. TK hệ thống VXL sử dụng vi điều khiển MCU324P hoạt động như sau:
- Khi có tác động NHẤN/NHẢ của 1 SW_ĐK thì xuất chuỗi “DATA IN:” lên
LCD.
- Sau đó đọc dữ liệu từ PORTA và đồng thời hiển thị lên LCD
- Thực hiện kiểm tra dữ liệu này nếu là ký tự chữ hay số thì xuất ra UART,
ngược lại xuất chuỗi “ERROR” lên LCD và quay về kiểm tra trạng thái của
SW_ĐK từ đầu.
5. TK mạch nhận dữ liệu là 1 số không dấu từ UART, kiểm tra dữ liệu nhận được
nếu là 1 số lẻ thì xuất ra PortC, ngược lại đổi sang số thập phân và hiển thị giá
trị lên led 7 đoạn.

Bài giảng môn Vi xử lý 33


GV: Lê Thị Kim Anh
BÀI TẬP:
Trong các BT sau sử dụng các USART hoạt động ở chế độ BẤT ĐỒNG BỘ, hệ
thống có FOSC=8MHz, CKDI8=1, U2X=0.
6. TK hệ thống VXL gồm có các ngoại vi sau:
- SW0SW3(BUTTON:tích cực thấp), DIPSW4
- 1 BARLED8 , 1 led đơn.
- LED 7 đoạn Anode chung giải mã bằng IC giải mã 7447.
- LED 7 đoạn giải mã bằng phần mềm.
Mạch hoạt động theo yêu cầu sau:
CT liên tục đọc data từ DIPSW sau đó chọn MODE hoạt động tương ứng với sự
tác động của 1 trong các SW từ 0 đến 3 được NHẤN:
- SW0: chuyển dữ liệu sang mã Gray và xuất ra BARLED.
- SW1: đổi data sang giá trị BCD và hiển thị lên led 7 đoạn anode chung,
nếu giá trị lớn hơn 9 thì bật đèn led đơn, ngược lại thì tắt led.
- SW2: hiển thị data theo số HEX lên led 7 đoạn cathode chung.
- SW3: cộng thêm 40H và gửi ra UART.

Bài giảng môn Vi xử lý 34


GV: Lê Thị Kim Anh

You might also like