Thiết kế và thi công mạch giao tiếp với thiết bị đọc mã vạch sử dụng vi điều khiển AT89C51
Trang 1MỤC LỤC mã m TRANG TỰA m NHIỆM VỤ LUẬN VĂN # LỜI CẢM ƠN = MUCLUC = LOI MG DAU
NOI DUNG DE TAI
Phan 1 : CHUAN GIAO TIEP PS2, RS232 VA MOT SỐ KHÁI NIỆM VỀ
CODE 39 >
L1- CHUAN GIAO TIEP THONG QUA CONG PS2 1.2 - CHUAN GIAO TIEP THONG QUA CONG RS232 1.3— KHÁI NIỆM CHUNG VỀ CODE 39
Phần 2 : GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN 2.1 ~ GIGI THIEU
2.2 - LỊCH SỬ PHÁT TRIEN CUA VI ĐIỀU KHIỂN 2.3— KHẢO SÁT BỘ VI DIEU KHIỂN AT89C5I
Trang 2
3.2 - EEPROM AT28C64
Phin 4 : TONG QUAN VE PLDs
4.1— KHÁI QUÁT CHUNG 4.2-GAL16LV8C _ Phan 5 : SƠ LƯỢC VỆ IC 74HC573 _ Phần 6 : SƠ LƯỢC VỀ LCD1602 Phin 7: THIET KE — THI CONG 7.1- SO DO KHOI
7.2 - NGUYEN LY HOAT DONG CUA TUNG KHOI
Trang 3
Lời Mở Đầu
Hiện nay đất nước ta đang chuyển mình theo sự phát triển chung của thế giới và khu vực Châu Á bằng nễn sản xuất đa dạng và đầy tiềm năng Nền sản xuất này không
chỉ đòi hỏi một số lượng lao động khổng lồ mà còn yêu cầu về trình độ, chất lượng tay
nghề, kỹ thuật lao động và thiết bị sản xuất Trên đà phát triển đó, vấn đề tự động hoá
trong quá trình sản xuất, nghiên cứu trở thành một nhu cầu cần thiết Thoạt đầu vấn đề tự động hoá được thực hiện riêng lẻ từ cơ khí hoá đến các mạch điện tử Ngày nay, sự xuất
hiện cuả các chip vi xử lý cùng với sự ra đời của máy điện toán đã đẩy vấn để tự động
hoá lên một bước cao hơn và thời lượng nhanh hơn Các thiết bị, hệ thống đo lường va điều khiển kết hợp với máy điện toán cho ta độ chính xác rất cao, thời gian xử lý số liệu
ngắn Ngoài ra, chúng ta còn có thể thiết lập phần giao diện ứng dụng lên màn hình máy điện toán tạo nên sự tiện lợi cho người sử dụng Trước tiềm năng đó em đã quyết định
Trang 4Đọc Mã Vạch Sử Dụng Vi Điều Khiển AT89C51” thông qua cổng PS2 và thực hiện viết chương trình phần mềm để truyền số liệu giữa hai thiết bị trên
Do thời gian có hạn nên tập luận văn này không tránh khỏi những thiếu sót mong quí thầy cô thông cảm
Trang 7
Phần 1 Các chuẩn giao tiếp và khái niệm về CODE 39
Trang 8Vals = Trong d6: Pin 1 : KBD Clock Pin 2: GND Pin 3 : KBD Data .Pin4: NC Pin 5: +5v (VCC) .Pin6:NC
Chuẩn giao tiếp PS2 có 3 đường tín hiệu quan trọng : đường xung nhịp bàn phim (KBD Clock), đường dữ liệu bàn phím (KBD Data), và masse (GND)
Trang 9
Phần 1 Các chuẩn giao tiếp và khái niệm về CODE 39
Trang 105 Signal Ground - | | 1.3 - Một số khái niệm vé CODE 39 : El BARCUD Code 39 là 1 mã vạch rời rạc gồm các thanh sọc đen trắng xếp xen kẻ nhau Những
vạch sọc đen trắng đó sẽ đặc trưng cho một ký tự Mỗi ký tự gồm 9 thanh sọc ( 5 thanh sọc đen và 4 thanh sọc trắng), 3 thanh trong số đó có độ rộng rộng hơn các thanh khác TỈ
lệ của độ rộng mỗi thanh trong khoảng 2,2 : 1 đến 3 : 1 Để đọc loại mã vạch này một cách chính xác và ổn định, bộ giải mã cần phải phân biệt được sự khác nhau giữa các _
thanh rộng và hẹp Khoảng cách giữa mỗi ký tự mã vạch được gọi là “ranh giới ký tự nội
“ độ rộng của nó thì không xác định nhưng thường thi bằng với thanh sọc trắng hẹp
Trang 11
Phần 1 Các chuẩn giao tiếp và khái niệm về CODE 39
Độ rộng của thanh rộng và hẹp thiết lập nên các thành tố mà tất cả các thanh đều
giống nhau nhưng trên thực tế hầu hết các quá trình in ấn có thể xảy ra tình trạng lem mực Chính vì vậy một số thanh sẽ rộng ra và chiếm các khoảng trống khác Ảnh hưởng
này được chú ý nhiều nhất trên các thanh hẹp vì thỉnh thoảng nó làm cho loại mã vạch
này rất khó để quét bởi một số bộ giải mã
Mã vạch theo chuẩn Code 39 hổ trợ mã hóa đến 43 ký tự cộng với một ký tự thêm vào để giới hạn hay để đánh dấu bắt đầu hoặc kết thúc ký tự Ký tự bắt đầu hay kết thúc luôn xảy ra tại vị trí đầu và cuối của ký tự trong một mã vạch hoàn chỉnh và được qui ước là ký tự “ * “
43 ký tự gồm :
1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ - $/+ % SPACE
Chú ý là các ký tự trên đều là các ký tự viết in Nếu muốn sử dụng các ký tự thường hay cdc ky tu ASCII thi can bảng mã CODE 39 mở rộng
Trang 1239:
Trang 15
Phần 2 Giới thiệu chung về vi điều khiển
2 - Giới thiệu chung về vi điều khiển
2.1 - Giới thiệu :
Bộ vi điều khiển viết tắt là Micro-controller, là mạch tích hợp trên một chip có thể lập trình được, dùng để điều khiển hoạt động của một hệ thống Theo các tập lệnh của
người lập trình, bộ vi điều khiển tiến hành đọc, lưu trữ thông tin, xứ lý thông tin, đo thời
gian và tiến hành đóng mở một cơ cấu nào đó
Trong các thiếh bị điện và điện và điện tử dân dụng, các bộ vi điểu khiển, điều khiển hoạt động của TV, máy giặt, đầu đọc laser, điện thọai, lò vi-ba Trong hệ thống sản xuất tự động, bộ vi điểu khiển được sử dụng trong Robot, dây chuyền tự động Các hệ thống càng “thông minh” thì vai trò của hệ vi điều khiển càng quan trọng
2.2 - Lịch sử phát triển của vi điều khiển :
Bộ vi điều khiển thực ra, là một loại vi xử lí trong tập hợp các bộ vi xử lý nói chung Bộ vi điều khiển được phát triển từ bộ vi xử lí, từ những năm 70 do sự phát triển và hoàn
Trang 16
ee een eee ee ee ee nee OI OO IIE IEEE IEE
mức độ tích hợp của các linh kiện bán dẫn trong một chip ngày càng cao
Năm 1971 xuất hiện bộ vi xử lí 4 bít loại TMS1000 do công ty texas Instruments vừa
là nơi phát minh vừa là nhà sản xuất Nhìn tổng thể thì bộ vi xử lí chỉ có chứa trên một chip những chức năng cần thiết để xử lí chương trình theo một trình tự, còn tất cả bộ phận
phụ trợ khác cần thiết như : bộ nhớ dữ liệu , bộ nhớ chương trình , bộ chuển đổi AID,
khối điều khiển, khối hiển thị, điều khiển máy in, hối đồng hồ và lịch là những linh kiện nằm ở bên ngoài được nối vào bộ vi xử lí
Mãi đến năm 1976 công ty INTEL (Interlligen-Elictronics) Mới cho ra đời bộ vi điều khiển đơn chip đầu tiên trên thế giới với tên gọi 8048 Bên cạnh bộ xử lí trung tâm 8048 còn chứa bộ nhớ đữ liệu, bộ nhớ chương trình, bộ đếm và phát thời gian các cổng
vào và ra Digital trén một chip
Trang 17
Phần 2 Giới thiệu chung về vi điều khiển
Các công ty khác cũng lần lược cho ra đời các bộ vi điều khiển 8bit tương tự như 8048 và hình thành họ vi điều khiển MCS-48 (Microcontroller-sustem-48)
Đến năm 1980 công ty INTEL cho ra đời thế hệ thứ hai của bộ vi điều khiển đơn
chip với tên gọi 8051 Và sau đó hàng loạt các vi điểu khiển cùng loại với 8051 ra đời và
hình thành họ vi điều khiển MCS-5I
Đến nay họ vi điều khiển 8 bit MCS51 đã có đến 250 thành viên và hầu hết các công ty hàng dẫn hàng đầu thế giới chế tạo Đứng đầu là công ty INTEL và rất nhiều công ty khác như : AMD, SIEMENS, PHILIPS, DALLAS, OKT
Ngoài ra còn có các công ty khác cũng có những họ vi diéu khiển riêng như : Họ 68HCOS của công ty Motorola
Họ ST62 của công ty SGS-THOMSON
Trang 18
AT89C5I là một bộ vi điều khiển 8 bit loại CMOS, có tốc độ cao và công suất thấp,
với bộ nhớ Flash có thể lập trình được Nó được sản xuất với công nghệ bộ nhớ không
bay hơi mật độ cao của hãng Atmel, và tương thích với chuẩn công nghiệp của 80C51 và 80C52 vé chan ra và bộ lệnh 2.3.1 - Dac truing cia AT89C51 - _ Tương thích với các sản phẩm MCS-51 - _ 4Kbyte bộ nhớ Flash có thể lập trình lại với 1000 chu kỳ đọc/xóa - _ Hoạt động tĩnh đầy đủ: 0Hz đến 24MHz - _ Khóa bộ nhớ chương trình 3 cấp
- _ 128 byte RAM nội, 32 đường xuất/nhập lập trình được - - Mạch đồng hồ và bộ dao động trên chip
Trang 20
Address/data
* Alternate pin assignments for P1 and P3
Interrup control: điều khiển ngắt Orther registers: các thanh ghi khác 128 byte RAM: RAM 128 byte Timer 0, 1: bộ dinh thdi 0, 1 CPU: don vi diéu khién trung tam Oscillator: mach dao d6ng
Bus control: diéu khién Bus I/O port: cAc port xuat/nhap Address/data: địa chỉ/dữ liệu
2.3.2 - Cấu hình và đặc tính chân của A T89C51
Trang 21
Phần 2 Giới thiệu chung về vỉ điều khiển
Như vậy, AT89C51 có tất cả 40 chân, 32 trong số 40 chân này có công dụng xuất/nhập Tuy nhiên, 24 trong 32 đường này có 2 mục đích (công dụng) Mỗi đường có thể hoạt động xuất/nhập hoặc hoạt động như một đường điều khiển, hoặc hoạt động như
một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp
32 chân nêu trên hình thành nên 4 port nối tiếp Với các thiết kế yêu cầu một mức tối thiểu bộ nhớ ngoài hoặc các thành phân bên ngoài khác, ta có thể sử dụng các port
này làm nhiệm vụ xuất/nhập 8 đường cho mỗi port có thể được xử lý như một đơn vị giao
tiếp với các thiết bị song song như máy in, bộ biến đổi D-A, v.v hoặc mỗi đường có thể hoạt động độc lập giao tiếp với các thiết bị đơn bit như chuyển mach, LED, BJT, FET, cuộn dây, động cơ, loa
Trang 24"` AII A10 A9 A§
Vcc(chân 40): chân cấp điện áp nguồn +5V chip
GND(chân 20): chân nối đất
_ Port 0:
Port 0(các chân từ 32 đến 39) có 2 công dụng Trong các thiết kế có tối thiểu thành phần, port 0 được sử dụng làm nhiệm vụ xuất/nhập Trong các thiết kế lớn hơn có bộ nhớ
ngoài, port 0 trở thành địa chỉ và bus đữ liệu đa hợp
Trang 25Phần 2 Giới thiệu chung về vi điều khiển Bình thường đây là cổng ra Để có thể vừa làm đầu ra, vừa làm đầu vào thì mỗi
chân phải được nối tới một điện trở 10KO kéo bên ngoài Sở dĩ như vậy là vì cổng port 0
có dạng cực máng để hở, đây là điểm khác với các cổng port 1, port 2, port 3 Khái niệm cực máng hở cũng tương tự như collector hở, tuy nhiên ở đây áp dụng cho các chip dạng
MOS Với các điện trở kéo ngoài, khi reset, port 0 được cấu hình làm cổng ra Khi có các
điện trở nối tới port 0, để tạo thành cổng vào thì cần phải lập trình bằng cách ghi I tới tất
cả các bit của cổng, sau đó nhận dữ liệu về từ port 0 và ghi vào thanh chứa A Port 1:
Port 1 (các chân từ 1 đến 8) chỉ có một công dụng là xuất/nhập Các chân này chỉ
được dùng để giao tiếp với thiết bị bên ngoài khi có yêu cầu, ngoài ra chúng không có
chức năng nào khác nữa Nghĩa là chúng chỉ được sử dụng để giao tiếp với ngoại vi Khác với port 0, port 1 không cần điện trở kéo lên vì nó đã có các điện trở kéo bên
Trang 26
Port 2:
Port 2 (các chân từ 21 đến 28) có 2 công dụng, hoặc làm nhiệm vụ xuất/nhập hoặc
là byte cao của địa chỉ 16 bit cho các thiết kế có bộ nhớ chương trình ngoài hoặc các thiết kế có nhiễu hơn 256 byte bộ nhớ dữ liệu ngoài Cũng giống như port 1, port 2 không cần
điện trở kéo vì bên trong đã có các điện trở kéo Khi reset, port 2 được cấu hình làm đầu -
ra ĐỂ port 2 làm cổng vào thì cần được lập trình bằng cách ghi 1 tới tất cả các chân của cổng
Port 3:
Port 3 (các chân từ 10 đến 17) có 2 công dụng Khi không hoạt động xuất/nhập, các chân của port 3 có nhiều chức năng riêng (mỗi chân có chức năng riêng liên quan đến
Trang 27
Phần 2 Giới thiệu chung về vỉ điều khiển
dụng chủ yếu Port 3 có thêm chức năng quan trọng khác là cung cấp một số tín hiệu đặc
biệt, chẳng hạn như ngắt
Bảng sau đây cho ta chức năng các chân của port 3: Bit Tên Địa chỉ bit Chức năng
P3.0 RxD BOH chân nhận dữ liệu của port nối tiếp
P3.1 TxD B1H | chân phát dữ liệu của port nối tiếp
P32 INTO B2H ngõ vào ngắt ngoài 0
P3.3 INT B3H ngõ vào ngắt ngoài 1
P34 TO B4H ngõ vào của bộ định thời/đếm 0 P35 TI B5H ngõ vào của bộ định thời/đếm 1
P36 WR B6H | điều khiển ghi bộ nhớ dữ liệu ngoài
P37 RD B7H điểu khiển đọc bộ nhớ dữ liệu ngoài
RST (chân 9):
Trang 28
nee EE EE EOE IEEE EEE mm“
trạng thái ban đầu cho hệ thống hay gọi tắt là reset hệ thống Bình thường ngõ vào
này ở mức thấp Khi ngõ vào này được treo ở logic 1 tối thiểu 2 chu kỳ máy, các thanh ghi bên trong của 8951 được nạp các giá trị thích hợp cho việc khởi động lại hệ thống RST có thể được tác động bằng tay hoặc được tác động khi cấp nguồn bằng cách dùng một mạch RC Trạng thái của tất cả các thanh ghi sau khi reset hệ thống được tóm tắt trong bảng sau:
Trang 29Phan 2 Giới thiệu chung về vỉ điều khiển DPTR 0000H Port 0-3 FFH IP xxx00000B IE 0xx00000B Các thanh ghi đnhthời 00H SCON 00H SBUF 00H PCON 0xxx0000B ALE/PROG (chân 30) :
ALE/PROG là chân xuất tín hiệu cho phép chốt địa chỉ (Address Latch Enable) để giải đa hợp (demultiplexing) bus dữ liệu và bus địa chỉ Chân này tích cực mức cao Khi
port 0 được sử dụng làm bus địa chỉ/dữ liệu đa hợp, chân ALE xuất tín hiệu để chốt địa
chỉ (byte thấp của địa chỉ 16 bit) vào một thanh ghi ngoài trong suốt nửa đầu của chu kỳ
Trang 30lệ trong suốt nửa thứ hai của chu kỳ bộ nhớ Chân này cũng là ngõ nhập xung lập trình (PROG) khi lập trình Flash Tín hiệu ALE có tần số bằng 1/6 tần số của mạch dao động
bên trong chip vi điều khiển và có thể được dùng làm xung Clock cho phần còn lại của hệ thống Nếu mạch dao dộng có tần số 12MHz thì tín hiệu ALE có tần số 2MHz
PSEN (chân 29) :
PSEN (Program Store Enable) là ngõ ra cho phép đọc bộ nhớ chương trình ngoài
Chân này thường nối với chân cho phép xuất OE cia EPROM hodc ROM dé cho phép đọc các byte lệnh Tín hiệu PSEN ở logic 0O trong suốt thời gian tìm nạp lệnh Các mã nhị
phân của chương trình hay opcode được đọc từ EPROM, qua bus đữ liệu và được chốt vào thanh ghi lệnh IR của 8951 để được giải mã Khi thực thi một chương trình chứa ở ROM nội, PSEN được duy trì ở logic không tích cực (logic 1)
EA/VPP (chan 31):
Trang 31
Phần 2 Giới thiệu chung về vi điều khiển
Ngõ vào này có thể được nối với +5V (logic 1) hoặc được nối với GND (logic 0)
Nếu chân này nối lên +5V, 8951 thực thi chương trình trong ROM nội (chương trình nhỏ
hơn 4Kbyte) Nếu chân này nối với GND (và chân PSEN cũng ở logic 0), ROM nội bên trong chip bị vô hiệu hóa, và chương trình cần thực thi được chứa ở bộ nhớ ngoài Chân này hoặc được nối GND hoặc được nối với Vcc chứ không bao giờ dé hd -
Các phiên bản EPROM của 8051 còn sử dụng chân E4 làm chân nhận điện áp cấp
điện 21V (Vpp) cho việc lập trình EPROM nội (nạp EPROM) XTALI1 và XTAL2 (chân 19 và chân 18) :
Mạch dao động bên trong chip được ghép với thạch anh bên ngoài ở hai chân
XTALI và
XTAL2 Khi mắc dao động thạch anh phải có hai tụ điện 30pF hoặc 33pF Một đầu
mỗi tụ nối với XTAL1 và XTAL2, còn đâu kia nối đất Tần số danh định của thạch anh là
Trang 32
động được nối tới chân XTAL], còn chân XTAL2 được để hở
2.3.3 - Tổ chức bô nhớ
AT89C51 có những vùng nhớ riêng biệt cho chương trình và dữ liệu Cả chương
trình và dữ liệu có thể ở bên trong chip Dù vậy, chúng có thể được mở rộng ô nhớ bằng các thành phần bên ngoài lên đến tối đa 64Kbyte bộ nhớ chương trình và 64Kbyte bộ nhớ
dữ liệu ,
Bộ nhớ bên trong chip bao gồm RAM và ROM RAM trên chip bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các băng thanh ghi và _
các thanh ghi chức năng đặc biệt Hai đặc tính đáng lưu ý là:
- Các thanh ghi và các port xuất/nhập đã được xếp trong bộ nhớ và có thể
được truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác
Trang 33Phần 2 Giới thiệu chung về vi điều khiển
- Vùng stack thường trú trong RAM trên chip (RAM nội) thay vì ở trong RAM ngoài như đối với các bộ vi xử lý
2.3.3.1 - Vùng RAM đa mục đích
Mặc dù hình trên trình bày vùng RAM đa mục đích có 80 bytes đặt ở địa chỉ từ 30H đến 7FH, bên dưới vùng này từ địa chỉ 00H đến 2FH là vùng nhớ có thể được sử dụng
tương tự (mặc dù các vị trí nhớ này có các mục đích khác như sẽ được thảo luận dưới đây) Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có thể được truy xuất tự do
bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp
Trang 35Phần 2 Giới thiệu chung về vi điều khiển ja chi Dia chỉ yte Dia chi bit byte Dia chi bit F FF FO | F7 | F6 | F5 | F4 | F3 |F2 |FI |FO |B
) | Ving RAM EO | E7 | E6 | E5 | E4 | E3 | E2 | El | EO | ACC
Trang 36—— "1H =<= ss aovyoF VY FF VN wo px 67-| 66 |65 | 64 | 63 |62 |61|60| A8|AFI- |- |AC|AB |AA |A9 |A8 5F | 5E | 5D | 5C |5B |5A | 59 | 58 57|56 |55 |54 |53 |52 |51|50| AO|A7|A6|A5|A4 | A3 | A2 | Al | AO 4F | 4E | 4D | 4C | 4B | 4A | 49 | 48 47 | 46 | 45 | 44 | 43 |42 |41|40] 99 | Khong dinh dia chi bit 3F | 3E | 3D | 3C | 3B |3A|39|38] 98 |9F |9E | 9D] 9C | 9B | 9A | 99 | 98 37 | 36 | 35 | 34 | 33 | 32 | 31 | 30 | 2F | 2E | 2D | 2C | 2B {2A 129/28} 90 [97 |96 195 |94 | 93 | 92 | 91 | 90 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20
IF|1E|ID|IC|IB|1A|19|18| 8D | Không định địa chỉ bít
17|16 |15 |14 |13 |12 |11|10| $C | Không định dia chi bit 0F | 0E |0D |0C |0B|0A |09|08| 8B | Khong dinh địa chi bit 07 |06 |05 |04 |03 |02 |01|00| 8A | Không định địa chi bit
Dãy 3 8 89 | Không định địa chỉ bít
y 8s | 8F | 8E | 8D | 8c | 8B | 8A | 89 | 88
Trang 37Phần 2 Giới thiệu chung về vi điều khiển
81 | Khong dinh dia chi bit
Day thanh ghi mac 8 80 | Không định địa chỉ bit
định R0-R7 80 |87 |86 |85 |84 |33 |82 |81 |80
RAM Các thanh ghi chức
năng đặc biệt
2.3.3.2 - Vùng RAM dinh dia chi bit
8951 chứa 210 vị trí bit được định địa chỉ, trong đó 128 bit chứa trong các byte ở địa chỉ từ 20H đến 2FH (16byte x 8bit = 128bit) và phần còn lại chứa trong các thanh ghi
chức năng đặc biệt
Như vừa đề cập ở trên, 8951 có 128 vị trí bit được định địa chỉ và có nhiều mục đích ở các byte có địa chỉ từ 20H đến 2FH Các địa chỉ này được truy xuất như là các byte hay các bit tùy vào lệnh cụ thể
2.3.3.3 - Các dãy thanh phi
32 vị trí thấp nhất của bộ nhớ nội chứa các dãy thanh ghi Các lệnh của 8951 hỗ trợ
Trang 38các thanh ghi từ RO đến R7 thuộc dãy 0 Đây là dãy mặc định sau khi Reset hệ thông
Các thanh ghi này ở các địa chỉ từ OOH đến 07H
Các lệnh sử dụng trong các thanh ghi từ RO đến R7 là các lệnh ngắn và thực hiện nhanh hơn so với các lệnh tương đương sử dụng kiểu định địa chỉ trực tiếp Các giá trị dữ
| liệu thường được sử dụng thì nên chứa ở một trong các thanh ghi này Dãy thanh ghi đang
được sử dụng gọi là dãy thanh ghi tích cực Dãy thanh ghi tích cực có thể được thay đổi bằng cách thay đổi các bit chọn đãy trong từ trạng thái chương trình PSW (sẽ đề cập sau)
Ý tưởng “các dãy thanh ghi” cho phép “chuyển đổi ngữ cảnh” nhanh và có hiệu quả ở những nơi mà các phần riêng rẻ của phần mềm sử dụng một tập thanh ghi riêng, độc lập với các phần khác của phần mềm
2.3.4 - Các thanh ghỉ chức năng đặc biệt SER
Các thanh ghi nội của hầu hết các bộ vi xử lý đều được truy xuất rõ ràng bởi một tập
lệnh Việc truy xuất các thanh ghi cũng đựơc truy xuất trên 8951
Trang 39Phan 2 Giới thiệu chung về vi điều khiển
Các thanh ghi nội của 8951 được cấu hình thành một phần của RAM trén chip Do
vậy mỗi một thanh ghi cũng có một địa chỉ Điểu này hợp lý với 8951 vì chip này có rất
nhiều thanh ghi Cũng như các thanh ghi từ RO đến R7, ta có 21 thanh ghi chức năng đặc
biệt SER chiếm phần trên của RAM nội từ địa chỉ 80H đến FFH
Hầu hết các thanh ghi chức năng đặc biệt được truy xuất bằng kiểu định địa chỉ trực
tiếp Trong hình vẽ trên ta cần lưu ý là một số thanh ghi chức năng đặc biệt được định địa
chỉ từng bit và định địa chỉ từng byte 2.3.4.1 - Từ trạng thái chương trình Bit Ky hiéu Diachi Mô tả bít PSW.7 CY D7H cờ nhớ PSW.6 AC D6H cờ nhớ phụ PSW.5 F0 D5H cờ 0
PSW.4 RS1 D4H chon day thanh ghi (bit 1)
Trang 4000: dãy 0, địa chỉ từ 00H đến 07H 01: dãy 1, địa chỉ từ 08H đến OFH 10: dãy 2, địa chỉ từ 10H đến 17H 11: dãy 3, địa chỉ từ 18H dén 1FH PSW.2 OV D2H cờ tràn PSW.L - DIH dự trữ
PSW.0 P DOH cờ kiểm tra chắn lẽ
- PSW có địa chỉ là DOH chứa các bit trạng thái có chức năng được tóm tắt trong bảng trên
Cờ nhớ
Cờ nhớ CY (Carry flag) có 2 công dụng Công dụng truyền thống trong các phép
toán số học là được set bằng 1 nếu có số nhớ từ phép cộng bit 7 hoặc có số mượn mang