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,
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Ử ỨNG DỤNG
TRONG THUC HANH VI DIEU KHIEN
VO! PHAN MEM MO PHONG SIM 51
GVHD: NGUYEN PHUO'NG QUANG SVTH: DUONG HOANG HIEU
SKLOO
TP H6 Chi Minh, thang 03/2002
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN - ĐIỆN TỬ
Trang 3BO GIÁO DUC VA DAO TAO 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
1 Ten dé ai BIỂN SOẠN SÁCH ĐIỆN TỪ ỨNG ĐỤNG TRONG THỰC HÀNH
VI ĐIỆU KHIỂN VỚI PHẨN MÊM MÔ PHONG SIM ~ 51
Chung 5: Teoh biên dịch ASM5I
Chuving 6 : Giới thiệu chương trình mô phỏng SIMfS1
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 thiệu các phần mễm mô phỏng khác „
2 San thẩm „61 dea sath iin IM Meh ki dais dang, Mult mb+„ + tãn( dváu, Power Penl gẤt hủ Ân
GVHD :Nguyễn Phương Quang Ngày giao nhiệm vu: 04/10/2002
Ngày hoàn thành: 22/02/2003
Thông qua bộ môn
TP.Hồ Chí Minh, Ngày tháng năm 2003
Trang 4GVHD_ : Nguyễn Phương Quang
Tén dé tai: BIEN SOAN SACH [ ĐIỆN TỬ ỨNG DỤNG TRONG THUC
HÀNH VI ĐIỀU KHIỂN VỚI PHAN MEM MO PHONG SIM - 51 Lời nhân xét của giáo viên hương dã
"1 "
ini an
KT.GVH D TP.Hồ Chí Minh, Ngày tháng năm 2003
Giáo viên hướng dẫn
Trang 5Tên để tài : BIÊN SOẠN SÁCH ĐIỆN TỬ ỨNG DỤNG TRONG THỰC,
TP.Hồ Chí Minh, Ngày tháng năm 2003
Giáo viên phản biện
Trang 6LỜI NÓI ĐẦU
Ngay 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
một 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 trình *Công nghiệp bóa, Hiện đại hóa” đất nước là nhu cầu cấp thiết và nông bỏng Do đồ nhằm thực hiện mục tiêu trên thì giáo dục eó một trọng trách to lớn là
đão tạo nhân lực, bổi đường nhân tài, Trường Đại học Sự phạm Kỹ thuật là một trong
những nai đão tạo đội ngủ ky sự giáo dục vững về chuyên món, giỏi về sư phạm Trong
NHẬT thời giản học tại Trường Đại học Su phạm Kỹ thuật, món học chuyên để vi điều khiển
Wa mon chuyên ngành được người thực biện để tai quan tam Mon hoe nay trang bi cho hoc Moh, 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 (be và tp) và Ahữ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 trình điển khiển ,
Nhung 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
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 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 TỬ ỨNG DỤNG 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 N6 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 quí Thầy 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 7LỜI CÁM ƠN
>> GS
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êh 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 nay
Nhóm thực hiện dé tai 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é ban bè còng khóa đã đóng góp những ý kiến quí báu và là những người
em thực hiện để tài, hoàn thành
hiền đồng viên tính thấn giúp nhóm chủ
nhiệm vụ được giáo,
Nhóm sinh viên thực hiện
Dương Hoàng Hiếu
Tran Thanh Dương
Trang 8Lời cắm tạ
Mục lục Liệt kê bằng Liệt kê hình NỘI DỤNG
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 MCS51
4.1 Giới thiệu họ vi điều khiển MCSS1
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 96.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 SIMS]
8.1.1 Hướng dẫn khởi động SIM5I 8.1.2 Các thao tác cơ bản trên SIM5I
1 TS Control Emulator 8051 1.1 Màn hình giao diện chính 1.2 Cai dat chung tinh TS Control Emulator 8051
1.3 Hướng dẫn sử dụng chương trình TS Control 8051
2 SMS32V23 2.1 Giới thiệu màn hình giao diện chính 2.2 Cài đặt chương trình
Kết luận
60 T8
Trang 10LIỆT KE BANG
Hãng 4 Bang các loại vì điêu khiển họ MCSS5I
Ting a Chức nàng của các chắn aaa
Rang 4 - Các thanh ghí chức nang dac b
Tom tat thank phi chức nâng SCON
Các chế độ của port nối tiếp
Trang 11Mach cấp xung clock
Báng đồ Ram nội của 8051 Hợp dịch một chương trình nguồn Màn hình giao diện SIM5I
Quá trình mô phỏng
Các ký hiệu thường dùng trong lập trình cấu trúc
Màn hình SIM51 mới khởi động
Màn hình SIM51 khởi động xong
Hướng dẫn khởi động chương trình SIM51
Màn hình giao diện chính TS Control 8051
Màn hình chọn đường dẫn để cài dat TS Control 8051 Màn hình chọn tập tin cài đặt
họ MCS5I
.149
„ 150 lỗ]
Trang 12
Chương I
DAN NHAP
11 ĐẶT VẤN ĐỂ
Cùng với sự phát triển của khoa học công nghệ, các thiết bị điện tử đã đang và sẽ
được ứng dụng ngày càng rộng rãi, nó sẽ mang lại hiệu quả trong hầu hết các lĩnh vực 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), vi mạch lập trình (vi điều khiển và vi xử l0, 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ó khăn 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
kiện ho pe va pp, do tinh nang gọn nhẹ, đa 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 ATH9C5I
Song xong với sự phát triển mạnh mẽ và khá náng ứng dụng của các vi mạch tích
hap ÑC), vì mạch lập lak (pie va pp) thi vấn để tim biếu, khảo sát, học tập về vị đ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 là thích thú do tính khả thi 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ó khan là khẳng thể thấy được những hoạt động bên wong ví điêu khiển dẫn đến trừu tang 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 ví đ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 TU UNG DUNG TRONG THUC HANH VI
ĐIỀU KHIỂN VỚI PHẦN MỀM 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 dé 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
Sử dụng phần mềm mô phỏng cho phép quan sát và thay đổi từng bit trog RAM
nội và RAM ngoại của hoạt động vi điều khiển
Khi sử dụng phần mém mô phỏng cho phép quan sát cùng lúc nhiều ô nhớ và
thanh ghi.
Trang 13Luận văn tốt nghiệp GVHD: Nguyễn Phương Quang _
1.3 GIỚI HẠN VẤN ĐỀ
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 hang INTEL, ngoài ra còn có các vi điều khiển cũng
thuộc họ MC§- 51 nhưng được phát 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
>_ Họ 68COS cua hãng Motorola
> Ho TS62 cla hing SGA — Thomson
> He H8 eda hang Hitachi
® Họ PIC của hang Microchip
Do những người thực hiện để tải được trang bị kiến thức về vi diéu khién ho MCS
— §I qua TŠ nết học môn chuyên để vị điều khiển, nhụ câu học tập, tìm hiểu về vi điều
khiển, do xinh Wen trong trường cùng được trang bị kiến thức vì điều khiển họ MCS —
51 và tiên thị nường vũng phổ biến IC họ MCS ~ 51, Nên người thực hiện để tài chọn
5] của hãng INTE Mae đù abo nghiện cứu đã cố gắng hết sức
mô pháng ví điểu khiển họ MCS
ựng do thời gian có hạn và lần
đấu tiện thực hiện để tài nên nhóm chỉ dừng lại ở mức đó đơn giản là:
>_ Nghiên cứu về cách thức sử dụng chương trình mm phỏng
>_ Hướng dẫn 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 và đưa ra một số bài tập cơ
bản và nâng cao để minh họa
>_ 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ư: SIMS1, UMPS, 535 TS,
T§ 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:
êu khiến
Hoạt động xuất nhập qua port
Hoạt động giao tiếp bộ nhớ
Trang 14Luậ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 thong 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
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
s Trình biên dịch ASM5I
+ Giới thiệu chương trình mô phỏng SIMS1
+ Nhập mòn Thiết kế lập tình,
+ Hướng dẫn sứ dụng chương trình mô phỏng và lập trình cơ bản
Lap tinh nang cao
+ Bằng tra cứu tập lệnh
lời giái vác bài Lập cúng cổ
ĐỐI TƯỢNG NGHIÊN CỨU
> Phần mềm mô phỏng vi điều khiển SIM 51
+ _ Trình dịch hợp ngữ ASMS1
> Vi điều khiển AT89C5]
> Cúc phẩn mễểm tạo web và hỗ trợ tạo web nhức Microsoft frontpage,
Microsoft powerpoint, Fash
3.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 5]; trình dịch hợp ngữ ASMSI và
cdc phan mém tao web nhu 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
họ 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
Luận văn tốt nghiệp khóa trước
Sách chuyên ngành điện tử, công nghệ thông tin
Đĩa mềm, đĩa CD, đĩa cứng
Trang 16Luận văn tốt nghiệp GVHD : Nguyén Phuong Quang
2.3.3 Thdi gian nghién cifu
© Tuan 1 (26/12/2002 đến 03/01/2003) thu thập tài liệu, soạn để cương
e Tuần 2 (04/01/2003 đến 11/01/2003) phân tích tổng hợp tài liệu
e 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 trình Thiết kế trang web
e Tuần 8 (18/02/2003 đến 22/02/2003) hoàn chỉnh và in ấn
SVTH : Dương Hoàng Hiếu Trang 5
Trang 17> ` Chương 3
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.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 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ý
nô phông
` 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 tất phức tạp với nhiều biến và nhiều thánh phần đối tác với nhau
bệ giữa các biến số cơ bản là phí tuyến
s* 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 đó
s* 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
s* Đ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
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 18Luậ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
sề Mô hình trực quản ( 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
Vi dụ : Mô hình đỗ thị, mô hình chớp, m6 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 ): La 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 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 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 Phương 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 CÁC BƯỚC TIẾN HÀNH MÔ HÌNH MÔ PHỎNG
3.3.1 Xác định rõ đặc điểm vấn để
s Đây là 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ệ
xây dựng bảng danh xá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 mở hướng suy nghĩ chứ không nén đi vào một vấn để cụ
the
Hong danh xách các câu hói phải phán chia thánh 2 loại ?
v Loại cầu hỏi bất buộc mô hình phải trả lới
v_ Loại cầu hỏi mong muốn mô hình trả lời
S\N hin càng chỉ tiết thì càng phức tap, vì váy lúc đó doi 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
+ Không 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:
+“ 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ử
v⁄_ 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 để 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 Phương Quang
+ Sau khi xem xét các thiết bị, 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
+ Ap dung 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
3.3.3 Xác định rõ mục đích và mục tiêu của của dự án
+ 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 bạn đ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
Mặc dù đây là bước thích hợp cần boàn tất ưước khi izm dự án mô phỏng chuyên
bị thúc đẩy bởi vấn để thực
ng thì phải chấc chắn rằng thời cho phép mình lam như thế nào
nglnệp, nhiều người thấy nó là 1 điều dễ thực hiện néut
Về cần piải quyết, Nếu là người mới bất dau lam m6
pin thực hiện được ấn định trong kế hoạch của dự
4.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ì đù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 hành từ khi bắt đầu
dự án
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:
> Ban muén sit dung 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
SVTH : Dương Hoàng Hiếu Trang 9
Trang 21Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang
'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à độ 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 phan mềm mô phỏng giải quyết các vấn để hẹp đủ hiểu
> Tim kiểm những chỉ dẫn mà nó có thể cho biết những khả năng và những hạn chế của phần mềm
vvvvy
43/8 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à vân thiết trong mô hình - mô phỏng là rất
quần trọng, VÌ điều này về ả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 gian thô phóng
A.49 Triển khai cav giá định về vấn để
Có miệt số lý do cho rằng sự thành công hoá 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 cạnh 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 rạnh giới quá nhỏ thì những câu bồi đát ra cho m6 phéng ¢6 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ủu 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 ghi vào nhật ký công tác những việc khó khăn đối với những để mục
v_ Việc bắt đầu mô phỏng sẽ thấy lạc quan hon, tiến triển nhanh chống hơn và duy trì sự thích thú trong mô phỏng
v 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 22Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang,
Y 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 mang thì có thể dẫn đến việc hình thành
nhanh chống va 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
Trang 23
Chương 4
CẤU TRÚC VA NGON NGU
CUA HO VI DIEU KHIỂN MCS51
4.1 GIỚI THIỆU HỌ VI DIEU KHIỂN MCS-51
Ho vi đ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 GRHCLL eda MOTOROLA, nhung vi điều khién ho MCS-51 đã được rất nhiều nhà sắn xuất nổi tiếng sắn xuất như: INTBI„ PHILIPS bay SEMENS, hoặc thường dùng trong giổi sinh viên là từ nhà sản xuất ATMPL Các nhà sản xuất này
các đất tính cớ bản của họ MCSS5I, mã sẽ trình bày ngay sau, cồn nghiên cứu thêm vào nhiều tình năng đái sắc khúc như: giáo tiếp lus 12C, tích hợp các bộ chuyển
day AD vin ban tong, ede bQ dink thai watchdog, hay các ngõ ra được điều rộng
tp cho các ví điều khiển này có thể đến 40MHZ, nguồn cấp áp
« UART song công
© 05 ngudn ngắt với 02 mức ưu tiên
«_ 128kb RAM trên chỉp
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, 8031và8751 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 vỉ đ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 ho
MCS -51 của INTEL
Trang 24GVHD :Nguyễn Phương Quang
Luận văn tốt nghiệp
TSSOWN
UQIYY Ngip
'diqd Ud-0
SNON
| SONH
| HVIE0
991d udvv
'diqd td:0y
2014
ta
‘digg udor
3NON
SONH
| HVZE08
991d tdt
‘didd ud-ov
2014 0d
‘aidd ud-ov
‘did ud-ov
'didd td-0
'diGd td-0v
‘ddd dor
SNON
| SONHO
vaIsoos
9014 0a-ry
14Iqd 0-0
NOHd3 9x6
‘add ud-or
91/ZL-66
9922 v2z9*:
W'9iXE
NVH 8X9gZ
‘did ud-or
Woda ex»ze
/8I8uL
Arowayy ieuast0|
Trang 25Luậ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 :
Vi du : Tên linh kiện là AN0CSIBH
+ Ký tự thứ nhất từ bên trái qua: Nhiệt độ chịu đựng của linh kiện
> TL: -40°C dén +80°C
> A: -40°C dén + 125°C
* Ký tư thứ hai từ bên trái qua: Loại vỏ
> P : Loại dịp, nhựa, 40 chân
2 Ký tự thứ tư từ bên trái qua: Bộ nhớ chương trình
>0: Có ROM hay không có ROM
42 CẤU TRÚC PHẪN CỨNG CỦA HỌ VI ĐIỀU KHIỂN MCS 51
4.3.1 Sơ đồ chân ~ý nghĩa các chân
V¡ đ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,
1+8 Port1_: Chuyên cho việc xuất nhập
“ Reset : Dat lai giá trị ban đầu cho các thanh ghi khi nó ở mức cao
9 trong ít nhất 2 chu kỳ máy
10° RXD : Nhận data từ port nối tiếp
IN —— | PND : Truyén data qua port nối tiep
12"
ee _ INTO Ng® vio etia ngAt ngoaiO _—_
Ww |ivn Ngõ vào của ngất ngoài |
HH CÚ — r Ngô vào cho mer /Counter0-
jas YL: Ngd vao cho timer /counter)
16 _WÑ _ : Tạo xung cho việc ghi vào 5ý nhớ dữ liệu ngoài
| 17 _ RD Tao xung cho việc đọc từ bộ nhớ đỡ liệu ngoài
) XI,X2 : Nối với thạch anh và tụ dùng để ổ định dao động nội của
21428 Pon2 : Có hai chức năng (xuất nhập đơn thuần hay phan 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 BPROM để đọ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 data, 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ớ
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 và địa chỉ)
40 Vee : Chân cấp nguồn +5v cho AT89C51
Bảng 4— 2 : Chức năng của các chân
Trang 27Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang 4.22 Sơ đồ khối
Sơ đồ khối chung cho họ vi điều khiển họ MCS-51 như hình sau :
Hình 4~ 2: Sơ đồ khối vi điều khiển ho MCS-51
——————————————————————————
Trang 28Luậ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 tim của nó Nhờ vào xung, clock 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 XTAL1 và 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:
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
AT§9C51 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 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ỉ đơn
Trang 29
đến B3, mỗi bank có 8 thanh ghi, từ R0 đến R7
Thanh ghi A, hay Accumulator 1a thanh ghi da nang 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ố
nguyên, và các thao tác trên các bịt luận lý Thanh ghi A cũng được dùng trong việc
truyền dữ liệu giữa 8951 và bộ nhớ ngoài Thanh ghỉ 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 đàng như một thành ghỉ bình thường, nghĩa là được dùng để lưu trữ đữ liệu
4.2.6 Các cờ thanh phí từ trạng thái chương trình
hai chương trình được xem Ja thank ghi | bit, được cũng cấp để
hae wit ket qua lệnh chương trình nh:
chưng Hình cả thể kiểm tra trạng thái CỦa CỜ vá đưa
kiểm ta due | Nim lam cho các cỡ được định diz
được nhóm lại thành một thanh ghỉ gọi là thanh ghi từ
thành phí điều khiến nguồn PCON
NOẠI có 4 cỡ toán học dùng đáp ứng uực tiếp đến kết quả của các tác vụ toán học, và 3 cờ du 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à :
ry, AC: Auxiliary, OV: Overflow va P: Parity Bá cỡ của người dùng là: FO, GFO
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
Ý nghĩa của các bit như sau:
Bit ký hiệu chức năng
BOOLEAN
6 AC Cờ nhớ phụ,dùng cho toán BCD
5 FO Cờ người dùng
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 bit có thể truy xuất trực tiếp bằng các địa chi bit hod: PSW.0 đến PSW.7
4.2.7 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 byfe mã lệnh, thường chứa trong ROM và bộ nhớ RAM dùng để chứa dữ liệu sản sinh
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ớt các ví điểu khiển 66 cau ide Yon Neuman, ma 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
Harwanl, là câu truy mà chỉ dùng chung một địa chỉ, nhưng khác bộ nhớ, cho chương trình và dữ hiệu Các mạch điện bên trong sẽ cho phép #251 truy xuất đúng bộ nhớ cần
thiết dựa vào trang thái hoạt động của chương trình
7FH Bank
OTH Stack pointer
00 oO J
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 dia chi RAM nội của nó Do vậy, thanh ghỉ 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 dia chi RAM nội là 18h, không cần biết bank
nào được chọn Hai bit R§ và RS1 của từ trạng thái chương trình PSW dùng xác
Trang 31Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang
định bank thanh ghi nào hiện thời chương trình đang 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 bit địa chỉ hoá Một bit cổ địa chỉ hoá là một bit có thể được chỉ bằng địa chi bit hod, từ 00h đến 7Eh, hoặc theo byte tạo thành từ 8 bịt bằng địa chi t 20h đến 2Fh Do vậy, vi dụ : BiL có địa chỉ là 4Eh cũng là bịt 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ớ 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 byte khi chỉ cần một bit?
s* Vùng trên, từ 30h đến 7h là vùng RAM đa dụng, có địa chỉ theo byte
Câu búc vũng nhờ dữ liệu đã được d€ cập ở phân trên Tướng ứng với ving nay, có
vang bộ nh chưng trình nần ong RÓM nội có địa chỉ tự 0/00h đến 0FFTh, nghĩa là
vưdt qua ức chưa ROM nội, 8951 tự dong tim byte lenh wong bó nhớ chương trình
ngoại Chúng tà cũng có thể cho 8951 truy xuất bộ nữ chương trình hoàn toàn dùng bộ
nhớ bên ngoài bằng cách đặc chân EA, hay chân 31 xuống mức 0 hay đất Thanh ghi
PC không quản 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 nzöái, hay cả hai
c 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
Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM, được cho phép ghi/doc bằng các tín 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à vị trí trong RAM nơi mà 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ừ staok, và sau đó SP giảm 1 để trổ đến byte kế tiếp của dữ liệu được lưu trữ
Trang 32Luậ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 ghi vào stack sẽ đè lên và làm mất dữ liệu trong RAM
4.2.9 Các thanh ghi 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 7Fh dude thyc 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 ghỉ này được gọi
là thanh ghi chức năng đặc biệt SFR, ching nằm trong RAM nội, từ địa chỉ80h đến FFh
người lập trình chí thay đổi bít nào cần thiết, giữ lại các bit 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á vung RAM nội từ #0h đến FFh điều là các SER, do Vậy việc cô E dàng các ô nhớ không được định nghĩa, hay trống, sẽ dẫn đến các kết b y Ế-
quả không
Thanh phy PC không thuộc nhóm SER, và nó không có địa chỉ trong RAM nội Các SER có thể được chỉ dịnh tực tiếp thông qua tén eda chúng, ví dụ A hay THO, hoặc dùng địa chỉ ưực tiếp OE0h hày SCh
Địa chỉ dùng trong RAM nội phải được bất ở:
I:0h phải đưyệc phí là 0EOh
Trang 33Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang
Table _89C51 Special Function Registers
AUXRE- Amiay een [| —[L— [= [TL T|L-T[- TL |«««s
DPTR 0PH - | dam Pointer High Dats Pointer (2 bytes) on oak
TIM NHA K we wie CAH 004
recon? [tmarzConmel con [Hee [eee RO Tee TERE oon
Talops [mmarzMedeCond | eủ | — | ~ | - 1 ESin E1
Tuoo | Timer Meda wn [ome or [mm | wo [ome [or [mi] wo | oa
Bang 4 — 3: Cac thanh ghi chifc ning dc biét
4.2.10 Sd luge 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 34Luậ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 bịt, đượ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:
e_ Chế độ0: thanh ghi dịch 8 bit
« Chế độ I:UART 8 bít
«— Chế độ 2: UART 9 bit, tốc độ baud cố định
«` Chế độ 3:ART 9 bit, tốc độ baud thay đổi được
©— Xác định việc sứ dụng ngất nào bằng cách set bịt tướng ứng lên Ì
© Lập chưng tì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ụ nga
4.3 NGON NGU CUA HỌ 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 đùng nhờ vào phần
mềm hay còn gọi là chương trình Các vi đ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 đữ 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
Trang 35xẻ Chương 5
TRÌNH BIÊN DỊCH ASM51
5.1 GIỚI THIỆU
Ngôn ngữ Assembly là giữa ngôn ngữ máy và ngôn ngữ cấp cao Ngôn ngữ cấp
cao được dặ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ữ 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 “1011001 1" trong khi ngôn ngữ Assembly là “ADD” Một chướng trình ngôn ngữ Assembly không thể thực thị 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 tình mà nó kết hợp các chương trình đặc trưng
Relocatahle (Module) và thiết kế một chương trình đác trưng tuyệt đối thực thi bằng
may tink:
Sepuent là một phẩn của bộ nhớ mã hoặc dữ liệu, nó có thể tái định vị được
(teloeatable) Hoặc tuyệt đổi (Absolute), Segment Relzcatable có tên, kiểu và có thể
đúc kết nội với segment cục bộ khác, Segment Absolute khóng có lên và không thể được kết nội seeuttent khác,
Module chứa 1 hoặc nhiễu segment hay các segment cục bộ, Một module có thể
A mot “tile” ở 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 segmenL
bsolute va 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 diều khiển họ MCS51 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 SDSC của nhóm Sandeep 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 dễ dàng phát trển các ứng dụng trên chip vi điều khiển AT9C51 Trình dich hợp ngữ họ 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 dich 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 tì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
tin liệt kê bằng ASM51
ASM5I được gọi từ dấu nhắc hệ thống bởi lệnh:
ASM51 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 36Luận văn tốt nghiệp —— GVHD : Nguyễn Phương Quang
file đối tượng (.OBI ) và tập tin liệt kê (.LST)
PROGRAM.OBJ
Hình 5 - 1: Hợp dịch một chương trình nguồn
Vì hầu hết các tình dịch hợp ngữ quét tập un nguồn 2 lần trong quá trình dịch tập
In nguồn súng 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 một bộ đếm vị tí LC (Locauon Counter) để xác định địa chỉ của
các lệnh và các nhân Hoạt động của mỗi bude duge mé 12 dudi day
Bước 1: Trong bước này, tập tỉn nguôn được quét wag dong va mot bang ky higu due tao ta, BO dém Location được mặc định bằng 0 hoát được set giá trị ban đầu bởi vhi thị ORG (đặt Origin) Khi tập tin được quét, bộ đếm Location dude tang 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 dược định nghĩa Các chỉ dẫn dự trữ bộ nhớ DS 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, các tập tin đối tượng và tập in 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
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ỉ 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 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 bản 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 CHƯƠNG TRÌNH HỢP NGỮ
Các chương trình hợp ngữ chứa:
+ Các lệnh (Instruction) 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 (Commen)) 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
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:
(Label:] mnemonic [operand][,operand|Í ][;comment]
Label ; nhần
Mnemonic : ma gyi abd
Operand : joan hang,
Comment : chú thích
Chí có tinting md yor hd 13 bat bude
Với ASMAI, tườ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 L dòng với tường nhãn, nhưng trưởng toán hạng phải ở trên
củng Lông với trường tHã gợi nhớ,
Nhân biểu thị dịa chỉ của lệnh (hoặc dữ liệu) theo sau Khí 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)
§.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 ví dụ về mã gợi nhớ của lệnh là: ADD, MOV, DIV, DEC HOẶC 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 hang (Operand field)
"Trường toán hạng theo sau trường gợi nhớ, trường này chứa địa chỉ hay dữ 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 dồng lệnh Các chú thích phải được bắt đầu bằng dấu chấm phẩy(;)
Trang 38Luậ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 Địa chỉ gián tiếp (Indireet Address)
của thanh ghi là địa chỉ của dữ liệu, dấu @ chỉ ra địa chỉ gián tiếp mà thanh ghỉ theo
sau địa chỉ là R0 R1, DPTR hoặc PC tuỳ vào lệnh cụ thể
$.3.7 Dữ liệu tức thời ( Lmmediate Data)
+ kiểu định địa chỉ tức thới cúng cấp dữ liệu trong trường toán
ảnh T phần lệnh Ký hiệu # được đát trước dữ liệu tức thời
Cúc lệnh sử dụn
hang và dự liệu này
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
thành phí
Chức nàng đặc biệt SFR (80H + 0EFH) 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 øhi chức nang đặc biệt SFR
§,3.9 Địa chỉ bit ( Bit Address )
Các lệnh truy xuất các vị trí được định địa chỉ bít phải cung cấp dia chi bit trong
bộ nhớ dữ liệu nội (00H + 7FH) hoặc địa chỉ bit trong các thanh ghi SFR (80H + 0FFH)
Có 3 cách để xác định địa chỉ bịt trong 1 lệnh:
+ Địa chỉ bit đã biết trước
„ _ Sử 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 nhay và thường được
cho dưới dạng các nhãn
5.3.11 Các lệnh nhảy và goi téng quat (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 “JMP” có thể được dùng thay cho “SIMP, AJMP, LIMP” và “CALL” có thể thay cho ACALL hay LCALL Tủnh dịch hợp ngữ biến đổi mã gợi nhớ tổng quát thành lệnh
Trang 39Luận văn tốt nghiệp GVHD : Nguyén Phuong 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:
„_ 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 1 kỹ thuật mạnh để làm cho chương trình hợp
ngữ dễ đọc hơn và linh hoạt hơn Khi 1 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 quả vào trong lệnh
8.4.1 Cac co sé (Number Basses)
Cit ad cho các hằng xố được chỉ ra theo cách thông dung, Các hằng số phẩi được theo hởi các xô nhí phán *B”, theo sau số Octal “O” huge “Q”, theo sau số thập phân
*Ðh hoặc không có gí theo số hẹx TH”
Lưu ý là 1 dịyu xố phải là ký tự đầu tiên cho các hang số dạng số hex để phân
Inet chung vai eae Ký tự
5.4.2 Cac chudi ky ty (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ã ASSCII đượ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
/ : 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 hạng 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 40Luận văn tốt nghiệp E, GVHD : Nguyễn Phương Quang, —
5.4.5 Các toán tử dac 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 sai (0000h) hoặc đúng (FEEEH), các toán tử quan hệ là:
EQ = Equals (bing)
NE <>: NOT equals (khong bằng)
Ive Less than (nhd hơn)
ats Greater than (1p hon)
Gib >= Greater than or equal (lớn hơn hoặc báng)
Vú mỗi mật toàn tử có thể sử dụng 1 ưong 2 dạng ký hiệu néu trên
&.47 Cúc thị dụ cho biểu thức
Đười đây là các thí dụ cho biểu thức và các kết quả:
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 :