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

Biên soạn sách Điện tử Ứng dụng trong thực hành vi Điều khiển với phần mềm mô phỏng sim 51

201 0 0
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 đề Biên soạn sách điện tử ứng dụng trong thực hành vi điều khiển với phần mềm mô phỏng SIM51
Tác giả Trần Thanh Dương
Người hướng dẫn Nguyễn Phương Quang
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 Kỹ thuật Điện - Điện tử
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2003
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 201
Dung lượng 18,26 MB

Nội dung

Nội dung các phân thuyết mình: Chương 3 : Lý thuyết tổng quan về mô hình mô phông Chương 4 : Cấu trúc và ngôn ngữ của họ vi điều khiển MCS51 Chương 5 : Trình biên dịch ASM51 Chương 6

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

BIÊN SOẠN SÁCH ĐIỆN TỬ ỨNG DỤNG TRONG

THỰC HÀNH VI ĐIÊU KHIÊN VỚI PHÀN MÈM MÔ PHỎNG

Trang 2

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

TRUONG DAI HQC SU PHAM KY THUAT

KHOA ĐIỆN - ĐIỆN TỬ

po*xeœ

LUẬN VĂN TỐT NGHIỆP

ĐỀ TÀI:

BIẾN SOẠN SÁCH ĐIỆN TỬ _

UNG DUNG TRONG THỰC HÀNH VI ĐIỀU KHIỂN

VỚI PHAN MEM MO PHONG SIM 51

Tp Hé Chi Minh, thang 02 năm 2003

SKLO01DT9

Trang 3

BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐỘ LẬP- TỰ DO - HẠNH PHÚC

TP HỖ CHÍ MINH f W2

= = -000 - = = -000 -

KHOA DIEN

BO MON DIEN - DIEN TU

NHIỆM VỤ LUẬN VAN TỐT NGHIỆP

Họ và tên : Trần Thanh Đương

MSSV 99221542

Lớp N99-KDĐ

Kỹ thuật Điện - Điện tử pen 621.91

BIEN SOẠN SÁCH DIED

VI ĐIỀU KHIỂN VỚI PHÂN MÉM MÔ PHÔNG SIM - 51

Nội dung các phân thuyết mình:

Chương 3 : Lý thuyết tổng quan về mô hình mô phông

Chương 4 : Cấu trúc và ngôn ngữ của họ vi điều khiển MCS51

Chương 5 : Trình biên dịch ASM51

Chương 6 : Giới thiệu chương trình mô phỏng SIM5I

Chương 7 : Nhập môn Thiết kế lập trình

Chương 8 : Hướng dẫn sử dụng chương trình mô phỏng và các bài tập

Chương 9 : Lập trình nâng cao

Phụ luc A: Tra cứu tập lệnh

Phụ lục B: Lời giải các bài tập

Phụ lục C; Giới nina hệ sen mô phỏng khác

3% Ÿdh phẩm ; 0 a y is, Malt, moa

3s pet ets Bhat? test ưng  hen

GVHD :Nguyén Phuong Quang

Ngay giao nhiém vu: 04/10/2002 Ngay hoan thanh: — 22/02/2003

“Thông qua bộ môn

TP.Hồ Chí Minh, Ngày tháng năm 2003

GVHD SVTH chủ nhiệm bộ môn

Que

Nguyễn Phương Quang Trần Thanh Dương

Trang 4

GVIID : Nguyễn Phương Quang

“Tên để tài : Biên soạn sách điện tử ứng dụng trong thực hành vi điều khiển với

phần mềm mô phỏng sim ~ 51

Minh, Ngày tháng Năm 2003

c Giáo viên hướng dẫn

Trang 5

Tén dé tai: Bién sogn sách điện tử ứng dụng trong thực hành vi điều khiển với

phần mềm mô phông sim — 51

Lời nhận xét của giáo viên phần biện:

Giáo viên phần biên

Trang 6

LỜI NÓI ĐẦU

Ngày nay, trong sự trong sự phát triển nhanh chóng của khoa học kỹ thuật Đặc biệt công nghệ kỹ thuật điện tử phát triển rất mạnh mẽ và đạt được những thành tựa to lớn Nó không chỉ tạo ra các chuyển biến đáng kinh ngạc trong lĩnh vực điện tử mà còn trở thành

mot phương tiện kỹ thuật mũi nhọn thúc đẩy sự phát triển tiến bộ của các ngành khác Từ

khi xuất hiện hệ thống tự động điều khiển hay hệ thống sản xuất tự động thì năng suất

lao động tăng cao, giẩm thiểu sức lao động chân tay, đáp ứng mọi yêu câu sẵn xuất

Việc nấm bắt khoa học kỹ thuật, củng cố xây dựng và phát triển nguồn nhân lực

phục vụ cho tiện tình "Công nghiệp hóa, Hiện đại hóa” đất nước là nhu cầu cấp thiết và

đâu tạo nhân lực, bối đưỡng nhân tai Trưởng Đại học Sư phạm Kỹ thuật là một trong

những nơi đảo tạo đội ngũ kỹ sư giáo dục vững vẻ chuyên môn, giỏi về sư phạm Trong

suốt thời gian học tại Trưởng Đại học Sư phạm Kỹ thuật, môn học chuyên để vi điều khiển

là niản chuyên ngành được người thực hiện để tài quan tâm Môn học này trang bị cho học sinh, sinh viên những kiến thức kỹ náng cơ bản về các vi mạch lập trình (Ic và tp) và những ứng dụng vào thực tế Sau khi học sinh viên có khả năng vận dụng vào những yêu cầu sản xuất bằng các chương tình điền khiển

Nhưng trong khi học sinh viên gặp nhiều khó khăn chung quanh việc sử dụng tập lệnh, cấu trúc phần cứng

Tà một giáo viên kỹ thuật tương lai, những người thực hiện đề tài luôn trăn trở làm

thế nào để truyền đạt kiến thức môn học vi điều khiển đến người học cũng như để cho người học tiếp cận với môn học vi điểu khiển một cách dễ dàng và có hiệu quả hơn Vì

vậy người thực hiện chọn để tài “BIÊN SOẠN SÁCH ĐIỆN TU UNG DUNG TRONG THUC HANH VI ĐIỀU KHIỂN VỚI PHẦN MỀM MÔ PHỒNG SIM 51” Sách điện tử

được người thực hiện trình bày dưới dạng trang web sẽ làm cho người học tiếp cận với môn học theo một phương pháp mới : phương pháp Multimedia (truyễn thông đa phương tiện)

Đó là một phương pháp dạy và học đạt hiệu quả cao trong xu hướng xã hội hóa hiện nay

Nó sẽ kích thích sự hứng thú, say mê học tập, tỉnh thần tích cực và ham học hỏi của người học

Mặc dù đã có nhiều cố gắng nhưng vì thời gian hạn chế và kinh nghiệm còn yếu, nên tập luân văn này không tránh khỏi những sai sót rất mong sự đánh giá của qui Thay Cô và

sự góp ý của các bạn

Nhóm sinh viên thực hiện

Dương Hoàng Hiếu

Trần Thanh Dương.

Trang 7

LỜI CÁM ƠN

re DD Sos

Nhóm thực hiện để tài xin chân thành tỏ lòng biết ơn đến Thầy Nguyễn

Phương Quang, giáo viêB trực tiếp hướng dẫn nhóm trong suốt quá trình làm

luận văn tốt nghiệp Sự tận tình hướng dẫn,giúp đỡ và động viên của Thầy đã

giúp nhóm rất nhiều trong việc hoàn thành tập luận văn này

Nhóm thực hiện đề tài xin chân thành cầm ơn quí thầy cô trường Đại Học

Sự Phạm Kỹ Thuật ï tận tình dạy chúng em trong suốt thời gian qua

Cuối cùng là lời cám ơn chắn thành đến gia đình, người thân cùng toàn

thể bạn bè cùng khóa đã đáng góp những ý kiến quí báu và là những người luôn động viên tnh thần giúp nhớm chúng em thực hiện để tài, hoàn thành

nhiệm vụ được giao,

Nhóm sinh viên thực hiện

Dương Hoàng Hiếu

'Trần Thanh Dương

Trang 8

Nhận xét của giáo viên hướng dẫn

của giáo viên phắn biện

Mục lục Liệt kế Liệt kế hình NOI DUNG Din nhap 1.1 Đật vấn để 1.2 Tắm quan trạng của vấn để 1.3 Giới hạn vấn để

1.4 Mục đích nị

Cơ sở lý luận 2.1 Dàn ý nghiền cứu

2.2 Đối tượng nghiên cứu

2.3 Phương pháp và phương tiện nghiên cứu 2.3.1 Phương pháp nghiên cứu

2.3.2 Phương tiện nghiên cứu 2.3.3 Thời gian nghiên cứu

Lý thuyết tổng quan vẻ mô hình - mô phỏng

3.1 Khái niệm về mô hình mô phồng 3.2 Phân loại mô hình mô phỏng 3.3 Các bước tiến hành mô phỏng

Cấu trúc và ngôn ngữ của họ vi điều khiển MCS5I

4.1 Giới thiệu họ vi điều khiển MCS5L 4.2 Cấu trúc phần cứng của họ vi điều khiển MCS51 4.3 Ngôn ngữ của họ vi điều khiển MCS51

Trình biên dịch ASM51 5.1 Giới thiệu

5.2 Hoạt động của trình biên dịch

5.3 Định dạng chương trình hợp ngữ

5.4 Các biểu diễn của trình dịch hợp ngữ 5.5 Các định hướng của trình biên dịch 5.6 Tóm tắt quá trình biên dịch tập tin

Giới thiệu chương trình mô phỏng SIM51

Trang 9

6.3 Các đặc trưng của chương trình mô phỏng

6.4 Giới thiệu màn hình giao diện SIM51

Nhập môn thiết kế lập trình 7.1 Khái niệm về mô phồng

7.2 Phân tích vấn để 7.3 Luu đồ

7.4 Thiết kế chương trình

7.5 Viết chương trình

1.6 Các cấu trúc lập trình cơ bản Hướng dẫn sứ dụng SIM5I và lập trình cơ bẩn 8.1 Hướng dẫn sử dụng SIM5I

8.1.1 Hướng dẫn khởi động SIMSI

8.1.2 Các thao tác cơ bản trên SIMSI

Lời giải các bài tập củng cố

Giới thiệu các phản mẻm mô phỏng khác

1 TS Control Emulator 8051

1.1 Man hinh giao dién chinh

1.2 Cài đặt chương trình TS Control Emulator 8051 1.3 Hướng dẫn sử dụng chương trình TS Control 8051

Trang 10

LIỆT KE BANG

Bảng 4— 1: Bảng các loại vị điểu khiển ho MCS51

Bảng 4~ 2: Chức náng của các chán

Bàng 4— 3: - Các thanh ghi chức năng đặc biệt

Bảng 8— 1: - Tóm tấtthanh ghi chức nắng SCON

Bảng 8~—2: Các chế độ của portnối tiếp

Bang A-1: Bảng mã ASCIL

Bảng A-3: Bảng hệ thong sé hex

Trang 11

LIỆT KÊ HÌNH

Trang Hình 3~ 1; - Quá trình mộ phỏng

Hình 6- 1: Màn hình giao điện SIM5

Hinh 7-1: Quá tình mô phỏng

Hình 7— 2: _ Các ký hiệu thường dùng trong lập trình cấu trúc

Hình 8— I: - Màn hình SIM51 mới khởi động

Hinh 8-2: Màn hình SIM5I khởi động xon

Hình 8— 3: Hướng dẫn khởi động chương trình SIM5

Hình C— 1: _ Màn hình giao diện chính TS Control 8051

Hình C— 2: Màn hình chọn đường dẫn để cài đặt TS Control 8051

Hinh C- 4: Màn hình chọn tập tin cai dat

Trang 12

kinh tế kỹ thuật cũng như đời sống xã hội

Sự phát triển mạnh mẽ của công nghệ chế tạo các thiết bị, linh kiện điện tử đã

cho ra đời nhiều vi mạch tổ hợp (IC), vì mạch lập trình (vi điều khiển và vi xử lí), vi

mạch giao tiếp gọn nhẹ, Nhờ thế người thiết mạch kế điện tử, người học, đặc biệt là sinh viên chuyển ngành điện ~ điện tử có những thao tác đơn giẩn hơn trong quá trình

kết nối các linh kiện điện tử Tuy nhiên, việc đơn giản hóa và tích hợp vi mạch gây khó

khan cho người học ở thời điểm mới bất đầu tiếp xúc với linh kiện và đặc biệt là linh

hie ho pe va pip, do tinh nang gon nhe, đá dụng, xử lí nhờ chương trình, cấu trúc hệ

thàng phưc tạp điển hình là vì điều khiến ATS9C51

Song song với sự phát triển mạnh mẽ và kha nang dng dụng của các vi mạch tích

hợp QC), vì mạch lập trình ( ục và up) thì vấn đề tìm hiểu, khảo sát, học tập về vi điều

khiển ngày càng tăng nó đã và đang thám nhập mạnh mẽ vào các trường kỹ thuật và

nó được học sinh, sinh viên rất l2 thích thú do tính khẩ thí của nó

Tuy nhiên, khi mới tiếp cận tìm hiểu về vi điều khiển người học gặp một số khó khăn là không thể thấy được những hoạt động bên trong ví điều khiển dẫn đến trừu

tượng khó hình dung vì vậy sẽ khó tiếp thu

Bên cạnh đó là vấn để kinh tế vì giá thành của các hệ thống vi điều khiển cao do vây người học khó tiếp xúc với thực tế Bức xúc trước những khó khăn trên trong vấn

để học tập, giảng dạy, và nhu câu hiểu biết về vi điều khiển là động lực để người thực

hiện đẻ tài “BIÊN SOẠN SÁCH ĐIỆN TỬ ỨNG DỤNG TRONG THỰC HÀNH VI

DIEU KHIEN VGI PHAN MEM SIM 51”

Với việc mô phỏng vi điểu khiển họ MCS - 51 (AT89C51) được thiết kế dưới

dạng trang web sẽ phần nào khắc phục được những khó khăn trong quá trình học tập,

tìm hiểu vi điều khiển tạo ra cách tiếp cận với môn học chuyên để vi điều khiển ở một

phương pháp mới : phương pháp multimedia, trực quan hơn, sống động hơn giúp người

học có thể tự học vi điều khển, nâng cao khả năng lập trình và tiết kiệm được thời gian

1.2 TAM QUAN TRONG CUA VAN DE

Trong quá trình học và thiết kế thì người học không có điều kiện tiếp xúc với vi

điều khiển thực tế, mà chỉ biết được cấu hình mạch điện các thông số Vì vậy khi mô

phông vi điều khiển trên phẩn mềm SIM 51 sẽ thấy được hoạt động của từng lệnh, từng

Trang 13

Luận văn tốt nghiệp GVHD: Nguyễn Phương Quang

1.3 GIGI HAN VAN DE

Có nhiều hãng sản xuất vi điều khiển và mỗi hãng lại có nhiều họ vi điều khiển

như là :

> Họ MCS - 51 của hãng INTEL, ngoài ra còn có các vị điểu khiển cũng thuộc họ MCS§- 51 nhưng được phat triển thêm một số chức năng khác và được sắn từ các hãng khác như AMD, Siemens, Philips, Dallas, OKI,

ATMEL,

Ho 68COS cua hang Motorola

Họ TS62 của hãng SGA — Thomson,

Họ H8 của hãng Hitachi

> Ho PIC cia hang Microchip

Đo những người thực hiện để tai được trang bị kiến thức về vi điều khiển họ MCS

SL quá 15 tiết học môn chuyên đề vị điều khiển, nhu cầu học tập, tìm hiểu về vi điểu

Nhiển, do sinh viên rong trường cũng được trang bị kiến thức vi điều khiển họ MCS —

S1 và trên thị trường cũng phổ biến ÍC họ MCS ~ 51 Nên người thực hiện để tài chọn

mỏ phỏng ví điều khiển họ MCS ~ 51 của hãng INTEL

Mặc dù nhóm nghiền cứu đã cố gắng hết sức, nhưng do thời gian có hạn và lần

dầu tiên thực hiện để tài nên nhóm chỉ dừng lại ở mức độ đơn giản là:

v Nghiên cứu về cách thức sử dụng chương trình mô phổng

Hướng dẫn nhập môn thiết kế lập trình vi điều khiển

Hướng dẫn sử dụng chương trình mô phỏng và đưa ra một số bài tập cơ

bản và nâng cao dé minh hoa

>_ Nghiên cứu một số phần mềm tin học để tạo trang web

Có nhiều phân mềm mô phỏng vi điều khiển,vi xử lí như: SIM51, UMPS, 535 TS,

TS Control Emulator 8051, nhưng những người thực hiên để tài chọn phần mềm mô phỏng SIM51 để mô phỏng vi điều khiển họ MCS ~ 51 (8051/8751) các vấn để chọn

mô phỏng gồm:

vv

Hoạt động xuất nhập qua port

Hoạt động giao tiếp bộ nhớ

“Thông qua việc tnực hiện đề tài, những người thực hiện để tài có dịp âm hiểu,

phân tích cấu trúc phần cứng, hoạt động của tập lệnh vi điều khiển họ MCS - 51, nâng

cao khả năng lập trình, bên cạnh đó vận dụng những kiến thức sư phạm để hướng dẫn

người học vi điều khiển sử dụng phần m6m2 mô phỏng SIM - 51 giúp ích cho việc học

Trang 14

Luận văn tốt nghiệp GVHD: Nguyễn Phương Quang

Đồng thời có cơ hội để tìm hiểu thêm về những kiến thức mới trong các chương trình phần mềm ứng dụng liên quan đến vi điều khiển, vi xử lí, viết chương cho các giao diện phần cứng và các phần mễm tin học ứng dụng thiết kế trang web

Đề tài này được xây dựng thành một tài liệu dưới dạng trang web hướng dẫn mô

phỏng vi điều khiển họ MCS — 51 thông qua những ứng dụng cụ thể Nó sẽ là tài cần thiết cho những người đang tìm hiểu, tự học, nghiên cứu vi điều khiển họ MCS - 51

SVTH: Trần Thanh Dương Trang 3

Trang 15

Chương 2

CƠ SỞ LÍ LUẬN

2.1 DÀN Ý NGHIÊN CỨU

Nhóm thực hiện để tài tiến hành thực hiện để tài theo trình tự sau :

+ Lý thuyết tổng quan về mô hình mô phỏng

+ Cấu trúc và ngôn ngữ của họ vi điều khiển MCS-51

‘Trinh bién dich ASMS1

4 Gidi thiệu chương trình mô phông SIM5I

% Nh§p môn Thiết kế lập trình

s*- Hướng dẫu sử dụng chương trình mô phông và lập trình cơ ban

© Lap trình nâng cao

+e Wing wa edu tap lệnh

sề Lời giải các bái tập củng cố

Vi điều khiển AT89C51

Các phần mềm tạo web và hỗ trợ tạo web như: Microsoft frontpage, Microsoft powerpoint, Fash

2.3 PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN NGHIÊN CỨU

2.3.1 Phương pháp nghiên cứu

Nhóm thực hiện để tài sử dụng các phương pháp nghiên cứu dưới đây trong khi

thực hiện để tài:

Phương pháp tham khảo tài liệu: sưu tập phân tích, tổng hợp các tài liệu về vi

điều khiển họ MCS - 51; phần mềm mô phổng SIM 51; trình địch hợp ngữ ASM5I và

các phần mềm tạo web như Microsoft frontpage; Xarawebstyle

Phương pháp thực nghiệm: tiến hành mô phỏng các hoạt động của vi điều khiển

ho MCS ~ 51 trên phần mềm mô phồng SIM

Phương pháp quan sát, thu thập các kết quả sau khi mô phỏng các hoạt động vi điều khiển họ MCS - 51

2.3.2 Phương tiện nghiên cứu

© Máy vi tính

e _ Luận văn tốt nghiệp khóa trước

e _ Sách chuyên ngành điện tử, công nghệ thông tin

e Đĩa mềm, đĩa CD, đĩa cứng.

Trang 16

Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang

2.3.3 Thời gian nghiên cứu

«_ Tuần 1 (26/12/2002 đến 03/01/2003) thu thập tài liệu, soạn để cương

«_ Tuần 2 (04/01/2003 đến 11/01/2003) phân tích tổng hợp tài liệu

«Tuần 3, 4, 5, 6, 7 (12/01/2003 đến 15/02/2003) tiến hành viết chương trình, thử nghiệm, biên dịch chương trình và mô phỏng chương tình Thiết kế trang web

© Tuan 8 (18/02/2003 đến 22/02/2003) hoàn chỉnh và in ấn

Trang 17

Chương 3

LÝ THUYẾT TỔNG QUAN VỀ MÔ HÌNH-MÔ PHONG

3.1 KHÁI NIỆM VỀ MÔ HÌNH - MÔ PHÒNG

3.1.1 Khái niệm chung

#& Mô hình - mô phỏng ngày càng được sử dụng nhiều để phân tích và đoán trước những đáp ứng, diễn biến của một hệ thống kỹ thuật, đặc biệt mô hình - mô

phỏng là trung tám của việc thiết kế những hệ thống điểu khiển, bởi vì đối với

những hệ thống thiết bị cong nghiệp lớn, vấn để này chưa được biết đến hoặc

Không tổn tại và không có bất kỳ hệ thống phân tích nào có thể đạt được Mô

phóng có thể là một phương cách duy nhất xây dựng vấn tắt các thiết bị vật lý tua bản thân nó và những thí nghiệm trên nó sẽ mô phdng

+ Mõ hình - mồ phỏng thường được sử dụng cẩn thiết cho các trường hợp sau đây:

~ Mô hình rất phức tạp với nhiều biến và nhiều thành phân đối tác với nhau

> Các quan hệ giữa các biến số cơ bản là phí tuyến

+ Mô hình chứa nhiễu biến ngấu nhiên

> Khi cần thiết phải quan sát ngõ ra của mó hình trong không gian ba chiều

3.1.2 Mô hình (model)

4 Mô hình là mô tả vật lý, toán học hay luận lý của một hệ thống thực một thực

thể, một hiện tượng hay một quá trình

‹* Mô hình thường mô tả đơn giấn một hệ thống ở một vài điểm riêng biệt theo thời gian và không gian nhằm gia tăng sự hiểu biết của con người về

hệ thống đó

+ Một mô hình có tốt hay không phụ thuộc vào khả năng trợ giúp của con người

nhiêu hay ít vì tất cả các mô hình được xây dựng theo cách đơn giản, hệ thống

thực và như vậy một số chỉ tiết nào đó bị loại ra nên cần có sự hài hòa về mức

độ chỉ tiết của mô hình

Điều quan trọng cẩn lưu ý là nếu người xây dựng một mô hình được bắt chước

mẫu thì mỗi bước thay đổi chỉ tiết phải tương đối nhỏ và mỗi lần mô phỏng phải chỉ tiết nhỏ

3.1.3 M6 phéng (simulation)

“ Là sự vận động của một mô hình như các hoạt dộng theo thời gian và không gian bên trong hệ thống thực mà mô hình này đại diện, vì vậy mô phỏng cho

phép nhận biết được sự tác động qua lại bên trong hệ thống thực, nhờ sự tách

biệt theo thời gian và không gian

Một cách tổng quát, mô phỏng làsự lập lại và phát triển của mô hình Một người xây

dựng một mô hình mô phồng, nó nghiên cứu quá trình mô phỏng, sửa đổi mô hình và

tiếp tục mô phỏng cho đến khi thu được một mức độ hiểu biết đầy đủ về mô hình

Trang 18

Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang

Mô hình và mô phỏng là một ngành khoa học giúp cho con người hiểu biết thêm về

sự tương tác giữa các yếu tố cấu thành một hệ thống, cũng như toàn bộ hệ thống

Mức độ hiểu biết thu nhận dược từ ngành khoa học này lớn đến mức hiếm khi đạt

được thông qua bất kỳ 1 ngành khoa học nào khác Toàn bộ quá trình mô phỏng bao

gồm 3 giai đoạn chủ yếu:

'Thiết kế mô hình

Hình 3-1: Quá trình mô phỏng,

4.2 PHAN LOAIMO HINH - MO PHONG

Có 6 loại mồ hình:

+ Mô hình trực quan ( Intnitional model ): Lã mô hình dựa trên các giả thiết suy

từ các nhận thức có được hay suy từ các trực quan tương tự về đối tượng

+ Mô hình ký dấu hiệu: Là mô hình được trình bày dưới dạng bảng ký hiệu

Ví dụ : Mô hình đồ thị, m6 hình chép, mô hình bắng biểu,

* Mô hình tự nhiên ( Nature model ): Là mô hình mô tả một hệ thống bằng một

hệ thống khác đang tổn tại trong hệ thống thực

Mô hình toán học ( Mathematical model ): Là phần mềm mô tả hệ thống và

trạng thái của hệ thống đó thông qua các mô tả toán học và thuật toán giải Mô

hình toán học được chia làm các loại như sau:

Mô hình sơ đồ thay thé (egairalust circuit model) :

Mô hình tính toán (computational model): Bao gồm các thuật toán và các

chương trình giải trên máy tính Các chương trình này thể hiện các quá trình xác định được mô tả bằng hệ phương trình vi phân đặt trong phần cơ bản của bài

toán

Mô hình số hoá (numberical model): Là mô hình toán trong đó tập các thuật

toán suy biến thành đạng tích hợp để giải bằng các phương pháp đơn giản như phương pháp giải tích số là một ví dụ

‹* Mô hình vật lý

+* Mô hình tương tự số (Analog_digital model)

Mô hình tương tự: Là mô hình dựa trên các phần tử thực thi các phép toán tương

tự

Mô hình số: Là mô hình dựa trên các phẩn tử thực thi phép toán gián đoạn Ưu

điểm của nó so với tương tự là độ chính xác cao

Mô phỏng tổng hợp: Là sự tổng hợp của hai mô hình trên Sự tổng hợp như vậy

sẽ tận dụng được tính chất của mô hình tương tự rổ ràng, đơn giản trong sự lựa chọn sơ đổ tác động nhanh và máy tính số lưu trong bộ nhớ những dữ liệu cần

thiết và kết quả

————————ễễễễ———

Trang 19

Luận văn tốt nghiệp GVHD : Nguyén Phuong Quang

Mô hình chức năng hay mô hình điều khiển: Trong mô hình này đối tượng được thể hiện bằng những mẫu chủ yếu lấy từ quá trình thông tin và quá trình điểu

khiển

3.3 CAC BUGC TIEN HANH MO HINH MO PHONG

3.3.1 Xác định rõ đặc điểm vấn để

à bước quan trọng nhất nhưng thường được xem qua loa Quan niệm sai

lầm là những người chưa quen với mô phỏng là khi một mô hình được xây dựng thì nó có thể cung cấp các câu trả lời cho tất cả các câu hỏi liên quan đến hệ thống vật lý học

$& Như những phương pháp tính toán khác, mô hình - mô phỏng chỉ có thể làm

những điểu mà mục đích th ế đát ra và thực tế người ta không thiết kế được

mỏ hình làm được mọi thứ, việc xác định cẩn thận phạm vi thiết kế của một mô

hình và mức độ chỉ tiết như thế nao là khó khăn Cách thứ nhất để bắt đầu là

xảy dựng bảng danh sách các cáu hỏi mà mô hình phải trảiời, nhưng lưu ý

những câu hỏi náy nền mở hướng suy nghĩ chứ không nên đi vào một vấn để cụ

thể

Trong danh sách các câu hỏi phái phân chía thành 2 loại :

Loại câu hỏi bất buộc mồ hình phải trả lời

Y Loai cau hỏi mong muốn mô hình trả lời

+ Mô hình càng chỉ tiết thì càng phức tạp, vì vậy lúc đó đòi hồi phải đặt vấn để về

yêu cầu (thời gian, tiền bạc

s* Nên tránh bổ bớt những cáu hỏi được xem là có sẩn câu trả lời hoặc coi khía

cạch đó của hệ thống là không quan trọng hoặc khống liên quan đến vấn để cần

giải quyết Ở bước này việc xác định lợi ích mang lại từ những câu trả lời ở mỗi

câu hỏi là cần thiết

s* Trong bước này nếu mô hình không giải quyết được các câu hỏi yêu cầu thì quá

trình mô phỏng thất bại

3.3.2 Hiểu rõ hệ thống

+» Khong thể mô hình hóa cái không hiểu, đó là tiêu để đơn giản, nhưng những người mô phỏng lần đầu thường bỏ qua hay vội vàng “vạch ranh giới” cho mô hình Những phân hệ thống cần xem xét bao gồm:

vˆ Cấu tạo đặc điểm của các phần tử hệ thống

“_ Chức năng các phần tử

“_ Mối tương tác giữa các phần tử

*⁄_ Sự tương tác của tiến trình và thao tác điều khiển quan trọng

+ Nếu cần nên trao đổi với người giám sát hoặc vận hành Sau đó đặc các câu hỏi ghi chú và làm bảng thống kê thành tài liệu mô tả vận hành của hệ thống kê

thành tài liệu mô tả vận hành của hệ thống Nếu cần dé nghị người giám sát cho

xem lại tài liệu và chú giải

Trang 20

Luận văn tốt nghiệp GVHD : Nguyén Phuong Quang

+ Sau khi xem xét các thiết bi, dựng bắng vẽ thiết kế của hệ thống dưới sự giúp

đỡ của máy tính, điều này giúp cho việc hiểu hệ thống rổ hơn và bố trí các câu

hồi để trả lời Ngoài ra chúng còn làm cơ sở để phát triển mô hình

+ Áp dụng các giác quan thông thường để trả lời các câu hồi như sau : tất cả các

khía cạnh của hệ thống được hiểu rỏ và đủ để trả lời các câu hồi then chốt hay

không, có thể thiết kế mô hình trên giấy mà nó sẽ cho câu trả lời hay không,

Xác định rõ mục đích và mục tiêu của của dự án

4 Bước này nhằm xác định rõ mục đích và mục tiêu dự án, điều này liên hệ mật thiết đến việc xác định các câu hỏi then chốt và có thể lập lại 2 bước này đến

Khi chấc chấn và được ban điều hành chấp nhận

& Mục tiêu của người lâm mô hình là giới hạn kích thước và phạm vi của người

lan mô hình đến mức đủ để đáp ứng mục tiêu của dự án và trả lời các câu hồi

vhủ yếu,

4.1.4 Phải học để có khái niệm cơ bản

Mặc dù đây là bước thích hợp cân hoàn tất trước khi làm dự án mô phỏng chuyên

nghiệp, nhiều người thấy nó là 1 điểu dễ thực hiện nếu họ bị thúc đẩy bởi vấn đề thực

tế cân giải quyết Nếu là người mới bắt đầu làm mô phỏng thì phải chắc chắn rằng thời

gian thực hiện được ấn định trong kế hoạch của dự án cho phép mình làm như thế nào

3.3.5 Đoán chắc của mô hình mô phéng

Những trường hợp hệ thống phức tạp thì dùng mô hình - mô phỏng

3.3.6 Có thật sự ủng hộ rõ ràng từ phía người điều hành

Đây là một bước giống như 1 điều hiển nhiên nhưng nó lại thường đẩy dự án tiến

về phía trước và phải chiếm được sự ủng hộ rõ rằng từ người điều hành từ khi bắt đầu

du an

3.3.7 Nghiên cứu các phần mềm mô phồng

“Thực hiện việc lựa chọn cho một số khá lớn phần mềm có giá trị cho mô phỏng,

những sự kiện mà người làm mô hình quan tâm (hiện nay có trên 50 phần mềm mô

phỏng)

Người làm mô hình - mô phỏng có thể thu hẹp sự thăm dò của mình bằng cách đặt câu hỏi như sau:

>_ Bạn muốn sử dụng phần mềm của hẳng sản xuất nào

> Bạn muốn mô phống bằng ngôn ngữ nào

> Các phẩn mềm cố định hay điều khiển dược

»>_ Có cần đồ hoạ không

———ễễễ-ễẽỀ

Trang 21

Luận văn tốt nghiệp GVHD : Nguyén Phuong Quang

“Từ các câu hỏi trên, chúng ta còn có thể sử dụng khoảng Š phần mềm và phải

trả lời các câu hồi sau:

Độ chính xác và độ chỉ tiết của của mô hình

Có các khả năng tăng hiệu suất của người là mô hình mô phồng

Chọn tốc lớn nhất có thể có

Cẩn thận với những mục quắng cáo hoặc những thứ mà nó không phải là

những thông tin về tiển năng thực sự của phần mềm từ người bán

Có hay không các nhà cung cấp phần mềm mô phỏng giải quyết các vấn để

3.Ä,& Xác định các thông số có giá trị và cần thiết

Việc xác định các thông số có giá trị và cần thiết trong mô hình - mô phong là rất

quan Wong, vì diều này sẽ ảnh hưởng đến mức độ chính xác của thời gian, kích cỡ của

mỏ hình, thời giản mô phỏng

3.3.9 Triển khai các giả định về vấn để

Có một số lý do cho rằng sự thành công hoàn hảo chính nhờ quan tâm đến bước

này Ví dụ: Các giả định đúng bao gồm việc vạch ra ranh giới thích hợp cho hệ thống,

nếu ranh giới quá rộng thì làm táng thời gian và phí tổn vào quá trình hoàn thành mô

phồng, nếu ranh giới quá nhỏ thì những cầu hỏi đặt ra cho mô phỏng có thể sẽ không trả lời được Tương tự cũng có thể quyết định sự phức tạp của mô phỏng, độ phức tạp

của mô hình, nên đủ để trả lời các câu hồi đặt ra và không nên phức tạp hơn

3.3.10 Xác định đâu ra cần thiết để giải quyết một vấn để đã định

Bước này nhằm mục đích xác định ngõ ra cần thiết để có thể trả lời các câu hỏi đặt ra cho mô hình

3.3.11 Việc mô phỏng được tiến hành từ bên ngoài hay bên trong

Thực ra sự phối hợp được dự định mô hình - mô phỏng, mô phồng phải được điều khiển từ bên trong, bên ngoài hoặc kết hợp cả hai

3.3.12 Bắt đầu tiến hành mô phỏng

Ở bước này cần lưu ý các bước sau:

+⁄_ Nên ghỉ vào nhật ký công tác những việc khó khăn đối với những để mục

*⁄_ Việc bắt đầu mô phỏng sẽ thấy lạc quan hơn, tiến triển nhanh chống hơn và duy

trì sự thích thú trong mô phỏng

' Nêu những sự kiện quan trọng, điều này sẽ có ích cho những người thực hiện

đưa ra các quyết định về giải pháp cho vấn đề

Trang 22

Luận văn tốt nghiệt P GVHD : Nguyễn Phương Quang

Y Lén ké hoach cho những tương tác, điểu này giúp đỡ người đưa ra quyết định

tiếp tục hứng thú với tiến trình

⁄ˆ_ Phải có câu trả lời đối với công việc và mục tiêu của tiến trình

#ˆ Phải có thực tế, những ý kiến liễu mạng thì có thể dẫn đến việc hình thành nhanh chống và giá rẻ, nhưng người ta hoàn toàn có thể chứng minh nó làm

hồng tiến trình

Y Hoan thành một cách chắc chắn

ˆ Cuối cùng của việc bắt đầu tiến trình làtổng kết lại các ý kiến mà những người

tham dự đưa ra, đó là những ý kiến có thể giúp cho sự thành công của tiến trình

a

Trang 23

Chương 4

CẤU TRÚC VÀ NGÔN NGỮ

CỦA HỌ VI ĐIỀU KHIỂN MCSS1

4.1 GIỚI THIỆU HỌ VI ĐIỀU KHIỂN MCS-51

Họ vĩ điều khiển MCS-51 được thiết kế dựa trên một cấu trúc tối ưu cho các hệ

thống điều khiển chung, Nó được dùng rất rộng rãi, từ các thiết bị tự động thông

thường, hay dân dụng như: MODEM, VCR, hay bàn phím máy tính, Xét về doanh số,

tuy chỉ sau 68HCI| của MOTOROLA, nhung vi diéu khién họ MCS-51 đã được rất

+ nhà xắn xuất nổi tiếng sản xuất như: INTEL, PHILIPS hay SEMENS, hoặc

dung tong giới sinh viền là từ nhà sắn xuất ATMEL Các nhà sản xuất này

goát các đặt tính cơ bản của họ MCS5], mã sẽ trình bầy ngay sau, còn nghiên cứu thêm vào nhiều tính nâng đật sắc khác như: giao tiếp Bus 12C, tích hợp các bộ chuyển đổi AD vào bên trong, các bộ định ¡ watchdog, hay các ngõ ra được điều pe

Xung Nguồn xung nhịp cho các vi điều khiến này có thể đến 40MHZ, nguồn cấp 4p

© UART song cong

05 nguồn ngắt với 02 mức ưu tiền

128kb RAM trên chip

« _ Vùng địa chỉ 64k riêng biệt cho bộ nhớ chương trình và bộ nhớ đữ liệu

Xét riêng cho INTEL, hiện nay có 03 thành viên cốt lõi thuộc họ này, gồm 8031,

8031va8751 Xét riêng cho từng loại, dựa vào cải tiến công nghệ, cũng có các vi điều khiển khác nhau Bắng liệt kê sau đây tuy chưa đây đủ nhưng phần nào giúp cho chúng

ta hình dung được sự đa dạng và có lựa chọn chính xác khi cần một vi điều khiển họ

MCS -51 ciia INTEL

Trang 25

Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang

Trong cột loại linh kiện (device), ta thấy ngoài các chữ số cơ bản, con có các ký

hiệu mà được nhà sản xuất dùng để thể hiện một số đặc tính của linh kiện đó Nó được

mô tả như sau :

Ví dụ : Tên linh kiện là AN0C51BH

* Ký tự thứ nhất từ bên trái qua: Nhiệt độ chịu đựng của linh kiện

> T,L: -40 đến +80

> A : -40C đến +125%

KY Ue thứ hai từ bên trái qua: Loại vỗ

> P : Loại dip, nhựa, 40 chân

>N : LoaiPLCC,44 chân

$# Ký tự thứ tư từ bên trái qua: Hộ nhớ chương trình

>0: Có ROM hay không có ROM

> I1 ;CóEPROM

® Rý tự thứ tư từ bến trái qua: Bộ nhớ chương trình

> 31 : Không ROM

> 5I : CóROM

4.2 CẤU TRÚC PHẦN CỨNG CỦA HQ VI ĐIỀU KHIỂN MCS -51

4.2.1 Sơ đồ chân -ý nghĩa các chân

Vi điều khiển ở thị trường TP HCM thưỡng xuất hiện ở dạng như sau:

Trang 26

Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang,

1z8 Port1 : Chuyên cho việc xuất nhập

Reset: Đặt lại giá trị ban đầu cho các thanh ghi khi nó ở mức cao

9 trong ít nhất 2 chu kỳ máy

on RXD : Nhận data từ port nối tiếp

nn _ 'TXD : Truyền data qua port nối tiep

iz

INTO, NgO vàu của ngất ngoài 0

}

|" —— |INT] Ngõ vào của ngất ngoài ]

wo [10 _: Ng6 vao cho timer /counter 0

IS TÍ — ¡Ngõ vào cho timer (counterl

|

II 3 WR _: Tạo xung cho việc ghỉ vào bộ nhớ dữ liệu ngoài

17 RD_ Tao xung cho việc đọc từ bộ nhớ dữ liệu ngoài

18+19 XI,X2 : Nối với thạch anh và tụ dùng để ổ định dao động nội của

AT9C5I

21+28 Port2 : Có hai chức năng (xuất nhập đơn thuần hay phần byte cao

của bus địa chỉ khi ở chế độ hợp kênh giữa data và địa chỉ)

29 PSEN : Tín hiệu để cho phép bộ nhớ chương trình mở rộng và

thường được nối với chân OE ( Output Enable) của EPROM để đọc các byte mã lệnh

30 ALE/P : Khi port0 được dùng ở chế độ chuyển đổi của nó, vừa là

bus đata, vừa là byte thấp của bus địa chỉ, nó là tín hiệu để chốt địa

chỉ vào một thanh ghi bên ngoài trong nữa chu kỳ đầu của bộ nhớ

.Sau đó, các đường port0 dùng để xuất /nhập dữ liệu trong nữa chu

kỳ sau của bộ nhớ

32:39 Port0 : Có hai chức năng (xuất nhập đơn thuần hay phần byte thấp

của bus địa chỉ khi ở chế độ hợp kênh giữa data va dia chi)

40 'Vec_: Chân cấp nguồn +5v cho AT89C51

Trang 27

Luận văn tốt nghiệp 8) GVHD :Nguyễn Phương Quang

Trang 28

Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang

4.2.3 Nguồn xung clock của AT89C51

Có thể xem nguồn tạo xung clock của AT89C51 là trái tìm của nó Nhờ vào xung eloek này, các hoạt động diễn ra bên trong vi điểu khiển được đồng bộ với nhau và

diễn ra theo một trình tự nhất định Hai chân XTALI va XTAL2 được cung cấp nhằm nối với một mạch cộng hưởng bên ngoài để tạo ra một bộ dao động Thông thường, ta

dùng một thạch anh và hai tụ điện để đảm nhận, mạch có dạng như sau:

Khi chọn thạch anh, ta cẩn lưu ý đến tần số mà vi điều khiển có thể xử lý được

Nếu dùng thạch anh dưới tẩn số nhỏ nhất, màbộ nhớ bên trong vi điểu khiển không được làm tươi kịp và sẽ xảy ra mất dữ liệu Ngược lại, nếu dùng thạch anh có tần số cao hơn tần số cho phép, hoạt động của chương trình sẽ bị sai

4.2.4 Thanh ghi bộ đếm chương trình PC và con trỏ dữ liệu

AT89C51 có 02 thanh ghi 16 bit: Thanh ghi bộ đếm chương trình PC và con trỏ dữ

liệu DPTR Chúng được dùng để giử địa chỉ của một byte dữ liệu trong bộ nhớ Các

byte lệnh chương trình được nạp từ các ô nhớ mà có địa chỉ là nội dung của thanh ghi

PC Bộ nhớ chương trình có thể on chip hay gắn ngoài Thanh ghi PC tự động tăng lên

sau mỗi lệnh được gọi và có thể bị thay đổi tuỳ theo lệnh, chú ý rằng PC là thanh ghi

duy nhất không có địa chỉ nội

Thanh ghi DPTR được tạo thành từ hai thanh ghi 8 bit, được gọi la DPL va DPH,

chúng được dùng để cung cấp các địa chỉ bộ nhớ cho việc truy xuất mã lệnh nội hay

ngoại hoặc dữ liệu ngoài Thanh ghi DPTR được điều khiển bởi các lệnh của chương trình và có thể được chỉ định thông qua tên của nó DPTR, hay riêng rẽ từng DPL hay DPH DPTR không có địa chỉ đơn

————

SVTH : Trần Thanh Dương $kL001549 Trang 17

Trang 29

Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang,

4.2.5 Thanh ghi A va B

8951 có tất cả 34 thanh ghi đa dung, hay thanh ghi lam viéc, 2 trong số này thanh ghi A và B, tạo nên một khung xử lí toán học cho CPU của 8951, 32 thanh ghi còn lại được xếp như là một phần của RAM nội và được phân thành 4 bank thanh ghi, B0 cho đến B3, mỗi bank có 8 thanh ghi, từ R0 đến R7

Thanh ghỉ A, hay Aecumulator là thanh ghỉ đa năng nhất trong hai thanh ghi của

CPU và được dùng nhiễu nhất trong tác vụ, bao gồm tác vụ cộng, trừ, nhân và chia số

neu e thao tác trên các bịt luận lý Thanh ghỉ A cũng được dùng trong việc

truyền dữ liệu giữa 8951 và bộ nhớ ngoài Thanh ghi B dược dùng kèm với thanh ghi A trong các tác vụ nhân và chia, ngoài khả năng này ra nó không có gì đặc biệt ngoại trừ

được dũng như một thanh ghi bình thường, nghĩa là được dùng để lưu trữ dữ liệu

4.36 Các cờ thành ghỉ từ trạng thái chương trình

Thanh phí trạng thái chướng trình được xem là thanh ghỉ 1 bít, được cung cấp để

Mu từ kết quả của một lệnh chương trình nhất định nào đó Các lệnh khác trong chương trình có thể kiểm ưa trạng thái của cỡ và đưa ra quyết định dựa vào kết quả

Kiếm tra được Nhằm làm cho các cờ được định địa chỉ một cách thuận tiên, chúng

được nhóm lại thành một thanh ghỉ gọi là thanh ghí từ trạng thái chương trình PSW và

thanh ghi điều khiển nguồn PCON

8951 có 4 cờ toán học dùng đáp ứng trực tiếp đến kết quả của các tác vụ toán

học, và 3 cờ đa dụng mà người dùng có thể bật lên 1 hay đưa về 0 Bốn cờ toán học là :

C: carry, AC: Auxiliary, 0V: Overflow và P: Parity Ba cờ của người dùng là: FO, GFO

và GF1, chúng là các cờ đa dụng mà người dùng có thể dùng để ghi nhận một số sự kiện xây ra khi thực hiện chương trình, chú ý rằng: Tất cả các cỡ đều có thể bị thay đổi

bởi người lập trình khi cần thiết Các cờ toán học, ngoài ra còn bị tác động bởi các tác

vụ toán học

Từ trạng thái chương trình được chỉ ra ở hình sau PSW chứa các cờ toán học, cờ của người dùng và hai bit dùng để chọn bank thanh ghi sử dụng trong 4 bank thanh ghi được cung cấp Hai cờ còn lại, GF0 và GF1 được giữ trong thanh ghi PCON

[xs Te [es [aso Tow T=] |

3 RS0 Bitchọn bank thanh ghỉ

—ễễễễ_—ễ

Trang 30

Luận văn tốt nghiệp ———— GVHD :Nguyễn Phương Quang

0P Cờ kiểm ưa lẻ cho thanh ghi A

Cúc bịt có thể truy xuất trực tiếp bằng các địa chỉ bit hoá: PSW.0 đến PSW.7

4.37 Bộ nhớ nội

Một thiết bị dùng vị điều khiến để thực hiện được các chức năng cân phải có các Bvte mã lệnh, thường chứa trong ROM vá bộ nhớ RAM dùng để chứa dữ liệu sản sinh

khi chướng trình thực biện, 95] có bộ nhớ ROM và RAM bên trong để thực hiện chức

nàng này, Các bộ nhớ phụ thêm có thể gấn vào hệ thống thông qua các mạch tích hợp Không giống với các vi điều khiến có cấu trúc Von Neuman, mà chỉ dùng một bộ

nhớ chúng cho chương trình hoặc dữ liều, nhưng không cho cả hai, 8951 có cấu trúc

Hurward, là cấu trúc mà chỉ dùng chung một địa chỉ, nhưng, khác bộ nhớ, cho chương trình và dữ liệu Các mạch điện bén trong sẽ cho phép 8951 truy xuất đúng bộ nhớ cần thiết dựa vào trạng thái hoạt động của chương trình

01 Yost Reset value of

wre 97H Stack pointer

Hình 4- 4: Bản đồ Ram nội của 8951

‹+* Byte đầu tiên trong vùng RAM nội, từ địa chỉ 00h đến 1Fh có chức năng là 32 thanh ghi làm việc, được chia làm 04 nhóm, từ 0 đến 3, mỗi nhóm 8 thanh ghi, từ

0 đến 7 Các thanh ghi này có thể truy xuất bằng tên hay bằng địa chỉ RAM nội

của nó Do vậy, thanh ghi R0 của bank 3 nếu hiện thời bank 3 đang được chọn,

được truy xuất bằng R0 hay qua địa chỉ RAM nội là 18h, khong cần biết bank

nào được chọn Hai bit RS va RS1 của từ trạng thái chương trình PSW dùng xác

Trang 31

Luận văn tốt nghiệp GVHD :Nguyén Phuong Quang

định bank thanh ghi nào hiện thời chương trình dang sử dụng Các bank thanh ghi không được chọn có thể được dùng như RAM đa dụng Khi reset, bank 0 mặc định được chọn

+ 16 byte tiếp theo, từ địa chỉ 20h đến 2fh, là vùng được định địa chỉ theo bit, tạo

ra 128 bịt địa chỉ hoá Một bịt có địa chỉ hoá là một bit có thể được chỉ bằng địa chỉ biL hoá, từ 00h đến 7Fh, hoặc theo byte tạo thành từ 8 bit bằng địa chí từ 20h

đến 2Fh Do vậy, vi dụ : Bit có địa chỉ là 4Fh cũng là bịt 7 của byte có địa chỉ là 20h Vùng bit được địa chỉ hoá hữu dụng khi chương trình chỉ cần nhớ một sự kiện dạng nhị phân, như bật hay tắt đèn Vùng RAM bên trong rất hạn chế, do

vậy tại sau ta dùng đến một byIe khi chỉ cần một bit ?

s+ Vùng trên, từ 30h đến 7h là vung RAM đa dụng, có địa chỉ theo byte

PC không quan tâm đến bộ nhớ chương trình nằm ở đâu, người thiết kế mạch là người

quyết định chương trình chứa trong ROM nội hay ngoại, hay cả hai

e Truy xuất bộ nhớ ngoài

Trong trường hợp chương trình viết có dung lượng lớn hơn 4KB ROM nội lập trình

được của AT9C51, dùng bộ nhớ chương trình Bộ nhớ chương trình ngoài là một IC ROM được cho phép bởi tín hiệu PSEN

hiệu WR/RD (các chân p3.6 và p3.7 thay đởi chức năng)

4.2.8 Ngăn xếp và con trở ngăn xếp

Ngăn xếp là một RAM nội được dùng để kết hợp với các mã lệnh nhất định để lưu trữ và truy xuất lại dữ liệu một cách nhanh chóng Con trổ ngăn xếp 8 bit, SP được

dùng bởi 8951 để lưu trữ địa chỉ RAM nội được gọi là đỉnh của ngăn xếp Địa chỉ được lưu giữ trong SP là vi wf trong RAM noi ma byte dữ liệu cuối cùng được lưu trữ bằng

tác vụ liên quan đến ngăn xếp

Khi dữ liệu được lưu vào stack, và sau đó SP tăng, lên 1 trước khi lưu trữ dữ liệu

vào ngăn xếp, do vậy ngăn xếp tăng lên khi dữ liệu được lưu trữ Khi dữ liệu được lấy lại từ stack, byte được đọc từ stack, và sau đó SP giảm 1 để trỏ đến byte kế tiếp của dữ

liệu được lưu trữ

=>

Trang 32

Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang ———

Khi sử dụng, lưu ý đến kích thước vùng stack do giới hạn của RAM nội Nếu không, nguy cơ tràn stack xảy ra, khi đó dữ liệu ghỉ vào siack sẽ đè lên và làm mất dữ

liệu trong RAM

4.2.9 Các thanh ghỉ chức năng đặc biệt

Một số tác vụ của 8951 mà không dùng 128 byte RAM nội có địa chỉ từ 00h đến

TEh dược thực hiện thông qua một nhóm các thanh ghi nội đặc biệt, mỗi thanh ghỉ này

được thực hiện thông qua một nhóm các thanh ghỉ đặc biệt, mỗi thanh ghi này được gọi

là thành ghi chức nâng đặc biệt SER, chúng nằm trong RAM nội, từ địa chỉ#0h đến FFh Một vài SER có địa chỉ hoá theo bịt, tham khảo bảng dưới Đặc tính này cho phép người lập trình chỉ thay đổi bịt nào cÂn thiết, giữ lại các bịt khác không đổi nhằm không ảnh hướng đến các hoạt đông khác

Chủ ý rầng, không phải tất cả vùng RAM nội từ 80h đến FFh điều là các SER, do

vậy việc cổ gắng dùng các ô nhớ không được định nghĩa, hay trống, sẽ dẫn đến các kết

quả không lường trước được,

Thanh ghỉ PC không thuộc nhóm SER, và nó không có địa chỉ trong RAM nội

Các SFR có thể được chỉ dinh trực tiếp thóng qua tên của chúng, vi dy A hay

THỦ, hoặc dùng địa chỉ trực tiếp OEDh hay &Ch

Địa chỉ dùng trong RAM nội phải được bắt đầu bằng chữ số, do vậy nếu địa chỉ

E0h phải được ghi là 0E0h

SVTH : Trần Thanh Dương ‘Trang 21

Trang 33

Luận văn tốt nghiệp GVHD :Nguyén Phuong Quang

Table 1 89C51 Special Function Registers

SIMBOL | 0ESCRPHON | ORE <q BITABORESS, SYNGOL, OR ALTERNATIVE PORT FONCTION RESET

AC | Accumulator cov [ee es es ese E £0 [OW

AUXRE- |Amiay seụ | ——T TT TT [T2 |essðš AUXR4E | Aadiay1 eu [-—T[ —[ ——| — [#2] 1 | — | 0s | soi

ø 8 regRster roo [hr TT TTE TH TT TẾ OCH * 0PTR | Data Pointr (2 bytes)

PH | Data Pointer High 83H 004

vet | Data Pointer Low 8H x 004

at Pon a bon [rt [0] 0| rri

scons! | Power Conta! en Le P0_] 180] oox00008

wwcrbaita | Timor? Capture High | CBH 00H

sArAra | Timor? Capturelow | CAH # 00M

SADDRE | Save Addrass A9H oH

SADENE | Slave Addross Mask | B9M 00M

seuF — | Serial Data Butter SoH xeœonÐ)

SE oA 00 0 SGON*- |SenalCamrol soy [Bure] eer] 7ee_[ res] TH | R |@M

°® Stack Pointer 61H om

oe ƠO ĐC BOĐBA 89W TOON*_ | TmerCewml we [Fe] ro eo] [TỰ | TU | T0 |0

CF CC CŨ CỔ C5 CÁ CC C TaCON- | Timer2Conrol con | TFZ TĐ2TROR[TEK|EĐEN| T2 | E12 |E0/2|004

tawoos | timer2Medecontra | cox- [~-—[ - | - | - | - | — | Te | 0CEn | rooxd08 THO | TimerHigh 8cH 90H

THỊ Timor High t 80H 00H

THat |TmerHigh2 CoH 004

no Timer Low 0 BẠN 00H

mu Timer Low 4 88H 00H

tian | Timer Low 2 00M ‘0H

TWOD | Timer Mode son [care T cm [Twi J wo [care J ct [ma [Mo] oon,

Bảng 4 — 3: Các thanh ghi chức năng đặc biệt

4.2.10 Sơ lược về bộ đếm /định thời, cổng nối tiếp, ngắt

a Bộ đếm / định thời

Có hai bộ timer 16 bit, người ta sử dụng các timer để:

> Định khoảng thời gian

Trang 34

Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang

b cổng nối tiếp

Chức năng port nối tiếp, nghĩa là truyền hay nhận chỉ từng bit, được thực hiện bởi

hai chân P3.0 (RxD) và P3.1 (TxD) trên vi điểu khiển họ MCS-51 Với chức năng này,

nó cho phép vi điều khiển giao tiếp với các thiết bị khác ở các tốc độ baud khác nhau,

mà được chọn bằng tốc độ tràn của timer

Hoạt động của port nối tiếp trên 8951 là hoàn toàn song công, và có thể chọn một

trong bốn chế độ sau:

\ 0 thanh ghỉ dịch 8 bit

© Ché dé 1: UARTS bit

«- Chế độ 2: UART 9 bit, tốc độ baud cố định

©— Chế độ 3: UART 9 bịt, tốc đó baud thay đổi được

* Batbit BA (Enable all) trong thanh ghí HE lên 1

© _ Xác định việc sử dụng ngắt nào bằng cách set bit tương ứng lên 1

Lập chương trình phục vụ ngất tại địa chỉ vector tương ứng với ngắt sử dụng hay lập một lệnh nhảy đến chương trình phục vụ ngất

4.3 NGON NGU CUA HO VI DIEU KHIEN HO MCS-51

Các bộ vi điều khiển họ MCS-51được thiết kế và lập trình bởi hãng INTEL, các

vi điều khiển này được điều khiển để đáp ứng nhu cầu của người dùng nhờ vào phan

mềm hay còn gọi là chương trình Các ví điều khiển họ MCS-51 có ngôn ngữ lập trình

theo kiểu lập trình hợp ngữ (Assembly language)

Lập trình bằng hợp ngữ là sử dụng những mã gợi nhớ hay các ký hiệu dưới dạng các lệnh để thay thế các mã nhị phân của máy tính Máy tính sẽ nhận chương trình nầy sau khi chương trình đã được dịch sang ngôn ngữ máy Quá trình này được thực hiện

nhờ vào trình địch hợp ngữ và trình liên kết Các chương trình của hợp ngữ thường gọi

là chương trình nguôn hay mã nguồn, cũng không thể thực thi bởi máy tính

Các mã hay các ký hiệu gợi nhớ được sử dụng trong chương trình hợp ngữ còn gọi

là tập lệnh của vi điểu khiển Tập lệnh này dùng làm ngôn ngữ chính để báo cho vi

điều khiển biết cÂn phải làm gì, hay phải lấy dữ liệu để xử lý hoặc để điều khiển khi

nó đang thực hiện các lệnh tương ứng, các lệnh này hay các mã nhị phân này cho vi điều khiển biết phải thực hiện nhiệm vụ gì tương ứng với mã lệnh đã cho

SVTH : Dương Hoàng Hiếu Trang 23

Trang 35

Chương 5

| TRINH BIEN DICH ASMS1

| 5.1 GIGI THIEU :

Ngôn ngữ Assembly là giữa ngôn ngữ máy và ngôn ngữ cấp cao Ngôn ngữ cấp

byte nhị phân được đặc trưng bởi các lệnh mà máy tính có thể thực thi

Ngôn ngữ Assembly thay thế các mã nhị phân của ngôn ngữ máy để sử dụng các

"thuật nhớ * dễ dàng trong quá trình lập trình Ví dụ lệnh cộng trong ngôn ngữ máy

được đặc trưng bởi mã nhị phán “10110011” trong khi ngôn ngữ Assembly là “ADD” Một chương trình ngôn ngữ Assernbly không thể thực thi bổi máy tính mà nó phải

due dịch sang mã nhị phân ngôn ngữ máy

Một linker là một chương trình ma nó kết hợp các chương trình đặc trưng Relsvatible (Module) và thiết kế một chương trình đặc trưng tuyệt đối thực thi bằng

may tinh,

Segment la m6t phân của bộ nhớ mã hoặc dữ liệu, nó có thể tái định vị được

(Relocatable), Hode tuyét déi (Absolute) Segment Relocatable có tên, kiểu và có thể

dược kết nối với segment cục bộ khác Segment Absolute khong c6 tên và không thể

dược kết nối segment khác , :

Module chứa 1 hoặc nhiều segment hay các segment cục bộ Một module có thể

là một “file” ở nhiều trường hợp cá biệt

Một chương trình module Absolute đơn được hoà vào toàn bộ các segment

bsolute và Segment_Relocatable từ tất cả các mode nhập

Chương trình chỉ chứa các mã nhị phán thay cho các lệnh (với các địa chỉ và các

hằng dữ liệu) được hiểu bởi máy tính

Ngoài trình biên dich ASMS1, vi diều khiển họ MCS5I còn có một số trình biên dịch khác như trình dịch AS31 nằm trong khối phần mềm biên dịch SDSC của nhóm

-§andeep Dutta, chương trình dịch 8051 Assembler chạy trên hệ điều hành windows

5.2 HOẠT ĐỘNG CỦA TRÌNH BIÊN DỊCH

Có nhiều trình biên dịch và các chương trình hổ trợ khác cho phép ta đễ đàng phát

¡_ trển các ứng dụng trên chip vi điều khiển AT9C51 Trình dịch hợp ngữ họ MCS-51 của

-_TNTEL(ASM51) được dùng làm chuẩn để so sánh với các trình dịch hợp ngữ khác

| ASM5I là trình biên dịch mạnh, hoạt động tốt trên các hệ thống phát triển INTEL

| va ho IBM PC của máy vi tính Chương trình nguồn viết cho AT89C51 có thể được

soạn thảo trên máy tính và có thể được hợp dịch thành một tập tin đối tượng và một tập

lin liệt kê bằng ASM5I

ASM5I được gọi từ dấu nhắc hệ thống bởi lệnh:

ASMS1 source_file[Assembly_Control]

Tập tin nguồn [source_file] được hợp dịch và các điều khiển của trình dịch hợp ngữ

Trang 36

PROGRAM.SCR cast)

PROGRAM.LST

Hình 5 - 1: Hợp dịch một chương trình nguồn

Vi hầu hết các trình dịch hợp ngữ quét tập tún nguồn 2 lần trong quá trình dịch tập

tụ nguồn sang ngôn ngữ máy, chúng còn được gọi là trình dich hợp ngữ 2 bước Trình

sử dụng một bộ đếm ví trí LC (Location Counter) để xác định địa chỉ của

c nhãn Hoạt động của mỗi bước được mô tả dưới đây

tịch hợp nẹi

lệnh và

Bước 1: Trong bước nay, 4p tin nguồn được quét từng dòng và một bằng ky hiệu

được tạo ra Bộ đếm Location được mặc định bằng 0 hoặt được set giá trị ban đầu bởi

chỉ thị ORG (đặt Origin) Khi tập tín được quét, bộ đếm Location được tăng lên bằng độ dài mỗi lệnh Các chỉ dẫn định nghĩa dữ liệu DB hoặc DW tăng bộ đếm Location bởi số

byte được định nghĩa Các chỉ dẫn dự trữ bộ nhớ DŠ tăng bộ đếm Location bởi số byte

được dự trữ

Mỗi lần một nhãn được tìm thấy ở trước 1 dòng lệnh, thì nó được đặt vào bản ký hiệu cùng giá trị hiện hành của bộ đếm Location Bảng ký hiệu được lưu lại

Bước 2: Trong bước này, cdc tap tin đối tượng và tập tin liệt kê được tạo ra Các

mã gợi nhớ được biến đổi thành các Opcode và được đặt vào trong các tập tin trên Các toán hạng được đánh giá và được đặc sau Opcode của lệnh Ở nơi các ký hiệu xuất hiện trong toán hạng, các giá trị được lấy ra từ bảng ký hiệu và dùng tính toán dữ liệu hoặc địa chỉ cho các lệnh

Tập tin đối tượng, nếu thuộc dang địa chỉ tuyệt đối chỉ cứa các byte nhị phân (00h

-ffh) của chương trình ngôn ngữ máy, nếu thuộc loại tái định vị thì sẽ chứa một bang ky

hiệu và các thông tin khác cẩn cho sự kết hợp và định vị sau này Tập tin liệt kê chứa

cdc ma van ban ASCII (20h-7fh) cho chương trình nguồn và các byte số hex trong

chương trình mã máy

5.3 ĐỊNH DẠNG CHUONG TRÌNH HỢP NGỮ

„ Các lệnh (Instruetion) của bộ vi xử lý, bộ vi điều khiển

„ _ Các chỉ dẫn (Directive) của trình biên dịch

Trang 37

Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang

„_ Các điều khiển (Control) của trình biên dịch

« _ Các chú thích (Comment) của trình biên dịch

Các lệnh là các mã gợi nhớ quen thuộc của các lệnh thực thi được Các chỉ dẫn là

các lệnh của trình biên dịch dùng định nghĩa cấu trúc chương trình, các dữ liệu, ký hiệu,

hằng số, Các điều khiển thiết lập các mode của trình biên dịch và các luỗng hợp dịch

trực tiếp Các chú thích giúp chương trình dễ đọc bằng cách đưa ra các giải thích về

mục dích và hoạt động của các chuỗi lệnh

Khuôn dạng tổng quát của mỗi dòng:

Chỉ có trường mã gợi nhớ là bất buộc,

Với ASMSI, trường nhãn khóng bất buộc bất đầu ở cột 1, trường mã gợi nhớ

Không cần ở trên cùng 1 dòng với ưướng nhãn, nhưng trường toán hạng phẩi ở trên

w Lòng với trường mã gợi nhớ

3.1 Trường nhãn (Label field)

Nhãn biểu thị địa chỉ của lệnh (hoặc dữ liệu) theo sau Khi có sự rẻ nhánh đến

lệnh này, nhãn được dùng trong trường toán hạng của lệnh rẻ nhánh (hoặc lệnh nhảy) Nhãn là một loại ký hiệu và được nhận dạng bằng dấu hai chấm: (kết thúc nhãn)

5.3.2 Trường mã gợi nhớ (Mnemonic field)

Mã gợi nhớ của lệnh hoặc chỉ dẫn của trình địch hợp ngữ theo sau trường nhãn Các ví dụ về mã gợi nhớ của lệnh là: ADD, MOV, DIV, DEC HOAC INC,

Các ví dụ về mã gọi nhớ của chỉ dẫn là: ORG, EQU hoặc DB

5.3.3 Trường toán hạng (Operand field)

Trường toán hạng theo sau trường gợi nhớ, trường này chứa địa chỉ hay đữ liệu mà

lệnh sẽ sử dụng Các khả năng của trường toán hạng phụ thuộc vào thao tác, có thao

tác không có toán hạng như: RET trong khi các thao tác khác cho phép nhiều toán hạng, cách nhau bởi dấu phẩy

5.3.4 Trường chú thích (Comment field)

Các chú thích để làm rổ chương trình được đặc trong trường chú thích ở cuới đồng

lệnh Các chú thích phải được bắt đầu bằng dấu chấm phẩy(;)

Trang 38

Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang

5.3.5 Các ký hiệu đặc biệt (Special Assembler Symbol)

Các ký hiệu đặc biệt được dùng trong các kiểu định địa chí thanh ghi Các ký hiệu

này bao gôm các thanh ghi A, R0-R7, DPTR, PC, C, AB Dấu $ cũng là ký hiệu đặc

biệt dùng tham chiếu các giá trị hiện hành của bộ đếm Location

5.3.6 Dia chi gidn ti€p (Indirect Address)

Đối với một số lệnh, trường toán hạng có thé xác định một thanh ghi mà nội dung

của thành ghỉ là địa chỉ của dữ liệu, dấu @ chỉ ra địa chỉ gián tiếp mà thanh ghi theo

sau dia chi la RO, RI, DPTR hode PC tuỳ vào lệnh cụ thể

5.3.7 Dit ligu tite thoi ( Immediate Data)

Các lệnh xử dụng kiểu định địa chỉ tức thơi cung cấp dữ liệu trong trường toán hạng và dữ hiệu này ưở thành 1 phân lệnh Ký hiệu # được đặt trước dữ liệu tức thời

5.3.8 Địa chỉ dữ liệu ( Data Address )

Nhiều lệnh truy xuất các vị trí nhớ bằng cách sử dụng kiểu định địa chỉ trực tiếp

và yêu cầu một địa chỉ của bộ nhớ đữ liệu trên chip (00H + 7FH) hay một địa chỉ của 1 thành ghỉ

Chức năng đặc biệt SFR (80H + OFFH) trong trường toán hạng Các ký hiệu tiên định nghĩa được sử dụng thay cho địa chỉ của các thanh ghi chức năng đặc biệt SFR

5.3.9 Dia chi bit ( Bit Address )

Các lệnh truy xuất các vị trí được định địa chỉ bit phải cung cấp địa chi bit trong

bộ nhớ dữ liệu nội (00H + 7FH) hoặc địa chỉ bít trong các thanh ghi SFR (80H + OFFH)

Có 3 cách để xác định địa chỉ bit trong 1 lệnh:

„_ Địa chỉ bit đã biết trước

+ Sit dung toán tử dot (.) giữa địa chỉ byte và địa chỉ bit

+ Sử dụng ký hiệu tiền định nghĩa

5.3.10 Địa chỉ của lệnh (Code Address)

Địa chỉ của lệnh được dùng trong toán hạng cho các lệnh nhảy và thường được cho dưới dạng các nhãn

5.3.11 Các lệnh nhảy và gọi tổng quát (Generic Jump and Calls)

ASM51 cho phép người lập trình sử dụng mã gợi nhớ tổng quát JMP hay CALL Lệnh “MP” có thể được dùng thay cho “SYMP, AIMP, LIMP” va “CALL” có thé thay

cho ACALL hay LCALL Trình dịch hợp ngữ biến đổi mã gợi nhớ tổng quát thành lệnh

—————ễ—

Trang 39

Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang

“thực “ theo 1 vài qui luật đơn giản Việc biến đổi không nhất thiết phẩi có sự lựa chọn lập trình tốt nhất

5.4 CÁC BIỂU DIỄN CỦA TRÌNH DỊCH HỢP NGỮ

Các giá trị và hằng số trong trường toán hạng có thể được biểu diễn theo 3 cách:

toán giá trị và chèn kết quả vào trong lệnh

&%4.1 Các cơ số (Number Basses)

Cát sở cho các hằng số được chỉ ra theo cách thông dụng Các hằng số phải được

theo bắi các số nhị phần *B”, theo sau số Octal “O” hoặc “Q”, theo sau số thập phân

®DЈ hoặc không có gì, theo số hcx “H”

Lưu ý là 1 digit số phải là ký tự

biệt chúng với các ký tự

tiền cho các hằng số dạng số hex để phân

5.4.2 Các chuỗi ký tự (Character String)

Các chuỗi có 1 hay 2 ký tự có thể được sử dụng làm các toán hạng trong các biểu

thức Các mã ASSCIH được biến đổi thành nhị phân tương đương bởi trình dịch hợp ngữ

Các hằng ký tự được đặc trong hai dấu nháy đơn

5.4.3 Các toán tử logic (logic Operation)

+ : cộng

ˆ ¡ trừ

* : nhân

J: chia

Mod :modulo (phép lấy dư)

Vì toán tử mod có thể bị nhâm lẫn với một ký hiệu, toán tử này phải cách các

toán hạng tối thiểu 1 ký hiệu khoảng trắng hoặc tab, hoặc các toán hạng phải được ở

trong hai dấu ngoặc

5.4.4 Các toán tử logic (Logic Operations)

Các toán tử logic là OR, AND, XOR, NOT

Các thao tác được thực hiện trên các bit tương ứng trong từng toán hạng Các toán

tử phải được cách các toán hang bởi một khoảng trắng hoặc tab

“Toán tử NOT chỉ thực hiện trên 1 toán hạng

Trang 40

Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang

5.4.5 Các toán tử đặc biệt (Special Operation)

Khi một toán tử quan trọng được sử dụng giữa hai toán hạng thì kết quả luôn luôn

hoặc xát (0000h) boặc đúng (FEFFFEH), các toán tử quan hệ là:

£Q : Equals (bing)

Ni <>: NOT equals (khong bang)

LT < ; Less than (nhé hon)

LE <=: Less than or equal (nhỏ hơn hoậc bang)

GT > : Greaterthan (lớn hơn)

GE >= : Greater than or equal (1dn hon hoặc bằng)

Với mỗi một toán tử có thể sử dụng 1 trong 2 dạng ký hiệu nêu trên

5.4.7 Ưu tiên các toán tử

Ưu tiên của các toán tử trong biểu thức từ cao nhất đến thấp nhất như sau :

Ngày đăng: 22/11/2024, 10:01

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w