Kỹ Thuật vi điều khiển
lượt xem 32
download
Tham khảo sách 'kỹ thuật vi điều khiển', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Kỹ Thuật vi điều khiển
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên M cl c CHƯƠNG I: CÁC KHÁI NI M CƠ B N VÀ C U TRÚC CHUNG..............................- 6 - 1.1. GI I THI U CHUNG V VI X LÝ ...................................................................- 6 - 1.1.1. T NG QUAN ...................................................................................................- 6 - 1.1.1.1. Khái ni m .................................................................................................- 6 - 1.1.1.2. L ch s phát tri n c a các b vi x lý ....................................................- 6 - 1.1.2. C I M CHUNG C A B VI X LÝ .....................................................- 8 - 1.2. C U TRÚC H VI X LÝ VÀ T CH C BÊN TRONG CPU ........................- 10 - 1.2.1. C U TRÚC CHUNG C A M T H VI X LÝ .........................................- 10 - 1.2.1.1. Kh i x lý trung tâm, CPU ...................................................................- 10 - 1.2.1.2. B nh bán d n (Memory)....................................................................- 10 - 1.2.1.3. Kh i ph i ghép vào/ra (I/O) ..................................................................- 11 - 1.2.1.4. H th ng Bus ..........................................................................................- 11 - 1.2.2. C U TRÚC CHUNG C A CPU ...................................................................- 12 - 1.2.2.1. Kh i ALU ...............................................................................................- 12 - 1.2.2.2. Các thanh ghi bên trong vi x lý ..........................................................- 14 - 1.2.2.3. Kh i i u khi n logic và kh i gi i mã l nh .........................................- 14 - 1.2.2.4. Bus d li u bên trong vi x lý (Internal data bus) .............................- 14 - 1.3. C U TRÚC D LI U TRONG H VI X LÝ ..................................................- 15 - 1.3.1. CÁC H M DÙNG TRONG H VI X LÝ............................................- 15 - 1.3.1.1. H cơ s mư i (Decimal – th p phân)..................................................- 15 - 1.3.1.2. H cơ s hai (Binary – nh phân) ..........................................................- 15 - 1.3.1.3. H cơ s 16 (Hexa decimal – th p l c phân) .......................................- 15 - 1.3.1.4. H mư i mã hoá b ng h hai (H BCD) ..............................................- 16 - 1.3.2. BI U DI N CÁC S VÀ KÝ T THEO MÃ H HAI................................- 16 - 1.3.2.1. Bi u di n s nguyên ...............................................................................- 16 - 1.3.2.2. Bi u di n s th c ....................................................................................- 19 - 1.3.2.3. Bi u di n ký t theo mã ASCII ............................................................- 19 - 1.3.3. CÁC PHÉP TOÁN S H C V I MÃ H HAI............................................- 21 - 1.3.3.1. Phép c ng................................................................................................- 21 - 1.3.3.2. Phép tr ..................................................................................................- 21 - 1.3.3.3. Phép nhân ...............................................................................................- 22 - 1.3.3.4. Phép chia.................................................................................................- 23 - CHƯƠNG II: H VI X LÝ INTEL 80x86 ....................................................................- 25 - 2.1. C U TRÚC C A B VI X LÝ 8086 ...............................................................- 25 - 2.1.1. T NG QUAN .................................................................................................- 25 - 2.1.2. C U TRÚC BÊN TRONG VÀ HO T NG C A VI X LÝ 8086 ........- 25 - 2.1.2.1. Các kh i ch c năng c a CPU ...............................................................- 25 - 2.1.2.2. Các thanh ghi c a CPU .........................................................................- 28 - 2.1.3. MÔ T CH C NĂNG CÁC CHÂN C A VI X LÝ 8086 ........................- 32 - 2.1.4. T CH C B NH C A VI X LÝ 8086..................................................- 36 - 2.2. CÁC CH NH A CH C A B VI XƯ LÝ 8086 ................................- 37 - 2.2.1. CH A CH THANH GHI...................................................................- 40 - 2.2.2. CH A CH T C THÌ .........................................................................- 40 - 2.2.3. CH A CH TR C TI P ....................................................................- 40 - 2.2.4. CH A CH GIÁN TI P QUA THANH GHI ....................................- 40 - 2.2.5. CH A CH TƯƠNG I CƠ S ......................................................- 41 - -1- Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên 2.2.6. CH A CH TƯƠNG I CH S ....................................................- 41 - 2.2.7. CH A CH TƯƠNG I CH S CƠ S ........................................- 41 - 2.2.8. CH A CH CHU I (STRING) – M NG..........................................- 42 - 2.2.9. CH A CH C NG (PORT)................................................................- 42 - 2.3. T P L NH C A VI X LÝ 8086.......................................................................- 43 - 2.3.1. GI I THI U CHUNG ....................................................................................- 43 - 2.3.2. T P L NH C A VI X LÝ 8086 ................................................................- 43 - 2.3.2.1. Nhóm các l nh v n chuy n (sao chép) d li u ....................................- 43 - 2.3.2.2. Nhóm các l nh tính toán s h c ............................................................- 48 - 2.3.2.3. Nhóm các l nh tính toán logic ..............................................................- 52 - 2.3.2.4. Nhóm các l nh d ch, quay toán h ng ...................................................- 52 - 2.3.2.5. Nhóm các l nh so sánh ..........................................................................- 57 - 2.3.2.6. Nhóm các l nh nh y (r nhánh) ...........................................................- 58 - 2.3.2.7. Nhóm các l nh l p..................................................................................- 67 - 2.3.2.8. Nhóm các l nh i u khi n, c bi t khác ............................................- 69 - 2.4. CÁC M CH PH TR ........................................................................................- 73 - 2.4.1. M CH T O XUNG NH P ............................................................................- 73 - 2.4.2. M CH CH T VÀ M BUS .......................................................................- 74 - 2.4.2.1. M ch ch t (Latch) .................................................................................- 74 - 2.4.2.2. B m bus .............................................................................................- 76 - 2.4.3. CÁC B NH ................................................................................................- 78 - 2.4.3.1. B nh c nh ROM (Read Only Memory) .......................................- 78 - 2.4.3.2. B nh bán c nh EPROM (Erasable Programable ROM) ...........- 78 - 2.4.3.3. RAM (Random Access Memory – b nh c/ghi) ............................- 79 - 2.4.4. M CH GI I MÃ A CH ............................................................................- 82 - 2.4.4.1. Th c hi n gi i mã b ng các m ch NAND ...........................................- 82 - 2.4.4.2. Th c hi n gi mã b ng m ch gi i mã 74LS138 ..................................- 83 - 2.4.4.3. Th c hi n b gi i mã dùng PROM ......................................................- 85 - 2.5. BI U TH I GIAN C/GHI C A VI X LÝ............................................- 86 - 2.5.1. XUNG NH P VÀ CHU KỲ MÁY .................................................................- 86 - 2.5.2. CHU KỲ C/GHI C A VI X LÝ 8086...................................................- 87 - 2.6. CÁC CH LÀM VI C C A VI X LÝ.......................................................- 88 - 2.6.1. CH KH I NG ..................................................................................- 88 - 2.6.2. CH I ..................................................................................................- 89 - 2.6.3. CH TREO ..............................................................................................- 89 - 2.6.4. CH NG T ..............................................................................................- 89 - 2.6.5. CH D NG .............................................................................................- 90 - 2.7. M T S VÍ D ....................................................................................................- 90 - 2.8. L P TRÌNH H P NG CHO VI X LÝ 8086/8088 .........................................- 94 - 2.8.1. GI I THI U CHUNG V H P NG ...........................................................- 94 - 2.8.2. CÚ PHÁP C A CHƯƠNG TRÌNH H P NG ............................................- 94 - 2.8.2.1. Các trư ng c a h p ng .......................................................................- 94 - 2.8.2.2. Khai báo bi n, h ng, chương trình con ...............................................- 95 - 2.8.3. KHUÔN D NG C A CHƯƠNG TRÌNH H P NG ..................................- 98 - 2.8.3.1. Chương trình .EXE ...............................................................................- 98 - 2.8.3.2. Chương trình .COM ............................................................................- 101 - 2.8.4. C U TRÚC L P TRÌNH CƠ B N B NG H P NG .............................- 102 - 2.8.4.1. C u trúc tu n t ...................................................................................- 102 - -2- Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên 2.8.4.2. C u trúc r nhánh................................................................................- 102 - 2.8.4.3. C u trúc l p ..........................................................................................- 104 - CHƯƠNG III: H VI I U KHI N 8 BIT H 8051....................................................- 107 - 3.1. C U TRÚC PH N C NG H VI I U KHI N 8051 ...................................- 107 - 3.1.1. GI I THI U CHUNG ..................................................................................- 107 - 3.1.2. SƠ C U TRÚC C A H VI I U KHI N 8051 ...............................- 109 - 3.1.3. MÔ T CH C NĂNG CÁC CHÂN C A 8051.........................................- 110 - 3.1.3.1. Các Port ................................................................................................- 110 - 3.1.3.2. Các ngõ tín hi u i u khi n ................................................................- 112 - 3.1.3.3. Các chân ngu n và ng h ................................................................- 113 - 3.1.4. T CH C B NH C A 8051 ..................................................................- 113 - 3.1.4.1. Các bank thanh ghi có a ch t 00H – 1FH ....................................- 115 - 3.1.4.2. RAM a ch hóa t ng bit có a ch t 20H n 2FH .....................- 116 - 3.1.4.3. RAM a d ng có a ch t 30H – 7FH .............................................- 116 - 3.1.4.4. Các thanh ghi có ch c năng c bi t .................................................- 116 - 3.1.5. HO T NG RESET..................................................................................- 121 - 3.2. CÁC CH A CH C A 8051...................................................................- 121 - 3.2.1. Ki u nh a ch dùng thanh ghi (Register Addressing)..............................- 122 - 3.2.2. Ki u nh a ch tr c ti p (Direct Addressing)............................................- 122 - 3.2.3. nh a ch gián ti p (Indirect Addressing).................................................- 122 - 3.2.4. nh a ch t c th i (Immediate Addressing) .............................................- 122 - 3.2.5. nh a ch tương i ..................................................................................- 123 - 3.2.6. nh a ch tuy t i ....................................................................................- 123 - 3.2.7. nh a ch dài (Long Addressing)..............................................................- 123 - 3.2.8. nh a ch ch s (Index Addressing) ........................................................- 123 - 3.3. T P L NH C A 8051 .......................................................................................- 124 - 3.3.1. NHÓM L NH S H C ...............................................................................- 124 - 3.3.2. NHÓM L NH LOGIC..................................................................................- 127 - 3.3.3. NHÓM L NH DI CHUY N D LI U .......................................................- 130 - 3.3.4. NHÓM L NH X LÝ BIT ..........................................................................- 132 - 3.3.5. NHÓM L NH R NHÁNH .........................................................................- 133 - 3.4. L P TRÌNH H P NG CHO VI I U KHI N 8051......................................- 138 - 3.4.1. TRÌNH D CH H P NG .............................................................................- 138 - 3.4.2. KHUÔN D NG C A CHƯƠNG TRÌNH H P NG ................................- 139 - 3.4.3. KI U D LI U VÀ CH D N....................................................................- 139 - 3.4.3.1. Ki u d li u ..........................................................................................- 139 - 3.4.3.2. Ch d n ..................................................................................................- 140 - 3.4.4. C NG VÀO/RA VÀ L P TRÌNH ..............................................................- 141 - 3.4.4.1. Gi i thi u các c ng (port) c a 8051 ...................................................- 141 - 3.4.4.2. L p trình vào/ra, thao tác bit .............................................................- 143 - 3.4.5. B M/ NH TH I C A 8051 VÀ L P TRÌNH ..................................- 147 - 3.4.5.1. Các thanh ghi ph c v cho Timer/counter........................................- 148 - 3.4.5.2. L p trình các b nh th i gian c a 8051 ..........................................- 150 - 3.4.5.3. L p trình cho b m ..........................................................................- 155 - 3.4.6. L P TRÌNH TRUY N THÔNG N I TI P CHO 8051 .............................- 158 - 3.4.6.1. Cơ s truy n thông n i ti p ................................................................- 158 - 3.4.6.2. Chu n RS232........................................................................................- 160 - 3.4.6.3. Ghép n i 8051 v i RS232 ....................................................................- 162 - -3- Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên 3.4.6.4. L p trình truy n thông n i ti p 8051 .................................................- 164 - 3.4.6.5. Nhân ôi t c baud trong 8051 .......................................................- 169 - 3.4.7. L P TRÌNH NG T 8051.............................................................................- 171 - 3.4.7.1. T ng quan .............................................................................................- 171 - 3.4.7.2. Trình t th c hi n ng t .......................................................................- 172 - 3.4.7.3. Sáu ng t c a 8051 (b ng 5.3.3a) .........................................................- 173 - 3.4.7.4. Cho phép ng t và c m ng t ................................................................- 173 - 3.4.7.5. i u ki n cho phép m t ng t ..............................................................- 174 - 3.4.7.6. L p trình ng t b nh th i 8051 .......................................................- 175 - 3.4.7.7. L p trình ng t ph n c ng ngoài .........................................................- 176 - 3.4.7.8. L p trình ng t truy n thông n i ti p cho 8051 .................................- 181 - CHƯƠNG IV: GHÉP N I VÀ TRAO I D LI U TRONG H VI X LÝ ..........- 187 - 4.1. GHÉP N I VI X LÝ/VI I U KHI N V I B NH NGOÀI ....................- 187 - 4.1.1. M T S CHÂN C A 8051 PH C V CHO GHÉP N I V I B NH NGOÀI .......................................................................................................................- 187 - 4.1.1.1. Chân EA ...............................................................................................- 187 - 4.1.1.2. C ng P0 và P2 ......................................................................................- 187 - 4.1.1.3. Chân PSEN ...........................................................................................- 188 - 4.1.1.4. Chân RD và WR ...................................................................................- 188 - 4.1.2. GHÉP N I VI I U KHI N 8051 V I B NH CHƯƠNG TRÌNH NGOÀI .......................................................................................................................- 188 - 4.1.3. GHÉP N I VI I U KHI N 8051 V I B NH D LI U NGOÀI ......- 189 - 4.2. GHÉP N I SONG SONG VÀ L P TRÌNH ......................................................- 194 - 4.2.1. T NG QUAN ...............................................................................................- 194 - 4.2.2. GHÉP N I 8051 V I 8255A .......................................................................- 195 - 4.2.2.1. Ch c năng các chân c a 8255A ..........................................................- 195 - 4.2.2.2. Ch n ch c a 8255A .......................................................................- 197 - 4.3. PH I GHÉP VI I U KHI N V I TH GI I TH C 1: PH I GHÉP 8051 V I MÀN HÌNH TINH TH L NG LCD, CHUY N I TƯƠNG T – S ADC VÀ C M BI N NHI T ..................................................................................................- 204 - 4.3.1. PH I GHÉP VI X LÝ V I MÀN HÌNH TINH TH L NG LCD .........- 204 - 4.3.1.1. Mô t chân c a LCD ...........................................................................- 205 - 4.3.1.2. B ng l nh c a LCD..............................................................................- 206 - 4.3.1.3. L p trình g i/nh n d li u n/t LCD ............................................- 209 - 4.3.2. GHÉP N I ADC V I 8051 VÀ L P TRÌNH............................................- 216 - 4.3.2.1. Gi i thi u v ADC0804........................................................................- 216 - 4.3.2.2. N i ghép ADC0804 v i 8051 và l p trình ..........................................- 219 - 4.3.3. N I GHÉP 8051 V I C M BI N NHI T .................................................- 223 - 4.3.3.1. Gi i thi u chung v c m bi n nhi t....................................................- 223 - 4.3.3.2. Ph i h p tín hi u và ph i ghép LM35 v i 8051 ................................- 223 - 4.4. PH I GHÉP VI I U KHI N V I TH GI I TH C 2: PH I GHÉP 8051 VI NG CƠ BƯ C, BÀN PHÍM VÀ B BIÉN I S – TƯƠNG T DAC....- 224 - 4.4.1. N I GHÉP 8051 V I NG CƠ BƯ C ...................................................- 224 - 4.4.1.1. Phân lo i ng cơ bư c .......................................................................- 225 - 4.4.1.2. Nguyên lý ho t ng c a ng cơ bư c .............................................- 226 - 4.4.1.3. M t s thông s và khái ni m .............................................................- 230 - 4.4.2. N I GHÉP 8051 V I BÀN PHÍM ..............................................................- 235 - -4- Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên 4.4.2.1. Ph i ghép bàn phím v i 8051 .............................................................- 235 - 4.4.2.2. Quét và xác nh phím ........................................................................- 236 - 4.4.2.3. N i t các hàng và c các c t ..........................................................- 236 - 4.4.3. PH I GHÉP M T DAC V I 8051 .............................................................- 241 - 4.4.3.1. B bi n i s - tương t DAC ...........................................................- 241 - 4.4.3.2. B bi n i DAC MC1408 (hay DAC0808) .......................................- 242 - 4.4.3.3. Chuy n Iout sang i n áp DAC0808 ................................................- 242 - Ph l c 1: Danh m c các t vi t t t .................................................................................- 245 - Ph l c 2: T p l nh c a h vi x lý 80x86......................................................................- 246 - Ph l c 3: T p l nh c a vi i u khi n h 8051 ...............................................................- 293 - Nhóm l nh s h c (Mathematical (Arithmetic) Instructions) .....................................- 293 - Nhóm l nh Logic (Logic Instructions) ........................................................................- 294 - Nhóm l nh di chuy n d li u (Data Transfer Instructions).........................................- 295 - Nhóm l nh x lý bit (Bit Oriented Instructions) .........................................................- 297 - Nhóm l nh chuy n quy n i u khi n (r nhánh) (Control Transfer Instructions) ......- 298 - -5- Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên CHƯƠNG I: CÁC KHÁI NI M CƠ B N VÀ C U TRÚC CHUNG 1.1. GI I THI U CHUNG V VI X LÝ 1.1.1. T NG QUAN 1.1.1.1. Khái ni m Vi x lý g m các c ng logic gi ng như các c ng logic ư c s d ng trong ơn v x lý trung tâm (Central Procecessing Unit) c a máy tính s . Do c u trúc gi ng như CPU và ư c xây d ng t các m ch vi i n t nên có tên là vi x lý: microprocessor. Gi ng như CPU, microprocessor có các m ch i n t cho vi c i u khi n d li u (data) và tính toán d li u dư i s i u khi n c a chương trình. Ngoài ra microprocessor là m t ơn v x lý d li u. x lý d li u, vi x lý ph i i u khi n các m ch logic, vi x lý i u khi n các m ch logic thì c n ph i có chương trình. Chương trình là t p h p các l nh x lý d li u, các l nh ã ư c lưu tr trong b nh . Công vi c th c hi n l nh bao g m các bư c như sau: ón l nh t b nh , sau ó các m ch logic i u khi n s gi i mã l nh và sau cùng thì các m ch logic i u khi n s th c hi n l nh sau khi gi i mã. Do các l nh lưu tr trong b nh nên có th thay i các l nh n u c n. Khi thay i các l nh c a vi x lý t c là thay i cách th c x lý d li u. Các l nh lưu tr trong b nh s quy t nh công vi c mà vi x lý s làm. Như v y: Vi x lý là m t vi m ch c l n ho c c c l n v i ch c năng chính là: là x lý d li u. làm ư c i u này vi x lý ph i có các m ch logic cho vi c x lý và i u khi n d li u. Các m ch logic x lý s di chuy n d li u t nơi này sang nơi khác và th c hi n các phép toán trên d li u, m ch logic i u khi n s quy t nh m ch i n nào cho vi c x lý d li u. vi x lý th c hi n m t l nh v i trình t như sau: ón l nh t b nh , ti p theo m ch logic i u khi n s gi i mã l nh xem l nh ó yêu c u vi x lý th c hi n công vi c gì, sau ó vi x lý s th c hi n úng công vi c c a l nh ã yêu c u, quá trình này ư c g i là chu kỳ ón - và - th c hi n. Ngoài ch c năng ón và th c hi n l nh, các m ch logic i u khi n còn i u khi n các m ch i n giao ti p bên ngoài k t n i v i vi x lý. vi x lý c n ph i có s tr giúp c a các m ch i n bên ngoài. Các m ch i n dùng lưu tr l nh vi x lý x lý ư c g i là b nh , các m ch i n giao ti p di chuy n d li u t bên ngoài vào bên trong vi x lý và xu t d li u t bên trong vi x lý ra ngoài ư c g i là các thi t b ghé p n i vào ra I/O. 1.1.1.2. L ch s phát tri n c a các b vi x lý Vi x lý là s k t h p c a 2 k thu t công ngh quan tr ng nh t: ó là máy tính dùng k thu t s (Digital Computer) và các m ch vi i n t . Hai công ngh này k t h p l i v i nhau vào năm 1970, sau ó các nhà nghiên c u ã ch -6- Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên t o ra vi x lý (Microprocessor). D a vào l ch s phát tri n c a các b vi x lý ta có th chia ra làm 4 th h như sau: • Th h th nh t (1971 – 1973) Năm 1971 Intel cho ra i b vi x lý u tiên là 4004 (4 bit s li u, 12 bit a ch ) sau ó Intel và các nhà s n xu t khác cũng l n lư t cho ra i các b vi x lý khác: 4040 (4 bit) và 8008 (8 bit) c a Intel. PPS – 4 (4 bit) c a Rockwell International, IPM – 16 (bit) c a National Semiconductor. c i m chung c a các b vi x lý th h này là: - Thông thư ng là 4 bit d li u (cũng có th dài hơn). - Công ngh ch t o PMOS v i c i m m t ph n t nh , t c ch m, giá r và ch có kh năng ưa ra dòng t i nh . th c hi n l nh: 10 – 60 µs/ l nh. V i t n s - Tc ng h fclk = 0, 1 – 0, 8 MHz. - T p l nh ơn gi n và ph i c n nhi u m ch ph tr m i t o nên m t vi x lý hoàn ch nh. • Th h th hai (1974 – 1977) Các b vi x lý i di n cho th h này là vi x lý 8 bít 6502 c a MOS Technology, 6800 và 6809 c a Motorola, 8080 c a Intel và c bi t là b vi x lý Z80 c a Zilog. Các b vi x lý này có t p l nh phong phú hơn và thư ng có kh năng phân bi t a ch b nh v i dung lư ng n 64KB. Có m t s b vi x lý còn có kh năng phân bi t ư c 256 a ch cho các thi t b ngo i vi (h Intel và Zilog). Chúng ã ư c s d ng r ng rãi trong công nghi p và nh t là t o ra các máy tính 8 bit n i ti ng m t th i như Apple II Commodore 64. T t c các vi x lý th i kỳ này u ư c ch t o b ng công ngh NMOS (m t phân t trên m t ơn v di n tích cao hơn so v i công ngh PMOS) ho c CMOS (ti t t 1 – 8µs/ l nh v i t n ki m i n năng tiêu th ) và cho phép t ư c t c ng h 1 – 5 MHz. • Th h th ba (1978 – 1982) i di n là các b vi x lý 16 bit 8086/80186/0286 c a Intel ho c 68000/68010 c a Motorola. Các b vi x lý này có dài 16 bit và t p l nh phong phú v i l nh nhân, chia và các thao tác v i chu i ký t . Kh năng phân bi t a ch cho b nh ho c cho thi t b ngo i vi c a các vi x lý th h này cũng l n hơn (t 1 – 16 MB cho b nh và t i 64KB cho a ch thi t b ngo i vi i v i h Intel). Ph n l n các b vi x lý th h này u t t c t 0, 1 – 1µs/ l nh v i t n ng h fclk = 5 – 10 MHz. • Th h th tư (1983 - ?) Các b vi x lý i di n cho th h này là các vi x lý 32 bit 80386/80486 và 64 bit c a Pentium c a Intel, các vi x lý 32 bit 68020/68040/68060 c a -7- Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên Motorola. c i m c a vi x lý th h này là bus a ch u là 32 bit (phân bi t 4GB b nh ) và có kh năng làm vi c v i b nh o. Sau ây là b ng thông s c a các b vi x lý c a Intel Thông s 8086 8088 80286 Nă m s n x u t 6/1978 1979 2/1982 fclkmax (xung nh p ng h ) 10 MHz 10 MHz 20 MHz MIPS (tri u l nh/s) 0, 33 0, 33 1, 2 S tranzitor 29.000 29.000 134.000 Bus s li u 16 bit 8 bit 16 bit Bus a ch 20 bit 20 bit 24 bit Kh năng a ch 1 MB 1 MB 16 MB S chân 40 40 68 Ch b nh o Không Không Có Có b qu n lý b nh bên trong Không Không Có 1.1.2. C I M CHUNG C A B VI X LÝ M i b vi x lý u có nh ng c i m và ch c năng riêng tuy nhiên chúng u có nh ng ăc i m chung sau: Chi u dài bus d li u ( l n c a m ch vi x lý): ư c ánh giá b ng s bit l n nh t mà vi x lý có th x lý song song ng th i trong m t l n thao tác. Ví d : M ch vi x lý 16 bit thì có nghĩa vi x lý có th x lý song song m t l n 16 bit. M i vi x lý có chi u dài bus d li u khác nhau s có m t kh năng ng d ng khác nhau, các vi x lý có chi u dài bus d li u l n, t c làm vi c nhanh, kh năng truy xu t b nh l n ư c dùng trong các công vi c x lý d li u, i u khi n ph c t p. Các vi x lý 32 bit có kh năng làm vi c nhanh hơn vì m i l n l y d li u t b nh vi x lý có th l y m t l n 4 byte, trong khi ó các vi x lý 8 bit thì ph i làm 4 l n, v i vi x lý 16 bit ph i th c hi n 2 l n. V y n u so v i vi x lý 8 bit thì vi x lý 32 bit có t c tăng g p 4, v i vi x lý 16 bit thì t c vi x lý 32 bit tăng g p ôi. tăng t c làm vi c c a vi x lý là m c tiêu hàng u c a các nhà ch t o vi x lý. Chi u dài bus a ch (kh năng truy xu t b nh ): Dung lư ng b nh mà vi x lý có th truy xu t, là m t ph n trong c u trúc c a vi x lý. Các vi x lý u tiên b gi i h n v kh năng truy xu t b nh : Vi x 4004 có 14 ư ng a ch nên có th truy xu t ư c 214 = 16.384 ô nh , vi x lý 8 bit có 16 ư ng a ch nên có th truy xu t ư c 216 = 65.536 ô nh , vi x lý 16 bit có 20 ư ng a ch nên có th truy xu t 220 = 1.048.576 = 1MB ô nh , vi x lý 32 bit như 386 hay 68020 có th truy xu t 4GB ô nh . Vi x lý có kh năng truy xu t b nh càng l n nên có th x lý các chương trình l n. Tùy theo ng d ng c th mà ch n m t vi x lý thích h p. -8- Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên S chân và các hình d ng ngoài c a vi x lý: Các b vi x lý 8088/8086 ư c óng trong v 2 hàng chân. ó là lo i v b ng Plastic có các chân hư ng xu ng dư i theo hai hàng song song hai bên. Các b vi x lý l n hơn có 64 chân hay nhi u hơn n a có v b c v i các chân ra t o thành m ng x p x p trên c 4 phía. Thông thư ng các vi x lý có s chân càng nhi u thì càng hoàn h o. Tuy v y trong th c t ngư i ta có th dùng phương pháp d n chân, nghĩa là m t chân tín hi u có th làm hai ch c năng và phân bi t hai ch c năng y ngư i s d ng ph i l p chương trình. Xung nh p h th ng (System clock): Dùng ng b các thao tác bên trong và bên ngoài c a vi x lý b ng cách phát ra các xung nh p th i gian theo các kho ng cách c nh, xu hư ng ngày nay là dùng m ch m t xung nh p và kho ng cách gi a hai xung ng h h th ng ư c g i là chu kỳ xung nh p. T n s xung clock cung c p cho vi x lý làm vi c quy t nh n t c làm vi c c a vi x lý, vi x lý có t c làm vi c càng l n thì kh năng x lý l nh càng nhanh. Tuy nhiên t n s xung nh p không ph i là y u t duy nh t. T c vi x lý còn ph thu c vào cách th c x lý thông tin trong c u trúc c a vi x lý. T n s xung clock làm vi c c a các vi x lý ư c cho b i các nhà ch t o. Vi x lý T n s xung clock Chi u dài t d li u 8051 12MHz 8-bit Z80A 4MHz 8-bit Z80B 6MHz 8-bit 286 16MHz 16-bit 486DX2-66 66Mhz 32-bit Pentium 66MHz 32-bit i n áp ho t ng (ngu n nuôi): V i công ngh PMOS các b vi x lý c n ngu n nuôi v i nhi u i n áp ho t ng khác nhau, ví d : ±5V, ±10V. Còn v i công ngh NMOS thì ch c n ngu n nuôi duy nh t +5V. ây là m c i n áp cao bù l i các s t áp trong các m ch s , ng th i cũng nh tránh gây t p âm. Các b vi x lý ngày nay v i công ngh CMOS ã cho ra i các lo i vi x lý 3, 3V, òi h i dòng tiêu th ch b ng 60% so v i chip 5V Các m ch ph c n: Là các m ch làm ch c năng gi i mã chuy n i s li u, m ch ghép n i logic, m ch m và nh th i gian, m ch i u khi n bàn phím, hi n th … Lo i m ch này cũng ư c ch t o theo hãng và thư ng tương ng v i m ch vi x lý c a hãng y. M ch ph i ghép vào ra: Làm nhi m v trao i s li u vào và ra cho CPU. M i hãng s ch t o m ch ph i ghép i kèm. Lo i vi x lý nào càng nhi u m ch ph i ghép thì càng d s d ng. -9- Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên Ph n m m (chương trình): M i m t vi x lý có m t ph n m m ư c hãng trang b hay còn g i là t p l nh. Ngư i s d ng căn c vào t p l nh này khai thác s d ng và t o thành các chương trình ph c v cho các m c ích c th . T p l nh c a vi x lý là m t trong nh ng y u t cơ b n ánh giá ch c năng làm vi c c a vi x lý. N u vi x lý có nhi u m ch i n logic bên trong th c hi n thì s l nh i u khi n c a vi x lý càng nhi u, khi ó vi x lý càng l n và ph c t p càng l n. Ví d so sánh 2 t p l nh c a 2 vi x lý 8 bit là 80C51 và Z80 thì 80C51 có 111 l nh khác nhau còn Z80 có 178 l nh. T p l nh c a m t vi x lý càng nhi u r t có ích khi l p trình hay vi t chương trình cho vi x lý. 1.2. C U TRÚC H VI X LÝ VÀ T CH C BÊN TRONG CPU 1.2.1. C U TRÚC CHUNG C A M T H VI X LÝ Trên ây ta ã th y b vi x lý là m t thành ph n r t cơ b n không th thi u ưc t o nên m t máy vi tính. Trong th c t b vi x lý còn ph i k t h p thêm các b ph n i n t khác ví d như: b nh , các b ph i ghép vào/ra t o nên m t h vi x lý hoàn ch nh. Hình 1.2.1 gi i thi u sơ kh i t ng quát c a c a m t h vi x lý. Trong sơ này ta th y rõ các kh i ch c năng chính c a m t h vi x lý bao g m: - Kh i x lý trung tâm (Central Processing Unit, CPU). - B nh bán d n (Memory, M). - Kh i ph i ghép v i các thi t b ngo i vi (Input/Output, I/O). - Các bus truy n thông tin. 1.2.1.1. Kh i x lý trung tâm, CPU óng vai trò ch o trong h th ng vi x lý, ây là m t m ch vi i n t có tích h p r t cao. Khi ho t ng nó c ghi mã l nh dư i d ng các bit 0 và 1 t b nh . Sau ó s gi i mã các l nh này thành dãy các xung i u khi n ng v i các thao tác trong l nh i u khi n các kh i khác th c hi n t ng bư c các thao tác ó. làm ư c i u này bên trong CPU có các thanh ghi dùng ch a a ch các l nh s p th c hi n g i là thanh ghi con tr l nh (Instruction Pointer, IP) ho c b m chương trình (Program Counter, PC), m t s thanh ghi a năng khác cùng b tính toán s h c và logic (ALU) thao tác v i d li u. Ngoài ra ây còn có h th ng m ch i n t r t ph c t p gi i mã l nh và t ó t o ra các xung i u khi n cho toàn h . 1.2.1.2. B nh bán d n (Memory) Hay còn g i là b nh trong là m t b ph n r t quan tr ng c a h vi x lý. T i ây (trong ROM) ch a chương trình i u khi n ho t ng c a toàn h khi b t i n lên thì CPU có th l y l nh t ây mà kh i ng h th ng. M t ph n c a chương trình i u khi n h th ng, các chương trình ng d ng, d li u - 10 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên cùng các k t qu c a chương trình ư c trong RAM. Các d li u và chương trình mu n lưu tr lâu dài s ư c b nh ngoài. Bus d÷ liÖu Bus ®iÒu khiÓn Bé nhí Bé xö lý Phèi ghÐp ThiÕt bÞ v o (Memory) trung t©m v o/ra (I/O) Thanh ghi Thanh ghi ROM-RAM CPU trong ngo i ThiÕt bÞ ra Bus ®Þa chØ Hình 1.2.1 Sơ s kh i t ng quát h vi x lý 1.2.1.3. Kh i ph i ghép vào/ra (I/O) T o ra kh năng giao ti p gi a h vi x lý v i th gi i bên ngoài. Các thi t b ngo i vi như bàn phím, chu t, màn hình, máy in, chuy n i s tương t (D/A), chuy n i tương t s (A/D) u ư c liên h v i vi x lí thông qua b ph n này. B ph n ph i ghép c th gi a bus h th ng v i th gi i bên ngoài thư ng ư c g i là c ng. Như v y ta s có c ng vào l y thông tin t ngoài vào và c ng ra ưa thông tin t trong h ra ngoài. Tuỳ theo yêu c u c th mà các m ch c ng này có th ư c xây d ng t các m ch logic ơn gi n ho c t các vi m ch chuyên d ng l p trình ư c. 1.2.1.4. H th ng Bus Trên sơ kh i h vi x lý ta th y 3 kh i ch c năng u liên h v i nhau thông qua t p các ư ng dây truy n tín hi u g i chung là bus h th ng. Bus h th ng bao g m 3 bus thành ph n. ng v i các tín hi u a ch , d li u và i u khi n ta có bus a ch , bus d li u, bus i u khi n. Bus a ch : Thư ng có t 16, 20, 24, 32 ư ng dây song song truy n t i thông tin c a các bit a ch . Khi c/ghi b nh CPU s ưa ra trên bus này a ch c a ô nh liên quan. Kh năng phân bi t a ch (s lư ng a ch cho ô nh mà CPU có kh năng phân bi t ư c) ph thu c vào s bit c a bus a ch . Ví d m t CPU có s ư ng dây a ch là N = 16 thì nó có kh năng a ch hoá ư c 2N = 216 = 65536 = 64KB ô nh khác nhau (1K = 210 = 1024). Khi c/ghi c ng vào/ra CPU cũng ưa ra trên bus a ch các bit a ch tương ng c a c ng. Trên sơ kh i ta d nh n ra tính m t chi u c a bus a ch qua chi u c a mũi tên. Ch có CPU m i có kh năng ưa ra a ch trên bus a ch . Bus d li u: Thư ng có t 8, 16, 20, 24, 32 n 64 ư ng dây tuỳ theo các b vi x lý c th . S lư ng ư ng dây này quy t nh s bit d mà CPU có kh năng x lý m t lúc. Chi u mũi tên trên bus ch ra r ng ây là bus 2 chi u. - 11 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên Bus i u khi n: Thư ng g m hàng ch c ư ng dây tín hi u khác nhau. M i tín hi u i u khi n có m t chi u nh t nh. Vì khi ho t ng CPU ưa tín hi u i u khi n t i các kh i khác trong h , ng th i nó cũng nh n tín hi u i u khi n t các kh i ó ph i h p ho t ng toàn h , nên các tín hi u này trên hình v ư c th hi n b ng mũi tên 2 chi u. Ho t ng c a h vi x lý trên cũng có th ư c nhìn nh n theo m t cách khác. Trong khi ho t ng và t i m t th i i m nh t nh, v m t ch c năng m i kh i trong h trên tương ương các thanh ghi trong (trong CPU) ho c các thanh ghi ngoài (n m trong b nh ROM, RAM và trong kh i ghép n i I/O). Ho t ng c a toàn h th c ch t là s ph i h p ho t ng c a các thanh ghi trong và ngoài nói trên th c hi n s bi n i d li u ho c s trao i d li u theo các yêu c u ã nh trư c. 1.2.2. C U TRÚC CHUNG C A CPU V i m i vi x lý u có m t sơ c u trúc bên trong và ư c cho trong các s tay c a nhà ch t o. Sơ c u trúc d ng kh i r t ti n l i và d trình bày nguyên lý ho t ng c a vi x lý. C u trúc c a t t c các vi x lý u có các kh i cơ b n gi ng nhau như ALU, các thanh ghi, kh i i u khi n là các m ch logic. n m rõ nguyên lý làm vi c c a vi x lý c n ph i kh o sát nguyên lý k t h p các kh i v i nhau x lý m t chương trình. Hình 1.2.2a trình bày sơ kh i c a vi x lý 8 bit Nhìn vào sơ kh i trên ta có th chia c u trúc chung c a m t CPU ra làm 3 ph n chính: Kh i ALU (Arithmetic Logic Unit), Kh i i u khi n (Control Logic), các thanh ghi (Register) và BUS d li u. 1.2.2.1. Kh i ALU ALU là kh i quan tr ng nh t c a vi x lý, kh i ALU ch a các m ch i n logic chuyên v x lý d li u. Kh i ALU có 2 ngõ vào có tên là “IN” chính là các ngõ vào d li u cho ALU x lý và 1 ngõ ra có tên là “OUT” chính là ngõ ra k t qu d li u sau khi ALU x lý xong. D li u trư c khi vào ALU ư c ch a thanh ghi t m th i (Temporarily Register) có tên là TEMP 1 và TEMP 2. Bus d li u bên trong vi x lý ư c k t n i v i 2 ngõ vào “IN” c a ALU thông qua 2 thanh ghi t m th i. S k t n i này cho phép ALU có th l y b t kỳ d li u nào trên bus d li u bên trong vi x lý. Ngõ ra OUT c a ALU cho phép ALU có th g i k t d li u sau khi x lý xong lên bus d li u bên trong vi x lý, do ó thi t b nào k t n i v i bus bên trong u có th nh n d li u này. Ví d khi ALU c ng 2 d li u thì m t trong 2 d li u ư c ch a trong thanh ghi Accumulator, sau khi phép c ng ư c th c hi n b i ALU thì k t qu s g i tr l i thanh ghi Accumulator và lưu tr thanh ghi này. - 12 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên ALU x lý m t d li u hay 2 d li u tùy thu c vào l nh hay yêu c u i u khi n, ví d khi c ng 2 d li u thì ALU s x lý 2 d li u và dùng 2 ngõ vào “IN” nh p d li u, khi tăng m t d li u nào ó lên 1 ơn v hay l y bù m t m t d li u, khi ó ALU ch x lý 1 d li u và ch c n m t ngõ vào “IN”. 16 bit address bus Memory Address Register Accumulator Status REG A Hi | Lo SP PC 8 bit internal data bus External input 8 Bit and DATA CONTROL output BUS LOGIC control Instruction TEMP 1 TEMP 2 lines Register IN IN ALU instruction Decoder OUT Hình 1.2.2a. Sơ kh i c a vi x lý 8 bit Kh i ALU có th th c hi n các phép toán x lý như sau: Add (c ng) Complement (l y bù) OR (Phép OR) Subtract (tr ) Shift right (d ch ph i) Increment (tăng) AND(phép AND) Shift left (d ch trái) Decrement (gi m) Exclusive OR (phép XOR – ho c có lo i tr ) Như v y: Ch c năng chính c a kh i ALU là làm thay i d li u hay chuyên v x lý d li u nhưng không lưu tr d li u. - 13 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên 1.2.2.2. Các thanh ghi bên trong vi x lý Các thanh ghi bên trong có ch c năng lưu tr t m th i các d li u khi x lý. Trong s các thanh ghi có m t vài thanh ghi c bi t khi th c hi n các l nh c bi t, các thanh ghi còn l i g i là các thanh ghi thông d ng. Các thanh ghi thông d ng r t h u d ng cho ngư i l p trình dùng lưu tr d li u ph c v cho công vi c x lý d li u và i u khi n, khi vi t chương trình chúng ta luôn s d ng các thanh ghi này. S lư ng các thanh ghi thông d ng thay i tùy thu c vào t ng vi x lý. Các thanh ghi cơ b n luôn có trong m t vi x lý là thanh ghi tích lu A (Accumulator register), thanh ghi b m chương trình PC (Program Counter register), thanh ghi con tr ngăn x p SP (Stack pointer register), thanh ghi tr ng thái SF (Status register –Flag register), các thanh ghi thông d ng, thanh ghi l nh IR (Instruction register), thanh ghi a ch AR (address register). 1.2.2.3. Kh i i u khi n logic và kh i gi i mã l nh - Ch c năng c a kh i gi i mã l nh (Instruction decoder) là nh n l nh t thanh ghi l nh sau ó gi i mã g i tín hi u i u khi n n cho kh i i u khi n logic. - Ch c năng c a kh i i u khi n logic (control logic) là nh n l nh hay tín hi u i u khi n t b gi i mã l nh, sau ó s th c hi n úng các yêu c u c a l nh. Kh i i u khi n logic ư c xem là m t vi x lý nh n m trong m t vi x lý. Các tín hi u i u khi n c a kh i i u khi n logic là các tín hi u i u khi n b nh , i u khi n các thi t b ngo i vi, các ư ng tín hi u c-ghi, … và các tín hi u i u khi n vi x lý t các thi t b bên ngoài. Các ư ng tín hi u này s ư c trình bày c th trong sơ c a t ng vi x lý c th . Ngõ tín hi u vào quan tr ng nh t c a kh i i u khi n logic là tín hi u clock c n thi t cho kh i i u khi n logic ho t ng. N u không có tín hi u clock thì vi x lý không làm vi c. M ch t o xung clock là các m ch dao ng, tín hi u ư c ưa n ngõ vào clock c a vi x lý. Có nhi u vi x lý có tích h p m ch t o dao ng bên trong, khi ó ch c n thêm t th ch anh bên ngoài. 1.2.2.4. Bus d li u bên trong vi x lý (Internal data bus) Bus d li u dùng k t n i các thanh ghi bên trong và ALU v i nhau, t t c các d li u di chuy n trong vi x lý u thông qua bus d li u này, Các thanh ghi bên trong có th nh n d li u t bus hay có th t d li u lên bus nên bus d li u này là bus d li u 2 chi u. Bus d li u bên trong có th k t n i ra bus bên ngoài khi vi x lý c n truy xu t d li u t b nh bên ngoài hay các thi t b I/O. - 14 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên 1.3. C U TRÚC D LI U TRONG H VI X LÝ M tv n quan tr ng trong h vi x lý là vi c lưu tr và x lý các d li u s . Thông thư ng chúng ta ã quen thu c v i các s trong h m cơ s 10, nhưng trong th c t còn có nhi u h m v i các cơ s khác nhau. Trong ph n này chúng ta s làm quen v i cách bi u di n s nh phân, s Hex, các khái ni m bit, byte, word, sau ó là các phép toán cơ b n v i mã h hai. 1.3.1. CÁC H M DÙNG TRONG H VI X LÝ 1.3.1.1. H cơ s mư i (Decimal – th p phân) Trong cu c s ng hàng ngày chúng ta dùng h cơ s mư i nói g n là h mư i (Decimal number system, vi t t t là h D) bi u di n các giá tr s . Chúng ta dùng t h p các ch s t 0 n 9 bi u di n các giá tr s . i kèm theo t p h p ó có th dùng thêm h u t D cu i ch ra r ng ó là s h mư i. 1.3.1.2. H cơ s hai (Binary – nh phân) Trong th gi i máy tính l i khác, bi u di n m t giá tr s chúng ta dùng h cơ s hai ho c nói g n là h hai (Binary number system, vi t t t là h B). Trong ó ch t n t i hai ch s là 0 và 1 bi u di n các giá tr s ( ng v i hai tr ng thái có i n và không có i n c a các m ch i n t c u t o nên máy). c i mc ah m cơ s hai là trong cùng m t s có hai ch s gi ng nhau thì ch s bên trái có giá tr g p 2 l n ch s bên ph i. Th m c s hai ta có các khái ni m sau: - Bit: M i ch s trong h hai là m t bit. Ch s u tiên bên trái trong dãy các s h hai g i là bit có nghĩa l n nh t hay bit có tr ng s l n nh t (Most Significant Bit – MSB), còn bit cu i cùng bên ph i trong dãy g i là bit có nghĩa bé nh t hay bit có tr ng s nh nh t (Least Significant Bit – LSB). - Byte: 1Byte = 8 Bit. - Word: 1 Word = 2 Byte = 16 Bit. - Double Word (t kép): 1 Double Work = 32 Bit. Ví d : 15D=1111B 1.3.1.3. H cơ s 16 (Hexa decimal – th p l c phân) N u ta dùng h hai bi u di n các s có giá tr l n ta s g p i u b t ti n là s h hai thu ư c quá dài. Ví d bi u di n s 255 ta c n n 8bit vi t như sau: 255 = 11111111B Trong th c t vi t k t qu bi u di n c a các s cho g n ngư i ta tìm cách nhóm 4 s h hai thành m t s h 16 và s d ng 16 ch s cơ b n: 0 ÷ 9, A, B, C, D, E, F bi u di n. - 15 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên c i m c a h cơ s 16 là m t ch s cơ s 16 có hai ch s gi ng nhau thì ch s bên trái có giá tr g p 16 l n ch s bên ph i. Ví d : (11001010)2 = 27 + 26 + 23 + 2 = 128 + 64 + 8 + 2 = 202 (11001010)2 = (CA)16 = 12.16 + 10 = 202 Như v y: H cơ s 16 th c t cũng là h hai nhưng ư c vi t g n hơn và i u quan tr ng nh t là giúp cho ngư i s d ng ít b nh m. 1.3.1.4. H mư i mã hoá b ng h hai (H BCD) Gi a h mư i và h hai t n t i m t h lai: H BCD cho các s h mư i mã hoá b ng h hai, r t thích h p cho thi t b o có thêm ph n hi n th s u ra dùng các lo i èn hi n s khác nhau. ây ta dùng 4 s h hai mã hoá m t s h mư i có giá tr n m trong kho ng t 0, 1, …, 9. Ví d : s 520 n u bi u di n theo ki u s BCD thì ư c (0101 0010 0000)BCD Chú ý: Khi hi n th phép c ng n u k t qu c a các ch s l n h n 9 thì ph i c ng thêm 6, còn khi th c hi n các phép tr (tr theo ki u c ng s bù 2) n u k t q a l n hơn 9 thì ph i tr i 6. Ví d : 19 + 7 = 26 00011001 00000111 00100000 Ta th y sau khi th c hi n c ng v i 2 s BCD thì k t qu là 32 > 9 nên ti p t c l y k t qu ó c ng thêm 6. 00100000 00000110 00100110 K t qu úng b ng 26. 1.3.2. BI U DI N CÁC S VÀ KÝ T THEO MÃ H HAI 1.3.2.1. Bi u di n s nguyên Bi u di n s nguyên không d u N u chúng ta ch dùng s nguyên dương thì cách bi u di n là ơn gi n. M t s 8 bit có th ư c s d ng bi u di n các s t 0 n 255. Th t v y: 00000000 =0 00000001 =1 00101001 = 41 10000000 = 128 11111111 = 255 - 16 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên Thông thư ng, n u m t chu i n bit c a các s nh phân an-1an-2 ... a1a0 s ư c tính như m t s nguyên A không d u, mà giá tr c a nó là: n −1 A = ∑ 2i ai i =0 Bi u di n d u – l n (hay l n có d u) Vi c s d ng các s nguyên không d u là không vì chúng ta c n bi u di n c s âm cũng như các s nguyên dương. Vì v y bi u di n các s có d u, bit MSB trong t ư c dùng làm bit d u. N u bit MSB là 0 thì s bi u di n là s dương và n u b ng 1 thì là s âm. Trong m t t n bit thì n – 1 bit cu i cùng gi giá tr s nguyên. Ví d : +20 = 00010100 -20 = 10010100 Công th c t ng quát có th ư c bi u di n như sau: n−2 i A = ∑ 2 ai N u an-1 = 0 i =0 n−2 i A = − ∑ 2 ai N u an-1 = 1 i =0 Bi u di n s bù hai Gi ng như cách bi u di n d u - l n, cách bi u di n s bù hai cũng s d ng bit cao nh t (MSB) như là m t bit d u, khi n cho vi c ki m tra m t s nguyên là dương hay âm ư c th c hi n d dàng. Nhưng nó khác v i cách bi u di n d u – l n các bit còn l i s có ý nghĩa khác i. Công th c t ng quát bi u di n m t s bù hai như sau: n−2 n −1 i A = −2 a n−1 + ∑ 2 ai i =0 Trong trư ng h p các s nguyên dương thì an-1 = 0 cho nên bi u th c n −1 −2 a n −1 = 0 . Do v y bi u th c trên ư c bi u di n s bù hai cho c s dương và s âm. B ng sau so sánh cách bi u di n s bù hai và bi u di n d u – ln i v i các s nguyên 4 bit. Bi u di n s th p phân Bi u di n d u – ln Bi u di n s bù hai +7 0111 0111 +6 0110 0110 +5 0101 0101 - 17 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên +4 0100 0100 +3 0011 0011 +2 0010 0010 +1 0001 0001 +0 0000 0000 -0 1000 - -1 1001 1111 -2 1010 1110 -3 1011 1101 -4 1100 1100 -5 1101 1011 -6 1110 1010 -7 1111 1001 -8 - 1000 Quan sát b ng trên ta th y: - N u ta dùng 4 bit bi u di n s thì thì ta thu ư c 16 t h p có giá tr t 0 n 15 t c là ch bi u di n ư c s dương. - V i cách bi u di n theo d u l n ta có th bi u di n ư c c s dương và âm n m trong kho ng -7…-0 +0…+7. - V i cách bi u di n theo mã bù hai ta cũng bi u di n ư c c s dương và âm n m trong kho ng -8…0…+7. Bi n i bit Có trư ng h p ngư i ta l y s nguyên n bit nhưng l i lưu nó vao trong m bit mà m>n. Trong trư ng h p bi u di n d u l n có th th c hi n m t cách d dàng b ng cách di chuy n bit d u n v trí m i bên trái nh t và i n thêm 0 vào ó. Ví d +18 = 00010010 (d u – l n, 8-bit) +18 = 00000000 00010010 (d u – l n, 16-bit) -18 = 10010010 (d u – l n, 8-bit) -18 = 10000000 00010010 (d u – l n, 16-bit) i u này không còn úng n a v i s nguyên âm bù hai, ví d : +18 = 00010010 (s bù hai, 8-bit) +18 = 00000000 00010010 (s bù hai, 16-bit) -18 = 11101110 (s bù hai, 8-bit) -32658 = 10000000 01101110 (s bù hai, 16-bit) - 18 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên Quy t c bi n i bit s bù hai là di chuy n bit d u n v trí m i phía bên trái nh t và i n thêm các bit có giá tr b ng bit d u (c vào v trí cũ c a bit d u). i v i các s dương thì i n thêm 0 v i các s âm thì i n thêm 1. Như v y cách bi u di n 18 theo mã bù hai như sau: +18 = 00010010 (s bù hai, 8-bit) +18 = 00000000 00010010 (s bù hai, 16-bit) -18 = 11101110 (s bù hai, 8-bit) -18 = 11111111 11101110 (s bù hai, 16-bit) 1.3.2.2. Bi u di n s th c S th c A trong h nh phân ư c bi u di n như sau: A = D1D2D3…Dn, d1d2d3…dn = D, d Trong ó: D = D1D2D3…Dn Là ph n nguyên d = d1d2d3…dn Là ph n th p phân Vi c bi u di n A dư i d ng nh phân ư c th c hi n làm 2 bư c. u tiên i ph n nguyên ra d ng nh phân theo ki u thông thư ng, sau ó i ti p ph n th p phân. Gi s ph n th p phân 0.d1d2d3…dn có d ng bi u di n nh phân là b1b2b3…bm Khi ó giá tr c a nó trong h cơ s 10 ư c tính như sau: d = d1d2d3…dn =(b1b2b3…bm)2 = (b12-1 + b22-2 + b32-3 +…+ bm2-m)10 1.3.2.3. Bi u di n ký t theo mã ASCII Trong ph n trên ta ã nói n cách bi u di n s trong h m. Bây gi ta xem xét vi c bi u di n thông tin nói chung trong máy tính. Trong th c t x lý c a máy tính ngoài các ký t ch cái còn có các ký t c bi t và các ký t s . Ký hi u ph bi n nh t ngày nay là dùng mã ASCII (American Standard Code for Information Interchange) mã chu n c a M dùng trong trao i thông tin. Vi c dùng các ký t mã hoá thông tin theo b ng mã chu n s cho chúng ta kh năng trao i thông tin v i h u h t các h vi x lý khác, k c i v i các h vi x lý tiên ti n (Hình 1.3.2c). Trong b ng mã ASCII tiêu chu n ngư i ta dùng 7 bit mã hoá các ký t thông d ng, như v y b ng mã này s có 128 ký t ng v i các mã s t 0…127. Bên c nh mã ASCII tiêu chu n ngư i ta còn s d ng mã ASCII m r ng v i các ký t c bi t (khác các ký t tiêu chu n) v i mã t 128 n 255. Khi tra các b ng này ta c mã c a ký t theo th t c t – hàng. Ví d : mã ASCII c a m t s ký t thư ng dùng trong khi l p trình. (Bell, chuông): 07H - 19 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
- BM k thu t Vi i u Khi n H K thu t công Nghi pThái Nguyên (Back space, xoá lùi): 08H (Line Feed, thêm dòng m i): 0AH Hexa 0 1 2 3 4 7 6 5 decimal 0 @ P ` p 0 0 32 48 80 112 16 64 96 ! 1 A Q a q 1 1 17 33 49 81 97 113 65 " 2 B R r b 2 2 18 34 82 98 114 50 66 # 3 C S c s 3 3 19 83 99 35 51 67 115 4 D T t d 4 $ 4 20 36 52 68 84 100 116 E U e u % 5 5 21 37 101 117 5 53 69 85 & F V v 6 f 6 6 22 38 70 86 102 118 54 ' 7 W g w G 7 7 23 39 71 87 103 119 55 ( 8 H X x h 8 8 24 40 72 88 104 120 56 ) 9 I Y y i 9 9 41 73 89 121 25 57 105 * : J Z z j A 10 26 42 74 90 106 122 58 + ; K [ { k B 11 27 43 91 107 123 59 75 , < L \ l C 12 28 44 92 108 124 60 76 - = M ] m } D 77 13 29 45 61 93 109 125 . > N ^ n ~ E 14 30 78 94 110 46 62 126 / ? O _ o F 31 47 63 79 111 127 15 95 Hình 1.3.2c .B ng mã ASCII tiêu chu n Khi xem xét b ng mã ta có th rút ra m y nh n xét sơ b sau: - 2c t u tiên c a b ng mã ư c dùng cho các ký t i u khi n. - C t 2 dành riêng cho các ký t ngăn cách. - Các ký t s n m c t 3. - Các ch cái hoa n m c t 4, 5. Các ch cái thư ng c t 6, 7. Kho ng cách gi a ch thư ng và ch hoa cùng tên là 20H. Quan h gi a mã ASCII v i s BCD Trong khi làm toán v i các s BCD ta thư ng k t h p hai s BCD thành m t Byte, d ng s BCD vi t theo ki u này ư c g i là d ng BCD chu n hay còn g i là d ng BCD gói. Khi lưu tr , khi hi n th ho c khi truy n gi a các thi t b các giá tr s 0…9 th c ch t ta làm vi c v i mã ASCII c a các s ó t c là các s 30H…39H. Như v y ta th y trong 1 byte mã ASCII bi u di n các s - 20 - Giáo Trình H vi i u khi n Biên So n: Dương Qu c Hưng
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Kỹ thuật vi điều khiển
121 p | 1626 | 867
-
Kỹ thuật vi điều khiển-p2
9 p | 315 | 120
-
Kỹ thuật vi điều khiển-p3
9 p | 224 | 103
-
Kỹ thuật vi điều khiển-p4
19 p | 240 | 96
-
Kỹ thuật vi điều khiển-p5
6 p | 227 | 90
-
Kỹ thuật vi điều khiển-p6
17 p | 214 | 89
-
Giáo trình Kỹ thuật vi điều khiển - ĐH Sư Phạm Kỹ Thuật
80 p | 266 | 63
-
Bài giảng Kỹ thuật vi điều khiển - ThS. Lê Xứng, ThS. Nguyễn Bá Hội
195 p | 148 | 33
-
Giáo trình môn Kỹ thuật vi điều khiển: Tổng quan về vi điều khiển - Chương 1
28 p | 96 | 12
-
Giáo trình Kỹ thuật vi điều khiển nâng cao (Nghề: Công nghệ kỹ thuật điều khiển và tự động hóa - Trình độ Cao đẳng) - Trường Cao đẳng Nghề An Giang
69 p | 48 | 9
-
Giáo trình Kỹ thuật vi điều khiển (Nghề: Điện tử dân dụng - Trung cấp) - Trường Cao đẳng Cơ giới (2022)
141 p | 10 | 8
-
Giáo trình môn Kỹ thuật vi điều khiển: Thiết kế web và vi điều khiển - Chương 2
39 p | 75 | 7
-
Bài giảng Kỹ thuật vi điều khiển - ThS. Hoàng Thế Phương
76 p | 16 | 7
-
Giáo trình Kỹ thuật vi điều khiển (Nghề: Điện tử công nghiệp) - CĐ Công nghiệp và Thương mại
102 p | 63 | 5
-
Giáo trình Kỹ thuật vi điều khiển (Nghề Điện tử dân dụng): Phần 1 - CĐ nghề Vĩnh Long
145 p | 28 | 3
-
Giáo trình Kỹ thuật vi điều khiển (Ngành: Điện tử công nghiệp - Cao đẳng) - Trường Cao đẳng nghề Ninh Thuận
232 p | 3 | 2
-
Giáo trình Kỹ thuật vi điều khiển - Trường Đại học Quy Nhơn
129 p | 6 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn