Tải bản đầy đủ (.pdf) (271 trang)

ĐHCN bài giảng kỹ thuật số ths nguyễn trọng hải, 271 trang

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.48 MB, 271 trang )

BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ
THÀNH PHỐ HỒ CHÍ MINH

BÀI GIẢNG

KỸ THUẬT SỐ
Ths. NGUYỄN TRỌNG HẢI

LƯU HÀNH NỘI BỘ
05/2006


MỤC LỤC
TỔNG QUAN .................................................................................................... Trang 1
CHƯƠNG 1. HỆ THỐNG SỐ ĐẾM ........................................................................... 4
1.1. Cơ số – chuyển đổi cơ số..................................................................................4
1.2. Các bộ mã hóa số hệ mười thông dụng ..........................................................14
CHƯƠNG 2. ĐẠI SỐ BOOLEAN VÀ CÁC CỔNG LOGIC .................................. 24
2.1. Khái niệm về logic hai trạng thái ...................................................................24
2.2. Bảng sự thật ....................................................................................................24
2.3. Các phép toán cơ bản .....................................................................................25
2.4. Mô tả các mạch logic theo phương pháp đại số .............................................25
2.5. Thực hiện các mạch logic từ biểu thức Boolean.............................................25
2.6. Cổng NOR và NAND .....................................................................................26
2.7. Phép toán XOR và phép toán tương đương ....................................................27
2.8. Các đònh lý cơ bản của đại số Boolean...........................................................27
2.9. Logic dương và âm .........................................................................................31
2.10. Các hàm cơ bản và phương pháp biểu diễn ..................................................23
2.11. Tối thiểu hàm logic bằng bìa K ....................................................................38
CHƯƠNG 3. MẠCH LOGIC TỔ HP ..................................................................... 45


3.1. Giới thiệu ........................................................................................................45
3.2. Thiết kế mạch logic tổ hợp .............................................................................45
3.3. Kỹ thuật cực tiểu Quine-Mc Cluskey .............................................................47
3.4. Thiết kế mạch không sử dụng bảng sự thật ....................................................49
3.5. Mạch giải mã ..................................................................................................53
3.6. Mạch mã hóa ..................................................................................................59
3.7. Bộ chọn kênh..................................................................................................62
3.8. Bộ phân kênh..................................................................................................65
3.9. Mạch số học ....................................................................................................67
3.10. Mạch chuyển mã .........................................................................................69


CHƯƠNG 4. HỆ TUẦN TỰ....................................................................................... 74
4.1. Tổng quan .......................................................................................................74
4.2. Các phần tử hai trạng thái bền........................................................................75
4.3. FlipFlop...........................................................................................................76
4.4. FlipFlop dùng xung clock................................................................................79
4.5. Các ứng dụng của FlipFlop.............................................................................83
4.6. Máy trạng thái ..............................................................................................104
4.7. Lưu đồ máy trạng thái ..................................................................................105
4.8. Bộ nhớ bán dẫn .............................................................................................116
4.9. ROM – thiết kế hệ thống số dùng ROM ......................................................118
4.10. PLD tổ hợp ..................................................................................................127
4.11. PLD tuần tự.................................................................................................132
4.12. Các PLD tuần tự khác .................................................................................135
CHƯƠNG 5. CÁC HỌ VI MẠCH SỐ..................................................................... 146
5.1. Tổng quan .....................................................................................................146
5.2. Các đặc trưng của vi mạch số .......................................................................146
5.3. Họ RTL .........................................................................................................148
5.4. Họ DTL.........................................................................................................148

5.5. Họ TTL .........................................................................................................148
5.6. Các đặc điểm của họ TTL chuẩn..................................................................149
5.7. Họ TTL cải tiến ............................................................................................150
5.8. Họ TTL với ngõ ra cực thu hở ......................................................................150
5.9. Họ TTL ba trạng thái ....................................................................................151
5.10. Mạch logic MOS .........................................................................................151
5.11. Họ CMOS ...................................................................................................151
5.12. Một số vi mạch thông dụng ........................................................................152
CHƯƠNG 6. GIAO TIẾP TƯƠNG TỰ - SỐ ........................................................... 153
6.1. Biến đổi ADC ...............................................................................................153
6.2. Biến đổi DAC ...............................................................................................160
PHỤ LỤC A. TRA CỨU CÁC IC THÔNG DỤNG..............................................167
PHỤ LỤC B. CÔNG CỤ CAD TRONG THIẾT KẾ SỐ .....................................251


Bài Giảng Kỹ Thuật Số

Tổng quan

TỔNG QUAN
Các hệ thống số thường sử dụng rộng rãi trong tính toán và xử lý data như trong
các hệ thống điều khiển, trong thông tin, và trong đo lường vì các hệ thống số có
khả năng chính xác cao hơn các hệ thống tương tự.
Trong một hệ thống số, các tín hiệu vật lý có thể xem như các giá trò rời rạc, trong
khi ở hệ thống tương tự các đại lượng này thay đổi liên tục.
Ví dụ, điện áp ngõ ra của một hệ thống số có thể được biến đổi sao cho ngõ ra chỉ

có 2 giá trò 0 và 1, trong khi điện áp ngõ ra từ hệ thống tương tự có giá trò thay đổi
trong khoảng từ Vmin đến Vmax
Do các hệ thống số làm việc với các đại lượng rời rạc, trong nhiều trường hợp có

thể được thiết kế với kết quả ngõ vào và ngõ ra một cách chính xác.
Ví dụ, nếu nhân 2 số gồm 5 chữ số sử dụng bộ nhân digital thì kết quả là một số có

10 chữ số chính xác cả 10. Nói cách khác, ngõ ra của bộ nhân analog có thể có một
khoảng sai số (%) tùy thuộc vào độ chính xác của các thành phần thiết lập nên bộ
nhân.
Thiết kế của các hệ thống số có thể chia ra 3 phần:
Thiết kế
hệ thống


Thiết kế
Logic

Thiết kế
Mạch

Thiết kế hệ thống (system design) bao gồm việc chia nhỏ một hệ thống lớn
thành các hệ thống con và chỉ rõ các đặc tính của mỗi hệ thống con. Ví dụ, thiết

kế hệ thống của một máy tính số bao gồm việc chỉ ra số và dạng của các đơn vò
nhớ, đơn vò toán học, các thiết bò vào ra cũng như việc kết nối và điều khiển
của các hệ thống con này v.v...


Thiết kế logic (logic design) bao gồm việc xác đònh làm thế nào để kết nối các

khối logic cơ bản để hình thành hàm đặc biệt.



Thiết kế mạch bao gồm việc chỉ ra các kết nối bên trong của các thành phần

như điện trở, diode, transistor để hình thành một cổng, flipflop hoặc các khối
logic khác. Hầu hết các thiết kế mạch hiện tại được thực hiện dưới dạng mạch
tích hợp dùng công cụ thiết kế với sự trợ giúp của máy tính để tạo các kết nối
trong giữa các thành phần trên một chip silicon.
Nhiều hệ thống con có dạng chuyển mạch như sau:
Inputs

X1
X2

Switching
Network

Xm

Z1
Z2
Zn

Trang 1

Outputs


Bài Giảng Kỹ Thuật Số

Tổng quan


Một mạng chuyển mạch có một hay nhiều ngõ vào và một hay nhiều ngõ ra, 2 loại
switching network thông thường là:


Mạch tổ hợp, trong đó các tín hiệu ngõ ra chỉ lệ thuộc vào trạng thái ngõ

vào hiện tại (không lệ thuộc vào giá trò ngõ vào trước đó).


Mạch tuần tự, các ngõ ra sẽ tùy thuộc cả giá trò trước đó và giá trò hiện tại

của ngõ vào. Nói cách khác, để xác đònh ngõ ra của mạch tuần tự, một
chuỗi các ngõ vào phải được xác đònh. Mạch tuần tự được gọi là mạch có
nhớ vì nó phải nhớ một số trạng thái trước đó của ngõ vào, trong khi mạch
tổ hợp thì không có nhớ. Tổng quát, mạch tuần tự là kết hợp của một mạch
tổ hợp với các phần tử nhớ.
Các khối cơ bản sử dụng trong các mạch tổ hợp là các cổng logic. Khi thiết kế
logic, phải xác đònh làm thế nào kết nối các cổng này để biến đổi các tín hiệu ngõ
vào thành các tín hiệu ngõ ra mong muốn.
Mối quan hệ giữa các tín hiệu ngõ vào và ngõ ra phải được mô tả toán học, trong
thiết kế số gọi là đại số Boolean.
Các bước thiết kế một mạch tổ hợp



Thiết lập một bảng mô tả mối quan hệ giữa ngõ ra và tổ hợp ngõ vào



Thiết lập biểu thức logic toán học mô tả các ngõ ra như một hàm của các

ngõ vào.



Rút gọn biểu thức logic mô tả ngõ ra dùng một số phương pháp thông dụng
như bìa Karnaugh, Quine-McCluskey v.v...



Thực hiện mạch

Các phần tử nhớ cơ bản trong thiết kế mạch tuần tự là các FlipFlop. Các flipflop có
thể được kết nối với các cổng để hình thành một mạch tuần tự.
Các bước thiết kế một mạch tuần tự



Thiết lập một bảng mô tả mối quan hệ giữa ngõ ra hiện tại và ngõ ra kế
tiếp.



Thiết lập biểu thức logic toán học mô tả các ngõ vào của flipflop như một
hàm của các ngõ ra.



Rút gọn biểu thức logic mô tả ngõ vào dùng một số phương pháp thông
dụng như bìa Karnaugh, Quine-McCluskey v.v...




Thực hiện mạch

Phân tích một cách tổng quát về các mạch tuần tự thường dùng các giản đồ thời
gian, máy trạng thái và graph.
Phần tử chuyển mạch dùng trong các hệ thống số thường là các phần tử 2 trạng
thái, ngõ ra chỉ có 2 giá trò rời rạc khác nhau. Ví dụ relay, diode, transistor... Hai

trạng thái của relay là đóng và mở tùy thuộc vào nguồn cung cấp cho cuộn dây.
Trang 2


Bài Giảng Kỹ Thuật Số

Tổng quan

Hai trạng thái của diode là trạng thái dẫn và không dẫn. Hai trạng thái của
transistor là bão hòa và tắt, vì vậy thường dùng các số nhò phân trong các hệ thống
số.
Bất cứ các thiết kế logic số nào cũng có thể được thực hiện nhờ PLD
(Programmable Logic Design). PLD là tên gọi tổng quát của một IC số mà có thể
lập trình được để thực hiện các hàm logic khác nhau và là một chip chứa các cấu
trúc mạch có qui luật cho phép người thiết kế tạo các ứng dụng cụ thể
Q trình thiết kế PLD như sau

Ý tưởng

Trình soạn
thảo mạch


Trình soạn
thảo văn bản

Trình biên dịch
và mơ phỏng

Kit nạp IC

Một số công cụ phần mềm hỗ trợ trong thiết kế số: MAX+PLUS II, ABEL,
SYNARYO...
Một số ngôn ngữ mô tả phần cứng: ABEL, VHDL, AHDL,...

Trang 3


Bài Giảng Kỹ Thuật Số

Chương 1

CHƯƠNG 1. HỆ THỐNG SỐ ĐẾM
1.1.

CƠ SỐ - CHUYỂN ĐỔI CƠ SỐ

1.1.1. Khái niệm
Bất cứ một số nguyên dương R (R>1) đều có thể được chọn làm cơ số cho một
hệ thống số.
Nếu hệ thống có cơ số R thì các số từ 0 đến (R-1) được sử dụng.
Ví dụ: nếu R=8 thì các chữ số cần thiết là 0,1,2,3,4,5,6,7.

Các hệ thống cơ số thông dụng trong kỹ thuật số:


Thập phân (cơ số 10).



Nhò phân (cơ số 2).



Bát phân (cơ số 8).



Thập lục phân (cơ số 16).

Một hệ thống với cơ số R được biểu diễn dưới dạng
(…a3a2a1a0 a-1a-2a-3…)R
Phần
ngun

Phần thập
phân

Khai triển theo hàm mũ của R.
N =(a3a2a1a0a-1a-2a-3)R
= a3.R3 + a2.R2 + a1.R1 + a0.R0 + a-1.R-1 + a-2.R-2 + a-3.R-3
Với các cơ số lớn hơn 10 thì cần phải thêm các ký hiệu để biểu hiện các số lớn
hơn 10. Ví dụ hệ thập lục phân (hex) có cơ số 16 thì A biểu thò 10, B biểu thò

11,…, F biểu thò 15.
Đổi giữa các cơ số
Phần ngun và phần thập phân được đổi một cách riêng biệt
Phần ngun được đổi bằng cách sử dụng phép chia lặp cho cơ số mới và sử
dụng chuỗi các số dư phát sinh để tạo ra số mới. Phép tính số học được thực
hiện trên các số hạng của cơ số cũ
Phần thập phân được đổi bằng cách nhân lặp lại cho cơ số mới, sử dụng các
số ngun được tạo ra để biểu thị phân số được chuyển đổi, phép tính số
học được thực hiện trên các cơ số cũ

GV: Nguyễn Trọng Hải

Trang 4


Bài Giảng Kỹ Thuật Số

Chương 1

Ví dụ: Biến đổi phần ngun trong hệ cơ số 10 sang hệ cơ số R
N = (anan-1…a2a1a0)R = an.Rn + an-1.Rn-1 + … + a2.R2 + a1.R1 + a0
Nếu chia N cho R, nhận được số dư là a0
a
N
= an.Rn-1 + an-1.Rn-2 + … + a2.R1 + a1 + 0 = Q1 + số dư a0
R
R

Chia Q1 cho R
Q1

a
= an.Rn-2 + an-1.Rn-3 + … + a3.R1 + a2 + 1 = Q2 + số dư a1
R
R

Quá trình trên được thực hiện tiếp tục cho đến khi tìm được tất cả các hệ số an
Ví dụ: Biến đổi phần thập phân của hệ cơ số 10 sang hệ cơ số R
F = (a-1a-2a-3…a-m)R
= a-1.R-1 + a-2.R-2 + a-3.R-3 +… + a-m.R-m
Nhân F với R
FR = a-1 + a-2.R-1 + a-3.R-2 +… + a-m.R-m+1 = a-1 + F1
Với a-1 là phần nguyên, F1 là phần lẻ của phép nhân
Tiếp tục nhân R với F1
F1.R = a-2 + a-3.R-1 + a-4.R-2 + … + a-m.R-m+2 = a-2 + F2
Tiếp tục quá trình cho đến khi xác đònh hết các hệ số a-m
Biến đổi giữa 2 cơ số khơng phải là cơ số 10 có thể thực hiện dễ dàng bằng cách
đầu tiên biến đổi sang cơ số 10 rồi biến đổi tiếp từ cơ số 10 sang cơ số mới.
1.1.2. Hệ thập phân (hệ cơ số 10)
Hệ thập phân được kết hợp bởi 10 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Một chữ số trong hệ thập phân được biểu diễn theo các số mũ của 10.
Trọng số

103 102 101 100

5
MSD

3

4


6

10-1 10-2

,

Điểm thập
phân

7 2
LSD

Số mang trọng số lớn nhất gọi là MSD (most significant digit)
Số mang trọng số nhỏ nhất gọi là LSD (least significant digit)
Ví dụ: Số 5346,72 biểu diễn như sau:
5346,72 = 5.103 + 3.102 + 4.10 + 6 + 7.10-1 + 2.10-2

GV: Nguyễn Trọng Hải

Trang 5


Bài Giảng Kỹ Thuật Số


Chương 1

Đếm trong hệ thập phân:
0

1
2
3
4
5
6
7
8
9

10
11
12
13
14

100
101
102
103
104
105
106
107
108
109

99

Tổng quát với N chữ số có thể đếm được 10N số khác nhau, bao gồm cả số 0. Số

thập phân lớn nhất là 10N – 1.
1.1.3. Hệ nhị phân (hệ cơ số 2)
Hệ nhò phân dùng hai chữ số 0, 1.
Một số trong hệ nhò phân được biểu diễn theo số mũ của 2.
Trọng số

23

22 21 20 2-1 2-2 2-3

1 0
MSB

1 1 1 0 1
Điểm nhò
phân

LSB

Một chữ số nhò phân gọi là bit.
Chuỗi 4 bit nhò phân gọi là nibble.
Chuỗi 8 bit gọi là byte.
Chuỗi 16 bit gọi là word.
Chuỗi 32 bit gọi là double word.
Chữ số nhò phân bên phải nhất của chuỗi bit gọi là bit có ý nghóa nhỏ nhất (least
significant bit – LSB)
Chữ số nhò phân bên trái nhất của chuỗi bit gọi là bit có ý nghóa lớn nhất (most
significant bit – MSB).
Thường dùng chữ B cuối chuỗi bit để xác đònh đó là số nhò phân.
Ví dụ: Số 1011,101B biểu diễn giá trò số:

1011,101B = 1.23 + 0.22 + 1.21 +1.20 + 1.2-1 + 0.2-2 + 1.2-3

GV: Nguyễn Trọng Hải

Trang 6


Bài Giảng Kỹ Thuật Số


Chương 1

Đếm trong hệ nhò phân
Xét bộ đếm 4 bit, bắt đầu với tất cả các bit = 0
Trọng số

23 = 8

22 = 4

21 = 2

20 = 1

0
0
0
0
0
0

0
0
1
1
1
1
1
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

0
0

1
1
0
0
1
1
0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1
0
1
0
1
0
1
0

1

Cũng như trong hệ thập phân, nếu dùng N bit sẽ đếm được 2N lần.


Chuyển số nhò phân thành số thập phân:
Phương pháp: Cộng trọng số các bit 1
Ví dụ: 1011,11B = 1.23 + 0.22 + 1.21 + 1 + 1.2-1 + 1.2-2 = 11,75



Chuyển số thập phân thành số nhò phân:
Phương pháp:
Phần nguyên: Chia 2, nhớ lại số dư
Phần thập phân: Nhân 2, nhớ lại phần nguyên
Ví dụ: Chuyển (25)10 ra số nhò phân

25
= 12
2
12
=6
2
6
=3
2
3
=1
2
1

=0
2

+ số dư 1
+ số dư 0
+ số dư 0
+ số dư 1
+ số dư 1
MSB
25 =

GV: Nguyễn Trọng Hải

LSB
1

Trang 7

1

0

0

1


Bài Giảng Kỹ Thuật Số

Chương 1


Ví dụ: Chuyển (0,625)10 thành số nhò phân
0,625 × 2 = 1,25
0,25

× 2 = 0,5

0,5

× 2 = 1,0

0,625 = 0,101B
1.1.4. Các phép tốn số học trên số nhị phân
Các phép toàn số học trên số nhò phân chủ yếu vẫn giống các phép toán trên số
thập phân, ngoại trừ phép cộng và phép nhân thì đơn giản hơn.
Bảng phép cộng cho số nhò phân
0+0=0
0+1=1
1+0=1
1+1=0

nhớ 1 cho số hạng kế tiếp

Ví dụ: cộng 1310 với 1110 dưới dạng nhò phân
1111
← các số nhớ
1310 = 1101
1110 = 1011
11000 =2410
Bảng phép trừ cho số nhò phân

0-0=0
0-1=1

mượn 1 từ số hạng kế tiếp

1-0=1
1-1=0
Mượn1 từ 1 cột tương đương với việc trừ 1 tại cột đó
Ví dụ:
(a)

1
← (mượn 1 từ cột thứ 3)
11101
- 10011
1010

Bảng phép nhân cho số nhò phân
0x0=0
0x1=0
1x0=0
GV: Nguyễn Trọng Hải

Trang 8

(b)

1111 ← (mượn)
10000
11

1101


Bài Giảng Kỹ Thuật Số

Chương 1

1x1=1
Ví dụ: Nhân 1310 với 1110 ở dạng nhò phân
1101
1011
1101
1101
0000
1101
10001111 =14310
Đối với máy tính, phép nhân được thực hiện bằng phương pháp cộng và dòch
trái:

-

Thành phần đầu tiên của tổng sẽ chính là số bò nhân nếu như LSB của số
nhân là 1. Ngược lại, LSB của số nhân bằng 0 thì thành phần này bằng 0.

-

Mỗi thành phần thứ i kế tiếp sẽ được tính tương tự với điều kiện là phải dòch
trái số bò nhân i bit.

-


Kết quả cần tìm chính là tổng các thành phần nói trên.

Phép chia cho số nhò phân
Phép chia các số nhò phân cũng tương tự như đối với các số thập phân.
Ví dụ: 30/6

11110
110
011
000
110
110
0

110
101

Tương tự như đối với phép nhân, ta có thể dùng phép trừ và phép dòch phải cho
đến khi không thể thực hiện phép trừ được nữa.
1.1.5. Số có dấu - khơng dấu
Hệ thống số được chia làm 2 loại: không dấu và có dấu.
Trong hệ thống có dấu: để biểu thò số nhò phân có dấu thường sử dụng bit MSB
để chỉ dấu: bit 0 chỉ số dương, bit 1 chỉ số âm, các bit còn lại để chỉ độ lớn
Như vậy, nếu ta dùng 8 bit để biểu diễn thì sẽ thu được 256 tổ hợp ứng với các
giá trò 0..255 (số không dấu) hay –127.. –0 +0 … +127 (số có dấu).
Tuy nhiên, không đơn giản là cứ thay đổi bit MSB bằng 1 để biểu diễn giá trò
âm, ví dụ như 01000001 (+65) thành 11000001 (-65), các phép tính số học sẽ
không còn đúng.
Giá trò âm được mô tả dưới dạng số bù 2.

GV: Nguyễn Trọng Hải

Trang 9


Bài Giảng Kỹ Thuật Số

Chương 1

Số bù 2 (2’s component)
Số bù 2 của một số nhò phân xác đònh bằng cách lấy đảo các bit rồi cộng thêm 1.
Ví dụ: Trong hệ thống có dấu 8bit
Số +65 biểu diễn là: 0100 0001
Số bù 2 của +65 là: 1011 1110 + 1 = 1011 1111. (– 65)
Nhưng nếu đổi ngược 1011 1111 sang thập phân sẽ không nhận được -65. Để
xác đònh giá trò tuyệt đối của một số nhò phân âm, thực hiện lại các bước trên
-65
10111111
đảo bit
01000000
cộng 1
1
+65
01000001
Thử lại bằng cách lấy tổng của +65 và –65, kết quả phải bằng 0
+65
-65
00

01000001

+10111111
(1)00000000

Trong phép cộng với số bù 2, ta bỏ qua bit nhớ cuối cùng bởi vì có một bit gán
cho bit dấu nên kết quả vẫn đúng
Khi biểu diễn theo số bù 2, nếu sử dụng 8 bit ta sẽ có các giá trò số thay đổi từ
-128 ..127.
Phép trừ thông qua số bù 2
Ngoài cách trừ như trên, ta cũng có thể thực hiện phép trừ thông qua số bù 2 của
số trừ: A-B=A+(-B)
VD:

0110 1101
- 0011 0001
Số bù 1


1
Nhớ

0110 1101
+ 1100 1111
0011 1100

1100 1110 + 1 = 1100 1111 (Số bù 2)
Kết quả 0011 1100, Bit MSB = 0 cho biết kết quả là số dương.
Xét khoảng thay đổi sau
+3
00000011
+2

00000010
+1
00000001
0
00000000
-1
11111111
-2
11111110
-3
11111101
GV: Nguyễn Trọng Hải

Trang 10


Bài Giảng Kỹ Thuật Số

Chương 1

Thấy rằng các bit 0 ở số nhò phân âm biểu thò giá trò thập phân của nó: tính giá
trò của các bit 0 theo vò trí giống như với bit 1, cộng các giá trò lại và cộng 1.
1.1.6. Hệ bát phân (hệ cơ số 8)
Hệ bát phân được kết hợp bởi 8 chữ số: 0, 1, 2, 3, 4, 5, 6, 7.
Vò trí của mỗi chữ số có trọng số như sau:
84

83

82


81

80

8-1

8-2

8-3

8-4

8-5

Điểm bát phân

¾ Đếm trong hệ bát phân
0
10
1
11
2
12
3
4
5
6
66
7

67

70
71
72

277
300

Với N chữ số bát phân, ta có thể đếm từ 0 đến 8N-1, 8N lần đếm khác nhau.
¾ Chuyển số bát phân sang số thập phân:
Ví dụ: (24.6)8 = 2.81 + 4.80 + 6.8-1 =(20.75)10
¾ Chuyển số thập phân sang bát phân:
Ví dụ: đổi (266)10 sang hệ bát phân

266
= 33
8

+ số dư 2

33
= 4 + số dư 1
8
4
= 0 + số dư 4
8
26610 =

4128


Ví dụ: Chuyển 0,3125 thành số bát phân
0,3125 × 8 = 2.5
0,5

× 8 = 4.0

( 0,3125 = 0,248 )

GV: Nguyễn Trọng Hải

Trang 11


Bài Giảng Kỹ Thuật Số

Chương 1

¾ Chuyển số bát phân sang số nhò phân:
Phương pháp: Biến đổi mỗi chữ số bát phân sang 3 bit nhò phân tương ứng
Số Octal
Số nhò phân
tương đương

0
000

1
001


2
010

3
011

4
100

5
101

6
110

7
111

Ví dụ: Biến đổi (472)8 sang số nhò phân như sau:
4

100

7

111

2

010


Vậy (472)8 chuyển sang nhò phân là 100111010B.
¾ Chuyển số nhò phân sang số bát phân.
Phương pháp: nhóm từng 3 bit bắt đầu tại LSB, sau đó chuyển mỗi nhóm
này sang số bát phân tương ứng (theo bảng chuyển đổi ở trên).
Ví dụ: chuyển 100111010B sang số bát phân
100111010


(4


7


2)8

Trường hợp các số nhò phân không đủ thành 1 nhóm 3 bits, ta thêm 1 hoặc 2
số 0 về bên trái của MSB.
Ví dụ: chuyển 11010110 sang số bát phân
011010110


(3


2


6)8


¾ Lợi ích của hệ bát phân
Việc dễ dàng chuyển từ hệ bát phân sang nhò phân và ngược lại làm cho hệ
bát phân rất có lợi trong việc rút ngắn các số nhò phân lớn. Trong máy tính,
các số nhò phân này không phải luôn luôn biểu hiện một con số mà thường
biểu thò dưới dạng mã mang thông tin, ví dụ:
• dữ liệu bằng số thực
• các số tương ứng với các vò trí (đòa chỉ) trong bộ nhớ
• mã lệnh
• mã biểu thò số học và các đặc điểm khác
• một nóm các bit biểu hiện trạng thái của các thiết bò trong và ngoài
mày tính
Khi giải quyết một lượng lớn các số nhò phân với nhiều bit, thường dùng các
số dưới dạng bát phân hơn là nhò phân để tăng độ tiện lợi, mặc dù các mạch
số và các hệ thống số làm việc hoàn toàn trên số nhò phân.
GV: Nguyễn Trọng Hải

Trang 12


Bài Giảng Kỹ Thuật Số

Chương 1

Ví dụ: Chuyển số 11710 sang hệ bát phân rồi chuyển sang hệ nhò phân
Giải

177
= 22
8


+ số dư 1

22
=2
8

+ số dư 6

2
=0
8

+ số dư 2

Vậy (177)10 =(261)8 = (10110001)2
Phương pháp chuyển số thập phân thành số nhò phân này thường nhanh hơn
việc chuyển thẳng từ thập phân sang nhò phân, đặc biệt đối với các số lớn.
Cũng như vậy đối với việc chuyển ngược lại từ nhò phân sang thập phân
bằng cách chuyển sang số bát phân
1.1.7. Hệ thập lục phân (hệ cơ số 16)
Trong hệ thống này, ta dùng các số 0..9 và các kí tự A..F để biểu diễn cho một
giá trò số (tương ứng với 10 đến 15 trong hệ 10). Thông thường, ta dùng chữ H ở
cuối để xác đònh đó là số thập lục phân.
Hệ thập lục phân
0
1
2
3
4

5
6
7
8
9
A
B
C
D
E
F

Hệ thập phân
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15


Hệ nhò phân
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

¾ Đếm trong hệ thập lục phân (hex)
Khi đếm trong hệ thập lục phân mỗi chữ số tăng từ 0 đến F sau đó về 0 và
chữ số có trọng số lớn hơn kế tiếp sẽ tăng lên 1.

GV: Nguyễn Trọng Hải

Trang 13


Bài Giảng Kỹ Thuật Số

Chương 1


0

10

20

9
A
B
C
D
E
F

19
1A

FF
100

1E
1F

6FF
700

¾ Chuyển số hex sang thập phân
Ví dụ:


35616 = 3.162 + 5.161 + 6.160 = 85410

¾ Chuyển số hex sang nhò phân
Phương pháp: mỗi chữ số hex được biến đổi thành số nhò phân 4 bit tương
ứng.
Ví dụ:

9F216 =

9
F
2



1001 1111 0010

¾ Chuyển đổi số nhò phân sang số hex
Phương pháp: các bit nhò phân được nhóm vào nhóm 4 bit từ LSB, mỗi
nhóm 4 bit được biến đổi sang số hex tương ứng. Nếu số bit không đủ 4, thì
cộng thêm bit 0 vào MSB.
Ví dụ:

11101001102 = 0 0 1 1 1 0 1 0 0 1 1 0 = 3A616
3

A

6


Ví dụ: Chuyển (378)10 sang số hex rồi chuyển sang số nhò phân, nhận xét
Ví dụ: Chuyển B2F16 sang bát phân
1.2.

CÁC BỘ MÃ HĨA SỐ HỆ MƯỜI THƠNG DỤNG
Khi các số, mẫu tự hoặc các từ words được biểu thò dưới dạng một nhóm các ký
hiệu khác, ta nói rằng chúng được mã hóa và nhóm ký tự đó được gọi là một
mã.
Một trong những mã thông dụng nhất là mã Morse, chúng bao gồm các chấm và
gạch để biểu hiện các mẫu tự hay các chữ cái.
Bất cứ số thập phân nào cũng có thể được mô tả bằng số nhò phân tương ứng,
một nhóm các số nhò phân 0 và 1 có thể được xem là một mã cho số thập phân.
Khi một số thập phân được mô tả bằng số nhò phân tương ứng với nó, người ta
gọi là mã nhò phân trực tiếp (straight binary code)

GV: Nguyễn Trọng Hải

Trang 14


Bài Giảng Kỹ Thuật Số

Chương 1

Tất cả các hệ thống số dùng một số dạng các số nhò phân cho việc thực thi bên
trong, nhưng các từ bên ngoài thì thường là thập phân, nghóa là có một sự biến
đổi thường xuyên từ thập phân sang nhò phân, sự biến đổi từ thập phân sang nhò
phân có thể chiếm một khoảng thời gian lâu và phức tạp đối với một số lớn. Vì
lý do đó, việc mã hóa các số thập phân bằng cách kết hợp một vài chức năng
của cả hệ thống thập phân và nhò phân được sử dụng trong các tình huống.

1.2.1. Mã BCD (Binary-Coded-Decimal Code)
Nếu mỗi chữ số của số thập phân được mô tả bằng số nhò phân tương ứng với
nó, kết quả ta được 1 mã gọi là mã BCD, vì chữ số thập phân lớn nhất là 9, cần
4 bit để mã hóa.
Các số 8,4,2,1 được gọi là trọng số của mã và được gọi là mã BCD 8-4-2-1.
Đôi khi trọng số 8-4-2-1 tỏ ra không thuận tiện trong tính toán, một số trọng số
khác cũng được sử dụng như 2-4-2-1, 5-4-2-1, 7-4-2-1…

Thập
phân
0
1
2
3
4
5
6
7
8
9

8
0
0
0
0
0
0
0
0

1
1

Trọng số
4 2
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0

1
0
1
0
1
0
1
0
1
0
1

7
0

0
0
0
0
0
0
1
1
1

MÃ BCD
Trọng số
Trọng số
4 2 1 2 4 2
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 0 0 1
0 1 1 0 0 1
1 0 0 0 1 0
1 0 1 1 0 1
1 1 0 1 1 0
0 0 0 1 1 0
0 0 1 1 1 1
0 1 0 1 1 1

1
0
1
0
1

0
0
0
1
0
1

5
0
0
0
0
0
1
1
1
1
1

Trọng số
1 2
0 0
0 0
0 1
0 1
1 0
0 0
0 0
0 1
0 1

1 1

1
0
1
0
1
0
0
1
0
1
1

Lưu ý rằng các loại mã 5-1-2-1 và 2-4-2-1 là không duy nhất trong khi mã 8-42-1 và 7-4-2-1 lại duy nhất
Ví dụ: Số thập phân 874 chuyển sang tương đương nhò phân như sau:

hoặc

8

1000
1011
1011

7

0111
1010
1101


3

0011
0011
0110

(thập phân)
(BCD 8-4-2-1)
(BCD 5-1-2-1)
(BCD 5-1-2-1)

Một lần nữa, mỗi chữ số thập phân được biến đổi trực tiếp sang số nhò phân
tương ứng, lưu ý rằng 4 bit luôn được dùng cho mỗi chữ số thập phân

GV: Nguyễn Trọng Hải

Trang 15


Bài Giảng Kỹ Thuật Số

Chương 1

Trong bài giảng này lấy mã BCD 8-4-2-1 làm ví du. Mã BCD biểu thò mỗi chữ
số của số thập phân bằng số nhò phân 4 bit, sử dụng các số nhò phân 4 bit từ
0000 đến 1001, không sử dụng các số 1010, 1011, 1100, 1101, 1110 và 1111.
Ví dụ: Biến đổi 0110100000111001 (BCD 8-4-2-1) sang giá trò thập phân
Giải
Chia số BCD thành các nhóm 4 bit và biến đổi sang thập phân

0110

1000 0011 1001 = 6839

So sánh BCD và nhò phân. Một điều quan trọng là mã BCD không giống như
mã nhò phân trực tiếp. Mã nhò phân trực tiếp biến đổi số thập phân sang nhò
phân trong khi mã BCD biến đổi mỗi chữ số trong số thập phân sang nhò phân.
Xét ví dụ biến đổi 137 sang mã nhò phân trực tiếp và sang BCD 8-4-2-1 như sau:
13710 = 100010012

(nhò phân)

13710 = 0001 0011 0111 (BCD 8-4-2-1)
Mã BCD cần 12 bit trong khi mã nhò phân trực tiếp chỉ cần 8 bit để biểu thò số
137. Mã BCD cần nhiều bit hơn là bởi vì BCD không dùng hết các khả năng của
các nhóm 4 bit và vì vậy có phần nào đó không hiệu quả.
Ưu điểm chính của BCD là dễ dàng chuyển sang thập phân. Chỉ phải nhớ các
nhóm mã 4bit cho các số thập phân từ 0 đến 9. Sự dễ dàng chuyển đổi này đặc
biệt quan trọng theo quan điểm về phần cứng vì trong một hệ thống số, nó là
các mạch logic để tạo nên sự chuyển đổi sang và từ thập phân
1.2.2. Các phép tốn số học với mã BCD
Cộng BCD
Cộng hai số BCD có điểm khác so với cộng hai số nhò phân. Khi tổng của mỗi
số hạng BCD ≤ 9 thì tổng đó là kết quả cuối cùng
Ví dụ,
01010011 (53)
00100101 (25)
01111000 (78)
Khi tổng hai số nhò phân ≥ 9 thì tổng phải được cộng thêm 6 và nhớ 1 lên hàng
BCD có nghóa cao hơn

Ví dụ,
0001 0111 (17)
0010 0101 (25)
0011 1100 Kết quả ≥ 9
0110 (6)
0100 0010 (42)
GV: Nguyễn Trọng Hải

Trang 16


Bài Giảng Kỹ Thuật Số

Chương 1

Trừ BCD
Giống quy luật trừ số nhò phân nhiều bit, nếu số bò trừ nhỏ hơn số trừ thì phải
mượn 1 ở hàng có nghóa lớn hơn (giống trừ thập phân)
0101 0101 (55)
0001 1000 (18)

0100
0001
0011



1111
1000
0111


Mượn 1
(37)

Biểu diễn số BCD âm
Giống hệ nhò phân, để biểu diễn số âm trong hệ nhò phân thường dùng số bù 2,
để biểu diễn số BCD âm thường dùng số bù 10.
Số bù 10 bằng số bù 9 cộng 1
Bit tận cùng bên trái là bit dấu: 1 cho số âm và 0 cho số dương
Ví dụ,
+ 342
+
- 342

0 342

Số dương

1 657

Số bù 9 của 342

1
1 658

Số bù 10 của 342

1.2.3. Mã q 3 (excess-3code)
Mã quá 3 được hình thành bằng cách cộng thêm 3 đơn vò vào mã BCD 8421.
Ví dụ: biến đổi 48 sang mã quá 3

4
+3
7

0111

8
+3
11

1011

Cộng 3 cho mỗi chữ số

Chuyển sang mã nhò phân 4 bit

Bảng liệt kê mã BCD và mã quá 3 tương ứng với các chữ số thập phân.
Thập phân
0
1
2
3
4
5
6
7
8
9

GV: Nguyễn Trọng Hải


BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001

Trang 17

Mã quá 3
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100


Bài Giảng Kỹ Thuật Số


Chương 1

1.2.4. Mã Gray
Mã Gray nằm trong nhóm mã thay đổi cực tiểu minimun-change codes, ở đó chỉ
1 bit trong nhóm mã thay đổi ở khi đi từ bước này qua bước khác.
Mã Gray là mã không có trọng số, nghóa là mọi vò trí của bit trong nhóm mã
không được gán trọng số nào. Vì vậy, mã Gray không phù hợp với các biểu thức
số học nhưng phù hợp với các thiết bò ứng dụng vào/ra & một số dạng biến đổi
analog - digital
Bảng chuyển đổi mã Gray từ số thập phân (0 đến 15) với mã nhò phân trực tiếp
Thập phân
0
1
2
3
4
5
6
7

Nhò phân
0000
0001
0010
0011
0100
0101
0110
0111


Mã Gray
0000
0001
0011
0010
0110
0111
0101
0100

Thập phân
8
9
10
11
12
13
14
15

Nhò phân
1000
1001
1010
1011
1100
1101
1110
1111


Mã Gray
1100
1101
1111
1110
1010
1011
1001
1000

1.2.5. Mã Johnson
Mã này sử dụng năm chữ số nhò phân để biểu diễn các chữ số hệ mười.
Phương pháp: Khi chuyển sang số tiếp theo mã sẽ thay chữ số 0 bằng chữ số
1, bắt đầu từ phái sang trái, cho đến khi đạt 11111 thì sẽ bắt đầu thay thế dần
chữ số 1 bằng chữ số 0 và cũng theo chiều từ phải sang trái

Hệ 10

Mã Johnson
J4
J3
J2
J1
J0
0
0
0
0
0
0

1
0
0
0
0
1
1
1
0
0
0
2
1
1
1
0
0
3
1
1
1
1
0
4
1
1
1
1
1
5

0
1
1
1
1
6
0
0
1
1
1
7
0
0
0
1
1
8
0
0
0
0
1
9
Ngoài ra còn dùng các loại mã có chữ số lớn hơn như 8 hoặc 10 chữ số, nhược
điểm của các loại mã này là độ dài từ mã lớn nên chiếm nhiều thời gian trong
kênh thông tin nhưng ưu điểm là có thể phát hiện sai và trong nhiều trường hợp
còn có thể sửa sai, vì vậy thường gọi là mã chống nhiễu (nội dung này nằm
trong lý thuyết thông tin)


GV: Nguyễn Trọng Hải

Trang 18


Bài Giảng Kỹ Thuật Số

Chương 1

1.2.6. Các mã Alphanumeric (mã theo chữ cái và con số)
Ngoài các dữ liệu số, một máy tính phải có khả năng xử lý các công tin không
số. Nói cách khác, một máy tính phải nhận ra các mã biểu thò các ký tự của chữ
cái, các dấu chấm, và các ký tự đặc biệt khác. Các mã này được gọi là mã
alphanumeric. Một mã alphanumeric hoàn tất bao gồm 26 chữ cái thường, 26
chữ cái hoa, 10 chữ số, 7 chấm câu, và từ 20 đến 40 ký tự khác, như +, /, #, %,
*,v.v…. Có thể nói rằng mã alphanumeric biểu thò tất cả các ký tự khác nhau và
các hàm tùy thuộc vào chuẩn bàn phím của máy tính hay máy đánh chữ
Mã ASCII. Mã alphanumeric dùng rộng rãi hiện nay là mã ASCII (American
Standard Code for Information Interchange), sử dụng hầu hết trong các máy vi
tính, trong các thế hệ máy tính lớn (mainframe). Mã ASCII là một mã 7 bit và vì
vậy nó có 27 = 128 nhóm mã. Điều này thì đủ để biểu thò tất cả các ký tự bàn
phím chuẩn cũng như các hàm điều khiển như (RETURN) và (LINEFEED)
Ký tự
A
B
C
D
E
F
G

H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X

ASCII
100 0001
100 0010
100 0011
100 0100
100 0101
100 0110
100 0111
100 1000
100 1001
100 1010
100 1011

100 1100
100 1101
100 1110
100 1111
101 0000
101 0001
101 0010
101 0011
101 0100
101 0101
101 0110
101 0111
101 1000

Octal
101
102
103
104
105
106
107
110
111
112
113
114
115
116
117

120
121
122
123
124
125
126
127
130

Hex
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53

54
55
56
57
58

Ký tự
Y
Z
0
1
2
3
4
5
6
7
8
9
Blank
.
(
+
$
*
)
/
=
RETURN
LINEFEED


ASCII
101 1001
101 1010
011 0000
011 0001
011 0010
011 0011
011 0100
011 0101
011 0110
011 0111
011 1000
011 1001
010 0000
010 1110
010 1000
010 1011
010 0100
010 1010
010 1001
010 1101
0101111
010 1100
011 1101
000 1101
0001010

Octal
131

132
060
061
062
063
064
065
066
067
070
071
040
056
050
053
044
052
051
055
057
054
075
015
012

Hex
59
5A
30
31

32
33
34
35
36
37
38
39
20
2E
28
2B
24
2A
29
2D
2F
2C
3D
0D
0A

Ví dụ: Thông điệp được mã hóa trong ASCII như sau
1001000
Giải Kết quả theo HEX là 48

1000101

1001100


1010000

45

4C

50

Theo bảng ASCII, biến đổi HEX sang ký tự là H E L P
GV: Nguyễn Trọng Hải

Trang 19


Bài Giảng Kỹ Thuật Số

Chương 1

Mã ASCII thường dùng trong các bộ truyền các thông tin alphanumeric giữa
một máy tính và các thiết bò vào ra như thiết bò video hay printer. Máy tính cũng
sử dụng nó để lưu trữ các thông tin như các dạng lệnh.
Để có thể biểu diễn thêm nhiều ký tự khác (ký hiệu không phải là chữ La Ting
như α, β, χ, δ…) mã ASCII được thêm 1bit nữa để có mã ASCII 8bit diễn tả được
256 ký tự, đây là mã ASCII mở rộng (Extended ASCII)

GV: Nguyễn Trọng Hải

Trang 20



Bài Giảng Kỹ Thuật Số

Chương 1

Bài tập chương 1
1.1. Đổi các số nhị phân sau sang số thập phân:
a.

10110

b.

10001101

c.

100100001001

d.

1111010111

e.

10111111

1.2. Đổi các giá trị thập phân sau sang nhị phân:
a.

37


b.

14

c.

189

d.

205

e.

2313

f.

511

1.3. Giá trị thập phân lớn nhất của số nhị phân 8 bit là bao nhiêu,16 bit là bao
nhiêu
1.4. Đổi các số bát phân sang số thập phân tương ứng:
a.

743

b.


36

c.

3777

d.

257

e.

1204

1.5. Đổi các số thập phân sau sang số bát phân:
a.

59

b.

372

c.

919

d.

65,535


e.

255

1.6. Đổi các số bát phân ở 1.4 thành số nhị phân.
1.7. Đổi các số nhị phân ở 1.1 thành số bát phân.
1.8. Hãy liệt kê các số bát phân liên tục từ 1658 đến 2008.
1.9.Khi các số thập phân lớn, để đổi sang nhị phân, trước tiên ta đổi sang bát
phân, sau đó đổi số bát phân thành số nhị phân. Hãy dùng cách này đổi số
231310 thành số nhị phân và so sánh với cách đổi dùng ở bài 1.2.
1.10. Đổi các giá trị hex sau thành số thập phân:
a.

92

GV: Nguyễn Trọng Hải

Trang 21


Bài Giảng Kỹ Thuật Số
b.

1A6

c.

37FD


e.

2C0

f.

7FF

Chương 1

1.11. Đổi các giá trị thập phân sau sang Hex:
a.

75

b.

314

c.

2048

d.

25,619

e.

4095


1.12. Đổi các giá trị nhị phân ở bài 1.1sang thập lục phân.
1.13. Đổi các giá trị Hex ở bài 1.10 sang nhị phân.
1.14.Trong máy vi tính, địa chỉ các vị trí ô nhớ được biểu diễn ở dạng thập lục
phân. Địa chỉ này là những số liên tục mà nó nhận dạng mỗi mạch nhớ
a. Một máy tính cụ thể có thể chứa 1 số 8 bit trong mỗi vị trí nhớ. Nếu các
địa chỉ ô nhớ nằm trong khoảng từ 000016 đến FFFF16, có bao nhiêu vị
trí nhớ?
b. Một bộ vi xử lý có 4096 vị trí nhớ thì khoảng địa chỉ Hex mà bộ vi xử lý
này dùng là gì ?.
1.15. Hãy liệt kê những số hex trình tự từ 280 đến 2A0.
1.16. Hãy mã hóa các số thập phân sau thành số BCD:
a.

47

b.

962

c.

187

d.

42,689.627

e.


1204

1.17. Cần bao nhiêu bit để thể hiện các số thập phân trong khoảng từ 0 đến 999
dùng mã nhị phân chuẩn, mã BCD?
1.18. Đổi những số BCD sau thành số thập phân:
a.

10010110101010010

b.

000110000100

c.

0111011101110101

d.

010010010010

1.19. Hãy thể hiện phát biểu sau "X = 25/Y" bằng mã ASCII, có kèm theo một bit
chẵn lẻ.
1.20. Hãy thêm bit chẵn lẻ vào mã ASCII ở bài 1.19 và đưa kết quả về số Hex.
1.21. Các nhóm mã dưới đây được truyền đi, hãy thêm bit chẵn lẻ cho mỗi nhóm:
GV: Nguyễn Trọng Hải

Trang 22



×