Nội dung các phân thuyết mình: Chương 3 : Lý thuyết tổng quan về mô hình mô phông Chương 4 : Cấu trúc và ngôn ngữ của họ vi điều khiển MCS51 Chương 5 : Trình biên dịch ASM51 Chương 6
Trang 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
THỰC HÀNH VI ĐIÊU KHIÊN VỚI PHÀN MÈM MÔ PHỎNG
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRUONG DAI HQC SU PHAM KY THUAT
KHOA ĐIỆN - ĐIỆN TỬ
po*xeœ
LUẬN VĂN TỐT NGHIỆP
ĐỀ TÀI:
BIẾN SOẠN SÁCH ĐIỆN TỬ _
UNG DUNG TRONG THỰC HÀNH VI ĐIỀU KHIỂN
VỚI PHAN MEM MO PHONG SIM 51
Tp Hé Chi Minh, thang 02 năm 2003
SKLO01DT9
Trang 3BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT ĐỘ LẬP- TỰ DO - HẠNH PHÚC
TP HỖ CHÍ MINH f W2
= = -000 - = = -000 -
KHOA DIEN
BO MON DIEN - DIEN TU
NHIỆM VỤ LUẬN VAN TỐT NGHIỆP
Họ và tên : Trần Thanh Đương
MSSV 99221542
Lớp N99-KDĐ
Kỹ thuật Điện - Điện tử pen 621.91
BIEN SOẠN SÁCH DIED
VI ĐIỀU KHIỂN VỚI PHÂN MÉM MÔ PHÔNG SIM - 51
Nội dung các phân thuyết mình:
Chương 3 : Lý thuyết tổng quan về mô hình mô phông
Chương 4 : Cấu trúc và ngôn ngữ của họ vi điều khiển MCS51
Chương 5 : Trình biên dịch ASM51
Chương 6 : Giới thiệu chương trình mô phỏng SIM5I
Chương 7 : Nhập môn Thiết kế lập trình
Chương 8 : Hướng dẫn sử dụng chương trình mô phỏng và các bài tập
Chương 9 : Lập trình nâng cao
Phụ luc A: Tra cứu tập lệnh
Phụ lục B: Lời giải các bài tập
Phụ lục C; Giới nina hệ sen mô phỏng khác
3% Ÿdh phẩm ; 0 a y is, Malt, moa
3s pet ets Bhat? test ưng  hen
GVHD :Nguyén Phuong Quang
Ngay giao nhiém vu: 04/10/2002 Ngay hoan thanh: — 22/02/2003
“Thông qua bộ môn
TP.Hồ Chí Minh, Ngày tháng năm 2003
GVHD SVTH chủ nhiệm bộ môn
Que
Nguyễn Phương Quang Trần Thanh Dương
Trang 4GVIID : Nguyễn Phương Quang
“Tên để tài : Biên soạn sách điện tử ứng dụng trong thực hành vi điều khiển với
phần mềm mô phỏng sim ~ 51
Minh, Ngày tháng Năm 2003
c Giáo viên hướng dẫn
Trang 5Tén dé tai: Bién sogn sách điện tử ứng dụng trong thực hành vi điều khiển với
phần mềm mô phông sim — 51
Lời nhận xét của giáo viên phần biện:
Giáo viên phần biên
Trang 6LỜI NÓI ĐẦU
Ngày nay, trong sự trong sự phát triển nhanh chóng của khoa học kỹ thuật Đặc biệt công nghệ kỹ thuật điện tử phát triển rất mạnh mẽ và đạt được những thành tựa to lớn Nó không chỉ tạo ra các chuyển biến đáng kinh ngạc trong lĩnh vực điện tử mà còn trở thành
mot phương tiện kỹ thuật mũi nhọn thúc đẩy sự phát triển tiến bộ của các ngành khác Từ
khi xuất hiện hệ thống tự động điều khiển hay hệ thống sản xuất tự động thì năng suất
lao động tăng cao, giẩm thiểu sức lao động chân tay, đáp ứng mọi yêu câu sẵn xuất
Việc nấm bắt khoa học kỹ thuật, củng cố xây dựng và phát triển nguồn nhân lực
phục vụ cho tiện tình "Công nghiệp hóa, Hiện đại hóa” đất nước là nhu cầu cấp thiết và
đâu tạo nhân lực, bối đưỡng nhân tai Trưởng Đại học Sư phạm Kỹ thuật là một trong
những nơi đảo tạo đội ngũ kỹ sư giáo dục vững vẻ chuyên môn, giỏi về sư phạm Trong
suốt thời gian học tại Trưởng Đại học Sư phạm Kỹ thuật, môn học chuyên để vi điều khiển
là niản chuyên ngành được người thực hiện để tài quan tâm Môn học này trang bị cho học sinh, sinh viên những kiến thức kỹ náng cơ bản về các vi mạch lập trình (Ic và tp) và những ứng dụng vào thực tế Sau khi học sinh viên có khả năng vận dụng vào những yêu cầu sản xuất bằng các chương tình điền khiển
Nhưng trong khi học sinh viên gặp nhiều khó khăn chung quanh việc sử dụng tập lệnh, cấu trúc phần cứng
Tà một giáo viên kỹ thuật tương lai, những người thực hiện đề tài luôn trăn trở làm
thế nào để truyền đạt kiến thức môn học vi điều khiển đến người học cũng như để cho người học tiếp cận với môn học vi điểu khiển một cách dễ dàng và có hiệu quả hơn Vì
vậy người thực hiện chọn để tài “BIÊN SOẠN SÁCH ĐIỆN TU UNG DUNG TRONG THUC HANH VI ĐIỀU KHIỂN VỚI PHẦN MỀM MÔ PHỒNG SIM 51” Sách điện tử
được người thực hiện trình bày dưới dạng trang web sẽ làm cho người học tiếp cận với môn học theo một phương pháp mới : phương pháp Multimedia (truyễn thông đa phương tiện)
Đó là một phương pháp dạy và học đạt hiệu quả cao trong xu hướng xã hội hóa hiện nay
Nó sẽ kích thích sự hứng thú, say mê học tập, tỉnh thần tích cực và ham học hỏi của người học
Mặc dù đã có nhiều cố gắng nhưng vì thời gian hạn chế và kinh nghiệm còn yếu, nên tập luân văn này không tránh khỏi những sai sót rất mong sự đánh giá của qui Thay Cô và
sự góp ý của các bạn
Nhóm sinh viên thực hiện
Dương Hoàng Hiếu
Trần Thanh Dương.
Trang 7LỜI CÁM ƠN
re DD Sos
Nhóm thực hiện để tài xin chân thành tỏ lòng biết ơn đến Thầy Nguyễn
Phương Quang, giáo viêB trực tiếp hướng dẫn nhóm trong suốt quá trình làm
luận văn tốt nghiệp Sự tận tình hướng dẫn,giúp đỡ và động viên của Thầy đã
giúp nhóm rất nhiều trong việc hoàn thành tập luận văn này
Nhóm thực hiện đề tài xin chân thành cầm ơn quí thầy cô trường Đại Học
Sự Phạm Kỹ Thuật ï tận tình dạy chúng em trong suốt thời gian qua
Cuối cùng là lời cám ơn chắn thành đến gia đình, người thân cùng toàn
thể bạn bè cùng khóa đã đáng góp những ý kiến quí báu và là những người luôn động viên tnh thần giúp nhớm chúng em thực hiện để tài, hoàn thành
nhiệm vụ được giao,
Nhóm sinh viên thực hiện
Dương Hoàng Hiếu
'Trần Thanh Dương
Trang 8Nhận xét của giáo viên hướng dẫn
của giáo viên phắn biện
Mục lục Liệt kế Liệt kế hình NOI DUNG Din nhap 1.1 Đật vấn để 1.2 Tắm quan trạng của vấn để 1.3 Giới hạn vấn để
1.4 Mục đích nị
Cơ sở lý luận 2.1 Dàn ý nghiền cứu
2.2 Đối tượng nghiên cứu
2.3 Phương pháp và phương tiện nghiên cứu 2.3.1 Phương pháp nghiên cứu
2.3.2 Phương tiện nghiên cứu 2.3.3 Thời gian nghiên cứu
Lý thuyết tổng quan vẻ mô hình - mô phỏng
3.1 Khái niệm về mô hình mô phồng 3.2 Phân loại mô hình mô phỏng 3.3 Các bước tiến hành mô phỏng
Cấu trúc và ngôn ngữ của họ vi điều khiển MCS5I
4.1 Giới thiệu họ vi điều khiển MCS5L 4.2 Cấu trúc phần cứng của họ vi điều khiển MCS51 4.3 Ngôn ngữ của họ vi điều khiển MCS51
Trình biên dịch ASM51 5.1 Giới thiệu
5.2 Hoạt động của trình biên dịch
5.3 Định dạng chương trình hợp ngữ
5.4 Các biểu diễn của trình dịch hợp ngữ 5.5 Các định hướng của trình biên dịch 5.6 Tóm tắt quá trình biên dịch tập tin
Giới thiệu chương trình mô phỏng SIM51
Trang 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 SIM51
Nhập môn thiết kế lập trình 7.1 Khái niệm về mô phồng
7.2 Phân tích vấn để 7.3 Luu đồ
7.4 Thiết kế chương trình
7.5 Viết chương trình
1.6 Các cấu trúc lập trình cơ bản Hướng dẫn sứ dụng SIM5I và lập trình cơ bẩn 8.1 Hướng dẫn sử dụng SIM5I
8.1.1 Hướng dẫn khởi động SIMSI
8.1.2 Các thao tác cơ bản trên SIMSI
Lời giải các bài tập củng cố
Giới thiệu các phản mẻm mô phỏng khác
1 TS Control Emulator 8051
1.1 Man hinh giao dién chinh
1.2 Cài đặt chương trình TS Control Emulator 8051 1.3 Hướng dẫn sử dụng chương trình TS Control 8051
Trang 10LIỆT KE BANG
Bảng 4— 1: Bảng các loại vị điểu khiển ho MCS51
Bảng 4~ 2: Chức náng của các chán
Bàng 4— 3: - Các thanh ghi chức năng đặc biệt
Bảng 8— 1: - Tóm tấtthanh ghi chức nắng SCON
Bảng 8~—2: Các chế độ của portnối tiếp
Bang A-1: Bảng mã ASCIL
Bảng A-3: Bảng hệ thong sé hex
Trang 11
LIỆT KÊ HÌNH
Trang Hình 3~ 1; - Quá trình mộ phỏng
Hình 6- 1: Màn hình giao điện SIM5
Hinh 7-1: Quá tình mô phỏng
Hình 7— 2: _ Các ký hiệu thường dùng trong lập trình cấu trúc
Hình 8— I: - Màn hình SIM51 mới khởi động
Hinh 8-2: Màn hình SIM5I khởi động xon
Hình 8— 3: Hướng dẫn khởi động chương trình SIM5
Hình C— 1: _ Màn hình giao diện chính TS Control 8051
Hình C— 2: Màn hình chọn đường dẫn để cài đặt TS Control 8051
Hinh C- 4: Màn hình chọn tập tin cai dat
Trang 12
kinh tế kỹ thuật cũng như đời sống xã hội
Sự phát triển mạnh mẽ của công nghệ chế tạo các thiết bị, linh kiện điện tử đã
cho ra đời nhiều vi mạch tổ hợp (IC), vì mạch lập trình (vi điều khiển và vi xử lí), vi
mạch giao tiếp gọn nhẹ, Nhờ thế người thiết mạch kế điện tử, người học, đặc biệt là sinh viên chuyển ngành điện ~ điện tử có những thao tác đơn giẩn hơn trong quá trình
kết nối các linh kiện điện tử Tuy nhiên, việc đơn giản hóa và tích hợp vi mạch gây khó
khan cho người học ở thời điểm mới bất đầu tiếp xúc với linh kiện và đặc biệt là linh
hie ho pe va pip, do tinh nang gon nhe, đá dụng, xử lí nhờ chương trình, cấu trúc hệ
thàng phưc tạp điển hình là vì điều khiến ATS9C51
Song song với sự phát triển mạnh mẽ và kha nang dng dụng của các vi mạch tích
hợp QC), vì mạch lập trình ( ục và up) thì vấn đề tìm hiểu, khảo sát, học tập về vi điều
khiển ngày càng tăng nó đã và đang thám nhập mạnh mẽ vào các trường kỹ thuật và
nó được học sinh, sinh viên rất l2 thích thú do tính khẩ thí của nó
Tuy nhiên, khi mới tiếp cận tìm hiểu về vi điều khiển người học gặp một số khó khăn là không thể thấy được những hoạt động bên trong ví điều khiển dẫn đến trừu
tượng khó hình dung vì vậy sẽ khó tiếp thu
Bên cạnh đó là vấn để kinh tế vì giá thành của các hệ thống vi điều khiển cao do vây người học khó tiếp xúc với thực tế Bức xúc trước những khó khăn trên trong vấn
để học tập, giảng dạy, và nhu câu hiểu biết về vi điều khiển là động lực để người thực
hiện đẻ tài “BIÊN SOẠN SÁCH ĐIỆN TỬ ỨNG DỤNG TRONG THỰC HÀNH VI
DIEU KHIEN VGI PHAN MEM SIM 51”
Với việc mô phỏng vi điểu khiển họ MCS - 51 (AT89C51) được thiết kế dưới
dạng trang web sẽ phần nào khắc phục được những khó khăn trong quá trình học tập,
tìm hiểu vi điều khiển tạo ra cách tiếp cận với môn học chuyên để vi điều khiển ở một
phương pháp mới : phương pháp multimedia, trực quan hơn, sống động hơn giúp người
học có thể tự học vi điều khển, nâng cao khả năng lập trình và tiết kiệm được thời gian
1.2 TAM QUAN TRONG CUA VAN DE
Trong quá trình học và thiết kế thì người học không có điều kiện tiếp xúc với vi
điều khiển thực tế, mà chỉ biết được cấu hình mạch điện các thông số Vì vậy khi mô
phông vi điều khiển trên phẩn mềm SIM 51 sẽ thấy được hoạt động của từng lệnh, từng
Trang 13Luận văn tốt nghiệp GVHD: Nguyễn Phương Quang
1.3 GIGI HAN VAN DE
Có nhiều hãng sản xuất vi điều khiển và mỗi hãng lại có nhiều họ vi điều khiển
như là :
> Họ MCS - 51 của hãng INTEL, ngoài ra còn có các vị điểu khiển cũng thuộc họ MCS§- 51 nhưng được phat triển thêm một số chức năng khác và được sắn từ các hãng khác như AMD, Siemens, Philips, Dallas, OKI,
ATMEL,
Ho 68COS cua hang Motorola
Họ TS62 của hãng SGA — Thomson,
Họ H8 của hãng Hitachi
> Ho PIC cia hang Microchip
Đo những người thực hiện để tai được trang bị kiến thức về vi điều khiển họ MCS
SL quá 15 tiết học môn chuyên đề vị điều khiển, nhu cầu học tập, tìm hiểu về vi điểu
Nhiển, do sinh viên rong trường cũng được trang bị kiến thức vi điều khiển họ MCS —
S1 và trên thị trường cũng phổ biến ÍC họ MCS ~ 51 Nên người thực hiện để tài chọn
mỏ phỏng ví điều khiển họ MCS ~ 51 của hãng INTEL
Mặc dù nhóm nghiền cứu đã cố gắng hết sức, nhưng do thời gian có hạn và lần
dầu tiên thực hiện để tài nên nhóm chỉ dừng lại ở mức độ đơn giản là:
v Nghiên cứu về cách thức sử dụng chương trình mô phổng
Hướng dẫn nhập môn thiết kế lập trình vi điều khiển
Hướng dẫn sử dụng chương trình mô phỏng và đưa ra một số bài tập cơ
bản và nâng cao dé minh hoa
>_ Nghiên cứu một số phần mềm tin học để tạo trang web
Có nhiều phân mềm mô phỏng vi điều khiển,vi xử lí như: SIM51, UMPS, 535 TS,
TS Control Emulator 8051, nhưng những người thực hiên để tài chọn phần mềm mô phỏng SIM51 để mô phỏng vi điều khiển họ MCS ~ 51 (8051/8751) các vấn để chọn
mô phỏng gồm:
vv
Hoạt động xuất nhập qua port
Hoạt động giao tiếp bộ nhớ
“Thông qua việc tnực hiện đề tài, những người thực hiện để tài có dịp âm hiểu,
phân tích cấu trúc phần cứng, hoạt động của tập lệnh vi điều khiển họ MCS - 51, nâng
cao khả năng lập trình, bên cạnh đó vận dụng những kiến thức sư phạm để hướng dẫn
người học vi điều khiển sử dụng phần m6m2 mô phỏng SIM - 51 giúp ích cho việc học
Trang 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 thông qua những ứng dụng cụ thể Nó sẽ là tài cần thiết cho những người đang tìm hiểu, tự học, nghiên cứu vi điều khiển họ MCS - 51
SVTH: Trần Thanh Dương Trang 3
Trang 15Chương 2
CƠ SỞ LÍ LUẬN
2.1 DÀN Ý NGHIÊN CỨU
Nhóm thực hiện để tài tiến hành thực hiện để tài theo trình tự sau :
+ Lý thuyết tổng quan về mô hình mô phỏng
+ Cấu trúc và ngôn ngữ của họ vi điều khiển MCS-51
‘Trinh bién dich ASMS1
4 Gidi thiệu chương trình mô phông SIM5I
% Nh§p môn Thiết kế lập trình
s*- Hướng dẫu sử dụng chương trình mô phông và lập trình cơ ban
© Lap trình nâng cao
+e Wing wa edu tap lệnh
sề Lời giải các bái tập củng cố
Vi điều khiển AT89C51
Các phần mềm tạo web và hỗ trợ tạo web như: Microsoft frontpage, Microsoft powerpoint, Fash
2.3 PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN NGHIÊN CỨU
2.3.1 Phương pháp nghiên cứu
Nhóm thực hiện để tài sử dụng các phương pháp nghiên cứu dưới đây trong khi
thực hiện để tài:
Phương pháp tham khảo tài liệu: sưu tập phân tích, tổng hợp các tài liệu về vi
điều khiển họ MCS - 51; phần mềm mô phổng SIM 51; trình địch hợp ngữ ASM5I và
các phần mềm tạo web như Microsoft frontpage; Xarawebstyle
Phương pháp thực nghiệm: tiến hành mô phỏng các hoạt động của vi điều khiển
ho MCS ~ 51 trên phần mềm mô phồng SIM
Phương pháp quan sát, thu thập các kết quả sau khi mô phỏng các hoạt động vi điều khiển họ MCS - 51
2.3.2 Phương tiện nghiên cứu
© Máy vi tính
e _ Luận văn tốt nghiệp khóa trước
e _ Sách chuyên ngành điện tử, công nghệ thông tin
e Đĩa mềm, đĩa CD, đĩa cứng.
Trang 16Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang
2.3.3 Thời gian nghiên cứu
«_ Tuần 1 (26/12/2002 đến 03/01/2003) thu thập tài liệu, soạn để cương
«_ Tuần 2 (04/01/2003 đến 11/01/2003) phân tích tổng hợp tài liệu
«Tuần 3, 4, 5, 6, 7 (12/01/2003 đến 15/02/2003) tiến hành viết chương trình, thử nghiệm, biên dịch chương trình và mô phỏng chương tình Thiết kế trang web
© Tuan 8 (18/02/2003 đến 22/02/2003) hoàn chỉnh và in ấn
Trang 17Chương 3
LÝ THUYẾT TỔNG QUAN VỀ MÔ HÌNH-MÔ PHONG
3.1 KHÁI NIỆM VỀ MÔ HÌNH - MÔ PHÒNG
3.1.1 Khái niệm chung
#& Mô hình - mô phỏng ngày càng được sử dụng nhiều để phân tích và đoán trước những đáp ứng, diễn biến của một hệ thống kỹ thuật, đặc biệt mô hình - mô
phỏng là trung tám của việc thiết kế những hệ thống điểu khiển, bởi vì đối với
những hệ thống thiết bị cong nghiệp lớn, vấn để này chưa được biết đến hoặc
Không tổn tại và không có bất kỳ hệ thống phân tích nào có thể đạt được Mô
phóng có thể là một phương cách duy nhất xây dựng vấn tắt các thiết bị vật lý tua bản thân nó và những thí nghiệm trên nó sẽ mô phdng
+ Mõ hình - mồ phỏng thường được sử dụng cẩn thiết cho các trường hợp sau đây:
~ Mô hình rất phức tạp với nhiều biến và nhiều thành phân đối tác với nhau
> Các quan hệ giữa các biến số cơ bản là phí tuyến
+ Mô hình chứa nhiễu biến ngấu nhiên
> Khi cần thiết phải quan sát ngõ ra của mó hình trong không gian ba chiều
3.1.2 Mô hình (model)
4 Mô hình là mô tả vật lý, toán học hay luận lý của một hệ thống thực một thực
thể, một hiện tượng hay một quá trình
‹* Mô hình thường mô tả đơn giấn một hệ thống ở một vài điểm riêng biệt theo thời gian và không gian nhằm gia tăng sự hiểu biết của con người về
hệ thống đó
+ Một mô hình có tốt hay không phụ thuộc vào khả năng trợ giúp của con người
nhiêu hay ít vì tất cả các mô hình được xây dựng theo cách đơn giản, hệ thống
thực và như vậy một số chỉ tiết nào đó bị loại ra nên cần có sự hài hòa về mức
độ chỉ tiết của mô hình
Điều quan trọng cẩn lưu ý là nếu người xây dựng một mô hình được bắt chước
mẫu thì mỗi bước thay đổi chỉ tiết phải tương đối nhỏ và mỗi lần mô phỏng phải chỉ tiết nhỏ
3.1.3 M6 phéng (simulation)
“ Là sự vận động của một mô hình như các hoạt dộng theo thời gian và không gian bên trong hệ thống thực mà mô hình này đại diện, vì vậy mô phỏng cho
phép nhận biết được sự tác động qua lại bên trong hệ thống thực, nhờ sự tách
biệt theo thời gian và không gian
Một cách tổng quát, mô phỏng làsự lập lại và phát triển của mô hình Một người xây
dựng một mô hình mô phồng, nó nghiên cứu quá trình mô phỏng, sửa đổi mô hình và
tiếp tục mô phỏng cho đến khi thu được một mức độ hiểu biết đầy đủ về mô hình
Trang 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
Hình 3-1: Quá trình mô phỏng,
4.2 PHAN LOAIMO HINH - MO PHONG
Có 6 loại mồ hình:
+ Mô hình trực quan ( Intnitional model ): Lã mô hình dựa trên các giả thiết suy
từ các nhận thức có được hay suy từ các trực quan tương tự về đối tượng
+ Mô hình ký dấu hiệu: Là mô hình được trình bày dưới dạng bảng ký hiệu
Ví dụ : Mô hình đồ thị, m6 hình chép, mô hình bắng biểu,
* Mô hình tự nhiên ( Nature model ): Là mô hình mô tả một hệ thống bằng một
hệ thống khác đang tổn tại trong hệ thống thực
Mô hình toán học ( Mathematical model ): Là phần mềm mô tả hệ thống và
trạng thái của hệ thống đó thông qua các mô tả toán học và thuật toán giải Mô
hình toán học được chia làm các loại như sau:
Mô hình sơ đồ thay thé (egairalust circuit model) :
Mô hình tính toán (computational model): Bao gồm các thuật toán và các
chương trình giải trên máy tính Các chương trình này thể hiện các quá trình xác định được mô tả bằng hệ phương trình vi phân đặt trong phần cơ bản của bài
toán
Mô hình số hoá (numberical model): Là mô hình toán trong đó tập các thuật
toán suy biến thành đạng tích hợp để giải bằng các phương pháp đơn giản như phương pháp giải tích số là một ví dụ
‹* Mô hình vật lý
+* Mô hình tương tự số (Analog_digital model)
Mô hình tương tự: Là mô hình dựa trên các phần tử thực thi các phép toán tương
tự
Mô hình số: Là mô hình dựa trên các phẩn tử thực thi phép toán gián đoạn Ưu
điểm của nó so với tương tự là độ chính xác cao
Mô phỏng tổng hợp: Là sự tổng hợp của hai mô hình trên Sự tổng hợp như vậy
sẽ tận dụng được tính chất của mô hình tương tự rổ ràng, đơn giản trong sự lựa chọn sơ đổ tác động nhanh và máy tính số lưu trong bộ nhớ những dữ liệu cần
thiết và kết quả
————————ễễễễ———
Trang 19
Luận văn tốt nghiệp GVHD : Nguyén Phuong Quang
Mô hình chức năng hay mô hình điều khiển: Trong mô hình này đối tượng được thể hiện bằng những mẫu chủ yếu lấy từ quá trình thông tin và quá trình điểu
khiển
3.3 CAC BUGC TIEN HANH MO HINH MO PHONG
3.3.1 Xác định rõ đặc điểm vấn để
à bước quan trọng nhất nhưng thường được xem qua loa Quan niệm sai
lầm là những người chưa quen với mô phỏng là khi một mô hình được xây dựng thì nó có thể cung cấp các câu trả lời cho tất cả các câu hỏi liên quan đến hệ thống vật lý học
$& Như những phương pháp tính toán khác, mô hình - mô phỏng chỉ có thể làm
những điểu mà mục đích th ế đát ra và thực tế người ta không thiết kế được
mỏ hình làm được mọi thứ, việc xác định cẩn thận phạm vi thiết kế của một mô
hình và mức độ chỉ tiết như thế nao là khó khăn Cách thứ nhất để bắt đầu là
xảy dựng bảng danh sách các cáu hỏi mà mô hình phải trảiời, nhưng lưu ý
những câu hỏi náy nền mở hướng suy nghĩ chứ không nên đi vào một vấn để cụ
thể
Trong danh sách các câu hỏi phái phân chía thành 2 loại :
Loại câu hỏi bất buộc mồ hình phải trả lời
Y Loai cau hỏi mong muốn mô hình trả lời
+ Mô hình càng chỉ tiết thì càng phức tạp, vì vậy lúc đó đòi hồi phải đặt vấn để về
yêu cầu (thời gian, tiền bạc
s* Nên tránh bổ bớt những cáu hỏi được xem là có sẩn câu trả lời hoặc coi khía
cạch đó của hệ thống là không quan trọng hoặc khống liên quan đến vấn để cần
giải quyết Ở bước này việc xác định lợi ích mang lại từ những câu trả lời ở mỗi
câu hỏi là cần thiết
s* Trong bước này nếu mô hình không giải quyết được các câu hỏi yêu cầu thì quá
trình mô phỏng thất bại
3.3.2 Hiểu rõ hệ thống
+» Khong thể mô hình hóa cái không hiểu, đó là tiêu để đơn giản, nhưng những người mô phỏng lần đầu thường bỏ qua hay vội vàng “vạch ranh giới” cho mô hình Những phân hệ thống cần xem xét bao gồm:
vˆ Cấu tạo đặc điểm của các phần tử hệ thống
“_ Chức năng các phần tử
“_ Mối tương tác giữa các phần tử
*⁄_ Sự tương tác của tiến trình và thao tác điều khiển quan trọng
+ Nếu cần nên trao đổi với người giám sát hoặc vận hành Sau đó đặc các câu hỏi ghi chú và làm bảng thống kê thành tài liệu mô tả vận hành của hệ thống kê
thành tài liệu mô tả vận hành của hệ thống Nếu cần dé nghị người giám sát cho
xem lại tài liệu và chú giải
Trang 20
Luận văn tốt nghiệp GVHD : Nguyén Phuong Quang
+ Sau khi xem xét các thiết bi, dựng bắng vẽ thiết kế của hệ thống dưới sự giúp
đỡ của máy tính, điều này giúp cho việc hiểu hệ thống rổ hơn và bố trí các câu
hồi để trả lời Ngoài ra chúng còn làm cơ sở để phát triển mô hình
+ Áp dụng các giác quan thông thường để trả lời các câu hồi như sau : tất cả các
khía cạnh của hệ thống được hiểu rỏ và đủ để trả lời các câu hồi then chốt hay
không, có thể thiết kế mô hình trên giấy mà nó sẽ cho câu trả lời hay không,
Xác định rõ mục đích và mục tiêu của của dự án
4 Bước này nhằm xác định rõ mục đích và mục tiêu dự án, điều này liên hệ mật thiết đến việc xác định các câu hỏi then chốt và có thể lập lại 2 bước này đến
Khi chấc chấn và được ban điều hành chấp nhận
& Mục tiêu của người lâm mô hình là giới hạn kích thước và phạm vi của người
lan mô hình đến mức đủ để đáp ứng mục tiêu của dự án và trả lời các câu hồi
vhủ yếu,
4.1.4 Phải học để có khái niệm cơ bản
Mặc dù đây là bước thích hợp cân hoàn tất trước khi làm dự án mô phỏng chuyên
nghiệp, nhiều người thấy nó là 1 điểu dễ thực hiện nếu họ bị thúc đẩy bởi vấn đề thực
tế cân giải quyết Nếu là người mới bắt đầu làm mô phỏng thì phải chắc chắn rằng thời
gian thực hiện được ấn định trong kế hoạch của dự án cho phép mình làm như thế nào
3.3.5 Đoán chắc của mô hình mô phéng
Những trường hợp hệ thống phức tạp thì dùng mô hình - mô phỏng
3.3.6 Có thật sự ủng hộ rõ ràng từ phía người điều hành
Đây là một bước giống như 1 điều hiển nhiên nhưng nó lại thường đẩy dự án tiến
về phía trước và phải chiếm được sự ủng hộ rõ rằng từ người điều hành từ khi bắt đầu
du an
3.3.7 Nghiên cứu các phần mềm mô phồng
“Thực hiện việc lựa chọn cho một số khá lớn phần mềm có giá trị cho mô phỏng,
những sự kiện mà người làm mô hình quan tâm (hiện nay có trên 50 phần mềm mô
phỏng)
Người làm mô hình - mô phỏng có thể thu hẹp sự thăm dò của mình bằng cách đặt câu hỏi như sau:
>_ Bạn muốn sử dụng phần mềm của hẳng sản xuất nào
> Bạn muốn mô phống bằng ngôn ngữ nào
> Các phẩn mềm cố định hay điều khiển dược
»>_ Có cần đồ hoạ không
———ễễễ-ễẽỀ
Trang 21Luận văn tốt nghiệp GVHD : Nguyén Phuong Quang
“Từ các câu hỏi trên, chúng ta còn có thể sử dụng khoảng Š phần mềm và phải
trả lời các câu hồi sau:
Độ chính xác và độ chỉ tiết của của mô hình
Có các khả năng tăng hiệu suất của người là mô hình mô phồng
Chọn tốc lớn nhất có thể có
Cẩn thận với những mục quắng cáo hoặc những thứ mà nó không phải là
những thông tin về tiển năng thực sự của phần mềm từ người bán
Có hay không các nhà cung cấp phần mềm mô phỏng giải quyết các vấn để
3.Ä,& Xác định các thông số có giá trị và cần thiết
Việc xác định các thông số có giá trị và cần thiết trong mô hình - mô phong là rất
quan Wong, vì diều này sẽ ảnh hưởng đến mức độ chính xác của thời gian, kích cỡ của
mỏ hình, thời giản mô phỏng
3.3.9 Triển khai các giả định về vấn để
Có một số lý do cho rằng sự thành công hoàn hảo chính nhờ quan tâm đến bước
này Ví dụ: Các giả định đúng bao gồm việc vạch ra ranh giới thích hợp cho hệ thống,
nếu ranh giới quá rộng thì làm táng thời gian và phí tổn vào quá trình hoàn thành mô
phồng, nếu ranh giới quá nhỏ thì những cầu hỏi đặt ra cho mô phỏng có thể sẽ không trả lời được Tương tự cũng có thể quyết định sự phức tạp của mô phỏng, độ phức tạp
của mô hình, nên đủ để trả lời các câu hồi đặt ra và không nên phức tạp hơn
3.3.10 Xác định đâu ra cần thiết để giải quyết một vấn để đã định
Bước này nhằm mục đích xác định ngõ ra cần thiết để có thể trả lời các câu hỏi đặt ra cho mô hình
3.3.11 Việc mô phỏng được tiến hành từ bên ngoài hay bên trong
Thực ra sự phối hợp được dự định mô hình - mô phỏng, mô phồng phải được điều khiển từ bên trong, bên ngoài hoặc kết hợp cả hai
3.3.12 Bắt đầu tiến hành mô phỏng
Ở bước này cần lưu ý các bước sau:
+⁄_ Nên ghỉ vào nhật ký công tác những việc khó khăn đối với những để mục
*⁄_ Việc bắt đầu mô phỏng sẽ thấy lạc quan hơn, tiến triển nhanh chống hơn và duy
trì sự thích thú trong mô phỏng
' Nêu những sự kiện quan trọng, điều này sẽ có ích cho những người thực hiện
đưa ra các quyết định về giải pháp cho vấn đề
Trang 22Luận văn tốt nghiệt P GVHD : Nguyễn Phương Quang
Y Lén ké hoach cho những tương tác, điểu này giúp đỡ người đưa ra quyết định
tiếp tục hứng thú với tiến trình
⁄ˆ_ Phải có câu trả lời đối với công việc và mục tiêu của tiến trình
#ˆ Phải có thực tế, những ý kiến liễu mạng thì có thể dẫn đến việc hình thành nhanh chống và giá rẻ, nhưng người ta hoàn toàn có thể chứng minh nó làm
hồng tiến trình
Y Hoan thành một cách chắc chắn
ˆ Cuối cùng của việc bắt đầu tiến trình làtổng kết lại các ý kiến mà những người
tham dự đưa ra, đó là những ý kiến có thể giúp cho sự thành công của tiến trình
a
Trang 23Chương 4
CẤU TRÚC VÀ NGÔN NGỮ
CỦA HỌ VI ĐIỀU KHIỂN MCSS1
4.1 GIỚI THIỆU HỌ VI ĐIỀU KHIỂN MCS-51
Họ vĩ điều khiển MCS-51 được thiết kế dựa trên một cấu trúc tối ưu cho các hệ
thống điều khiển chung, Nó được dùng rất rộng rãi, từ các thiết bị tự động thông
thường, hay dân dụng như: MODEM, VCR, hay bàn phím máy tính, Xét về doanh số,
tuy chỉ sau 68HCI| của MOTOROLA, nhung vi diéu khién họ MCS-51 đã được rất
+ nhà xắn xuất nổi tiếng sản xuất như: INTEL, PHILIPS hay SEMENS, hoặc
dung tong giới sinh viền là từ nhà sắn xuất ATMEL Các nhà sản xuất này
goát các đặt tính cơ bản của họ MCS5], mã sẽ trình bầy ngay sau, còn nghiên cứu thêm vào nhiều tính nâng đật sắc khác như: giao tiếp Bus 12C, tích hợp các bộ chuyển đổi AD vào bên trong, các bộ định ¡ watchdog, hay các ngõ ra được điều pe
Xung Nguồn xung nhịp cho các vi điều khiến này có thể đến 40MHZ, nguồn cấp 4p
© UART song cong
05 nguồn ngắt với 02 mức ưu tiền
128kb RAM trên chip
« _ Vùng địa chỉ 64k riêng biệt cho bộ nhớ chương trình và bộ nhớ đữ liệu
Xét riêng cho INTEL, hiện nay có 03 thành viên cốt lõi thuộc họ này, gồm 8031,
8031va8751 Xét riêng cho từng loại, dựa vào cải tiến công nghệ, cũng có các vi điều khiển khác nhau Bắng liệt kê sau đây tuy chưa đây đủ nhưng phần nào giúp cho chúng
ta hình dung được sự đa dạng và có lựa chọn chính xác khi cần một vi điều khiển họ
MCS -51 ciia INTEL
Trang 25
Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang
Trong cột loại linh kiện (device), ta thấy ngoài các chữ số cơ bản, con có các ký
hiệu mà được nhà sản xuất dùng để thể hiện một số đặc tính của linh kiện đó Nó được
mô tả như sau :
Ví dụ : Tên linh kiện là AN0C51BH
* Ký tự thứ nhất từ bên trái qua: Nhiệt độ chịu đựng của linh kiện
> T,L: -40 đến +80
> A : -40C đến +125%
KY Ue thứ hai từ bên trái qua: Loại vỗ
> P : Loại dip, nhựa, 40 chân
>N : LoaiPLCC,44 chân
$# Ký tự thứ tư từ bên trái qua: Hộ nhớ chương trình
>0: Có ROM hay không có ROM
> I1 ;CóEPROM
® Rý tự thứ tư từ bến trái qua: Bộ nhớ chương trình
> 31 : Không ROM
> 5I : CóROM
4.2 CẤU TRÚC PHẦN CỨNG CỦA HQ VI ĐIỀU KHIỂN MCS -51
4.2.1 Sơ đồ chân -ý nghĩa các chân
Vi điều khiển ở thị trường TP HCM thưỡng xuất hiện ở dạng như sau:
Trang 26Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang,
1z8 Port1 : Chuyên cho việc xuất nhập
Reset: Đặt lại giá trị ban đầu cho các thanh ghi khi nó ở mức cao
9 trong ít nhất 2 chu kỳ máy
on RXD : Nhận data từ port nối tiếp
nn _ 'TXD : Truyền data qua port nối tiep
iz
INTO, NgO vàu của ngất ngoài 0
}
|" —— |INT] Ngõ vào của ngất ngoài ]
wo [10 _: Ng6 vao cho timer /counter 0
IS TÍ — ¡Ngõ vào cho timer (counterl
|
II 3 WR _: Tạo xung cho việc ghỉ vào bộ nhớ dữ liệu ngoài
17 RD_ Tao xung cho việc đọc từ bộ nhớ dữ liệu ngoài
18+19 XI,X2 : Nối với thạch anh và tụ dùng để ổ định dao động nội của
AT9C5I
21+28 Port2 : Có hai chức năng (xuất nhập đơn thuần hay phần byte cao
của bus địa chỉ khi ở chế độ hợp kênh giữa data và địa chỉ)
29 PSEN : Tín hiệu để cho phép bộ nhớ chương trình mở rộng và
thường được nối với chân OE ( Output Enable) của EPROM để đọc các byte mã lệnh
30 ALE/P : Khi port0 được dùng ở chế độ chuyển đổi của nó, vừa là
bus đata, vừa là byte thấp của bus địa chỉ, nó là tín hiệu để chốt địa
chỉ vào một thanh ghi bên ngoài trong nữa chu kỳ đầu của bộ nhớ
.Sau đó, các đường port0 dùng để xuất /nhập dữ liệu trong nữa chu
kỳ sau của bộ nhớ
32:39 Port0 : Có hai chức năng (xuất nhập đơn thuần hay phần byte thấp
của bus địa chỉ khi ở chế độ hợp kênh giữa data va dia chi)
40 'Vec_: Chân cấp nguồn +5v cho AT89C51
Trang 27Luận văn tốt nghiệp 8) GVHD :Nguyễn Phương Quang
Trang 28
Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang
4.2.3 Nguồn xung clock của AT89C51
Có thể xem nguồn tạo xung clock của AT89C51 là trái tìm của nó Nhờ vào xung eloek này, các hoạt động diễn ra bên trong vi điểu khiển được đồng bộ với nhau và
diễn ra theo một trình tự nhất định Hai chân XTALI va XTAL2 được cung cấp nhằm nối với một mạch cộng hưởng bên ngoài để tạo ra một bộ dao động Thông thường, ta
dùng một thạch anh và hai tụ điện để đảm nhận, mạch có dạng như sau:
Khi chọn thạch anh, ta cẩn lưu ý đến tần số mà vi điều khiển có thể xử lý được
Nếu dùng thạch anh dưới tẩn số nhỏ nhất, màbộ nhớ bên trong vi điểu khiển không được làm tươi kịp và sẽ xảy ra mất dữ liệu Ngược lại, nếu dùng thạch anh có tần số cao hơn tần số cho phép, hoạt động của chương trình sẽ bị sai
4.2.4 Thanh ghi bộ đếm chương trình PC và con trỏ dữ liệu
AT89C51 có 02 thanh ghi 16 bit: Thanh ghi bộ đếm chương trình PC và con trỏ dữ
liệu DPTR Chúng được dùng để giử địa chỉ của một byte dữ liệu trong bộ nhớ Các
byte lệnh chương trình được nạp từ các ô nhớ mà có địa chỉ là nội dung của thanh ghi
PC Bộ nhớ chương trình có thể on chip hay gắn ngoài Thanh ghi PC tự động tăng lên
sau mỗi lệnh được gọi và có thể bị thay đổi tuỳ theo lệnh, chú ý rằng PC là thanh ghi
duy nhất không có địa chỉ nội
Thanh ghi DPTR được tạo thành từ hai thanh ghi 8 bit, được gọi la DPL va DPH,
chúng được dùng để cung cấp các địa chỉ bộ nhớ cho việc truy xuất mã lệnh nội hay
ngoại hoặc dữ liệu ngoài Thanh ghi DPTR được điều khiển bởi các lệnh của chương trình và có thể được chỉ định thông qua tên của nó DPTR, hay riêng rẽ từng DPL hay DPH DPTR không có địa chỉ đơn
————
SVTH : Trần Thanh Dương $kL001549 Trang 17
Trang 29Luận văn tốt nghiệp GVHD :Nguyễn Phương Quang,
4.2.5 Thanh ghi A va B
8951 có tất cả 34 thanh ghi đa dung, hay thanh ghi lam viéc, 2 trong số này thanh ghi A và B, tạo nên một khung xử lí toán học cho CPU của 8951, 32 thanh ghi còn lại được xếp như là một phần của RAM nội và được phân thành 4 bank thanh ghi, B0 cho đến B3, mỗi bank có 8 thanh ghi, từ R0 đến R7
Thanh ghỉ A, hay Aecumulator là thanh ghỉ đa năng nhất trong hai thanh ghi của
CPU và được dùng nhiễu nhất trong tác vụ, bao gồm tác vụ cộng, trừ, nhân và chia số
neu e thao tác trên các bịt luận lý Thanh ghỉ A cũng được dùng trong việc
truyền dữ liệu giữa 8951 và bộ nhớ ngoài Thanh ghi B dược dùng kèm với thanh ghi A trong các tác vụ nhân và chia, ngoài khả năng này ra nó không có gì đặc biệt ngoại trừ
được dũng như một thanh ghi bình thường, nghĩa là được dùng để lưu trữ dữ liệu
4.36 Các cờ thành ghỉ từ trạng thái chương trình
Thanh phí trạng thái chướng trình được xem là thanh ghỉ 1 bít, được cung cấp để
Mu từ kết quả của một lệnh chương trình nhất định nào đó Các lệnh khác trong chương trình có thể kiểm ưa trạng thái của cỡ và đưa ra quyết định dựa vào kết quả
Kiếm tra được Nhằm làm cho các cờ được định địa chỉ một cách thuận tiên, chúng
được nhóm lại thành một thanh ghỉ gọi là thanh ghí từ trạng thái chương trình PSW và
thanh ghi điều khiển nguồn PCON
8951 có 4 cờ toán học dùng đáp ứng trực tiếp đến kết quả của các tác vụ toán
học, và 3 cờ đa dụng mà người dùng có thể bật lên 1 hay đưa về 0 Bốn cờ toán học là :
C: carry, AC: Auxiliary, 0V: Overflow và P: Parity Ba cờ của người dùng là: FO, GFO
và GF1, chúng là các cờ đa dụng mà người dùng có thể dùng để ghi nhận một số sự kiện xây ra khi thực hiện chương trình, chú ý rằng: Tất cả các cỡ đều có thể bị thay đổi
bởi người lập trình khi cần thiết Các cờ toán học, ngoài ra còn bị tác động bởi các tác
vụ toán học
Từ trạng thái chương trình được chỉ ra ở hình sau PSW chứa các cờ toán học, cờ của người dùng và hai bit dùng để chọn bank thanh ghi sử dụng trong 4 bank thanh ghi được cung cấp Hai cờ còn lại, GF0 và GF1 được giữ trong thanh ghi PCON
[xs Te [es [aso Tow T=] |
3 RS0 Bitchọn bank thanh ghỉ
—ễễễễ_—ễ
Trang 30Luận văn tốt nghiệp ———— GVHD :Nguyễn Phương Quang
0P Cờ kiểm ưa lẻ cho thanh ghi A
Cúc bịt có thể truy xuất trực tiếp bằng các địa chỉ bit hoá: PSW.0 đến PSW.7
4.37 Bộ nhớ nội
Một thiết bị dùng vị điều khiến để thực hiện được các chức năng cân phải có các Bvte mã lệnh, thường chứa trong ROM vá bộ nhớ RAM dùng để chứa dữ liệu sản sinh
khi chướng trình thực biện, 95] có bộ nhớ ROM và RAM bên trong để thực hiện chức
nàng này, Các bộ nhớ phụ thêm có thể gấn vào hệ thống thông qua các mạch tích hợp Không giống với các vi điều khiến có cấu trúc Von Neuman, mà chỉ dùng một bộ
nhớ chúng cho chương trình hoặc dữ liều, nhưng không cho cả hai, 8951 có cấu trúc
Hurward, là cấu trúc mà chỉ dùng chung một địa chỉ, nhưng, khác bộ nhớ, cho chương trình và dữ liệu Các mạch điện bén trong sẽ cho phép 8951 truy xuất đúng bộ nhớ cần thiết dựa vào trạng thái hoạt động của chương trình
01 Yost Reset value of
wre 97H Stack pointer
Hình 4- 4: Bản đồ Ram nội của 8951
‹+* Byte đầu tiên trong vùng RAM nội, từ địa chỉ 00h đến 1Fh có chức năng là 32 thanh ghi làm việc, được chia làm 04 nhóm, từ 0 đến 3, mỗi nhóm 8 thanh ghi, từ
0 đến 7 Các thanh ghi này có thể truy xuất bằng tên hay bằng địa chỉ RAM nội
của nó Do vậy, thanh ghi R0 của bank 3 nếu hiện thời bank 3 đang được chọn,
được truy xuất bằng R0 hay qua địa chỉ RAM nội là 18h, khong cần biết bank
nào được chọn Hai bit RS va RS1 của từ trạng thái chương trình PSW dùng xác
Trang 31
Luận văn tốt nghiệp GVHD :Nguyén Phuong Quang
định bank thanh ghi nào hiện thời chương trình dang sử dụng Các bank thanh ghi không được chọn có thể được dùng như RAM đa dụng Khi reset, bank 0 mặc định được chọn
+ 16 byte tiếp theo, từ địa chỉ 20h đến 2fh, là vùng được định địa chỉ theo bit, tạo
ra 128 bịt địa chỉ hoá Một bịt có địa chỉ hoá là một bit có thể được chỉ bằng địa chỉ biL hoá, từ 00h đến 7Fh, hoặc theo byte tạo thành từ 8 bit bằng địa chí từ 20h
đến 2Fh Do vậy, vi dụ : Bit có địa chỉ là 4Fh cũng là bịt 7 của byte có địa chỉ là 20h Vùng bit được địa chỉ hoá hữu dụng khi chương trình chỉ cần nhớ một sự kiện dạng nhị phân, như bật hay tắt đèn Vùng RAM bên trong rất hạn chế, do
vậy tại sau ta dùng đến một byIe khi chỉ cần một bit ?
s+ Vùng trên, từ 30h đến 7h là vung RAM đa dụng, có địa chỉ theo byte
PC không quan tâm đến bộ nhớ chương trình nằm ở đâu, người thiết kế mạch là người
quyết định chương trình chứa trong ROM nội hay ngoại, hay cả hai
e Truy xuất bộ nhớ ngoài
Trong trường hợp chương trình viết có dung lượng lớn hơn 4KB ROM nội lập trình
được của AT9C51, dùng bộ nhớ chương trình Bộ nhớ chương trình ngoài là một IC ROM được cho phép bởi tín hiệu PSEN
hiệu WR/RD (các chân p3.6 và p3.7 thay đởi chức năng)
4.2.8 Ngăn xếp và con trở ngăn xếp
Ngăn xếp là một RAM nội được dùng để kết hợp với các mã lệnh nhất định để lưu trữ và truy xuất lại dữ liệu một cách nhanh chóng Con trổ ngăn xếp 8 bit, SP được
dùng bởi 8951 để lưu trữ địa chỉ RAM nội được gọi là đỉnh của ngăn xếp Địa chỉ được lưu giữ trong SP là vi wf trong RAM noi ma byte dữ liệu cuối cùng được lưu trữ bằng
tác vụ liên quan đến ngăn xếp
Khi dữ liệu được lưu vào stack, và sau đó SP tăng, lên 1 trước khi lưu trữ dữ liệu
vào ngăn xếp, do vậy ngăn xếp tăng lên khi dữ liệu được lưu trữ Khi dữ liệu được lấy lại từ stack, byte được đọc từ stack, và sau đó SP giảm 1 để trỏ đến byte kế tiếp của dữ
liệu được lưu trữ
=>
Trang 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 ghỉ vào siack sẽ đè lên và làm mất dữ
liệu trong RAM
4.2.9 Các thanh ghỉ chức năng đặc biệt
Một số tác vụ của 8951 mà không dùng 128 byte RAM nội có địa chỉ từ 00h đến
TEh dược thực hiện thông qua một nhóm các thanh ghi nội đặc biệt, mỗi thanh ghỉ này
được thực hiện thông qua một nhóm các thanh ghỉ đặc biệt, mỗi thanh ghi này được gọi
là thành ghi chức nâng đặc biệt SER, chúng nằm trong RAM nội, từ địa chỉ#0h đến FFh Một vài SER có địa chỉ hoá theo bịt, tham khảo bảng dưới Đặc tính này cho phép người lập trình chỉ thay đổi bịt nào cÂn thiết, giữ lại các bịt khác không đổi nhằm không ảnh hướng đến các hoạt đông khác
Chủ ý rầng, không phải tất cả vùng RAM nội từ 80h đến FFh điều là các SER, do
vậy việc cổ gắng dùng các ô nhớ không được định nghĩa, hay trống, sẽ dẫn đến các kết
quả không lường trước được,
Thanh ghỉ PC không thuộc nhóm SER, và nó không có địa chỉ trong RAM nội
Các SFR có thể được chỉ dinh trực tiếp thóng qua tên của chúng, vi dy A hay
THỦ, hoặc dùng địa chỉ trực tiếp OEDh hay &Ch
Địa chỉ dùng trong RAM nội phải được bắt đầu bằng chữ số, do vậy nếu địa chỉ
E0h phải được ghi là 0E0h
SVTH : Trần Thanh Dương ‘Trang 21
Trang 33Luận văn tốt nghiệp GVHD :Nguyén Phuong Quang
Table 1 89C51 Special Function Registers
SIMBOL | 0ESCRPHON | ORE <q BITABORESS, SYNGOL, OR ALTERNATIVE PORT FONCTION RESET
AC | Accumulator cov [ee es es ese E £0 [OW
AUXRE- |Amiay seụ | ——T TT TT [T2 |essðš AUXR4E | Aadiay1 eu [-—T[ —[ ——| — [#2] 1 | — | 0s | soi
ø 8 regRster roo [hr TT TTE TH TT TẾ OCH * 0PTR | Data Pointr (2 bytes)
PH | Data Pointer High 83H 004
vet | Data Pointer Low 8H x 004
at Pon a bon [rt [0] 0| rri
scons! | Power Conta! en Le P0_] 180] oox00008
wwcrbaita | Timor? Capture High | CBH 00H
sArAra | Timor? Capturelow | CAH # 00M
SADDRE | Save Addrass A9H oH
SADENE | Slave Addross Mask | B9M 00M
seuF — | Serial Data Butter SoH xeœonÐ)
SE oA 00 0 SGON*- |SenalCamrol soy [Bure] eer] 7ee_[ res] TH | R |@M
°® Stack Pointer 61H om
oe ƠO ĐC BOĐBA 89W TOON*_ | TmerCewml we [Fe] ro eo] [TỰ | TU | T0 |0
CF CC CŨ CỔ C5 CÁ CC C TaCON- | Timer2Conrol con | TFZ TĐ2TROR[TEK|EĐEN| T2 | E12 |E0/2|004
tawoos | timer2Medecontra | cox- [~-—[ - | - | - | - | — | Te | 0CEn | rooxd08 THO | TimerHigh 8cH 90H
THỊ Timor High t 80H 00H
THat |TmerHigh2 CoH 004
no Timer Low 0 BẠN 00H
mu Timer Low 4 88H 00H
tian | Timer Low 2 00M ‘0H
TWOD | Timer Mode son [care T cm [Twi J wo [care J ct [ma [Mo] oon,
Bảng 4 — 3: Các thanh ghi chức năng đặc biệt
4.2.10 Sơ lược về bộ đếm /định thời, cổng nối tiếp, ngắt
a Bộ đếm / định thời
Có hai bộ timer 16 bit, người ta sử dụng các timer để:
> Định khoảng thời gian
Trang 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 bit, được thực hiện bởi
hai chân P3.0 (RxD) và P3.1 (TxD) trên vi điểu khiển họ MCS-51 Với chức năng này,
nó cho phép vi điều khiển giao tiếp với các thiết bị khác ở các tốc độ baud khác nhau,
mà được chọn bằng tốc độ tràn của timer
Hoạt động của port nối tiếp trên 8951 là hoàn toàn song công, và có thể chọn một
trong bốn chế độ sau:
\ 0 thanh ghỉ dịch 8 bit
© Ché dé 1: UARTS bit
«- Chế độ 2: UART 9 bit, tốc độ baud cố định
©— Chế độ 3: UART 9 bịt, tốc đó baud thay đổi được
* Batbit BA (Enable all) trong thanh ghí HE lên 1
© _ Xác định việc sử dụng ngắt nào bằng cách set bit tương ứng lên 1
Lập chương trình phục vụ ngất tại địa chỉ vector tương ứng với ngắt sử dụng hay lập một lệnh nhảy đến chương trình phục vụ ngất
4.3 NGON NGU CUA HO VI DIEU KHIEN HO MCS-51
Các bộ vi điều khiển họ MCS-51được thiết kế và lập trình bởi hãng INTEL, các
vi điều khiển này được điều khiển để đáp ứng nhu cầu của người dùng nhờ vào phan
mềm hay còn gọi là chương trình Các ví điều khiển họ MCS-51 có ngôn ngữ lập trình
theo kiểu lập trình hợp ngữ (Assembly language)
Lập trình bằng hợp ngữ là sử dụng những mã gợi nhớ hay các ký hiệu dưới dạng các lệnh để thay thế các mã nhị phân của máy tính Máy tính sẽ nhận chương trình nầy sau khi chương trình đã được dịch sang ngôn ngữ máy Quá trình này được thực hiện
nhờ vào trình địch hợp ngữ và trình liên kết Các chương trình của hợp ngữ thường gọi
là chương trình nguôn hay mã nguồn, cũng không thể thực thi bởi máy tính
Các mã hay các ký hiệu gợi nhớ được sử dụng trong chương trình hợp ngữ còn gọi
là tập lệnh của vi điểu khiển Tập lệnh này dùng làm ngôn ngữ chính để báo cho vi
điều khiển biết cÂn phải làm gì, hay phải lấy dữ liệu để xử lý hoặc để điều khiển khi
nó đang thực hiện các lệnh tương ứng, các lệnh này hay các mã nhị phân này cho vi điều khiển biết phải thực hiện nhiệm vụ gì tương ứng với mã lệnh đã cho
SVTH : Dương Hoàng Hiếu Trang 23
Trang 35Chương 5
| TRINH BIEN DICH ASMS1
| 5.1 GIGI THIEU :
Ngôn ngữ Assembly là giữa ngôn ngữ máy và ngôn ngữ cấp cao Ngôn ngữ cấp
byte nhị phân được đặc trưng bởi các lệnh mà máy tính có thể thực thi
Ngôn ngữ Assembly thay thế các mã nhị phân của ngôn ngữ máy để sử dụng các
"thuật nhớ * dễ dàng trong quá trình lập trình Ví dụ lệnh cộng trong ngôn ngữ máy
được đặc trưng bởi mã nhị phán “10110011” trong khi ngôn ngữ Assembly là “ADD” Một chương trình ngôn ngữ Assernbly không thể thực thi bổi máy tính mà nó phải
due dịch sang mã nhị phân ngôn ngữ máy
Một linker là một chương trình ma nó kết hợp các chương trình đặc trưng Relsvatible (Module) và thiết kế một chương trình đặc trưng tuyệt đối thực thi bằng
may tinh,
Segment la m6t phân của bộ nhớ mã hoặc dữ liệu, nó có thể tái định vị được
(Relocatable), Hode tuyét déi (Absolute) Segment Relocatable có tên, kiểu và có thể
dược kết nối với segment cục bộ khác Segment Absolute khong c6 tên và không thể
dược kết nối segment khác , :
Module chứa 1 hoặc nhiều segment hay các segment cục bộ Một module có thể
là một “file” ở nhiều trường hợp cá biệt
Một chương trình module Absolute đơn được hoà vào toàn bộ các segment
bsolute và Segment_Relocatable từ tất cả các mode nhập
Chương trình chỉ chứa các mã nhị phán thay cho các lệnh (với các địa chỉ và các
hằng dữ liệu) được hiểu bởi máy tính
Ngoài trình biên dich ASMS1, vi diều khiển họ MCS5I còn có một số trình biên dịch khác như trình dịch AS31 nằm trong khối phần mềm biên dịch SDSC của nhóm
-§andeep Dutta, chương trình dịch 8051 Assembler chạy trên hệ điều hành windows
5.2 HOẠT ĐỘNG CỦA TRÌNH BIÊN DỊCH
Có nhiều trình biên dịch và các chương trình hổ trợ khác cho phép ta đễ đàng phát
¡_ trển các ứng dụng trên chip vi điều khiển AT9C51 Trình dịch hợp ngữ họ MCS-51 của
-_TNTEL(ASM51) được dùng làm chuẩn để so sánh với các trình dịch hợp ngữ khác
| ASM5I là trình biên dịch mạnh, hoạt động tốt trên các hệ thống phát triển INTEL
| va ho IBM PC của máy vi tính Chương trình nguồn viết cho AT89C51 có thể được
soạn thảo trên máy tính và có thể được hợp dịch thành một tập tin đối tượng và một tập
lin liệt kê bằng ASM5I
ASM5I được gọi từ dấu nhắc hệ thống bởi lệnh:
ASMS1 source_file[Assembly_Control]
Tập tin nguồn [source_file] được hợp dịch và các điều khiển của trình dịch hợp ngữ
Trang 36PROGRAM.SCR cast)
PROGRAM.LST
Hình 5 - 1: Hợp dịch một chương trình nguồn
Vi hầu hết các trình dịch hợp ngữ quét tập tún nguồn 2 lần trong quá trình dịch tập
tụ nguồn sang ngôn ngữ máy, chúng còn được gọi là trình dich hợp ngữ 2 bước Trình
sử dụng một bộ đếm ví trí LC (Location Counter) để xác định địa chỉ của
c nhãn Hoạt động của mỗi bước được mô tả dưới đây
tịch hợp nẹi
lệnh và
Bước 1: Trong bước nay, 4p tin nguồn được quét từng dòng và một bằng ky hiệu
được tạo ra Bộ đếm Location được mặc định bằng 0 hoặt được set giá trị ban đầu bởi
chỉ thị ORG (đặt Origin) Khi tập tín được quét, bộ đếm Location được tăng lên bằng độ dài mỗi lệnh Các chỉ dẫn định nghĩa dữ liệu DB hoặc DW tăng bộ đếm Location bởi số
byte được định nghĩa Các chỉ dẫn dự trữ bộ nhớ DŠ tăng bộ đếm Location bởi số byte
được dự trữ
Mỗi lần một nhãn được tìm thấy ở trước 1 dòng lệnh, thì nó được đặt vào bản ký hiệu cùng giá trị hiện hành của bộ đếm Location Bảng ký hiệu được lưu lại
Bước 2: Trong bước này, cdc tap tin đối tượng và tập tin liệt kê được tạo ra Các
mã gợi nhớ được biến đổi thành các Opcode và được đặt vào trong các tập tin trên Các toán hạng được đánh giá và được đặc sau Opcode của lệnh Ở nơi các ký hiệu xuất hiện trong toán hạng, các giá trị được lấy ra từ bảng ký hiệu và dùng tính toán dữ liệu hoặc địa chỉ cho các lệnh
Tập tin đối tượng, nếu thuộc dang địa chỉ tuyệt đối chỉ cứa các byte nhị phân (00h
-ffh) của chương trình ngôn ngữ máy, nếu thuộc loại tái định vị thì sẽ chứa một bang ky
hiệu và các thông tin khác cẩn cho sự kết hợp và định vị sau này Tập tin liệt kê chứa
cdc ma van ban ASCII (20h-7fh) cho chương trình nguồn và các byte số hex trong
chương trình mã máy
5.3 ĐỊNH DẠNG CHUONG TRÌNH HỢP NGỮ
„ Các lệnh (Instruetion) của bộ vi xử lý, bộ vi điều khiển
„ _ Các chỉ dẫn (Directive) của trình biên dịch
Trang 37Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang
„_ Các điều khiển (Control) của trình biên dịch
« _ Các chú thích (Comment) của trình biên dịch
Các lệnh là các mã gợi nhớ quen thuộc của các lệnh thực thi được Các chỉ dẫn là
các lệnh của trình biên dịch dùng định nghĩa cấu trúc chương trình, các dữ liệu, ký hiệu,
hằng số, Các điều khiển thiết lập các mode của trình biên dịch và các luỗng hợp dịch
trực tiếp Các chú thích giúp chương trình dễ đọc bằng cách đưa ra các giải thích về
mục dích và hoạt động của các chuỗi lệnh
Khuôn dạng tổng quát của mỗi dòng:
Chỉ có trường mã gợi nhớ là bất buộc,
Với ASMSI, trường nhãn khóng bất buộc bất đầu ở cột 1, trường mã gợi nhớ
Không cần ở trên cùng 1 dòng với ưướng nhãn, nhưng trường toán hạng phẩi ở trên
w Lòng với trường mã gợi nhớ
3.1 Trường nhãn (Label field)
Nhãn biểu thị địa chỉ của lệnh (hoặc dữ liệu) theo sau Khi có sự rẻ nhánh đến
lệnh này, nhãn được dùng trong trường toán hạng của lệnh rẻ nhánh (hoặc lệnh nhảy) Nhãn là một loại ký hiệu và được nhận dạng bằng dấu hai chấm: (kết thúc nhãn)
5.3.2 Trường mã gợi nhớ (Mnemonic field)
Mã gợi nhớ của lệnh hoặc chỉ dẫn của trình địch hợp ngữ theo sau trường nhãn Các ví dụ về mã gợi nhớ của lệnh là: ADD, MOV, DIV, DEC HOAC INC,
Các ví dụ về mã gọi nhớ của chỉ dẫn là: ORG, EQU hoặc DB
5.3.3 Trường toán hạng (Operand field)
Trường toán hạng theo sau trường gợi nhớ, trường này chứa địa chỉ hay đữ liệu mà
lệnh sẽ sử dụng Các khả năng của trường toán hạng phụ thuộc vào thao tác, có thao
tác không có toán hạng như: RET trong khi các thao tác khác cho phép nhiều toán hạng, cách nhau bởi dấu phẩy
5.3.4 Trường chú thích (Comment field)
Các chú thích để làm rổ chương trình được đặc trong trường chú thích ở cuới đồng
lệnh Các chú thích phải được bắt đầu bằng dấu chấm phẩy(;)
Trang 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 Dia chi gidn ti€p (Indirect Address)
Đối với một số lệnh, trường toán hạng có thé xác định một thanh ghi mà nội dung
của thành ghỉ là địa chỉ của dữ liệu, dấu @ chỉ ra địa chỉ gián tiếp mà thanh ghi theo
sau dia chi la RO, RI, DPTR hode PC tuỳ vào lệnh cụ thể
5.3.7 Dit ligu tite thoi ( Immediate Data)
Các lệnh xử dụng kiểu định địa chỉ tức thơi cung cấp dữ liệu trong trường toán hạng và dữ hiệu này ưở thành 1 phân lệnh Ký hiệu # được đặt trước dữ liệu tức thời
5.3.8 Địa chỉ dữ liệu ( Data Address )
Nhiều lệnh truy xuất các vị trí nhớ bằng cách sử dụng kiểu định địa chỉ trực tiếp
và yêu cầu một địa chỉ của bộ nhớ đữ liệu trên chip (00H + 7FH) hay một địa chỉ của 1 thành ghỉ
Chức năng đặc biệt SFR (80H + OFFH) trong trường toán hạng Các ký hiệu tiên định nghĩa được sử dụng thay cho địa chỉ của các thanh ghi chức năng đặc biệt SFR
5.3.9 Dia chi bit ( Bit Address )
Các lệnh truy xuất các vị trí được định địa chỉ bit phải cung cấp địa chi bit trong
bộ nhớ dữ liệu nội (00H + 7FH) hoặc địa chỉ bít trong các thanh ghi SFR (80H + OFFH)
Có 3 cách để xác định địa chỉ bit trong 1 lệnh:
„_ Địa chỉ bit đã biết trước
+ Sit dung toán tử dot (.) giữa địa chỉ byte và địa chỉ bit
+ Sử dụng ký hiệu tiền định nghĩa
5.3.10 Địa chỉ của lệnh (Code Address)
Địa chỉ của lệnh được dùng trong toán hạng cho các lệnh nhảy và thường được cho dưới dạng các nhãn
5.3.11 Các lệnh nhảy và gọi tổng quát (Generic Jump and Calls)
ASM51 cho phép người lập trình sử dụng mã gợi nhớ tổng quát JMP hay CALL Lệnh “MP” có thể được dùng thay cho “SYMP, AIMP, LIMP” va “CALL” có thé thay
cho ACALL hay LCALL Trình dịch hợp ngữ biến đổi mã gợi nhớ tổng quát thành lệnh
—————ễ—
Trang 39Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang
“thực “ theo 1 vài qui luật đơn giản Việc biến đổi không nhất thiết phẩi có sự lựa chọn lập trình tốt nhất
5.4 CÁC BIỂU DIỄN CỦA TRÌNH DỊCH HỢP NGỮ
Các giá trị và hằng số trong trường toán hạng có thể được biểu diễn theo 3 cách:
toán giá trị và chèn kết quả vào trong lệnh
&%4.1 Các cơ số (Number Basses)
Cát sở cho các hằng số được chỉ ra theo cách thông dụng Các hằng số phải được
theo bắi các số nhị phần *B”, theo sau số Octal “O” hoặc “Q”, theo sau số thập phân
®DЈ hoặc không có gì, theo số hcx “H”
Lưu ý là 1 digit số phải là ký tự
biệt chúng với các ký tự
tiền cho các hằng số dạng số hex để phân
5.4.2 Các chuỗi ký tự (Character String)
Các chuỗi có 1 hay 2 ký tự có thể được sử dụng làm các toán hạng trong các biểu
thức Các mã ASSCIH được biến đổi thành nhị phân tương đương bởi trình dịch hợp ngữ
Các hằng ký tự được đặc trong hai dấu nháy đơn
5.4.3 Các toán tử logic (logic Operation)
+ : cộng
ˆ ¡ trừ
* : nhân
J: chia
Mod :modulo (phép lấy dư)
Vì toán tử mod có thể bị nhâm lẫn với một ký hiệu, toán tử này phải cách các
toán hạng tối thiểu 1 ký hiệu khoảng trắng hoặc tab, hoặc các toán hạng phải được ở
trong hai dấu ngoặc
5.4.4 Các toán tử logic (Logic Operations)
Các toán tử logic là OR, AND, XOR, NOT
Các thao tác được thực hiện trên các bit tương ứng trong từng toán hạng Các toán
tử phải được cách các toán hang bởi một khoảng trắng hoặc tab
“Toán tử NOT chỉ thực hiện trên 1 toán hạng
Trang 40
Luận văn tốt nghiệp GVHD : Nguyễn Phương Quang
5.4.5 Các toán tử đặc biệt (Special Operation)
Khi một toán tử quan trọng được sử dụng giữa hai toán hạng thì kết quả luôn luôn
hoặc xát (0000h) boặc đúng (FEFFFEH), các toán tử quan hệ là:
£Q : Equals (bing)
Ni <>: NOT equals (khong bang)
LT < ; Less than (nhé hon)
LE <=: Less than or equal (nhỏ hơn hoậc bang)
GT > : Greaterthan (lớn hơn)
GE >= : Greater than or equal (1dn hon hoặc bằng)
Với mỗi một toán tử có thể sử dụng 1 trong 2 dạng ký hiệu nêu trên
5.4.7 Ưu tiên các toán tử
Ưu tiên của các toán tử trong biểu thức từ cao nhất đến thấp nhất như sau :