1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công hệ thống báo giờ sử dụng vi Điều khiển 8951

91 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Và Thi Công Hệ Thống Báo Giờ Sử Dụng Vi Điều Khiển 8951
Tác giả Đoàn Quốc Sơn, Dương Thanh Trung
Người hướng dẫn Th.S. Trần Thanh Mai
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Điện - Điện tử
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2002
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 91
Dung lượng 8,58 MB

Nội dung

_ Khối nguồn: gồm có mạch ổn áp, mạch bảo vệ nhằm cực tính nguồn Battery từ bên ngoài Nguyên lý hoạt động cơ bản của hệ thống như sau: Dữ liệu từ 0 đến 23 giờ và tín hiệu điều khiển bá

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRUONG DAI HOC SU’ PHAM KY THUAT

THÀNH PHÓ HÒ CHÍ MINH

HGMUIIE

ĐỎ ÁN TÓT NGHIỆP NGÀNH LUẬN VĂN TÓT NGHIỆP

THIET KE VA THI CONG

HE THONG BAO GIO’ SU’ DUNG

Trang 2

Noo VN Oy tUcnh VI

Luin oan tốt ngiiệp 90200 : Gu Gviin Ghanh Mai

Bộ gido duc —dao tao Cộng hoà xã hội chủ nghĩa Việt Nam

Trường Đại Học Sư Phạm Kỹ Thuật Độc lập - Tự do - Hạnh phúc

THIẾT KẾ VÀ THỊ CÔNG HỆ THONG BAO GIG SU DUNG

4- Ngày giao nhiệm vụ:

5- Ngày hoàn thành nhiệm vụ: 2/03/2002

Cán bộ hướng dẫn ký tên 'Thông qua bộ môn

Ngàyh tháng | nim 200%

Chủ nhiệm bộ môn

Trang 3

“đậm năm tốt ngiiệp, GOUD : Th.S.Fedin Thank Mai

BAN NHAN XET

LUẬN VĂN TỐT NGHIỆP CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên sinh viên: BOAN QUOC SON

Trang 4

Lun oan tot nghi¢n GULD : Th Guin Thanh Mai

BẢN NHẬN XÉT LUẬN VĂN TỐT NGHIỆP CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên sinh viên : BOAN QUOC SON

Trang 3

Trang 5

Lun vain tot aghi¢p GOUD : Fh Fein Thanh Mai

- BẢN NHẬN XÉT

LUẬN VĂN TỐT NGHIỆP CỦA HỘI ĐỒNG GIÁM KHẢO

Họ và tên sinh viên _ :ĐOÀN QUỐC SƠN

NHAN AEE CUA HOL DONG GIAM KHAO:

Hội đồng giám khảo Trang 4

Trang 6

Luin odin tt aghitp GOWD : Th.8 Trin Thank Mai

<>

YIN GOI LOI TRI AN DEN CHA,

ME, ANH, CHI VA TOAN THE BAN BÈ ĐÃ GIÚP ĐỠ TÔI TRONG

NHỮNG NĂM QUA

Trang 7

Trang 7

,tuận ăn tốt nghiệp 4/0200 : gi.$ Quân Thanh Mai

XIN CHÂN THÀNH CẢM ƠN TOÀN

THỂ QUÍ THÂY CÔ TRƯỜNG ĐẠI

HỌC SƯ PHẠM KỸ THUẬT ĐÃ DÀY

CÔNG DẠY DỖ VÀ TRUYỀN THỤ

KIẾN THỨC CHO CHÚNG EM

Trang 6

Trang 8

Lugn van tốt ngiiệp 9/0200 : đh Fein Thanh Mat

EM XIN CHAN THANH CAM ON

THAC Si TRAN THANH MAI DA

GIUP DO EM HOAN THANH TAP

LUAN VAN TOT NGHIEP

Trang 5

Trang 9

Luin oăn tốt ngiiệyy GOHD : Fr.S- Grin Flanh Mai

LOI NOI DAU

Kỹ thuật vi xử lí với tốc độ phát triển nhanh đã và đang mang đến

những thay đổi to lớn trong khoa học và công nghệ cũng như trong đời sống

hơn và dễ sử dụng hơn công việc được thực hiện với hiệu quả cao hơn

phần lớn nhờ vào kỳ thuật vì điều khiến

Vào năm 1976 INTEL giới thiệu bộ vị điều khiến (microcontroller) 8748 , MOL chip tướng tự như các bộ vì xứ lý va JA chip đâu tiên trong họ Ví điều

khiển MCS 48 R74 là một ví mạch chứa trên T7 000 transistor báo gồm một

CPU LK byte PPROM , 64 byte RAM , 27 can xuat nap va | bộ định thời TNBbit.NZN và các ý Khác tiếp theo của họ MCS -48 đã nhánh chóng trở thành

application ) Vice thay thế các thành phan cơ điện trong các sản phẩm như

máy piặt, các bộ điều khiển đền giao thông là một ứng dụng phổ biến ban

đầu, Chỉ 4 năm sau LNTEL công bố chế tạo chip 8051 có độ phức tạp, kích thước và khả năng tăng đáng kể, bộ vi digu khiển đầu tiến của họ vi điều

khiển -MCS., So với chip 8748, 8051 chứa trên 60000 transistor bao gồm 4 K

byte ROM,128 byte RAM, 32 đường xuất nhập và 2 bộ định thời 16 bít

Việc ứng dụng kỹ thuật mà vi điều khiển đem đến để tạo ra những sắn phẩm phục vụ cho cuộc sống là vấn để mà sinh viên đang học các ngành kỹ thuật nhất là trong lãnh vực điện tử rất mong muốn Luận văn tốt nghiệp với

để tài " Thiết kế và thi công đồng hồ báo giờ sử dụng Vi diéu khiển 8951" nhằm đáp ứng ý nghĩa trên Tuy bản thân em đã hết sức cố gắng nhưng kiến thức về vi điều khiển và thời gian thực hiện để tài có giới hạn vì vậy để tài

không tránh khỏi những sai sót, kính mong quý thầy cô và bạn bè đóng góp

Sinh viên thực hiện

ĐOÀN QUỐC SƠN

Trang 8

Trang 10

Lugn van tốt nghiép GOD : Th.S Guin Thanh Mai

1- Giới thiệu các dạng mạch dã có trước

I- Đề tài Thiết kế và thị công mạch báo tiết học cho

2 -Tính toán và thiết kế các khối

HI- Thiết kế phần mêm

PHAN II : KẾT LUẬN VÀ KIỂN NGHỊ

T- Kết luận và hướng phát triển của để tài

Trang 11

-tuậm oăn tốt nghiệp, 44/0200 : Ơh.$ Ouân Chanh Mai

Trang 12

-Đuậm oăm tốt nghiệp 40200 : đh.Š Feéin Thanh Mai

I- MỤC TIÊU CỦA ĐỀ TÀI

Mục tiêu của để tài là thiết kế một hệ thống có những khả năng sau:

Tao ra thời gian thực

_ Hiển thị thứ , giờ , phút , giây

_ Điều khiển báo chuông

Hệ thống báo giờ có những khả năng sau :

_ Cho phép theo đồi thời gian thực (Gồm thứ, giờ, phút và giây) và điều chỉnh thời gian thực

“Tự động bảo hiểu tai những thời điểm cố định

Hệ thông vẫn lâm việc Khí mắt điện lưới (nhưng sẽ không báo hiệu)

Để hệ thông có những đặc tính trên, người viết dung kỹ thuật vi điểu

khiển để thiết Kẻ hệ thống, Hoạt động của hệ thống là sự kết hợp chặt chế

giữa phần cứng và phần mềm

Hệ Thông dược thiết kế dựa trên bộ Vi điều khiển 895 1hé thống có:

Bộ nhớ ROM và RAM phục vụ cho hoạt động của hệ thống

_ Sử dụng Timer để phục vụ việc tạo thời gian thực

_ Mạch kiểm soát các vectơ ngắt I7 dùng cho việc phục vụ các chức năng điều chỉnh

- 8 led 7 đoạn để hiển thị thời gian (Thứ, giờ, phút và giây)

- Mạch điều khiển chuông điện để báo hiệu

- Mạch nguồn cấp điện có accu dự phòng khi mất điện lưới

Phân mềm hệ thống được thiết kế dựa trên cấu tạo phần cứng hệ thống

được tổ chức như sau:

-Chương trình để đếm thời gian thực

- Chương trình ra quyết định báo hiệu và điều khiển báo hiệu

Trang 11

Trang 13

Lun van tot aghi¢p GOUD : Th.S Fein Thanh Mai

IY- NGUYÊN LÝ CHUNG CUA MACH pONG HỒ BÁO GIỜ TỰ

Do bộ vi điều khiển 8951 có đến hai TIMER vì vậy lợi dụng đặc điểm cấu

tạo của nó ta sử dụng I TIMER để đếm thời gian

Khi reset hệ thống , các led hiển thị số 0 ( Ta qui định như sau : led đơn vị

giây là led 1, led chục giây là led 2 led đơn vị phút là 3, led chục phút là 4,

sau ; sử dụng bộ định thời để đếm thời gian Igiây , khi led đơn vị giây đếm lên 1Ø thì led chục giầy tầng lên L, khi led2 đếm đến 6 Ihì lcd3 tăng lên | led

2 quay trở về 0, khi led 3 đếm đến 9 thì led 4 táng lên L, khi led4 đếm đến 6

thì led 5 £ led hiển thì đơa vì giờ ) đếm | JedS đếm đến 9 thị led 6 ( led hiển thị chục giờ tăng lên Ð Và khí hệ thông đếm đến 24 gis 00 phút 00 giây thì

Trang 14

-tuậm oăm tốt nghiệp 4/020 : đi $ Quân Thanh Mai

|; “““Ỗ“——Ẻ_Ăễ—=— ềằŠšễ>ỄỆ

PHẨNI `

NỘI DUNG

Trang 13

Trang 15

Lugn vin tot aghiép GOHD : Fh.8- Fein Fhranh Mai

1- GIỚI THIÊU CÁC DANG MACH DA CO TRUGC

Trước đây đã có một vài hệ thống báo giờ tự động được thiết kế và thi

công Tuy nhiên, do chúng được thiết kế bằng cách dùng “Eprom” nên đã vấp

phải một vài hạn chế về tính năng trong sử dụng cũng như việc tính toán phức

tạp trong kết nối phần Ngoài ra cũng có mạch thiết kế dựa trên bộ vi xử lý

Z80 nhưng vì bộ vi xử lý Z80 không có bộ nhớ nội vì vậy khi thi công sẽ phức

tạp vì phải kết nối thêm cae IC bộ trợ Chúng em xin được phép lấy hai mạch

cụ thể mà các anh , chị khoá trước đã thực hiện để mình chứng cho những ưu điểm khí sử dụng vị điều khign 8951 dé thay thé

1 Dé tai:

Gxvhd Trần Mình Chánh

Nvthi Nguyên Đình Mạnh Chiến

Thin thi Bach Ngoc

Trình bày sơ đồ khối:

Khối dao động: tạo tần số chuẩn 1Hz làm tân số cơ sở để mạch hoạt động và tạo xung điều khiển mạch báo giây

Khối chia 30: tạo tân số 1/30 Hz tức 1⁄2 giây là tần số để mạch đếm

thay đổi địa chỉ bộ nhớ

Trang 16

“uận oăn tốt dgiiệp 4/0200 : đh.$ Quân Franh Mai

_ Khối đếm: Là mạch đếm lên làm tăng dần địa chỉ bộ nhớ sau mỗi xung

1⁄2 giây Có thể đặt lại trạng thái ban đầu (reset) bằng tay hoặc từ ngõ ra của

bộ nhớ

_ Khối nhớ và đệm: ghi toàn bộ chương trình báo tiết học trong 24 giờ

® Tạo xung cho mạch chỉ thị (1 phút)

© Tao xung reset cho mạch chỉ thị sau 60 phút, sau 24 giờ

trạng thái bàn đầu mà tại địa chỉ đó chứa đoạn chương trình reset

toàn mach)

Khôi điệu khiến báo hiệu

© Tao thoi pian đầi C7) cho đầu tiết học

® Tạo thời piìn ngắn (3`) cho cuối tiết học,

© Tt mỏ báo bằng tay theo yêu cầu sử dụng (ALARM ON/OFF)

Khôi công suất gồm transistor công suất, rơle đóng cất i AC, DC (110V, 330V)

Khoi dao động điều chỉnh:

Tao tần số đao động cao hơn tân số dao động cơ bán để điều chỉnh lại đồng hồ báo giờ

e_ Chỉnh với tốc độ nhanh

e_ Chỉnh với tốc độ chậm

_ Khối nguồn: gồm có mạch ổn áp, mạch bảo vệ nhằm cực tính nguồn

Battery từ bên ngoài

Nguyên lý hoạt động cơ bản của hệ thống như sau:

Dữ liệu từ 0 đến 23 giờ và tín hiệu điều khiển báo chuông được nạp trong

một IC ROM 2732 Dữ liệu này không xuất trực tiếp ra led 7 đoạn để hiển thị

mà chúng có nhiệm vụ tạo ra xung clock cho mạch đếm BCD và xung reset

cho mạch đếm sau 60 phút và sau 24 giờ

Nguyên tắc tạo ra xung clock cho mạch đếm BCD như sau :

Cứ mỗi phút ở ngõ ra của IC ROM sẽ xuất hai 2 byte, ở bit D0 của byte thứ nhất có giá trị là 0 và byte thứ 2 có giá trị 14 1, IC ROM cứ tuần hoàn xuất”

ra dữ liệu như thế nên ở bit DŨ ngõ ra sẽ tạo thành một chuỗi xung liên tục có

Trang 15

Trang 17

Lugn van t6t aghi¢p GUD : Fu.8- Fein Thanh Mai

ân sế

tân số là 1/60 Hz hay 1 phút (đạng chuỗi xung có được mô tả ở hình phía

dưới) kích cho mạch đếm BCD để mạch đếm này cứ đếm tăng lên, sau đó số

đếm BCD này sẽ được giải mã từ BCD ra led 7 đoạn để hiển thị

Nguyên tắc reset mạch đếm phút và giờ như sau:

Bí DI dùng để reset mạch đếm phút Giả sử mạch đếm phút được reset ở

mức 0 thì tất cả các byte ở phút 60 phải đặt bit DI = 0 còn các byte khác phải

đặt biLDI =1

Tương tự như reset mạch đếm phút, bit D2 dùng dé reset mach dém gid

Byte tương ứng với 24 giờ phải đặt bit D2 =0 (giả sử mạch đếm giờ có reset

tác động mức 0) còn các byte còn lại phai đặt bit D2 = 1

Trang 16

Trang 18

Ludn oda tét tệ

VD : Mach reset phiit tac động mức 0 thì phải ghi chương trình như sau:

SƠ ĐỒ MẠCH ĐẾM BCD CHO PHÚT, GIỜ

Nguyên tắc xuất tín hiệu điều khiển chuông:

Sử dụng bịt D4 để phát tín hiệu điều khiển chuông cho đầu tiết học và bit

D5 để phát tín hiệu điều khiển chuông ở cuối tiết học, phải dùng 2 bit để điều

khiển chuông là do phải sử dụng 2 mạch dao động đơn ổn, một mạch định thời

gian dài cho đầu tiết và một mạch định thời gian ngắn cho cuối tiết

2 Để tài : “Thiết Kế Và Thị Công Mạch Đông Hồ Báo Giờ ”

Giáo viên hướng dẫn : Nguyễn Phương Quang

1 if

mane SELOOM LY

Trang 19

Lugn van tot aghiép : GUUD : Fu.8 Guin Thanh Mai

Doan Nam Sơn

Trang 20

Lugn van tot nghi¢p 9/020 : Gu.3 Gein Fhanh Mai

~ Bộ nhớ: Là nơi lưu trữ dữ liệu đã nạp từ trước Mạch giải mã địa chỉ bộ

nhớ sẽ làm cho địa chỉ bỏ nhớ thay đối, khi đó dữ liệu sẽ được xuất ra mạch bên ngoài qua much đêm đữ liệu

ộ chốt đữ hiệu: có nhiềm vụ chốt dữ liệu và giao tiếp với bộ nhớ để hiển

thị dữ hệu rà led 7 đoàn

Khôi guải mã và chón kênh: nhận xung từ bộ dao đóng sau đó giải mã ở

neo rade chon bo dem

Khối hiển thị: cho phép người sử dụng xem được giỡ, phút thong qua led

7 đoàn

Khối diều khiển báo: đây là khối thực hiện nhiệm vụ chính, nó có nhiệm

vụ phát ra tra hiệu điều khiển chuông

Khối dao động điều chỉnh: tạo tần số dao động cao hơn tan số dao động

cơ bản để cho phép người sử dụng chỉnh lại giờ, phút của đồng hồ

_ Khối nguồn: khối này đấm bảo cho toàn mạch hoạt động liên tục, gồm

có mạch ổn áp và Battery dự phòng

Nguyên lý hoạt động cơ bản của hệ thống như sau:

Dữ liệu từ 0 đến 23 giờ và tín hiệu điều khiển báo chuông được lưu

trong Eprom Dữ liệu này sẽ được xuất ra led 7 đoạn và mạch điều khiển báo

chuông chỉ qua bộ đệm mà không cần giải mã, mỗi phút sẽ có 4 byte dữ liệu

gồm 2 byte cho giờ và 2 byte cho phút xuất lần lượt ra 2 led giờ và 2 led phút, chúng sẽ vẫn cứ xuất ra lần lượt như thế (quét) với tần số khá cao để người quan sát không còn thấy được sự chớp tất của nó nữa Dữ liệu xuất ra ở bộ

đệm có 32 đường, trong đó 28 đường cung cấp cho hiển thị giờ, phút, một

đường cấp cho hiển thị AM/PM théng qua 1 FF-T, một đường cấp cho mạch

điều khiển chuông để báo giờ

Trang 19

Trang 21

Lugn oan tot nghi¢p GUUD : Gu Guin Thanh Mai

Dua vao nguyén tac hoat động của hai dạng mạch nêu trên người viết nhận thấy rằng mặc dù nguyên tắc hoạt động của chúng khác nhau nhưng

chúng đều có chung những khả năng sau:

~ Tạo ra thời gian thực gồm giờ và phút,

_ Điểu chỉnh thời gian thực, cách điều chỉnh là điều chỉnh với tốc độ

nhanh và chậm nhưng không có khả năng điểu chỉnh giờ, phút độc lập với

nhau cũng như không có khả năng điều chỉnh theo hướng giảm giờ, phút

~ Tự động bảo hiệu tại những thời điểm đã được qui định, những thời điểm này là cố đình và được đặt rước trong EPROM,

Hệ thông bảo giờ mà chúng em thiết kế sẽ có những ưu điểm sau :

Uu điểm lđn nhất mà khu sứ dụng ví điều khiến đem đến lá do cấu tao của

vì điểu khiến có sẵn bộ nhớ nội và 2 bộ định thời do đó sẽ hạn chế được sử

— Tín hiệu báo chuông được điều khiển bằng phần mềm nên rất đa dạng

nhằm mục đích thể hiện ý nghĩa của loại thời điểm báo hiệu

Nhược điểm:

_ Cách viết phần mềm cho hệ thống khó hơn

Trang 20

Trang 22

Lugn van t6t ngiiệp GOHD : Gh.8 Fein Thanh Mai

U_ THIET KE PHAN CỨNG

GIỚI THIỆU VI ĐIỀU KHIỂN 8951

A- TOM TAT PHAN CỨNG HỌ MSC-51 (8951)

MCS-51 là họ IC vi điều khiển do hãng Intel sẵn xuất Các IC tiêu biểu

cho họ là 8031, 8051, 8951 Những đặc điểm chính và nguyên tắt hoạt động của các bộ vi điều khiển này khác nhau không nhiều Khi đã sử dụng thành

thạo một loại vì điều Khiển thì ta có thể nhanh chóng vận dụng kinh nghiệm

Š làm quen và lầm chú các ứng dụng của một bộ vi điều khiển khác Vì vậy

ó những hiểu biết cụ thế về các bộ vị điều khiển cũng như để phục vụ cho

de

để tài tốt nghiệp này tá bắt đầu tìm hiểu mốt bộ ví điều khiển thong dun g

chính là đạn diện tiểu hiểu

Cúc đặc điểm của §9ã1 được tóm tắt như sau :

V 4+ KB ROM ben wong

\V 4 Port xuat /nhap( I/O) 8 bit

Ý Giao tiếp nối tiếp

Ý 64 KB vùng nhớ mã ngoài

3 64 KB vùng nhớ dữ liệu ngoài

Ý Các lệnh xử lý bit

Ý 210 vị trí nhớ có thể truy xuất từng bit

3 4 us cho hoạt động nhân hoặc chia

Trang 21

Trang 23

“thuận ăn tốt “giiệp 90200 : Øi.Š Guin Thanh Mai

128 byte Leena |) cpIMER2 fet —

RAM | AK: KOII (81052) i

Trang 24

Ladin odin tốt agiiệp GOUD : Fu.8 Guin Thanh Mai

Bảng mô tả sự khác nhau của các IC trong ho MSC-51 :

Chức năng hoạt động của từng chân (pin) được tóm tắt như sau :

^ Từ chân 1+ 8 Port 1 (P1.0, „ P1.7) dùng lầm Port xuất nhập I/O để giao tiếp bên ngoài

Trang 23

Trang 25

Luin van tốt nghiệp GOURD : Tu.38.Geiin Fhanh Mai

Ỷ Chõn 9 (RST) là chõn để RESET cho 8951 Bỡnh thường cỏc chõn

này ở mức thấp Khi ta đưa tớn hiệu này lờn cao (tối thiểu 2 chu kỳ mỏy) Thỡ

những thanh ghi nội của 8051 được LOAD những giỏ trị thớch hợp để khởi

động lại hệ thống

Từ chõn 10+17 là Port3 (P3.0, P3.1, P3.7) dựng vào hai mục đớch :

dựng là Port xuất / nhập l/O hoặc mỗi chõn giữ một chức năng cỏ biệt được

túm tắt sơ bộ như sau :

đ P31.0(RND) : Nhận dữ liệu từ Port nối tiếp

đ P31 (TND) - Phỏt dữ liệu từ Port nối tiếp

đ P1101 TuneU/Counter 0 nhập tư bờn ngoỏi

đ P1 S(11: Tinet/Counter L nhập từ bến ngoỏi

đô P\6(VR): Tin hiệu Sưobe ghỉ dữ liệu lộn bộ nhớ bền ngoài

e Đ7Rế): Tớn hiộu Strobe doc dữ liệu lộn bộ nhớ bộn ngoài

V Cac chõn 18,19 (XTAL2 và XTALI) được nối với bộ dao động thạch

anh 12 MHz dộ tao dao dộng trộn CHIP Hai tu 30 pF duge thộm vao để ổn

định đạo động

í Chõn 20 (Vss) nối đất (Vss = 0)

\ Tw chan 21+28 1a Port 2 (P2.0, P2.1, P2.7) ding vao hai muc

dich: lam Port xuấưnhập I/O hoặc dựng làm byte cao của bus địa chỉ thỡ nú khụng cũn tỏc dụng 1O nữa Bởi vỡ ta muốn dựng EPROM và RAM ngoài nờn phai sit dung Port 2 1am byte cao bus dia chi

~~ Chan 29 (PSEN) là tớn hiệu điều khiển xuất ra của 8951, nú cho phộp

chọn bộ nhớ ngoài và được nối chung với chõn của OE (Outout Enable) cia EPROM ngoài để cho phộp đọc cỏc byte của chương trỡnh Cỏc xung tớn hiệu

PSEN hạ thấp trong suốt thời gian thi hành lệnh Những mó nhị phõn của

chương trỡnh được đọc từ EPROM đi qua bus dữ liệu và được chốt vào thanh

ghi lệnh của 8951 bởi mó lệnh Khi 8951 thi hành chương trỡnh trong EPROM

nội thỡ PSEN ở mức logic |

Chõn 30 (ALE : Adress Latch Enable) là tớn hiệu điều khiển xuất ra của 8951,

nú cho phộp phõn kờnh bus địa chỉ và bus dữ liệu của Port 0

Trang 24

Trang 26

Lugn van tốt nghiệp 90200 : Ơh.$ Gein Ghanh Mai

Ý Chân 3 1 (EA : Eternal Acess) được đưa xuống thấp cho phép chọn bộ

chân từ 33+39 là Port 0 (P0,0, P0.1, , P0.7) dùng cả hai mục

im byte thap cho bus dia chi, vita lam bús dữ liệu, nếu vậy Port0

V Chan 40 (Woe) đước nói lên nguén SV

Trang 25

Trang 27

bá, GOUD : Gu.8 Gein Thank Mai

wb pup Poe | ob 09 | 08 8B không được địa cá THỊ

ve Los [os [03 [02 [or [ 00 8A không được địa cỉ: TL0

Bank 3 89 không được dia chi hod bir TMOD

7 Bank 2 87 không được địa chỉ huá bịt PCON

10

or Bank 1 8 không được địa chỉ hoá bít DPH

08 82 không được địa chỉ hoá bít DPL

0 Bank thanh phì 0 31 không được địa chỉ hoá bít sP

RAM CAC THANH GHI CHUC NANG DAC BIET

Tóm tat b6 nhé dit ligu trén chip

3.a- RAM muc dich chung

Trong bản đổ bộ nhớ trên,

đích chung Kể cả 32byte phần di

như 80 byte ở trên, tuy nhiên 32 b

Bất kỳ vị trí nào trong RAM mục đích chung cũng có thể được truy xuất

80 byte tif địa chỉ 30H+7FH là RAM mục

ưới từ 00H+2FH cũng có thể sử dụng giống yte còn có mục đích khác sẽ để cập sau

Trang 26

Trang 28

Xuân căn tốt ngiiệp 9/0200 : Ơi Š uân Thanh Mai

Ví dụ để đọc nội dung của RAM nội có địa chỉ 5FH vào thanh ghi tích lũy thì

ta dùng lệnh : MOV A, 5EH

RAM nội cũng được truy xuất bởi việc dùng địa chỉ gián tiếp qua R0 và

RI Hai lệnh sau đây sẽ tương đương lệnh trên :

MOV RO, #5FH MOV A, @RO

Lệnh thứ nhất dùng sự định vị tức thời để đưa giá trị 5FH vào thanh ghi R0, lệnh thứ hai dùng sự đình vị gián tiếp để đưa dữ liệu “đã được trổ đến bởi

RO” vdeo thanh phí tích lũy A

Jb RAM định vị

ROÁI chứa 310 vị tí có thể định vị bịt, ưong đó có 12% bịt năm ở các địa

chỉ từ 30I1:2EPHE và phần còn lại là các thanh ghí chức nắng đác biết

đe Các bàng thành ghỉ (Register Banks)

13 vị tí nhà cuối cùng của bộ nhớ từ dia chi byte OOH+1FH chức các

đấy thành phí, Vập hợp các lệnh của 8951 cung cấp 8 thanh ghi tit RU+R7 6 địa chỉ 00H:07H nếu máy tính mặc nhiên chọn để thực thi Những lệnh tương

sự định vị trực tiếp Những giá trị dữ liệu được dùng thường xuyên

sử dụng một trong các thanh ghỉ này

đường dùng

3.d- Các thanh ghỉ chức năng đặc biệt (Special Function Register)

Có 21 thanh ghichức năng đặc biệt SFR ở đỉnh của RAM nội từ địa chỉ

các thanh ghi chức năng đặc biệt được định rõ, còn phần còn lại không định

TỐ,

Mặc dù thanh ghi A có thể truy xuất trực tiếp, nhưng hầu hết các thanh ghỉ chức năng đặc biệt được truy xuất bằng cách sử dụng sự định vị địa chỉ

trực tiếp Chú ý rằng vài thanh ghi SER có cả bit định vị và byte định vị

Người thiết kế sẽ cẫn thận khi truy xuất bit mà không truy xuất byte

Trang 27

Trang 29

Ludn oan tét nghi¢p

GOKD : ThS Fein Thanh Mai

3.4.1 Từ trạng thái chương trình (P§W : Program Status Word) :

Từ trạng thái chương trình ở địa chi DOH được tóm tắt như sau :

PSW4 | — ĐẠN - Register Bank Select |

| PSW.3 RSO D3H : Repister Bank Sclect 0

Chức năng từng bù trang thái chương trình

a) Cờ Carry CY (Carry Flag) :

Co Carry dude set lén 1 nếu có su tran ở bit 7 trong phép cộng hoặc có

sự mượn vào bit 7 trong phép trừ

thanh ghi 1 bịt thực thi trên các bit bởi những lệnh luận lý Ví dụ lệnh : ANL

C, 25H sé AND bit 25H với cờ Carryvà cất kết quả vào cờ Carry

b) Cờ Carry phụ AC (Auxiliary Carry Flag) : Khi cộng những giá trị B

đượcset nếu có sự trần từ bit 3 sang

vi0AH:0FH

e) Cờ0 (Flag 0) :

CD (Binary Code Decimal), cờ nhớ phụ AC

4 hoặc 4 bit thấp nằm trong phạm

Trang 28

Trang 30

“Chộn côn: I6 Nghiệp, GUUD : Th.8 Guin Thanh Mai

; Cờ 0 (F0) là bit cờ có mục đích tổng hợp cho phép người ứng dụng dùng

đ) Những bịt chọn dãy thanh ghỉ RS1 và RS0 :

RSI và RS0 quyết định dãy thanh ghỉ tích cực Chúng được xóa sau khí

reset hệ thống và được thay đổi bởi phần mềm khi cần thiết

e Cờ tràn OV (Over Flag) :

Cỡ trần dude set sau một hoạt động cộng hoặc trừ nếu có sự tràn toán

học BiLOV được bỏ qua đối với sự cộng trữ không dấu Khi cộng trừ có dấu,

kết quả lớn hơn + 127 hay nhỏ hơn - 128 sẽ set bít OV

fh Bit Parity (P

Bit nw dong dive set hay Clear ở mỗi chủ kỳ máy để lập Parity chẩn với

thanh phi A Sw dem cac bul ưong thanh ghí A cộng với bít Parity luôn luôn chắn, Ví dụ A chứa 101011018 thì bít P set lên một để tổng số bít Ï trong A

Thanh ghi B 6 dia chỉ F0H được dùng đi đôi với thanh ghi A cho các

hoạt động nhân chia

Thanh ghi B có thể được dùng như một thanh ghi đệm trung gian đa

3.4.3 Con tré Stack SP (Stack Pointer) :

Stack Pointer là một thanh ghi 8 bit ở địa chỉ 81H Nó chứa địa chỉ của

dữ liệu đang hiện hành trên đỉnh Stack Các hoạt động của Stack bao gồm việc đẩy dữ liệu vào Stack (PUSH) và lấy dữ liệu ra khỏi Stack (POP)

Ý Việc POP từ Stack ra sẽ lấy dữ liệu ra trước rồi giảm SP di 1

3.4.4 Con trỏ dữ liệu DPTR (Data Pointer) :

Trang 29

Trang 31

Pugin căn tốt nghiệp GUD : Th.8 Guin Thanh Mai

- Đạo Fointer duge aé truy xuất bộ nhớ mà ngoài hoặc bộ nhớ dữ liệu

ngoài, nó là mot thanh ghi 16 bit ma byte thấp là DPL ở địa chi 82H con byte

cao là DPH ở địa chỉ 83H Để đưa nội dung 55H vào RAM ngoại có địa chỉ 1000H ta dùng 3 lệnh sau :

MOV A, #55H MOV DPTR, #1000H MOVX @ DPTR,A

trong DIYER lệnh cuối càng dàng sự định vị gián tiếp để dịch chuyển giá trị

55H trong A vào vũng nhé RAM ngoai 1000H nim trong DPTR

Lệnh thứ hài cũng tươi

VAS Cav thank ght Port (Port Register) :

Cie Port 0, Port 1, Port 2, Port 3 có địa chỉ tương ứng 50H, 90H, A0H,

BOLL Cac Port 0, Port 1, Port2, Port 3 không còn tác dụng xuất nhập nữa nếu

bộ nhớ ngoài được dùng hoặc một vài cá tính đặc biệt cúa #051 được dùng

(nhữ Htetrupt, Port nối tiếp ) Do vậy chỉ còn có Portl có tác dụng xuất nhập MO,

Tất cả các Port đều có bit dia chi, do đó nó có khá năng giao tiếp với

bên ngoài mạnh mẽ

3.4.6 Các thanh ghi Timer (Timer Register) :

8951 có 2 bộ đếm/định thời 16 bit, hai bộ này dùng để định giờ lúc nghỉ của chương trình hoặc đếm các sự kiện quan trọng Timer 0 có bit thấp TL0 ở

địa chỉ SAH và có bit cao THO 6 địa chỉ 8CH Timer 1 có bít thấp ở địa chỉ 8BH va bit cao THỊ ở địa chỉ 8DH

Hoạt động định thời được cho phép bởi thanh ghi mode định thời

TMOD (Timer Mode Register) G dia chi 89H va thanh ghi điều khiển định

thời TCON (Timer Control Register) 6 dia chỉ 88H Chỉ có TCON có bit định

Vi

3.4.7 Các thanh ghi Port nối tiếp (Serial Port Register) :

rt nối tiếp trên Chip cho việc truyền thông tin với

bị đầu cuối, modem, hoặc để giao

+

8951 chứa một Poi š Bt

những thiết bị nối tiếp như là những thiết

Trang 30

Trang 32

“tuệ căn tốt nghiệp 90200 : Ơi.$ Guin Thanh Mai

tiếp IC khác với những bộ biến đổi A/D, những thanh ghỉ di chuyển, RAM -)‹ Thanh ghỉ đệm dữ liệu nối tiếp SBUF 6 dia chỉ 99H giữ cả dữ liệu phát lẫn

dữ liệu thụ Việc ghi lén SBUF dé LOAD dữ liệu cho việc truyén va doc SBUF dé truy xuất dữ liệu cho việc nhận những mode hoạt động khác nhau

được lập trình thông qua thanh ghi điều khiển Port nối tiếp SCON

3.4.8 Các thanh ghi ngdt (Interrupt Register) :

8951 có hai cấu trúc ngắt ưu tiền, 5 bộ nguồn Những Interrupt bị mất

tic dung sau khi hệ thông reset (bi cấm) và sau đó được cho phép bởi việc cho phép phí lên thành phí cho phép ngất HH; (Interrip Enable Register) ở địa chỉ ARH, Mức ứu tiến đước đất vào thành phí ưu tiến ngất IP (interrupt: Priority

Level tai dia chi BEL Cá 3 thành phí trên đều có bật địa chí

L9 Thanh gìn chiêu khién nguon PCON (Power Control Register)

Thanh ghi PCON khong có bít định vị Nó ở địa chỉ 87H bao gdm các bịt địa chỉ tổng hợp, Các bịt PCON được tóm tất như sau :

Bit 7 (SMOD) ; Bi có tốc độ Baud ở mode 1, 2, 3 ở Porrt nối tiếp khí set

V Bit 6, 5,4: Khong cé dia chi

VY Bit 3 (GEI) : Bit 1 của cờ đa năng

Ý BitL2 (GE0) : Bit 2 của cờ đa năng

Ý Bit 1ˆ (PD) : Set để khởi động mode Power Down và thoát để reset

Ý Bit 0 * DL) : Set để khởi động mode Idle và thoát khi ngắt mạch

hoặc reset

Các bit điều khiển Power Down và Idle có tác dụng chính trong tất cả

B TÓM TẮT TẬP LỆNH CỦA 8951

Các chương trình được cấu tạo từ nhiều lệnh, chúng được xây dựng

logic, sự nối tiếp của các lệnh được nghĩ ra một cách hiệu quả „ SỤ ệ và nhanh, kết

quả của chương trình thì khả quan

SC-51 được sự kiểm tra của các mode định vị và các

lệnh của Hine có các Opcode 8 bit Diéu này cung cấp khả năng 2'=256 lệnh

*

Trang 33

Lugn oan tot nghi¢n GOUHD : Fu.S Guin Thanh Mai

ee raat va mot lệnh không được định nghĩa Vài lệnh có 1 hoặc 2 byte

lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte

1 CÁC CHẾ ĐỘ ĐỊNH VỊ (ADDRESSING MODE)

; Các mode dinh vila một bộ phận thống nhất của tập lệnh mỗi máy tính

Chúng cho phép định rõ nguôn hoặc nơi gởi tới của dữ liệu ở các đường khác

nhau tầy thuộc vào trạng thái của lập trình, 8951 có 8 mode định vị được dùng như su :

Trang 34

“hận rửa KốE mữiệy, GUHD : Th.S Grin Thanh Mai

si định địa chỉ trực tiếp có thể truy xuất bất kỳ giá trị nào trén Chip

hoặc t Anh ghi phan cứng trên Chip Một byte địa chỉ trực tiếp được đưa vào

Opcode để định rỏ vị trí được dùng như sau :

(0011271211 và TẦN vị trí nhớ thấp của RAM trén Chip đước chọn

Le - Nự định vệ dia chỉ gián tiếp Undirect Addressing)

Sự định địa chỉ gián tiếp được tượng trưng bởi ký hiệu @ được đặt trước

RO, RE hay DPTR RO va RI cé thể hoạt động như một thanh ghí con trổ mà nội dụng của no cho biết một địa chỉ trong RAM nội ở nơi ma dữ liệu được ghi

hoặc được đọc Bí có trọng số nhỏ nhất của Opcode lệnh sẽ xác dinh RO hay

RI duye ding con tro Pointer

ức thời được tượng trưng bởi ký hiệu # được đứng trước hiệu hoặc một biểu thức số học được sử dụng bởi các

3 gười điều khiển Trình biên dịch tính

Byte lệnh thêm vô chứa trị số dữ liệu

Sự định địa chỉ t

một hằng số, 1 biến ký

hằng, các ký hiệu, các hoạt động do ny

toán giá trị và thay thế dữ liệu tức thời

tức thời như sau :

Trang 33

Trang 35

.Đuận oăm tốt nghiép

MOV A # 132 3 Đưa trực tiếp số thập phân 12 vào A

MOV A # 10 3 Đưa trực tiếp số Hex 0H (16D) vào A

MOV A, # 00010001B + Đưa trực tiếpsố nhị phân này vào A

Le Sự định vị địa chỉ tưởng đối

Rự định địa chỉ tướng đôi chỉ sử dụng với những lệnh nháy nào đó Một

dia chỉ tướng đôi (hoặc OffseD là một giá trị 8 bít mã nó được cộng vào bộ

đếm chướng trình PC để tạo thành địa chỉ một lệnh uếp theo được thực thi Phạm vị của sự nhậy nằm trong khoảng -128 + 127 Offset tượng đối được gắn

vào lệnh như một by te thêm vào như sau :

Sự định vị tương đối đem lại thuận lợi cho việc cung cấp mã vị trí độc

lập, nhưng bất lợi là chỉ nhây ngắn trong phạm vi -128+127 byte

1Ƒ- Sự định địa chỉ tuyệt đối (Absolute Addressing)

Sự định địa chỉ tuyệt đối được dùng với các lệnh ACALL và AJMP Các

lệnh 2 byte cho phép phân chia trong trang 2K đang lưu hành của bộ nhớ mã của việc cung cấp 11 bit thấp để xác định địa chỉ trong trang 2K (A0+A10 gồm A10+A8 trong Opcode va A7+A0 trong byte)va 5 bit cao dé chon trang 2K (5 bit cao đang lưu hành trong bộ đếm chương trình là 5 bit Opcode)

Trang 34

Trang 36

Luin van tốt nghiệp,

Lge Swdinh vj dia chi dai (Long Addressing)

Su dink vi dai diate ddny vii fenh LCALL va LIMP Cae Jénh 3 byte nay bao edi một dia chi net gor th 16 bil day dd 1a 2 byte va 3 byte của lệnh

1.8 Sự định địa chỉ chỉ số (Index Addressing) ,

Sự định địa chỉ phụ lục dùng một thanh ghi cơ bản (cũng như bộ đếm chương trình hoặc bộ đếm dữ liệu) và Offset (thanh ghiA) trong sự hình thành

1 địa chỉ liên quan bởi lệnh JMP hoặc MOVC

Trang 37

Luge odin tot aghiép 90200 : TiS Guin Thanh Mai

ADD A, <sre, byte>

ADD A Ra H(A) & (A) + (Rn)

ADD \.@ Kì (A) © (A) + (CRI)) ADD A, # data 2 (A) & (A) + # data

ADDC A.Rn (A) — (A) + (C) + (Ray

ADDC A,@Ri 2 (A) — (A) + (C) + (RY)

ADDC A,#data :(A)C—(A)+(C)+#data

SUBB A, <sre, byte>

SUBB A,Rn : (A) — (A) - (C) - (Ra)

SUBB A,direct —: (A) (A) - (C) - direct)

SUBB_ A,#data :(A)©(A)-(C)-#data

INC <byte>

INC Rn : (Rn) — (Rn) +1

INC DPTR : (DPTR) + (DPTR) + 1

Trang 36

Trang 38

-Đuậm oăm tốt ngiiệp

:(Ä) © LOW |(A) x (B)]| ; có ảnh hưởng

cờ QV

xóa

(A) & Integer Result of [(A)/(B)]; co OV

: (B) — Remainder of [(A)/(B)J; cé Carry xóa

: Điều chỉnh thanh ghi A thành số BCD đúng

trong phép cộng BCD (thường DA A đi

kèm với ADD, ADDC)

Ý Nếu [(A3-A0)>9] và [(AC)=1] ® (A3+A0) — (A3+A0) + 6

Ý Nếu |(A7-A4)>9] và [(C)=1] 3 (A7+A4) C (A7+A4) + 6

2.b - Các hoạt động logie (Logic Operation) :

Tất cả các lệnh logic sử dụng thanh ghi A như là một trong những toán

hạng thực thi một chu kỳ máy, ngoài A ra mất 2 chủ kỳ máy Những hoạt

động logic có thể được thực hiện trên bất kỳ byte nào trong vị trí nhớ dữ liệu nội mà không qua thanh ghi A

Các hoạt động logic được tóm tắt như sau :

ANL <dest - byte> <sre - byte>

ANL ANL ANL ANL

A, Rn

A, direct

A,@ Ri

A, # data

: (A) — (A) AND (Rn)

: (A) — (A) AND (direct)

: (A) — (A) AND ((Ri))

: (A) — (A) AND (# data)

Trang 37

Trang 39

“hân căm tot nghi¢n GUID : Th.S Guin Thanh Mai RE tin ect

ANL direct, A

ANL

: (direct) <— (direct) AND (A)

direct, # data: (direct) (direct) AND # data

ORL <dest - byte> <sre - byte>

ORL A, Rn :(A) — (A) OR (Rn)

ORL A, # data (A) & (A) OR # data

ORL direct, # data: (direct) — (direct) OR # data

AKL, <dest - byte> <sre - byte>

NRI AY Ra 1 (A) — (A) @ (Rn)

NRI A, direct : (A) — (A) ¢ (direct)

NRL A,@ Ri 2 (A) — (A) @ ((Ri))-

(C) — (Ar)

Trang 38

Trang 40

Luin K He Chế odin t6t aghié la GOULD : Fu3 Fein Thanh Mai

nhau (A3+A0)*>z(A7+A4)

Có nhiều lệnh dể điều khiển lên chương trình báo gồm việc gọi hoặc trả

lai WY chường trình con hoặc chia nhánh có điều kiện hay không có điều kiện

ic lệnh rẽ nhánh đêu không ảnh hướng đến cờ Ta có thể định

cần nhẫy tới vào đúng khẩu lệnh đã đưa ra

Sau đây là sự tóm tắt từng hoạt động của lệnh nhầy

Jc rel : Nhầy đến “rel” néu cd Carry C = 1

JNC rel : Nhầy đến “rel” nếu cờ Carry C = 0

JB bit, rel: Nhay đến “rel” nếu (bit) = 1

JNB bitrel : Nhảy đến “rel” nếu (bit) = 0

JBC bit,rel : Nhảy đến “rel” nếu bit= 1 và xóa bit

ACALL addr11 : Lệnh gọi tuyệt đối trong page 2K

Ngày đăng: 19/11/2024, 11:30

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w