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 1BỘ 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 2BỘ 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 3BỘ 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 9Nhậ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 105.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 12Mà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 136 AN TỐT NGHIỆP
PHẨNB :
NỘI DUNG
Trang 15giao 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 18Nhó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 21Hì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 23TRANG20 —
ĐỒ Á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 290P 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 32AGC 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