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

Biên soạn sách Điện tử Ứng dụng phần mềm sim51 mô phỏng vi Điều khiển

217 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 phần mềm SIM51 mô phỏng vi điều khiển
Tác giả Nguyễn Trọng Đức
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 Đ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 217
Dung lượng 16,36 MB

Nội dung

Tuy nhiên, việc đơn giản hoá và tích hợp vi mạch gây khó khăn cho người học ở thời điểm bắt đầu tiếp xúc với linh kiện, đặc biệt là linh kiện họ uC và 0P do chức năng đa xử lý nhờ chươn

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Ử

UNG DUNG PHAN MEM SIM51

MO PHONG VI DIEU KHIEN

GVHD: NGUYEN PHUONG QUANG SVTH: NGUYÊN TRỌNG ĐỨC

TK

| —— f ~~ , SKLOO1;

TP Hồ Chí Minh, thang 03/2003

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC SU PHAM KY THUAT

BỘ MÔN ĐIỆN TỬ

===——————————\O0————————

ĐỒ ÁN TỐT NGHIỆP

c

nuit Soa Sica pity Td

UNG DUNG PUAN BIRT STAI 5

Trang 3

BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HOC SU PHAM KY THUAT pOC LAP - TY DO- HANH PHUC

KHOA DIEN

BỘ MÔN ĐIỆN - ĐIỆN TỬ

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

HH và tên sinh viên: NGUYỄN TRỌNG ĐỨC

Lép: - 9810IKĐĐ

Ngành: Điện tử

Jen dé tai:

inal te ae Ata

Các số liệu ban đầu:

4 Giáo viên ên hướng din: ~ NGUYEN PHUGNS QUANG

5 Ngày giao nhiệm vụ:

6 Ngày hoàn thành nhiệm vụ:

Ngày tháng năm

one Chủ nhiệm bộ môn

Trang 7

ĐỒ ÁN TỐT NGHIỆP

LỜICẢM T

Chúng em xin chân thành cám ơn Thây Nguyễn Phương Quang,

giáo viên trực tiếp hướng dẫn nhóm trong suốt quá trình thực hiện để tài tốt nghiệp Sự tận tình chỉ dẫn, giúp đỡ và động viên của thây trong suốt

thời gian qua đã giúp chúng em rất nhiều trong việc hoàn thành tốt luận văn tốt nghiệp này Qua đó chúng em đã học được nhiều kiến thức quý báo mà chúng em nghĩ rằng trước đây không thể thực hiện được

XIN CHÂN THÀNH CÁM ƠN THẦY CÔ

Trường Đại Học Sư Phạm Kỹ Thuật

Khoa Điện - Điện Tử

Tp.Hồ Chí Minh, ngày 10 tháng 2 năm 2003

Sinh viên thực hiện NGUYỄN TRỌNG ĐỨC

Trang 8

ĐỒ ÁN TỐT NGHIỆP —

LOINGIDAU

Ngày nay kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật

và trong dân dụng Từ các dây chuyển sản xuất lớn đến các thiết bị gia dụng, chúng ta đều thấy sự hiện diện của vi điều khiển Các bộ vi điểu khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vi mạch nhỏ, nó đã thay thế các tủ điều khiển lớn và phức tạp bằng những mạch điện gọn nhẹ, dễ dàng thao tác sử dụng

Vi điều khiển không những góp phần vào kỹ thuật điểu khiển mà còn góp phần

1o lớn vào việc phát triển thông tin Đó chính là sự ra đời của hàng loạt thiết bị tối tân trong iganh viễn thông, truyền hình, đặc biệt là sự ra đời của mạng Internet —siêu xa lộ thông tin, góp phần đưa con người đến đỉnh cao của nền văn minh nhân loại

Chính vì các lý do trên, việc tìm hiểu, khảo sát vi điểu khiển là điều mà các sinh viên ngành điện mà đặc biệt là chuyên ngành kỹ thuật điện-điện tử phải hết sức quan tám Đó chính là một nhu cầu cẩn thiết và cấp bách đối với mỗi sinh viên, để tài này được thực hiện chính là đáp ứng nhu cầu đó

Là 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 vi điểu khiển đến người học một cách hiệu quả hơn Để vận dụng các phương pháp dạy học hiện đại, cần có những phương tiện thích hợp cho từng phương pháp Thực hiện đẻ tài: *BIÊN SOẠN SÁCH ĐIỆN TỬ ỨNG DỤNG PHẦN MÊM SIM 51 MÔ PHỎNG VI ĐIỀU KHIỂN ” sẽ tạo ra một

trong những phương tiện trong việc dạy và học môn vi điểu khiển có hiệu quả

GVHD : NGUYÊN PHƯƠNG QI

Trang 9

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

Nhận xét của giáo viên phản biệ

4 Thời giannghiên cứu -

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

1 Kháiniệm - 2 Phân loại mô hình - mô phỏng 3 Các bước tiến hành mô hình - mô phỏng

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

Chuong VI + Cài đặt chương trình mô phỏng-

Chương VIII: Nhập môn thiết kế lạ p trình

Trang 10

5.5 Cấu trúc lập FOR ~ DO:

5.6 Cấu trúc lập WHILE ~ DO - 5.7 Cấu trúc lập REPEAT ~ UNTIL

Bài tập 4

Bai tap 5 -

Bài tập 6 ~ Bài tập 7 - Bài tập 8 - Bài tập 9 Bài tập 10 —

2 Bài tập nâng cao

Phụ lục C: Giới thiệu các phần mềm mô phỏng mới

Tài liệu tham khảo:

Trang 11

ĐỒ ÁN TỐT NGHIỆP

——

LIET KE BANG

Bằng IV-] Bảng các thanh ghi chức năng đặc biệt-

Bằng VI- 1 Bảng mã Led 7 đoạn:

Bang C-1 Bang ma ASCIL-

Bang C-2 Bảng hệ thống s

GVHD : NGUYÊN PHƯƠNG QUANG

Trang 12

Màn hình giao diện SIM5

Sơ đồ chân IC AT89C51

Sơ đồ mạch nguồn 5v

Mạch Reset-

Mạch chuyển đổi DAC- Mạch giao tiếp máy tính:

Cấu trúc byte dữ liệu Led 7 đoạn:

Sơ đỏ minh hoa Led 7 đoạn

Sơ đô chân Led ma trận:

Mạch đèn giao thông tại 1 ngã tư-

Mạch điều khiển nút nhấn:

Cài đặt SIM5I - CPU liên tục tìm nạp và thi hành lệnh:

Màn hình giới thiệu sách điện tử

Giao diện quản lý của quá trình mô phỏng:

Giao dién TS Control 8051 -

GVHD : NGUYEN PHUONG QUANG

Trang 13

6 AN TỐT NGHIỆP

PHẨNB :

NỘI DUNG

Trang 15

giao tiếp gọn nhẹ lấy cơ sở từ những mạch phức tạp làm nền tảng cho việc chế tạo và

phát triển linh kiện mới Nhờ thế, người thiết kế mạch điện tử, người học, đặc biệt là

sinh viên chuyên ngành đ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 hoá và tích hợp vi mạch gây khó khăn

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

0P do chức năng đa xử lý nhờ chương trình, cấu trúc hệ thống phức tạp, điển hình là vi

điều khiển HC AT89C51,

Ngay nay, trong các hệ thống điều khiển với yêu cầu tự động hoá cao không thể thiếu

AC hoặc pP, từ các đây chuyển sản xuất lớn đến các thiết bị gia dụng ( cánh tay robot,

bé thống đếm sẵn phẩm, quang báo, hệ thống báo động và cẩm biến ) Song song với việc sử dụng vi điều khiển là 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 của mọi người Tuy nhiên, khi học vi điều khiển, những diễn biến bên trong

vi điều khiến dẫn đến trừu tượng, khó hình dung, người học khó tiếp thu Bên cạnh đó

là vấn đề về kính tế, người học khó tiếp xúc với thực tế bởi giá thành các hệ thống vi

điều khiển cao Bức xúc trước những khó khăn trên, để tài : “ SÁCH ĐIỆN TỬ ỨNG

DƯNG PHẦN MÊM SIM5I MÔ PHỎNG VI ĐIỀU KHIỂN” được thực hiện

Với đẻ tài này sẽ khắc phục khó khăn trong quá trình học tập, tìm hiểu vi điểu khiển,

tạo ra phương tiện trực quan sống động giúp người học có thể tự học vi điều khiển,

nắng cao khả năng lập trình và tiết kiệm thời gian thử nghiệm mạch

Tâm quan trọng của vấn đề :

~ 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 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 SIM51 sẽ thấy được hoạt động của từng lệnh, từng

~ Họ MCS-51 của hãng Intel, ngoài ra còn có các vi điều khiển cũng thuộc

họ MCS51 nhưng được phát triển thêm một số chức năng khác và được sản xuất từ các

hãng khác như AMD, Siemens, Philips, Dallas, Oki, Atmel

~ Họ 68HCOS của hãng Motorola

Trang 16

ĐỒ ÁN TỐT NGHIỆP TRANG13

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

MCS-51 qua 15 tiết học môn chuyên để vi điều khiển, nhu câu học tập, tìm hiểu về vi

điều khiển, và sinh viên trong trường cũng được trang bị kiến thức vi điều khiển họ

MCS-51, ngoài ra trên thị trường linh kiện IC phổ biến là họ MCS-51 Do đó những người thực hiện để tài chọn mô phồng vi điều khiển họ MCS-51 của hãng Intel

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

những người thực hiện để tài chọn phần mềm SIM51 để mô phỏng vi điều khiển họ

MCS-51( 8051/ 8751)

2 Mục đích nghiên cứu:

Thông qua việc thực hiện đề tài, những người thực hiện để tài có dịp tì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 kỹ 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

0z học vì điều khiển sử dụng phần mềm mô phỏng SIM51 giúp ích cho việc học vi

điều khiển

Đề tải này xây dựng thành một tài liệu hướng dẫn mô phỏng vi điều khiển họ MCS-5] thông qua những ứng dụng cụ thể Nó sẽ là tài liệu cần thiết cho những người đang tìm hiểu, nghiên cứu vi điểu khiển họ MCS-51

= GVHD : NGUYEN PHUONG QUANG

Trang 18

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 hệ thống của họ vi điều khiển MCS51

~ Trình biên dịch ASM51

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

~ Cài đặt chương trình mô phỏng

- Nhập môn thiết kế lập trình

- Hướng dẫn sử dụng chương trình mô phỏng

~ Các dạng bài tập ứng dụng

~ Phụ lục và tài liệu tham khảo

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

~ Phần mềm mô phỏng vi điều khiển SIM51

~ Trình dịch hợp ngữ ASM51

~ Vi điều khiển AT89C51

~ Các phần mềm tin học như: Microsoft Fontpage, Lotus Sereen Cam, Corel draw 10

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

a Phượng pháp nghiên cứu

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ách vở về vi điều khiển họ MCS-51, phần mễm mô phồng SIM51, các phần mễm tin học hỗ trơ

~ Phương pháp thực nghiệm: mô phỏng hoạt động của vi điều khiển họ MCS-51

trên phản mềm mô phỏng SIMS1

~ Phương pháp quan sát: thu thập kết quả sau khi mô phỏng

.b Phương tiện nghiên cứu,

~ Máy vi tính

- Luận văn tốt nghiệp khoá trước

- Sách chuyên ngành

- Đĩa mềm, dia CD

4 Thời gian nghiên cứu

- Tuần 1(7/1/2003 - 13/1/2003 ) : thu thập tài liệu, soạn để cương

~ Tuân 2( 14/1/2003 - 20/1/2003 )_ : phân tích, tổng hợp tài liệu

- Tuần 3,4,5,6( 21/1/2003 — 10/2/2003 ) : tiến hành viết các chương trình, thử nghiệm, biên dịch chương trình và mô phỏng chương trình

- Tuần (15/2/2003 - 2/3/2003 ) : hoàn chỉnh và in ấn,

GVHD : NGUYÊN PHƯƠNG QUANG

Trang 20

ĐỒ ÁN TỐT NGHIỆP TRANG17

————ễễễẦẪ—

1 Khái niệm về mô hình - mô phỏng

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ị công 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, thiết kế 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ý mà bản thân nó và những thí

nghiệm trên nó sẽ mô phồng

Mô hình - mô phỏng thường được sử dụng cần thiết trong các trường hợp sau

đây:

~ Mô hìng 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à phi 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 3 chiều

1.2 Mé hinh (Model

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, 1 thực thể,

1 hiền tượng hay 1 quá trình

Mô hình thường mô tả đơn giản 1 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 1 số chỉ tiết nào đó bị loại ra nên cẵn có sự hài hoà về mức độ chỉ tiết của mô

Là sự vận động của một mô hình như các hoạt độ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 Mô hình và mô phỏng, 1 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 đượ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ỳ một 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:

———————ễễễễ

Trang 21

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

2 Phân loại mô hình - mô phỏng

Có 6 loại dạng mô hình:

- Mô hình trực quan: là mô hình dựa trên các giả thuyế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ị, mô hình ghỉ chép, mô hình bảng biểu

- Mo hình tự nhiên: là mô hình mô tả một hệ thống bằng 1 hệ thống khác đang tôn taitrong hệ thống thực

- Mô hình toán học: 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:

v⁄_ Mô hình sơ đồ thay thế

*⁄_ Mõ hình tính toán: 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á: là mô hình toán trong đó tập các thuật toán suy biến thành

dạ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

¥ M6 hinh sé: là mô hình dựa trên các phần tử thực thi các 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ô hình tổng hợp: là sự tổng hợp của 2 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ả

Y/_ 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 va quá

Trang 22

3 Các bước tiến hành mô hình ~ mô phỏng

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

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

lầm thường là những người chưa quen với mô phỏng là khi 1 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 hệ đế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 thiết kế đặ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 1 mô hình và mức

độ chỉ tiết như thế nào 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ả lời, nhưng lưu ý những câu hỏi này nên ra ở

hướng suy nghĩ chứ không nên đi vào 1 vấn để cụ thể

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

- Loại câu hồi bắt bộc mô hình phải trả lời

- Loại câu 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, )

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ạnh đó 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à

~ 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 đó đặt 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 Nếu cần đề nghị người giám sát cho xem lại tài liệu và chú giải

- Sau khi xem xét các thiết bị, dựng bản 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

GVHD : NGUYÊN PHƯƠNG QUANG

Trang 23

TRANG20 —

ĐỒ ÁN TỐT NGHIỆP

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

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 làm 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 chủ yếu

3.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 nhận 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ế mà họ cần giải quyết Nếu là người mới bắt đầu làm mô hình 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 minh lam như thế nào,

3-5 Duan 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.6 Cá thật sự ủng hộ rõ ràng từ phía người điều hành

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ề

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 dự

phí

án

3.7 Aghiên cứu các phần mêm mô phỏng

Thực hiện việc lựa chọn cho 1 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

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:

- Ban 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 được

~ Có cần đồ hoạ không

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

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

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

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

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

mô hình, thời gian mô phỏng

Trang 24

ĐỒ ÁN TỐT NGHIỆP TRANG21

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

Có 1 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 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.10_ Xác định đâu ra câu thiết để giải quyết một vấn đề đã đinh:

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.11 Việc mô phẳng được tiến hành từ bên ngoài hay bên trong

hức ra sự phối hợp được dự định mô hình — mô phỏng, mô phỏng phải được điều

kiuến tư bên trong, bền ngoài hoặc kết hợp cả hai

3.12_Hắt đâu tiến hành mô phẳng

Ở bước này cần lưu ý các điểm sau:

~ Nén ghi vào nhật ky công tác những việc khó khăn đối với mỗi để 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 quyết định về các giải pháp cho vấn đề

- Lên kế hoạch 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

Trang 26

ĐỒ ÁN TỐT NGHIỆP TRANG23

Gi lệu họ vi điều khiển MCSSI ;

4 Giới thiệu:

Họ vi điều khiển MCS51 đượ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ị quân sự cho đến 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 68HC11 của Motorola, nhưng vi điều khiển họ MCS51 đã được rất nhiều nhà sản xuất nổi tiếng sản xuất như Intel, Philips hay

Siemens, hoặc thường dùng trong giới sinh viên là từ nhà sản xuất Atmel Các nhà sẩn xuất này, ngoài các đặc tính cơ bản của họ MCS51, mà sẽ trình bày ngay sau, còn

n cứu thêm vào nhiễu tính năng đặc sắc khác như: giao tiếp bus I2C, tích hợp các

bộ chuyển đổi AD vào bên trong, các bộ định thời , hay các ngõ ra được điều rộng

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

có thể xuống đến 1.5V

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

5051, và #751, 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,

GVHD : NGUYÊN PHƯƠNG QUANG

Trang 27

ĐỒ ÁN TỐT NGHIỆP — TRANG24

3/ Nguồn xung clock của 8051:

Có thể xem nguồn tạo xung clock của 8051 là trái tim của nó Nhờ vào xung clock, 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 XTAL1 và XTAL2 được cung cấp nhằm nối với 1 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ạch như sau:

Hình IV-2 : Mạch cấp xung clock

Khi chọn thạch anh, ta cần chú ý đế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, bộ nhớ bên trong Vi điều khiển không được lam mớ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ẽ sai

4/ Thanh ghi bộ đếm chương trình PC và con trỗ để liệu :

8051 eó 2 thanh ghỉ 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ớ chuơng tình có thể on-chip hay gắn ngoài Thanh ghỉ 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ừ 2 thanh ghỉ 8 bit, được gọi là DPL và 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ỉ riêng rẽ, chỉ DPH và DPL mỗi chúng

mới có một địa chỉ đơn

GVHD : NGUYÊN PHƯƠNG QUANG

Trang 28

ĐỒ ÁN TỐT NGHIỆP — TRANG25 —

5/ Thanh ghỉ A và B:

8051 có tất cả 34 thanh ghỉ đa dụng, hai thanh ghỉ làm việc Hai 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 8051 32 thanh ghỉ 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,

BO cho đến B3, mỗi bank có 8 thanh ghi, từ R0 đến R7

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

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

chia số nguyên, và các thao tác trên các bit luận lý Thanh ghi A cũng được dùng trong việc truyền dữ liệu giữa 8051 và bộ nhớ ngoài Thanh ghi B đượ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

/ Các cờ và thanh ghủ từ trạng thái chương trình :

Cơ được xem là thanh ghi 1 bit, được cung cấp để lưu trữ kết quả của một lệnh trinh nhất định nào đó Các lệnh khác trong chương trình có thể kiểm tra 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

051 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 carry), OV (overflow) va P (parity) Ba cờ của người dùng là:

FO, GFO va GFI, chiing la cdc c da dung mà người dùng có thể dùng để ghỉ nhận 1 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à 2 bit đùng để chọn bank thanh ghi sử dụng trong 4 bank thanh ghỉ được cung cấp Hai cờ còn lại, GF0 và GF1 được giữ trong thanh ghi PCON

-Ý nghĩa của các bit như sau:

Bit Ký hiệu Chức năng

7 CY Cờ nhớ, được dùng trong toán học và các lệnh Boolean

6 AC Cðờnhớ phụ, dùng chotoán BCD

5 T0 Cờ người dùng

4 RSI Bitchon bank thanh ghỉ

3 RSO Bitchon bank thanh ghi

GVHD : NGUYÊN PHƯƠNG QUANG

Trang 29

0P Cờ kiểm tra 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

Một thiết bị dùng Vi điều khiển để thực hiện được các chức năng cần phải có các byte 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 hiện, 8051 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

thí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ớ chung cho chương trình hoặc dữ liệu, nhưng không cho cả hai, 8051 có cấu trúc Harward, 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 8051 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

Hinh IV-3:Ban dé Ram nội của 8051

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

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

Do vay, thanh ghi RO 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, không cẩn biết bank ndo được chọn Các bank thanh ghỉ không được chọn có thể được dùng như vùng RAM đa dụng Khi Reset, bank 0 mặc định được chọn

GVHD : NGUYEN PHUONG QUANG

Trang 30

ĐỒ ÁN TỐT NGHIỆP TRANG27

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

ra 128 bit dja chỉ hoá Một bit có địa chỉ hoá là một bit có thể được chi định bằng địa chỉ bit hoá, từ 00h đến 7Eh, hoặc theo byte tạo thành từ 8 bit bằng địa chỉ từ 20h đến 2Fh Do vay, vi dụ, bit có địa chỉ là 4Fh cũng là bit 7 của byte có địa chỉ là 29h Vùng bịt được địa chỉ hoá hữu dụng khi chương trình chỉ cần nhớ 1 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 sao ta dùng đến 1 byte khi chỉ cần 1 bì?

« Vùng trên, từ 30h đến 7Fh là vùng RAM da dung, có địa chỉ theo byte

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

©/ 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 lap trình được của AT89C51, dùng bộ nhớ chương trình ngoài Bộ nhớ chương trình ngoài

là một IC ROM được cho phép bởi tín hiệu PSEN

Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM, được cho phép ghi/đọc bằng các tín hiệu WR/RD ( chân P3.6 và P3.7),

§/ Ngăn xếp và con trỗ ngăn xếp:

'Ngănxếp là một vùng RAM nội được dùng để kết hợp vớicác mã lệnh nhất định

để lưu trữ và truy xuất lại dữliệu 1 cách nhanh chóng Con trổ ngăn xếp 8 bit, SP, đượcdùng để lưu trữ địa chỉ RAM nội được gọi là đỉnh củangăn xếp Địa chỉ được lưu trữ trong SP là vị trí trong RAMnội mà byte dữ liệu cuối cùng được lưu trữ bằng tácvụ liên quan đến ngăn xếp

Khidữ liệu được lưu vào stack, thanh ghỉ SP tăng lên 1 trướckhi lưu trữ dữ liệu vào ngăn xếp, do vậy ngăn xếp tănglên khi dữ liệu được lưu trữ Khi dữ liệu được

lấylạ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ữ

— GVHD : NGUYÊN PHƯƠNG QUANG

Trang 31

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

Một số tác vụ của 8051 mà không dùng 128 byte Ram nội có địachỉ từ 00h đến TFh được thực hiện thông qua một nhómcác thanh ghi nội đặc biệt, mỗi thanh ghí này được gọi làthanh ghỉ chức năng đặc biệt, SER, chúng nằm trong Ram nội,từ địa chỉ 80h

đến FFh,

Mộtvài SER có địa chỉ hod theo bit, tham khảo bắng dưới Đặctính này cho phép ngươi lập trình chỉ thay đổi bit nào cẳnthiết, giữ lại các bit khác không đổi nhằm không ánhhưở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đều là các SER, do

ố gắng dùng các ô nhớkhông được định nghĩa, hay trống, sẽ dẫn đến các

kếtquả không lưỡng trước được

Thanhghí PC không thuộc trong nhóm SFR, và nó không có địa chi trongRam

CácSFR có thể được chỉ định trực tiếp thông qua tên củachúng, ví dy A hay

TH, hoặc dùng địa chỉ trực tiếp, 0E0h hay8Ch

Địachỉ dùng trong Ram nội phải được bắt đầu bằng chữ số, dovậy, nếu địa chỉ E0h phải được ghi là 0E0h

GVHD : NGUYÊN PHƯƠNG QUANG

Trang 32

AGC Thanh ghi tichlay - | EOH EI E6E5 E4E3 E2 El EO

BS Thanh ghi B FOH | 57 EOES E43 £2 El EO

DPTR ` | Contrổdữliệu

DPH | Data pointer high | 83H

DPL Datapointer low i Ba ea Ne AU ACR AB

_ÁT A6, A5 A4 A3 A2 AI A0 |

A0H +L J4 AL 12 A11 AlOA9 A8 RH

99H | = =ÍxxeoxB

9F.9B 9D $C.9B.9A 99 98 scons | Dkhién néi tiếp 98H -[SMOSM1 SM2 REN TR8RB8TIRI }OoH 1

SE_8E 8D 8C8B_8A -89 88 TCON* | Timer Control gary [TFL TRI TRO TRO IEI ITI IEO ITO

Timer Mode 3 89H TGATE-C/FMI MDGATEC/TMIMBG |Ô0H ai

Bảng IV-1: Bảng các thanh ghi chức năng đặt biệt 10_— /Bộ đếm/định thời, cổng nối tiếp, ng

Trang 33

ĐỒ ÁN TỐT NGHIỆP _ TRANG30

b.Cổng nối tiếp:

Chứcnă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 2 chân P3.0 ( RxD) và P3.1 ( TxD) trên viđiều khiển họ MCS51 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, ma được chọn bằng tốc độ tràn cúaTimer 1

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

một trong 4 chế độ sau:

-Chế độ 0: Thanh ghi dịch 8 bit

-Chế độ 1: UART 8 bit

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

-Chế độ 3: UART 9 bit, tốc độ baud thay đổi được

c.Ngắt:

bésit dung bat ky interrupt ndo trong ho MCS5I, ba bước sau đâyphải được tiến

hanh:

- D&tbit EA ( enable all) trong thanh ghi IE lên 1

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

~ Lậpchương trình phục vụ ngắt tại địa chỉ vectơ tương ứng vớingắt sử dụng hay

Hình IV-4 : Minh họa BUS thông qua hình tượng xa lộ

Dựa vào tính chất thông tin tải trên Bus, người ta phân làm ba loại chính:

- Bưs đữ liệu : được sử dụng để mang dữ liệu giữa CPU, RAM và port nhập / xuất (I/O) Bộ mô phỏng này có bus dữ liệu 8 bit

-Bus địa chỉ : được sử dụng để xác định địa chỉ của bộ nhớ RAM hay port I/O được sử dụng Bộ mô phỏng này có 8 bit địa chỉ

-Bus điêu khiển : xác định RAM hay khối 1/O được truy xuất Nó cũng xác định việc đọc hay viết dữ liệu Dữ liệu được viết vào hay xuất ra trên CPU đến RAM hay cổng L/ O cũng do bus điều khiển nay

GVHD : NGUYÊN PHƯƠNG QUANG

Trang 35

ĐỒ ÁN TỐT NGHIỆP TRANG32

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

được đặc trưng như : Pascal, C, Còn chương trình ngôn ngữ máy là một chuỗi các 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ữ Assemly 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 qúa 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ữ assemly là “ADD”

Một chương trình ngôn ngữ assemly không thể thực thi bởi máy tính mà nó phải

được dịch sang mã nhị phân ngôn ngữ máy

Mớt Linker là một chương trình mà nó kết hợp các chương trình đặc trưng Relocatable

tmodul) và thiết kế một chương trình đặc trưng tuyệt đối thực thi bằng máy tính

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

(Eelacatable) hoặc tuyệt đối (Absolute) Segment Relocatable có tên, kiểu và có thể

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

được kết nối Segment khác

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

la mot “file” 6 nhiễu trường hợp cá biệt

Một chương trình Modul Asolute đơn được hòa vào toàn bộ các Segment

Absolute 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 dịch ASM5I, vi điều khiển họ MC51 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 Sandeep Dutta

2 Hoạt đông của trình bị ich

Có nhiều trình biên địch và các chương trình hỗ trợ khác cho phép ta dé ding phát triển các ứng dụng trên chip vi điều khiển AT89C51 Trình dịch hợp ngữ MCS-51 của Intel(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 địch mạnh, hoạt động tốt trên các hệ thống phát triển INTEL và họ 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 1 tập tin đối tượng và 1 tập tin ligt kê bằng ASM51

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

ASM51 Sourcefile [Assemly Control]

Tập tin nguồn (source_file) được hợp địch và các điều khiển của trình dịch hợp ngữ (assemly_controls) tạo ra hiệu qủa Trình biên dịch nhận một file nguồn và tạo ra một file đối tượng (.OB)) va tap tin ligt ké (LST)

Trang 36

ĐỒ ÁN TỐT NGHIỆP — — TRANG33 =

Vi hau hét c4c trình dịch hợp ngữ quét tập tin nguôn 2 lần trong quia trình dịch

ttập tin nguồn sang ngôn ngữ máy, chúng còn được gọi là trình dịch hợp ngữ 2 bước

Trình dịch hợp ngữ sử dụng 1 bộ đếm vị trí LC (location counter) để xác định địa chỉ của các lệnh và các nhãn Hoạt động của mỗi bước được mô tả dưới đây

v_ Bước 1 : Trong bước này, tập tin nguồn được quét từng dòng và 1 bảng ký hiệu

được tạo ra Bộ đếm Location được mặc định bằng bằng 0 hoặc được xét giá trị

ban đầu bởi chỉ thị ORD (đặt Origin) Khi tập tin đượ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ắng

ký biệu ùng giá trị hiện hành của bộ đếm Location Bảng ký hiệu được lưu lại Jước 2 : Trong bước này, các tập 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

un trên Các toán hạng được đánh giá và được đặt 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 dạng địa chỉ tuyệt đối chỉ chứ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 bảng ký 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 các mã văn ban ASCH(20H — 7EH) cho chương trình

nguồn và các byte số Hex trong chương trình mã máy

3._ Định dạng chương trình hợp ngữ

Các chương trình hợp ngữ chứa :

~ _ Các lệnh (TNSTRUCTION) 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

- _ 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 tì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 đí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 :

[Label: ]mnenomic _ [operand](,operand][ ][;comment]

Label : nhãn

Mnenomic : mã gợi nhớ

Operand : toán hạng

Comment : chú thích

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

GVHD : NGUYÊN PHƯƠNG QUA:

Trang 37

ĐỒ ÁN TỐT NGHIỆP = — TRANG34 —

Với ASM5I, 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 một dòng với trường nhãn, nhưng trường toán hạng phải ở trên cùng một dòng với trường mã gợi nhớ

3.1 Trường nhãn (Label field

'Nhãm 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ạn của lệnh rẽ nhánh (hoặc lệnh nhảy) Nhãn là 1 loại ký hiệu và được nhận dạng bằng dấu hai chấm: (kết thúc nhần) 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 dịch hợp ngữ theo sau trường nhãn Các thí

dụ về mã gợi nhớ của lệnh : ADD, MOV, DIV hoặc INC các thí dụ về mã gợi nhớ của chỉ dẫn : ORG, EQU hoặc BY

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

trưởng toán hạn theo sau trường mã gợi nhớ, trường này chứa địa chỉ hay dữ liệu mà lệnh: sẽ xử dụng Các khỉi 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ạn như : RET trong khi các thao tác khác cho phép nhiều toán hạng

như nhau cách nhau bởi dấu phẩy

3.4 Trường chú thích (comment field)

các chú thích để làm rõ chương trình được đặt trong trường chú thích ở cuối dòng lệnh

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

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, Ro — 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

3.6 Địa chỉ gián 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 thanh ghi là địa chỉ của dữ liệu Dấu @ chỉ ra địa chỉ gián tiếp và thanh ghi theo sau chỉ

là R0, R1, DPTR hoặc PC tuỳ theo lệnh cụ thể

3.7 Dữ liêu tức thời (Immediate Data):

Các lệnh sử 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ữ liệu này trở thành một phần lệnh Ký hiệu # được đặt trước các dữ liệu tức thời

3.8 Dia chi 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ớ dữ liệu trên chip (00H - 7FH) hay một địa chỉ của một thanh ghi chức năng đặc biệt SER (80H - 0FFH) 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

3.9 Dia chi Bit (Bit Address):

các lệnh truy xuất các vị trí được định địa chi Bit phải cung cấp dia chi Bit trong bd nhé

dữ liệu nội (00H - 7FH) hoặc địa chỉ Bit trong các thanh ghi SER (80H ~ 0FFH) Có 3

cách để xác định địa chỉ Bit trong 1 lệnh :

GVHD : NGUYÊN PHƯƠNG QUANG

Trang 38

ĐỒ ÁN TỐT NGHIỆP — TRANG35

~_ Địa chỉ Bit đã biết trước

-_ Sử dụng toán tử dot (.) giữa dia chi Byte va dia chi Bit

- Sit dung ky hiéu tién định nghĩa

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á lệnh nhảy và thường được cHo dưới đạng các nhãn

3.1L Các lênh nhảy và gọi tổng quát (Generic Jump and Calls):

ASM5I 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 “JUP” có thể được dùng thay cho “SJMP, AJMP, LIMP” và “CALL” có thể thay cho ACALL hay LCALL Trình địch hợp ngữ biến đổi mã gợi nhớ tổng quát thành lệnh

“thực” theo một vài quy 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,

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:

~_ Một cách tường minh

~_ Dùng ký hiệu tiền định nghĩa

~_ Dùng một biểu thức

Việc sử dụng các biểu thức cho ta một kỹ thuật mạnh để làm cho chương trình hợp

ngữ dễ đọc hơn và lính hoạt hơn Khi một biểu thức được sử dụng, trình dịch hợp

ngữ tính toán giá trị và chèn kết qủa vào trong lệnh

4.1 Các cơ số (nưmber basses)

Cơ sở cho các hằng số được chỉ ra theo các 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ố hexa “H"

Lưu ý là một digit số phải là ký tự đầu tiên cho các hằng số dạng hex để phân biệt chúng với các ký tự

4.2 Các chuỗi ký tự (Character string,

Các chuỗi có một 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ã ASSCI được biến đổi thành nhị phân tuơng đương bởi trình dịch hợp ngữ

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

4.3 Các toán tử số học (Arithmetic Operations,

+ : cộng

= :ườ

+ :nhân

1 : 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 một ký hiệu khổang trắng hoặc tab, hoặc các toán hạng phải được ở

trong hai dấu ngoặc

Trang 39

Đổ ÁN TỐT NGHIỆP — TRANG36

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 tóan hạng Các toán tử phải được cách các toán hạng bởi một khoảng trắng hoặc tab

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

4.5 Cac todn tit dac biét (Special Operations,

NE <> ‘Not equals (khong bing)

LT < :Less than (nhỏ hơn)

LE <= _ :Lessthanor equal (nhỏ hơn hoặc bằng)

GT > _ :Greater than (lớn hơn)

GE >= :Greater than or equal (lớn hơn hoặc bing)

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

48 Uutién cdc todn tit

Ư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:

Trang 40

ĐỒ ÁN TỐT NGHIỆP — TRANG37

AND

OR XOR

Khi các toán tử có cùng ưu tiên được sử dụng , chúng được đánh giá theo thứ tự từ

trái sang phải

5 Các định hướng của trình biên dich

Các chỉ dẫn là các lệnh đối với trình biên dịch, không được hợp dịch và không phải là các lệnh của hợp ngữ để được thực thi bởi bộ vi xử lý Các chỉ dẫn được đặt trong trường mã gợi nhớ của chương trình Ngoài các ngoại lệ là DB và DW, các chỉ

dẫn không ảnh hưởng trực tiếp lên nội dung của bộ nhớ

ASMSI cung cấp cho ta 1 vài chỉ dẫn sau:

5.1 Diễu khiển trạng thái

5.1.1 ORG (Set Origin) Dạng của chỉ dẫn ORG như sau :

ORG Expression

Expression : biểu thức

Chi din ORG thay đổi nội dung bộ đếm để thiết lập 1 gốc mới của chương trình

cho các phát biểu sau Nhãn không được phép sử dụng

Chỉ dẫn ORG có thể sử dụng trong bất kỳ loại Segment nào Nếu segment hiện hành là tuyệt đối, giá trị sẽ là địa chỉ tuyệt đối trong segment hiệtn hành Nếu

segment tái định vị được tích cực, giá trị của biểu thức được xử lý như là một Offset

tir dia chi nễn của thể hiện hiện thành Segment

3.1.2 END

Dạng của chỉ dẫn END : END

END nên là phát biểu cuối cùng của chương trình nguồn Nhãn không được phép sử dụng và không có gì theo sau phát biểu END được xử lý bởi trình biên dịch

5.1.3 USING

Dạng chỉ dẫn của using : USING Expression

Chi dan này thông báo dãy thanh ghỉ tích cực hiện hành Sau USTNG, các ký tự tiền định từ AR0 đến AR7 được sử dụng thay cho các ký hiệu thanh ghi từ R0 đến R7 và được biến đổi thành địa chỉ trực tiếp tương ứng trong dãy thanh ghỉ tích cực Lưu ý là chỉ dẫn USING thực tế không chuyển đổi các dãy thanh ghỉ mà chỉ thông báo về đãy thanh ghi tích cực

5.2 Định nghĩa ký hiệu

Các chỉ dẫn định nghĩa ký hiệu tạo ra các ký hiệu biểu diễn các segment, các thanh ghi, các số và các địa chỉ Các chí dẫn này không được có nhãn đứng trước Các ký hiệu được định nghĩa bằng các chỉ dẫn định nghĩa ký hiệu phải không được định nghĩa trước và không được định nghĩa sau đó bằng bất cứ phương tiện nào Chỉ dẫn SET là ngoại lệ duy nhất

GVHD : NGUYEN PHUONG QUANG

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

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

TÀI LIỆU LIÊN QUAN

w