0 
TS Nguyễn trọng doanh 
điều khiển 
plc 
 1 
Lời nói đầu 
Tự động hoá ngày nay trở thành một nhu cầu không thể thiếu được 
trong tất cả các lĩnh vực của nền kinh tế quốc dân. Công nghệ tự động hoá 
đã và đang đóng vai trò quyết định trong sản xuất, bởi vì nó đáp ứng được 
hai yêu cầu chính của sản xuất đó là: năng xuất và chất lượng. Tự động hoá 
có thể làm tăng năng xuất, nâng cao chất lượng và giảm giá thành sản phẩm. 
Tuy nhiên tự động hoá một quá trình sản xuất là một nhiệm vụ khó và phức 
tạp nhất so với việc tự động hoá ở các lĩnh vực khác. Tự động hoá chính là 
tập hợp trí tuệ đỉnh cao của các ngành như: Cơ khí, điện , điện tử, điều khiển 
và tin học. Phần cơ khí bao gồm các lĩnh vực như động lực học của các cơ 
cấu trong các máy móc, thiết bị; thiết kế các cơ cấu truyền động cơ khí 
chính xác, thuỷ lực, khí nén và ứng dụng các vật liệu chế tạo mới. Phần điện 
- điện tử tạo nền tảng cho việc cung cấp năng lượng và các phần tử của hệ 
thống điều khiển tự động với các loại động cơ điện đặc biệt, các phần tử cảm 
biến, các mạch hay các thiết bị điều khiển. Phần điều khiển tập trung vào 
các qui luật điều khiển để có thể tạo ra một hệ thống có chất lượng điều 
khiển cao nhất. Phần tin học đã và đang đóng vai trò rất quan trọng trong 
việc quản lý, điều hành, tổ hợp, phối hợp các hoạt động của các phần tử 
trong hệ thống tự động. Chính vì thế từ những năm 70 đã xuất hiện các 
ngành kỹ thuật mới, mà bản thân các ngành này là sự tổ hợp của nhiều 
ngành khác nhau như Công nghệ rô bốt (Robotics), Công nghệ tự động hoá 
hay Mechatronics (Mechanics + Electronics + Control + Informatics), Công 
nghệ Cơ sinh học Biomechanics (Biology + Mechanics) vv. Để có thể hiểu 
được về Công nghệ Tự động hoá các kỹ sư và cán bộ kỹ thuật phải được 
trang bị các kiến thức cơ bản về kỹ thuật điện, về điều khiển tự động, về 
động lực học hệ thống, cơ khí chính xác, về nguyên lý hoạt động của các 
phần tử và cơ cấu trong hệ thống điều khiển tự động và đặc biệt là lô gíc 
công nghệ của hệ thống được tự động hoá. Đối với các quá trình công nghệ 
đơn lẻ, để tự động hoá được không cần đến các hệ thống điều khiển phức 
tạp, mà chỉ cần các hệ thống điều khiển cơ bản dạng hệ thống điều khiển 
tương tự. Các máy tự động, các dây chuyền sản xuất hay các hệ thống vật lý 
phức tạp, không chỉ đòi hỏi một hệ thống các thiết bị kỹ thuật cao mà bắt 
buộc phải điều khiển bằng các hệ thống điều khiển số hay điều khiển bằng 
máy tính. Thiết bị điều khiển khả lập trình PLC (Programable Logic 
Controller) là một thiết bị điều khiển công nghiệp dạng thiết bị điều khiển số 
chuyên dụng, nó không chỉ thay thế cho thiết bị điều khiển lô gíc cứng mà 
còn có thể thay thế được các thiết bị điều khiển tương tự thông thường bằng 
kỹ thuật điều khiển số. Cuốn sách này với mục tiêu chủ yếu phục vụ cho các 
sinh viên đại học, cao học ngành Cơ khí, Cơ điện tử, nên tác giả buộc phải 
 2 
giới thiệu qua các kiến thức cơ bản về điều khiển số hay điều khiển bằng 
máy tính, điều khiển lô gíc trước khi đi vào các nội dung chính của thiết bị 
điều khiển công nghiệp này và các ứng dụng của nó. Nội dung của cuốn 
sách gồm bốn phần: 
+ Phần thứ nhất: Lý thuyết điều khiển số, 
+ Phần thứ hai: Lý thuyết điều khiển lô gíc, 
+ Phần thứ ba: Thiết bị điều khiển khả lập trình PLC, 
+ Phần thứ tư : Các ứng dụng của PLC 
 Chắc chắn rằng trong quá trình biên soạn lần đầu cuốn sách này sẽ 
không thể tránh hết được các sai sót về nội dung lẫn học thuật, vì vậy rất 
mong được các bạn đọc góp ý trực tiếp hoặc trao đổi thông qua địa chỉ: Bộ 
môn Công nghệ Chế tạo máy – Viện Cơ khí, Đại học Bách khoa Hà nội, 
Nhà C5 – 112, Số 1 Đại Cồ Việt, Hai Bà Trưng – Hà nội hoặc qua e-mail: 
[email protected] 
 Tác giả 
 3 
Phần thứ nhất 
Lý thuyết điều khiển số 
Chương 1 
Khái niệm cơ bản và định nghĩa 
1.1. khái niệm cơ bản 
1.1.1. Điều khiển: 
Là tác động có mục đích lên đối tượng điều khiển nhằm đạt được các 
giá trị yêu cầu của các đại lượng ra của đối tượng điều khiển. Trước đây nói 
đến điều khiển học (Cybernetics) là nói đến một ngành khoa học chuyên 
nghiên cứu về các qui luật điều khiển. Ngày nay điều khiển học được phân 
ra thành hai mảng lớn là điều khiển học xã hội (Sociology) và điều khiển 
học cho các hệ thống kỹ thuật (Control). Trong các hệ thống kỹ thuật, điều 
khiển có thể được thể hiện bằng một trong hai dạng: điều khiển mạch hở và 
điều khiển trong mạch phản hồi. 
1.1.2. Thiết bị điều khiển: 
Là thiết bị tạo ra tín hiệu điều khiển hay tác động điều khiển. Thiết bị 
điều khiển có nhiều loại khác nhau. Xét về bản chất vật lý của tín hiệu ta có 
thể có: thiết bị điều khiển tương tự (tín hiệu vào và tín hiệu ra là các đại 
lượng liên tục) và thiết bị điều khiển số ( tín hiệu vào và tín hiệu ra là các 
chuỗi giá trị số. 
1.1.3. Đối tượng điều khiển/ Cơ cấu chấp hành 
Là phần tử của hệ thống điều khiển, chịu tác động của tín hiệu điều 
khiển và làm thay đổi giá trị của đầu ra hay đáp ứng của hệ thống. Trong các 
hệ thống sản xuất tự động hay trong các máy móc thiết bị tự động thì đối 
tượng điều khiển chính là cơ cấu chấp hành, có thể là cơ cấu cơ điện, điện từ, 
thuỷ lực hoặc khí nén. 
1.1.4. Cảm biến 
Là thiết bị theo dõi sự thay đổi của một đại lượng vật lý nào đó thông 
qua một đại lượng tỉ lệ là điện áp hoặc dòng điện. Cảm biến có thể là phần tử 
đo của thiết bị đo tự động. Cảm biến là phần tử không thể thiếu được trong 
các hệ điều khiển có phản hồi. Cảm biến đóng vai trò rất quan trọng trong hệ 
thống điều khiển, vì chất lượng của hệ thống điều khiển phụ thuộc một phần 
không nhỏ vào chất lượng của cảm biến. 
 4 
1.1.5. Hệ thống điều khiển tự động 
Là tập hợp của các phần tử cơ bản như: bộ so sánh tín hiệu, thiết bị 
điều khiển, cơ cấu chấp hành và cảm biến, nhằm điều khiển đáp ứng (đầu ra) 
của hệ thống đạt tới các giá trị mong muốn mà không cần có sự can thiệp 
của con người. 
1.1.6. Tự động hoá 
Là sử dụng các máy móc, thiết bị tự động để thay thế cho một hoạt 
động nào đó của con người. Các hoạt động này có thể là các hoạt động chân 
tay hoặc các hoạt động trí tuệ. Tự động hoá các lao động cơ bắp của con 
người đã được tiến hành từ những năm 40 của thập kỷ trước bằng các máy tự 
động “cứng” hoạt động, nhờ các chương trình “cam” cơ khí. Dạng tự động 
hoá này thích hợp với dạng sản xuất hàng loạt. Ngày nay ta có thể tự động 
hoá “mềm” bằng các máy công cụ điều khiển số và rô bốt công nghiệp, đây 
chính là phương tiện cho phép tự động hoá dạng sản xuất đơn chiếc hay loạt 
nhỏ, dạng sản xuất thường gặp trong sản xuất cơ khí hiện nay. 
1.1.7. Rô bốt 
Thiết bị tự động điều khiển theo chương trình nhằm thay thế cho con 
người trong các họat động sản xuất, hoặc trong các công việc ở các môi 
trường độc hại và nguy hiểm. Rô bốt phải có tối thiểu 3 bậc tự do. 
1.1.8. Máy công cụ điều khiển số CNC 
Là máy công cụ điều khiển tự động theo chương trình số, nhằm thay 
thế cho các máy công cụ thông thường trong quá trình gia công cơ khí. 
1.1.9. Hệ thống sản xuất linh hoạt 
Là hệ thống sản xuất được tự động hoá, trong đó vai trò của con 
người được thay thế hoàn toàn bằng rô bốt công nghiệp và các máy tự động 
điều khiển số. Khi thay đổi qui trình công nghệ ta chỉ cần thay đổi chương 
trình điều khiển hệ thống, chứ không cần thay đổi trang thiết bị đang sử 
dụng. Đây chính là dạng tự động hoá “mềm”. Tuy nhiên tính linh hoạt ở đây 
có thể hiểu là khả năng thay đổi chương trình sản xuất cho các sản phẩm có 
kích thước và các yêu cầu gia công tương đối gần nhau. 
1.1.10. Hệ thống sản xuất tích hợp bằng máy tính CIM 
Là hệ thống sản xuất có mức độ tự động hoá cao và các hoạt động phi 
sản xuất như: tiếp thi, thiết kế, chuẩn bị công nghệ, quản lý nguồn vật tư, 
năng lượng, quản lý nhân lực, quản lý thiết bị được tích hợp vào hệ thống 
sản xuất tự động thông qua hệ thống phần mềm quản lý dữ liệu trên máy 
 5 
tính, nhằm tối ưu hoá các nguồn lực và với sự thường xuyên cập nhật thông 
tin, làm cho hệ thống sản xuất trở nên năng động hơn và hiệu quả hơn. 
1.1.11. PLD ( Programable Logic Device) 
Thiết bị lập trình lô gíc là dạng các mạch lô gíc tổ hợp cỡ lớn với 
cấu trúc không cố định, có các cổng vào/ra và có thể lập trình thay thế cho 
các mạch lô gíc, các tiếp điểm, các công tắc vv. Thiết bị này thường là dạng 
các mảng lô gíc nhớ PLA ( Programmable Logic Array) hay PAL 
(Programmable Array Logic). Đây là hai dạng tổ hợp của các mạch AND và 
mạch OR lập trình được. 
1.1.12. PLC (Programmable Logic Controller) 
Thiết bị điều khiển lô gíc khả lập trình dạng máy tính công nghiệp 
chuyên dùng cho các hệ thống điều khiển, có trang bị bộ xử lý trung tâm, 
nhằm thay thế cho các hệ thống điều khiển lô gíc cứng, cũng như thay thế 
các thiết bị điều khiển tương tự. 
1.2. Các hế đếm và các hệ mã 
1.2.1. Khái niệm hệ đếm 
Về bản chất, máy tính hay PLC chỉ xử lý được các tín hiệu nhị phân, 
tức là các tín hiệu tương đương với hai giá trị 0 và 1. Trong quá trình xử lý 
thông tin nói chung, tất cả các dạng thông tin khác nhau đều có thể được mã 
hoá để biến đổi từ các thông tin mà máy tính không thể xử lý được, thành 
các thông tin xử lý được và kết quả lại được chuyển đổi về dạng thông tin 
ban đầu nhờ các thiết bị giải mã. Chức năng của máy tính là tính toán và xử 
lý thông tin, cho nên việc đầu tiên máy tính cần phải thực hiện được các 
phép tính với các hệ đếm khác nhau. Các thông tin có bản chất vật lý rất 
khác nhau, kể cả các tín hiệu trong quá trình điều khiển, đều có thể được mã 
hoá về dạng nhị phân, dạng máy tính xử lý dễ dàng. Đối với các tín hiệu 
dạng hai trạng thái ví dụ: đóng/ngắt, khởi động/dừng, điện áp cao/điện áp 
thấp thì việc mã hoá cũng rất đơn giản. Vấn đề phức tạp chủ yếu là mã hoá 
các tín hiệu tương tự (liên tục) từ các cảm biến và từ các thiết bị điều khiển. 
Hiện tồn tại nhiều hệ đếm khác nhau: hệ thập phân, hệ nhị phân, hệ đếm cơ 
số 8, hệ đếm cơ số 16. 
Công thức tổng quát của một hệ đếm bất kỳ được biễu diễn như sau: 
0
0
1
1
2
2
n
nb RZRZRZ...RZN ++++= 
Trong đó Z giá trị cũa chữ số, R cơ số của hệ đếm. 
 6 
1.2.1.1. Hệ thập phân 
Đây là hệ đếm thông dụng trong đời sống hàng ngày của chúng ta. 
Hệ đếm này xem ra rất đơn giản đối với con người, nhưng nếu cần tạo ra 
một thiết bị điện tử có mười trạng thái tương ứng với hệ đếm này thì chi phí 
sẽ khá tốn kém và phức tạp. Chính vì thế trong các mạch của máy tính người 
ta chỉ dùng hệ đếm nhị phân vì nó đơn giản và hiệu quả. 
Hệ thập phân hay hệ đếm cơ số 10 được biễu diễn bằng công thức: 
 00
1
1
2
2
n
n10 10.Z10.Z10.Z...10.ZN ++++= 
Ví dụ: 195510=1.10
3+9.102+5.101+5.100 
1.2.1.2. Hệ nhị phân 
Cơ số của hệ này là 2 và được biểu diễn bằng hai chữ số 0 và 1. Đây 
là hệ đếm cơ sở cho máy tính và các thiết bị điều khiển số dùng để thực hiện 
các phép toán và các chức năng điều khiển. Việc thiết kế các máy tính số xử 
lý các số liệu gồm hai số nguyên hoặc hai số đơn giản hơn nhiều so với việc 
thiết kế các máy tính có thể xử lý được các số liệu dạng thập phân. Trong 
thực tế, phần lớn các phần tử vật lý trong môi trường hoạt động của chúng 
cũng chỉ có hai trạng thái như động cơ chạy hoặc dừng, van đóng hay mở, 
công tắc bật hay tắt vv. Hệ nhị phân biểu diễn các giá trị cũng tương tự như 
hệ thập phân, chỉ có khác nhau là mỗi chữ số chỉ là hàm mũ của 2 thay vì 
hàm mũ của 10. Số nhị phân được biễu diễn bởi công thức: 
 00
1
1
2
2
n
n2 2.Z2.Z2.Z...2.ZN ++++= 
Ví dụ : 10110112=1.2
6+0.25+1.24+1.23+0.22+1.21+1.20, giá trị tương 
đương với số thập phân là: 1.64+0.32+1.16+1.8+0.4+1.2+1.1= 9110 
Biểu diễn số âm của hệ nhị phân có phần phức tạp hơn và có thể dùng một 
trong hai phương pháp: phương pháp dùng bit dấu và phương pháp số bù nhị 
phân. Phương pháp dùng bít dấu tương đối đơn giản vì chỉ cần xác định độ 
lớn giới hạn của giá trị có thể biểu diễn được sau đó phải thêm một bit ký 
hiệu dấu. Nếu số dương thì bit dấu mang giá trị 0 và nếu là số âm thì bit 
mang giá trị 1. 
Phương pháp dùng số bù nhị phân thì dùng số bù của của từng bit và cộng 
thêm vào bit cuối cùng 1. 
 Ví dụ: 01011012 = 4510 thì 10100112 = - 45 
1.2.1.3. Hệ cơ số tám 
Hệ nhi phân sử dụng quá nhiều chữ số để biểu diễn cùng một số so 
với các hệ đếm khác. Đồng thời rất khó để chúng ta có thể tính toán các số 
nhị phân lớn mà không gây sai sót. Để tránh hiện tượng này, một số nhà sản 
xuất máy tính bắt đầu bằng việc sử dụng hệ đếm cơ số tám (hệ bát phân). 
 7 
Các số cơ sở của hệ nay là tám giá trị: 0, 1, 2, 3, 4, 5, 6, 7. Mỗi chữ số có giá 
trị tương ứng với hàm mũ cơ số tám. 
 Ví dụ: 13018 = 1x8
3 +3x82 + 0x81 +1x80 
 = 1x512 + 3 x64 +0x8 +1x1 
 = 512 + 192 + 0 + 1 
 = 70510 
ưu điển của hệ cơ số tám là có thể biểu diễn được mỗi chữ số bằng ba bit 
nhị phân (bảng 1.1). Điều này làm tăng tiện ích và khả năng xử lý các phép 
tính nhị phân. Hệ này được sử dụng rộng rãi trong các hệ PLC. 
 Bảng 1.1 
Hệ nhi phân Hệ bát phân 
000 0 
001 1 
010 2 
011 3 
100 4 
101 5 
110 6 
111 7 
Ta có thể chuyển một số thập phân sang số bát phân bằng cách chia liên tục 
cho cơ số 8, giá trị số bát phân chính là tập hợp các chữ số là các số dư theo 
chiều nghịch của phép chia. 
Ví dụ: Cần biến đổi số 25010 sang hệ bát phân. 
Ta tiến hành chia 250 lần lượt cho 8 với trình sau: 
 250 : 8 = 31 dư 2 
 31 : 8 = 3 dư 7 
 3 : 8 = 0 dư 3 
 Vậy kết quả là: 25010 = 3728 
1.2.1.4. Hệ đếm cơ số mười sáu ( Thập lục phân): 
Hệ đếm cơ số 16 có thể b iểu d iễn các số ngắn hơn hệ cơ số 8 , và 
cũng được sử dụng rộng rãi trong các hệ PLC. Hệ này gồm 16 chữ số cơ sở: 
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Mỗi chữ số của hệ cơ số mười sáu 
có thể biểu diễn bằng 4 bit nhị phân (bảng 1.2). 
 Bảng 1.2 
Hệ nhị phân Hệ cơ số 16 Hệ nhị phân Hệ cơ số 16 
0000 0 1001 9 
0001 1 1010 A 
 8 
0010 2 1011 B 
0011 3 1100 C 
0100 4 1101 D 
0101 5 1110 E 
0110 6 1111 F 
0111 7 10000 10 
1000 8 10001 11 
Để chuyển một số từ hệ nhị phân sang hệ cơ số 16 ta chỉ việc gộp 4 bit làm 
một chữ số là xong. Ví dụ 0110 1110 1001 2 = 6E9 
Biến đổi từ số hệ 16 sang số thập phân tuân thủ theo đúng công thức chung 
và cơ số lúc này là 16: 
0
0
1
1
2
2
n
n16 16.Z16.Z16.Z...16.ZN ++++= 
Ngược lại biến đổi từ số thập phân sang số hệ 16 bằng cách thực hiện phép 
chia cho 16, trình tự các số dư theo chiều nghịch với phép chia chính là trình 
tự các chữ số hệ 16 từ trái qua phải. 
Ví dụ: Biến đổi số 36010 sang số tương đương hệ 16. 
Ta tiến hành như sau: 
 360 : 16 = 22 dư 8 
 22 : 16 = 1 dư 6 
 1 : 16 = 0 dư 1 
 Như vậy : 36010 = 16810 
Điều quan trọng ở đây là cách biễu diễn hệ cơ số 8 và 16 thường dùng để tạo 
thuận lợi cho người sử dụng có thể theo dõi được qua trình xử lý số một cách 
dễ dàng, tránh đươch sai sót. Tuy nhiên các máy tính hiện nay đều chuyển 
đổi tất các số hệ 8, 10, 16 sang các chuỗi nhị phận và thực hiện các phép 
tính với các chữ số nhị phân này cũng đơn giản và dễ dàng hơn cho máy tính 
số. 
1.2.2. Các hệ mã hoá dữ liệu nhị phân 
Để có thể mã hoá được các thông tin, chúng ta cần có các hệ mã dữ 
liệu. Tồn tại nhiều hệ mã dữ liệu khác. Mục đích chung của các mã này là 
biến đổi các dữ liệu dạng chữ, dạng số hay dạng tín hiệu điều khiển thành 
các tín hiệu điện tử để có thể xử lý dễ dàng bằng các bộ xử lý tín hiệu và sau 
đó có thể biến đổi ngược lại thành tín hiệu dạng ban đầu. Sự khác biệt của 
các hệ mã là chổ làm thế nào khai thác tối đa các bit sử dụng và tránh được 
các sai số. 
 9 
1.2.2.1. Mã nhị phân 
 Mã nhị phân là loại mã dùng n bit để biễu diễn 2n ký tự khác nhau. 
Mã nhị phân là biến đổi trực tiếp của số thập phân ra số nhị phân. Mã nhị 
phân là loại mã máy tính được sử dụng rộng rãi bởi tính sắp xếp có hệ thống 
của các chữ số thập phân và tính chuyển đổi dễ dàng. Mã nhị phân còn được 
gọi là mã trọng lượng, bởi vì mỗi cột có độ lớn tương ứng với 2n, với n là số 
bit tương ứng của cột. Trên bảng 1.3 là cách mã hoá số thập phân bằng mã 
nhị phân. 
Bảng 1.3 
Số thập phân Mã nhị phân Số thập phân Mã nhị phân 
0 00000 11 01011 
1 00001 12 01100 
2 00010 13 01101 
3 00011 14 01110 
4 00100 15 01111 
5 00101 46 10000 
6 00110 17 10001 
7 00111 18 10010 
8 01000 19 10011 
9 01001 20 10100 
10 01010 21 10101 
Bit cuối cùng có trọng lượng là một nên nó liên tục thay đổi. Bit thứ 2 của 
đầu cuối sẽ thay đổi theo chu kỳ là 2. Tương tự như vậy, bit thứ 3 sẽ thay đổi 
với chu kỳ là 4. 
ưu điểm của mã nhị phân là rất đơn giản, nhưng ngược lại nó khá cồng 
kềnh. 
12.2.2. Mã BCD (Binary Coded Decimal) 
 Mọi máy tính chỉ làm việc bằng hệ mã nhị phân, nhưng để sử dụng 
hiệu quả hơn các bit của máy tính thì người ta hay sử dụng mã BCD. Đây là 
loại mã dùng thực hiện các phép tính số bên trong các thiết bị xử lý thông 
tin. Loại mã này cũng được dùng rộng rãi trong các thiết bị điều khiển khả 
lập trình để mã hoá số liệu cho các thiết bị hiển thị số dùng đi ốt quang 
LED. Bất lợi chính của loại mã này không có khả năng mã hoá các chữ và 
không có khả năng kiểm tra lỗi. Mỗi chữ số thập phân được biễu diễn bằng 4 
bit (bảng 1.4). 
 10 
Với 4 bit nhị phân ta có thể mã hoá được 16 ký tự, nhưng mã BCD chỉ dùng 
các số nhị phân từ 0000 tới 1001, còn các số sau đây không dùng: 1010, 
1011, 1100, 1101, 1110 và 1111. Nếu một trong 6 chữ số nhị phân không 
dùng nói trên xuất hiện, thì quá trình tính toán đã có sai sót. Mã BCD đương 
nhiên phải dùng nhiều bits hơn mã nhị phân trực tiếp. Ưu điểm của BCD là 
dễ chuyển đổi với hệ thập phân, như vậy đặc biệt có lợi, vì trong hệ thống số 
các mạch lôgíc dễ chuyển đổi. Ta dùng hệ BCD khi các thông tin thập phân 
cần trực tiếp đưa vào đầu vào và ở đầu ra cho thấy kết quả trực tiếp bằng số 
thập phân, ví như máy tính điện tử các số thập phân đưa vào thông qua bàn 
phím và kết quả ra cũng là số thập phân trên màn hình. Các thiết bị đếm số, 
cân số, von-kế số cũng tương tự như vậy, bởi vì hiện thị bằng mã nhị phân 
thì không phải ai cũng có thể hiểu được. 
Bảng 1.4 
Số thập phân Mã BCD Số thập phân Mã BCD 
0 0000 10 0001 0000 
1 0001 11 0001 0001 
2 0010 12 0001 0010 
3 0011 13 0001 0011 
4 0100 14 0001 0100 
5 0101 15 0001 0101 
6 0110 16 0001 0110 
7 0111 17 0001 0111 
8 1000 18 0001 1000 
9 1001 19 0001 1001 
 Ví dụ cần biểu diễn các số thập phân: 395, 567, 798 và 4900 sang mã 
BCD. Ta sẽ có: 
 395 = 0011 1001 0101 
 567 = 0101 0110 0111 
 798 = 0111 1001 1000 
 4900 = 0100 1001 0000 0000 
Để hiện thị các số thập phân, người ta sử dụng bộ giải mã 4/7 bit, với 4 bit 
đầu vào mã BCD và 7 bit đầu ra tương ứng với một chữ số thập phân biễu 
diễn bằng tinh thể thạch anh lỏng. 
1.2.2.3 Mã Gray 
 Mã nhị phân có một nhược điểm là khi chuyển trạng thái từ một số 
giá trị sang giá trị kế tiếp, có đồng thời sự thay đổi trên hai hay nhiều bit, 
điều này dẫn đến có thể xuất hiện các lỗi ở các trạng thái quá độ. 
 11 
Ví dụ các cảm biến trạng thái khi chuyển từ 1 sang 2 sẽ có thể xuất hiện các 
lỗi ở trạng thái quá độ: 001 → 000 → 010 hoặc 001 → 011 →010. 
 Mã Gray được thiết kế để giải quyết vấn đề này. Mã Gray được ứng dụng 
trong các bộ Encoder gia tăng dùng cho các máy CNC. Các giá trị kế tiếp 
nhau ở mã Gray chỉ có một bit thay đổi và các tổ hợp các bit này là các tổ 
hợp liền kề, nên không xuất hiện lỗi như mã nhị phân. 
Bảng giá trị chân lý trên bảng 1.5 thể hiện sự khác nhau giữa mã nhị phân và 
mã Gray. 
Bảng 1.5 
Số 
thập 
phân 
Mã nhị phân 
B4 B3 B2 B1 
Mã Gray 
G4 G3 G2 G1 
0 0 0 0 0 0 0 0 0 
1 0 0 0 1 0 0 0 1 
2 0 0 1 0 0 0 1 1 
3 0 0 1 1 0 0 1 0 
4 0 1 0 0 0 1 1 0 
5 0 1 0 1 0 1 1 1 
6 0 1 1 0 0 1 0 1 
7 0 1 1 1 0 1 0 0 
8 1 0 0 0 1 1 0 0 
9 1 0 0 1 1 1 0 1 
10 1 0 1 0 1 1 1 1 
11 1 0 1 1 1 1 1 0 
12 1 1 0 0 1 0 1 0 
13 1 1 0 1 1 0 1 1 
14 1 1 1 0 1 0 0 1 
15 1 1 1 1 1 0 0 0 
Quan hệ giữa số N thể hiện bằng mã nhị phân thông thường với số n thể hiện 
bằng mã Gray được biễu diễn bằng công thức sau: 
𝑛 = 𝑁⊕2𝑁
2
, trong đó dấu ⊕ là phép cộng nhị phân có giới hạn. 
Ta có thể dễ