Khi thực hiện để tài này nhằm giúp cho nhóm nghiên cứu có điều kiện ứng dụng những kiến thức đã được trang bị ở nhà trường, đồng thời có cơ hội để tìm hiểu thêm về những kiến thức mới tr
Trang 1BO GIAO DUC VA DAO TAO 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 GIÁO TRÌNH ĐIỆN TỬ
UNG DUNG PHAN MEM SMS 32V23
MO PHONG VI DIEU KHIEN
GVHD: NGUYÊN PHƯƠNG QUANG SVTH: NGUYÊN TRÀN THANH NHÀN
“LOO )'1 11: IE
TP Hồ Chí Minh, tháng 07/2002
Trang 2BIEN SOAN GIAO TRINH GIANG DAY UNG
DUNG PHAN MEM SMS32V23 MO PHONG
TRONG VI DIEU KHIEN
GVHD: NGUYEN PHUGNG QUANG SVTH : NGUYEN TRAN THANH NHAN MSSV : 00301035
LỚP : CT2000 KĐĐ NIÊN KHÓA 2000 - 2002
$KL 004136
Trang 4Bộ Giáo Dục & Dao Tao Cộng Hoà Xã Hội Chủ Nghĩa Việt Nam 'Trường ĐH Sư Phạm Kỹ Thuật Độc Lập - Tự Do - Hạnh Phúc
Bộ Môn Điện Tử
NHIỆM VỤ LUẬN ÁN TỐT NGHIỆP
Họ và tên: Nguyễn Trần Thanh Nhàn
Trần Thị Hồng
Ngành : Kỹ thuật Điện - Điện Tử Lớp : CT 2000 KĐĐ
Để tải :
BIẾN SOẠN GIÁO TRINH BIEN TU UNG DUNG PHAN
MÊM SMS32V23 MÔ PHONG VI ĐIỀU KHIỂN
Nhiệm vụ (yêu cầu và nội dung ) :
Ngày giao nhiệm vụ luận án: $141 2002,
Ngày hoàn thành nhiệm vụ t‡-L4002
Họ tên giáo viên hướng dẫn : Nguyễn Phương Quang
Nội dung và yêu cầu luận án tốt nghiệp đã được thông qua bộ môn
Ngay Ab thang 4 năm2002
Chủ nhiệm bộ môn Giáo viên hướng dẫn
Vy
Trang 5
Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
LỜI CẢM ƠN
Qua những năm tháng học tập ở trường, chúng em đã nhận được sự dạy bảo, sự giúp đỡ tận tình của quí thầy cô trường Đại Học Sư Phạm Kỹ
Thuật, chúng em đã vượt qua những chặn đường đầy khó khăn, để đạt
được mục đích học tập như ngày hôm nay Với lòng biết ơn sâu sắc, chúng
em kính xin được gởi lời cảm ơn chân thành nhất đến :
-_ Thầy Nguyễn Phương Quang, thầy trực tiếp hướng dẫn đề tài,
đã tận tình chỉ dẫn trong suốt thời gian thực hiện đề tài để từ
đó chúng em đã đúc kết cho mình những kiến thức bổ ích
- Qui thay cé khoa Dién — Điện Tử ,
- Qui thay cé trường Đại Học Sư Phạm Kỹ Thuật
-_ Tập thể lớp CT 2000 KĐĐ cùng các bạn sinh viên
Đã giúp đã hướng dẫn và chỉ bảo nhiệt tình cho chúng em trong suốt
thời gian làm luận án cũng như đã truyền đạt những kiến thức hết sức hữu
ích, quí báu cho chúng em trong những năm học vừa qua để làm hành trang bước vào tương lai
Cám ơn quí thầy cô, nhà trường đã dành sự quan tâm cho tập luận
án
Cám ơn tất cả đã tạo điều kiện cho chúng em hoàn thành tập luận
án này
Tp.Hồ Chí Minh, ngày 6 tháng 7 năm 2002
Nhóm sinh viên thực hiện
Nguyễn Trần Thanh Nhàn
Trần Thị Hông
——————————ễ SVTH:: Nguyễn Trần Thanh Nhàn
Trang 6Luận án tốt nghiệp ee GVHD : Nguyễn Phương Quang
` 2 Ậ
LOI MO DAU
Khi nền văn minh của nhân loại ngày càng đi lên và phát triển thì
ngành điện - điện tử đã góp phần quan trọng không nhỏ trong sự phát
triển đó Nó là một trong những ngành mũi nhọn của nền kinh tế quốc dân
và giữ vai trò quan trọng trong quá trình công nghiệp hoá và hiện đại hóa
đất nước
Ta không phóng đại khi nói rằng bộ vi xử lý (Microprocessor) đã cách mang hóa ngành công nghiệp điện tử và đã có một tác động đáng kể
đến nhiều lĩnh vực trong cuộc sống con người Sự phát triển loại IC ( mạch
úch hợp) có mật độ cực kỳ cao đã góp phần giảm mạnh kích cỡ và giá
thánh của máy vi tính, tính đa năng của chúng đượcc thể hiện trong đủ
mọi loại sản phẩm và ứng dụng
Ở nước ta hiện nay, vấn đề này cũng khá phát triển, có thể thấy rõ
qua những ứng dụng kỹ thuật số điều khiển trong nhiều ngành công nghiệp khác nhau Do đó để cập nhật những vấn đề mới này, các trường
đại học, cao đẳng đã đưa kỹ thuật này vào chương trình giảng dạy cho
sinh viên Tuy nhiên do tài liệu về vi xử lý, vi điều khiển cũng mới phổ
biến và còn khá mới lạ trong trường học Vì vậy để giúp cho người học có
cái nhìn tổng quát và cơ bản về vi xử lý, vi điều khiển nên chúng em đã chọn đề tài : “ Biên soạn giáo trình điện tử ứng dụng phân mềm
SMS32V23 mô phông vi điều khiển ” Trong quá trình thực hiện luận án
này, với kiến thức và thời gian có hạn nên đề tài còn nhiều sai sót không
tránh khỏi nên mong thầy cô và các bạn sinh viên thông cảm và đóng góp
ý kiến quí báu đề đề tài này hoàn thiện hơn
Xin chân thành cảm ơn !
Nhóm sinh viên thực hiên
i
SVTH : Nguyễn Trần Thanh Nhàn
Trang 7Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Nhận xét của giáo viên hướng dẫn
Nhận xót của giáo viên phản biện
Lời cắm ơn
Lời mở đầu
Mục lục
PHAN B: NOI DUNG
Chương 1: DAN NHAP
Chương 4: CÀI ĐẶT CHƯƠNG — Mô PION G i cccacoocacsassnvcosssseinsassssce 19
Chương 5: THÁO CÀI ĐẶT
Chương 6: NHẬP MÔN THIẾT KẾ LẬP TRÌNH .- 24
5.2 Cấu trúc IF- THEN
5.3 Cấu trúcIF- THEN - ELSE
Trang 8Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
———————
5.6 Cấu trúc lập WHILE- DO
5.7 Cấu trúc lập REPEAT - UNTIL
Chương 7: HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH MÔ PHONG
VÀ CÁC BÀI TẬP
Chuong 8: CAC CHUONG TRINH MINH HOA DIEU KHIEN CÁC
THIET BI NGOAI VI TRONG CHUONG TRINH MO PHONG
SMS32V23
Keyboard Input (Nhập từ bàn phím)
Traffic Lights (Đèn giao thông)
Seven Segment Display (Led 7 doan)
Heater and Thermostat (Lồ sấy và cảm biến nhiệt)
Snake and Maze (Rắn và ma trận)
Stepper Motor (Động cơ bước)
Lift Simulation (Thang máy)
PHẦN C: PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO
OE
SVTH : Nguyễn Trần Thanh Nhàn
Trang 9a= he pm Z 3
NOI DUNG
Trang 10Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Trang 11Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
phần phát triển của khoa học tính toán và xử lý thông tin, nó ảnh hưởng
quyết định đến con đường “tin học hoá” xã hội, tức là con đường mà
thông tin đã và đang trở thành lực lượng sản xuất trực tiếp trong nên sản xuất của kỷ nguyên tới
Nhớ sự phát triển của công nghệ điện tử, nhất là công nghệ chế tạo
vi điện tử, đóng thời cùng với sự phát triển của các thế hệ máy vi tinh, các bộ ví điểu khiển “Microprocessor” cũng ra đời và phát triển
Microcontroller la một hệ vi xử lý thật sự được tổ chức trong một chíp bao gôm bộ ví xử lý “Microcontroller”, bộ nhớ chương trình “EPROM”, bộ
nhớ đữ liệu “RAM”, các cổng vao/ ra Một hệ vi xử lý tối đa không có giới hạn trên về số lượng thành phần, về chức năng thực hiện và về quy
mô ứng dụng Vấn đề là trên cơ sở của yêu câu cụ thể của hệ cần thiết kế
mà tổ chức được phần cứng của hệ ở dạng tối thiểu (nhằm tăng tốc độ, giảm giá thành và tăng độ tin cậy) và xây dựng phần mềm thật tối ưu nhằm tăng khả năng linh hoạt và mềm dẻo trong các phép xử lý, gia công
và biến đổi tính hiệu mà hệ phải thực hiện
Qua các vấn để nêu ở trên, ta thấy việc học về vi xử lý, vi điều
khiển, tương đối khó đối với sinh viên các ngành điện tử — viễn thông,
công nghệ thông tin, tự động điều khiển khi mới bắt đầu học Do đó để
giúp các bạn làm quen và hiểu được những vấn để đơn giản ban đầu và dan đi vào nghiên cứu sâu hơn về vi xử lý, vi điều khiển chúng em đã
tiến hành thực hiện để tài này Bản chất của chương trình trong phần
mềm này mô tả vi xử lý 80X86 (8086, 80186, 80286 ) nhưng được trang
bị đây đủ eác giao tiếp I/ O (như bàn phím, ngõ ra điều khiển đèn giao
thông, thang máy, lò sấy , động cơ bước ) nên mới được giới thiệu là mô phồng vi điều khiển (Micro Controller Simulator)
—————————ễễ SVTH : Nguyễn Trần Thanh Nhàn Trang 2
Trang 12GVHD : Nguyễn Phương Quang
2 Vị trí của dé tai:
Khi tiếp cận với vi xử lý, vi điều khiển sinh viên thường gặp
nhiều khó khăn chung quanh viiệc sử dụng tập lệnh của vi xử lý vào việc
lập trình, nếu chỉ học lý thuyết thì thật khó để sử dụng thông thạo vi xử
lý Nếu tiếp cận theo hướng thực hành thông qua phần mềm này, người
học sẽ dễ dàng tiếp cận với việc lập trình vi xử lý hơn
Đây là một phần mềm rất hay giúp cho sinh viên dẫn làm quen với
các tấp lệnh cơ bản, chương trình điều khiển các giao điện phần cứng liên
quan đến thực tế Khi hiểu được chương trình này thì nó sẽ là nền tảng để ngươi học học tiếp các chương trình ngôn ngữ cao hơn, nghiên cứu về các chip 40X51, 89X51 dé hdn
Khi thực hiện để tài này nhằm giúp cho nhóm nghiên cứu có điều
kiện ứng dụng những kiến thức đã được trang bị ở nhà trường, đồ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ên ứng dụng liên quan đến vi xử lý, vi điều khiển, viết
chương trình cho các giao diện phần cứng
han dé tai:
á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 đầu tiên thực hiện công tác nên nhóm chỉ dừng lại ở mức độ
đơn giản là :
-_ Nghiên cứu về cấu trúc của hệ thống chương trình mô phỏng
- Hướng dẫn nhập môn thiết kế lập trình vi xử lý, vi điều khiển
-_ Hướng dẫn sử dụng chương trình mô phồng và đưa ra các bài tập minh
họa cho các thiết bị ngoại vi
Mặc dù vậy, khi bắt tay vào thực hiện là cả một lượng kiến thức
khá lớn và thời gian nghiên cứu lâu dài Do đó để tài này vẫn còn một số hạn chế :
-_ Bài tập củng cố chỉ giải được một phần
-_ Chương trình mô phỏng này chỉ có thể mô phỏng với các thiết bị ngoại
vi có trong chương trình, không thể đưa ra để thiết kế trong thực tế
“———————— SVTH : Nguyễn Trần Thanh Nhàn Trang 3
Trang 13Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Nếu có thời gian và kinh phí, nhóm sẽ nghiên cứu các phần mềm
khác như phân mềm UMPS có thể tải phần mễm Freeware về tại địa chỉ UMPS Simulator.com để làm phong phú thêm cho để tài và đây cũng là
một hướng phát triển của để tài
4 Mục đích nghiên cứu :
Để tài này có thể ứng dụng phục vu cho các sinh viên nghiên cứu
về vi xứ lý, vi điều khiển ở mức độ cơ ban Các bạn sinh viên cũng có thể
xem trang web do nhóm nghiên cứu tạo ra để được hướng dẫn thêm các thong tin về để tài
—ễễễễễễễễễễễễễễ
Trang 14Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Trang 15Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
1/ Đối tượng sử dụng chương trình mô phông:
Chương trình mô phỏng thích hợp cho các sinh viên đang nghiên
cứu điều khiển lập trình ở cấp thấp, hoặc cấu trúc máy tính
Chương trình mô phỏng này có thể được sử dụng cho cả những học
sinh ở lứa tuổi 14 đến 16 khi giải quyết những vấn để đơn giản như điều khiển đèn giao thông, điều khiển theo hình rắn chạy
Ngoài ra chương trình còn giúp cho sinh viên các năm cuối có thể
giải quyết những vấn để lập trình ở cấp thấp, khá phức tạp có liên quan
đến những lệnh nhảy có điều kiện, các qui trình ngắt phần cứng, phần
mm và toán tứ logic Mặc dù các chương trình không lớn, nhưng là một
môi trưởng tốt để ta có thể thiết kế lập trình theo modun
2/ Chương trình mô phồng thì phù hợp cho các lớp như :
©_ Lớp hệ thống vi xử lý căn bản
© Hệ thống máy tính
© Các lớp điện tử
© Các lớp liên quan đến vi diéu khiển
© Các lớp liên quan đến các hệ thống điểu khiển
e_ Các lớp lập trình ngôn ngữ thấp
3/ Phần mô tả chương trình mô phỏng :
Trong phiên bản phần mềm hướng dẫn, không có các lệnh sau:
CALL, RET, INI và IRET Bộ ngắt Timer phần cứng không chạy được
bởi vì lệnh IRET cũng không được sử dụng Các phiên bản đăng ký bao
gồm nhiều tính năng do đó để đăng ký thì ta phải kết nối internet
Chương trình mô phỏng này mô phỏng trên CPU 8 bit tương tự như
8 bit thấp của họ vi xử lý 80X86 (X: _;1; 2; 3 .) RAM được mô phỏng có
256 byte
4/ Các đặc trưng của chương trình mô phống :
e CPUS8bit
e 16 céng vào /ra (một số cổng rất ít xài )
SVTH : Nguyễn Trần Thanh Nhàn Trang 6
Trang 16Luận án tốt nghiệp GVHD ; Nguyễn Phương Quang
¢ Chạy chương trình một cách liên tục và gián đoạn (chạy thử)
© Ngất port 2 được điểu khiển bởi bộ định thời phần cứng (mô
Trang 17Luận án tốt nghiệp GVHD : Nguyễn Phuong Quang
Trong màn hình giao diện Sms32v23 ta thấy trên thanh công cụ có các trình đơn : Eile, Edit, View, Help với các thanh ghi AL, BL, CL, DL,
ác thanh ghi mục đích đặt biệt IP, SR, SP
ra trên màn hình còn có các giao diện phan cứng và các biểu
tượng hổ trợ như: Assemble, Step, Run F9, Slower, Faster, Stop,
Continue, CPU Reset, Show Ram Chức năng của chúng sẽ được trình
và
bay kỹ ở phần sau
6/ t;iới thiệu các giao diện phần cứng:
Yan hinh VOU:
-ong cu ta nhấp vào biểu tượng BI tic nay trén man
sẽ xuất hiện màn hình VDU
Ta nhấp chuột vào biểu tượng Bl , lúc này trên màn hình soạn thảo
sẽ xuất hiện giao diện của đèn giao thông
jghts on Pore
ee
Trong giao diện đèn giao thông có 8 bit điều khiển, nhưng chỉ có 6
bit điều khiển tắt mở đèn (MSB)trong đó 3 bit điều khiển đèn bên trái, 3
SVTH : Nguyễn Trần Thanh Nhàn Trang 8
Trang 18Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
“————————ễễ
bit còn lại điều khiển đèn bên phải; 2 bit còn lại là bit thấp (LSB) không
sử dụng Bit bằng 0: đèn tắt Bit lên 1: đèn sáng
s* Led 7 đoạn:
Nhấp chuột vào biểu tượng ‘Bl , trên màn hình soạn thảo sẽ xuất hiện
giao điện của Led 7 đoạn
BE
Trong giao điện Led 7 đoạn có 8 bit điều khiển Trong đó 7 bit điều
khiển các đoạn của Led sáng tắt tương ứng (MSB), bit = 0: đoạn Led
tương ting tat, bit = 1: đoạn Led tương ứng sáng
Bit còn lại dùng để chọn Led hoạt động (LSB) Bit bằng 0: Led trái
hiển thị Bit lên 1: Led phải hiển thị
* Rắn và ma trận:
Khi ta nhấp vào biểu tượng trên thanh công cụ, thì trên màn
hình soạn thảo sẽ xuất hiện giao diện của rắn và ma trận
Trong giao diện này có 8 bit để điều khiển rắn
e Bốn bit bên trái chỉ hướng rắn di chuyển (lên, xuống, trái,
phải)
e_ Bốn bit bên phải chỉ khoảng cách rắn sẽ di chuyển
SVTH : Nguyễn Trần Thanh Nhàn
Trang 19Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
s* Lò gia nhiệt và cảm biến nhiệt
Nhấp chuột vào biểu tượng BÍ, sẽ xuất hiện giao diện lò gia nhiệt
và cảm biến nhiệt trên màn hình soạn thảo
g rian hình mô phỏng lò sấy này có 8 bit điều khiển Trong đó
+ bịt bén trái (MSB) được sử dụng để bật và tắt lò sấy, bit bên phải
được sử dụng để dò tìm (như một cắm biến nhiệt) có hay không,
trên 21C Các bit còn lại không sử dụng
** Thang máy:
Khi nhấp vào biểu tượng li , sẽ xuất hiện màn hình mô phỏng
thang máy trên màn hình soạn thầo
Trong giao diện mô phỏng thang máy có 8 bit điều khiển Trong đó
4 bit thấp (LSB) được dùng để điều khiển sự di chuyển lên xuống của
thang máy, và lấy dữ liệu điều khiển ra thang máy ,sử dụng sợi dây có
đánh số 1, có nghĩa là cầm biến đã bật lên Số 0 cho biết cầm biến đã tắt
Trong bốn bit cao có 2 bit mô phồng 2 công tắc điều khiển sự lên
xuống của thang máy
————
SVTH : Nguyễn Trần Thanh Nhàn "Trang 11
Trang 20Luận án tốt nghiệp GVHD : Nguyễn Phương Quang,
VD
99 tlight.asm : 99 sevseg.asm VD: 99 hon.asm — 99 heff.asm
99 snake.asm
Trang 21
Luận án tốt nghiệp SSS ễ — GVHD : Nguyễn Phương Quang, TT —-
7/ Tài liệu hướng dẫn :
Văn bản giúp đỡ trực tuyến được lưu trong tập tin Window help có thể mở trong Word Nguôn Rich Text Format (RTF) cho tập tin help cũng
có sẵn Nhiều chương trình xử lý word bao gồm MS Word có thể đọc các file RTF, Người sử dụng đã đăng ký được phép sửa đổi các tập tin Help cho sinh viên sử dụng và được phép in hay photo ra nhiều bản
SVTH : Nguyễn Trần Thanh Nhàn Trang 13
Trang 22Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
CHƯƠNG 3
CẤU TRÚC HỆ THỐNG
=————ễễễễễ- SVTH : Nguyễn Trần Thanh Nhàn Trang 14
Trang 23Luận án tốt nghiệp GVHD : Nguyễn Phương Quang,
Chương trình mô phỏng này cho phép bạn thực hiện hầu hết các vấn đề được để cập trong phần mêm này
Bộ mô phỏng bao gồm khối xử lý trung tâm (CPU), 256 byte của
bộ nhớ truy xuất ngẫu nhiên (RAM) và 16 cổng vào ra nhưng chỉ sử dụng
5 port, bộ định thời điều khiển ngất port 2 tại thời gian định sấn bằng cách
Chương trình mô phồng có thể lập trình để chạ y nhiều chương trình
khác nhau Trong thực tế, bộ nhớ RAM được thay thế bằng ROM và hệ
thống chỉ chạy 1 chương trình cố định được đặt trong ROM Ở đây có
hàng trăm thí dụ về các hệ thống như : điều khiển đèn giao thông, các trò
chơi giải trí đơn giản, điều khiển tỉ vi từ xa, định thời gian cho lò viba, hệ
thống điều khiển động cơ xe hơi, bộ điều khiển lò gia nhiệt, các hệ thống điều khiển môi trường
_— —
SVTH : Nguyễn Trần Thanh Nhàn Trang 15
Trang 24Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
1 Khối xử lý trung tâm:
Đơn vị xử lý trung tâm là “ bộ não” của máy vi tính Tất cả các sự tính toán, sự quyết định và việc dịch chuyển dữ liệu điều được thực thi ở
đây CPU dùng các vị trí lưu trữ được gọi là thanh ghi Nó chứa khối số
học và đơn vị logic (viết tắt là ALU) khối này thực hiện việc xử lý Dữ liệu được lấy từ các thanh ghi, được xử lý và kết quả sau khi xử lý xong
được đưa trở lại các thanh ghi Lệnh Move (MOV) được sử dụng để dịch
chuyển dữ liệu giữa vùng nhớ RAM và các thanh ghi Ở đây ta có rất
nhiều lệnh, mỗi lệnh thì có một chức năng riêng Tất cả các lệnh này
được gọi là tập lệnh
2/ Các thanh ghi đa năng,
CPU có bốn thanh ghi mục đích chung gọi là AL, BL, CL và DL
Những thanh ghi này chứa 8 bít hay 1 byte Các thanh ghi quản lý số
không dấu trong vùng từ 0 đến 255 và ô có dấu vùng từ - 128 đến + 127
: @ đây các thanh ghi này sử dụng như vùng nhớ lưu trữ tạm thời Các
thanh ghi được sử dụng ưu tiên đối với vùng nhớ RAM bởi vì nó cần 1
khoảng thời gian tương đối dài để chuyển dữ liệu giữa RAM và CPU Nhìn chung máy vi tính có tốc độ xử lý nhanh hơn nếu có nhiều thanh ghi
CPU hơn hay bộ nhớ có dung lượng lớn hơn trong CPU
Các thanh ghi được gọi tên là AL, BL,CL và DL vì phiên bản 16 bit
của CPU này có nhiễu thanh ghi gọi là AH, BH, CH và DH Chữ “L” có nghĩa là thấp (Low) và chữ “H” có nghĩa là cao (High) 6 đây, 2 chữ cuối
L và H trong các thanh ghi trên chính là 8 bít thấp và 8 bít cao của thanh
ghi 16 bit
3/ Các thanh ghi mục đích đặc biệt :
Các thanh ghỉ mục đích đặc biệt trong CPU được gọi là IP, SR và
SP
% Con trô lệnh IP
Thanh ghi nay chứa địa chỉ lệnh đang được hiện hành Khi việc
thực thi hoàn thành, IP được giảm xuống và chỉ tới lệnh kế tiếp Lệnh nhảy sẽ thay đối giá trị của IP vì thế thứ tự của chương trình cũng nhầy
=———————— SVTH : Nguyễn Trần Thanh Nhàn Trang l6
Trang 25Luin An ttnghigp GVHD : Nguyễn Phương Quang
tới 1 vị trí mới Lệnh CALL và A cũng làm thay đổi giá trị lưu trữ trong
IP Khi bộ nhớ RAM hiển thị, thì con trổ lệnh được làm nổi rõ bằng màu
đồ với văn bản vàng
* Thanh ghi trang thai SR
Thanh ghi này chứa các cờ để báo cáo về trạng thái CPU
© Cờ zero “Z” được thiết lập bằng 1 nếu việc tính toán có kết quả bằng
6,
« Cỡ dấu “S* được thiết lập bằng 1 nếu việc tính toán có kết quả âm
«Cơ tràn “O”được thiết lập nếu kết quả trong thanh ghi lớn hơn 255
« Ngất “I” được thiết lập nếu các lệnh ngắt được cho phép
# Con trỗ ngăn xếp SP
Ngăn xếp là 1 vùng của tổ chức bộ nhớ sử dụng qui tắc vào sau ra trước (LIPO) Con trổ ngăn xếp chỉ tới ô nhớ ngăn xếp chồng kế tiếp Ngăn xếp trong bộ mô phỏng bắt đầu tại địa chỉ BF Ngăn xếp tăng theo
hướng địa chỉ 0, dữ liệu được cất vào ngăn xếp và lưu giữ nó cho lần sử
dụng sau Dữ liệu được lấy ra khỏi ngăn xếp khi cân đến Con trổ ngăn
xếp quản lý nơi ngăn xếp cất và lấy dữ liệu ra Khi hiển thị trong RAM,
con trổ ngăn xếp được tô sáng bằng màu xanh với văn ban vàng
4/ Bộ nhớ truy xuất ngẫu nhiên :
Bộ mô phỏng có 256 byte RAM, có địa chỉ từ 0 đến 155 ( số thập
phân) hay từ 00 đến FF (số Hex) Địa chỉ của RAM thường được đặt trong dấu ngoặc vuông ví dụ như [7C] trong đó 7C là số Hex [7C] đọc là dữ liệu cất tại ô nhớ 7C
5/ Các Bus (luông liên lạc):
Các bus là một tập hợp các day dẫn được sử dụng để mang tín hiệu
đi quanh máy tỉnh Chúng thường được in như các đường song song trong
board mach dién Khe cắm là các ổ cắm cho phép card có thể kết nối với
hệ thống Điển hình một máy tính 8 bit có các thanh ghi với độ rộng 8 bit
=——
SVTH : Nguyễn “Trần Thanh Nhàn Trang 17
@fL, 00 AA46
Trang 26và 8 đường trong 1 kênh dữ liệu (bus) Một máy tính 16 bit có các thanh
ghi 16 bít, có 16 đường địa chỉ và dữ liệu v v
PC của IBM ban đầu có 8 đường dữ liệu và 20 đường dia chỉ cho phép truy cập bộ nhớ RAM có dung lượng 1 MB Bây giờ thường dùng thanh ghi 32 bit và các bus (năm 1997)
Bus dữ liệu : được sử dụng để mang dữ liệu giữa CPU, RAM và port nhập / xuất (1O) Bộ mô phỏng này có bus dữ liệu 8 bit
uc địa chỉ : được sử dụng để xác định địa chỉ của bộ nhớ RAM
hay port /O được sử dụng Bộ mô phồng này có 8 bịt địa chỉ
Bus điều khiển : xác định RAM hay khối L/O được truy xuất Nó cũng xác định việc đọc hay viết dữ liệu Dữ liệu được viết vào hay xuất
ra trén CPU dén RAM hay cổng L/ O cũng do bus điều khiển này
Đồng hả hệ thống : là đường mang những xung ổn định để mà các
thành phân điện tử đều có thể thực hiện chức năng đúng thời gian Tốc
độ xung clock khoảng 100 đến 200 triệu chu kỳ mỗi giây (vào năm 1997)
Như vậy tốc độ xung đổng hồ được xem như có tan số vài MHz
Ngắt phân cứng : đòi hỏi ít nhất 1 đường ngắt Điều này cho phép
CPU đáp ứng từ các việc gây ra bởi phần cứng ví dụ như máy in đang chạy nhưng hết giấy CPU xử lý một số mã máy để trả lời đến lệnh ngắt
Khi hoàn thành, nó sẽ tiếp tục lại các thao tác ban đầu PC IBM có 16
đường ngắt được điều khiển bởi 4 đường
SVTH : Nguyễn Trần Thanh Nhàn Trang 18
Trang 28
Đầu tiên phải chép các file từ đĩa được nhà sản xuất phân phối trên thị trường hay file được tải trên mạng xuống vào máy tính
1/ Điều kiện cần thiết để cài hệ thống :
SMS32V23.exe đòi hỏi máy phải sử dụng Window 95 hoặc cao hơn như 98, 2000, Me, NT, XP với chuột hay một thiết bị trổ khác để truy cập
vào các phần trợ giúp trong phần mềm
2/ Cai đặt chương trình:
Hãy tạo 1 thư mục cho tất cả các file chương trình mô phỏng và copy chúng từ đĩa tới thư mục này
Trong các đĩa đang bày bán trên thị trường thường có hai phần:
phan Shareware (phần quảng cáo) và phan Crack Nếu chỉ chạy trong Shareware thì một số lệnh trong vi diéu khiển như CALL, RET, INT,
IRET không thực hiện được Muốn chạy được các lệnh này phẩi bể khoá
Việc bể khóa ở đây rất đơn giản chỉ cần chép thư mục Crack vào phần
Shareware, chương trình chạy được các lệnh trên
a SMS32V23.exe là file thực thi của phan mém khi còn là
chương trình Shareware Sau khi Crack, trong phần mềm sẽ
thêm file SMS.exe phải chạy file này chương trình mới chạy được các lệnh IRET, CALL
a Do các file gốc trong chương trình đều là file nén (để tiện
cho việc tao đổi trên Internet) nên phai giải nén các file này thì chương trình mới chạy được
Để thuận tiện cho việc sử dụng chương trình mô phỏng, nhóm
nghiên cứu đã giải nén và bể khóa phần mềm SMS32V23 và chép vào
đĩa CDROM Người sử dụng chỉ việc chép toàn bộ thư mục “SMS32V23”
vào máy tính và sử dụng mà không cần làm thêm một thao tác nào nữa
Goi ý : trong môi trường đại học, các file bài tập nên tạo sẵn cho sinh viên Các file này được đánh số như ví dụ này : 02tlight.asm và
99snake.asm Các tập tin ví dụ khác thì giải thích khả năng của chương
trình mô phỏng và lợi ích của việc sắp xếp các chương trình Sinh viên có
SVTH : Nguyễn Trần Thanh Nhàn Trang 20
Trang 29Luận án tốt nghiệp, GVHD : Nguyễn Phương Quang
thể tự viết chương trình DEMO.asm đã được soạn sẵn Các file ví dụ khác
thì thầy cô giữ tham khảo
3/ Cài đặt thông qua mạng máy tính :
Vào mạng tại Website http://www.samphire.demon.co.uk ở mục
Microcontroller Simulator tải về các file trong thư mục SMS32V23, ta có được phần mềm dạy Shareware, muốn chạy được chọn vẹn chương trình
ta cũng crack như đã nêu ở trên
Lưu ý:
Tập tin userinfo.reg, nếu sấn có thì nên cho vào cùng một thư mục như Sms32v23.exe Userinfo.reg chứa mã đăng ký mà bạn cần để chạy
chương trình mô phỏng Khi userinfo.reg bị mắc lỗi, chương trình mô
phỏng sẽ chạy ở chế độ phần mềm quảng cáo Khi bạn đăng ký, bạn sẽ nhận được những hướng dẫn liên quan đến userinfo.reg
Tập tin giúp đỡ trực tuyến - Sms32v23.hlp nên để trong cùng một thư mục với sms32v23 exe
4/ Chạy chương trình :
Nếu bạn đã tạo một biểu tượng (icon) M hãy nhấp 2 lần lên biểu
tượng hay lựa chọn biểu tượng và nhấn Enter Ngoài ra để hiệu chỉnh bạn
có thể nhấp 2 lần lên trên SMS32V23.exe bên trong file manager Bạn có thể kéo hay hạ file mã assembly trong biểu tượng chương trình Tên file
trong chương trình mô phỏng phải có phần mở rộng ( đuôi) .asm Bạn có thể đưa bất cứ kiểu ñle nào vào chương trình mô phồng nhưng kết quả có
thể không sử dụng được
SVTH : Nguyễn Trần Thanh Nhàn Trang 21
Trang 30Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Trang 31Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Chương trình SMS32V23 đơn thuần chỉ là một phần mềm ứng
dụng như bao phần mềm ứng dụng khác như Workbenel (EWB) nó
không đòi hỏi phải nằm trong ổ đĩa có WINDOWS (thường là ổ C), do đó
có thể xóa một phần hay toàn bộ chương trình mà không làm đảo lộn các chương trình ứng dụng khác Sử dụng File manager xóa tất cả các file
trong thư mục của chương trình mô phồng Xoá bỏ các biểu tượng hay các
sự liên quan khác đến chương trình mô phỏng từ hệ thống của bạn
SVTH : Nguyễn Trần Thanh Nhàn Trang 23
Trang 32Egencia totnghigp GVHD : Nguyễn Phương Quang
Trang 33Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
MÔ TẢ CHƯƠNG TRÌNH MÔ PHỎNG Trong phiên bản phần mễm quảng cáo (free ware) không có các
lệnh sau: CALL, RET, INI và IRET Bộ ngắt Timer phần cứng không
chạy được bởi vì lệnh IRET cũng không được sử dụng Các phiên bản sau
khi đã đăng ký bao gồm tất cã các tính năng trên và các phần phụ trợ
khác Để đăng ký thì ta phải kết nối internet hoặc chép phần mềm crack
để chuyển phiên bản free ware thành phiên bản chính thức
Chương trình SMS32V23 mô phỏng trên CPU 8 bit, đó chính là 8 bịt thấp của họ vi xử lý 80X86 ( 8086; 80186; 80286; 80386; 80486;
/5%6 ) Đây chính là điểm mạnh của phần mềm mô phỏng Thứ nhất,
đáy la bộ vi xử lý nổi tiếng một thời của Intel nó được sử dụng trong
nhiều lĩnh vực khác nhau, nhất là trong các máy IBM PC Các bộ vi xử lý
thuộc họ này sử dụng rộng rãi trong hàng chục năm nữa và vì tính kế thừa
của các sản phẩm trong họ 80X86, các chương trình viết cho 8086 vẫn có thể chạy được trên các hệ thống tiên tiến sau này Thứ hai, về góc độ sư
phạm thì đây là bộ vi xử lý khá đơn giản và vì vậy việc hiểu nó là dễ nhất trong các họ vi xử lý khác đối với người mới bắt đầu thân nhập vào lĩnh vực này Thứ ba, các họ vi xử lý trên thế giới tuy có điểm khác nhau
nhưng xét cho cùng cũng có rất nhiều điểm chủ chốt giống nhau, do đó
chỉ cản nắm vững 8086 ta sẽ có cơ sở để nắm bắt tất cả các bộ vi xử lý
khác Tuy dựa vào nền tắng là bộ vi xử lý 8 bit của Intel nhưng phần mềm lại được gọi là"Microcontroller Simulator" ( m6 phỏng vi diéu
khiển) vì nguyên lý làm việc của nó có sự lai tạp của vi điều khiển, ví dụ
trong CPU không hề có bộ nhớ mà chỉ có thanh ghỉ trong khi đó vi xử lý trong phần mêm có cả bộ nhớ chính; CPU muốn giao tiếp với môi trường ngoài thường phải dùng giao tiếp nối tiếp giao tiếp song song ( 8255,
8251 ) thì vi xử lý trong phần mềm mô phỏng giao diện trực tiếp qua các
cổng (port) vơi môi trường bên ngoài Chính vi các yếu tố trên ta có thể
hồng như một hệ vi xử lý ON BOARD
xem vi xử lý trong phần mềm mô p|
- chính là vi điều khiển
Phần mềm SMS32V23 mô phỏng RAM (thực tế xem như ROM)
dung lượng 256 byte Có thể hiển thị theo 3 dạng mã ASCH, mã nguồn
(source), mã Hexa mà không cần trình biên dịch
———————.ẦẦ—-— SVTH : Nguyễn Trần Thanh Nhàn Trang 25
Trang 34hay tổ hợp các chương trình đơn giản Việc thiết kế những chương trình phức tạp hơn như chương trình monitor, chương trình điều khiển hệ thống bay chương trình với mục đích chuyên biệt thường được bắt đầu sau một
vai phán tích chỉ tiết vấn để được đặt ra
Phân tích và giải quyết vấn để yêu cầu phải hiểu sâu sắc những điểm sau:
+ Đặc tính và yêu cầu của vấn để
« — Giả thiết đã cho
« _ Định dạng thông tin ngõ vào và làm thế nào để chuyển đổi nó
+ Định dạng thông tin ngõ ra và làm thế nào chuyển đổi nó
Dạng dữ liệu và mức độ chính xác
« — Tốc độ yêu cầu thực hiện
* Kích cỡ bộ nhớ
Các lệnh vi điều khiển và thực thi
- — Khả năng vấn để được giải quyết
« — Phương pháp để giải quyết van dé
« — Đánh giá chương trình
« Chương trình bị hủy bỏ như thế nào
2 Lưu đô:
Lưu đồ có thể được sử dụng để thể hiện những thuộc tính của các
thuật toán bằng các biểu đồ phù hợp Các lưu đồ đặc biệt quan trọng
i một phần quan trọng trong chương trình hoàn
Trang 35Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Hai cấp biểu đồ thường được ưa chuộng:
+ Lưu đổ hệ thống chỉ ra hướng đi tổng quát của chương trình
« Lưu đổ chỉ tiết cung cấp những chỉ tiết mà nhà lập trình quan
tâm
3 Thiết kế chương trình:
€6 nhiêu loại chương trình: chương trình dành cho các phương trình toán học, chuyển đổi ký hiệu ngõ vào ngõ ra, nhập mã giải mã các dữ liệu chương trình, giao tiếp thiết bị ngoại vi Ví dụ như chương, trình
assembler, monitor, diéu khiển hệ thống hoặc những ứng dụng chuyên
biệt với những chương trình phức tạp hơn
Sau đáy là những điểm cần quan tâm khi thiết kế chương trình:
Thu nhập các ký hiệu hoặc dữ liệu ngõ vào
Phân tích logic và các phép tính trong chương trình chính
Mối liền hệ giữa chương trình chính và chương trình phụ
Sit dung các thanh ghi bên trong
Phân bố bộ nhớ trong chương trình chính
Phân bố bộ nhớ trong chương trình phụ
Phân bố bộ nhớ cho các bảng dữ liệu và phương pháp địa chỉ con
trổ
©_ Khởi đầu hệ thống và các hằng số trong chương trình
e Xác định các biến trong chương trình
e_ Cân nhắc trình tự thời gian và tốc độ chương trình
© Giới hạn của kích cỡ bộ nhớ
e_ Độ dài và tính chính xác của dữ liệu
«Tài liệu và các phần tham khảo có sẵn
Chương trình là tập hợp của các lệnh được sắp xếp theo một trình
tự cụ thể nhằm giúp vi điều khiển, vi xử lýthực hiện các công việc cụ thể
nào đó Các lệnh trong chương trình được lấy từ tập lệnh của họ vi điều
khiển, vi xử lý đang sử dụng
SVTH : Nguyễn Trần Thanh Nhàn Trang 27
Trang 36Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Trong chương trình mô phỏng này, các chương trình được viết bằng
Đôi khi lệnh khai báo trong chương trình không có chú thích
Nhưng chú thích là rất cần thiết nhất là trong các chương trình phức tạp
Lệnh khai báo có nhãn và phần chú giải sẽ thuận lợi gọi lệnh và gỡ rối
Ngay cả đối với lập trình viên chuyên nghiệp khi xem lại các
chương trình cũ do chính mình viết ra thì phần nhãn này giúp ích rất nhiều
trong việc nắm bắt các phần do chính mình đã viết
5 Các cấu trúc lập trình cơ bản:
Ngày nay, trong khi tiến hành việc thiết kế hệ thống người ta
thường dùng phương pháp thiết kế từ trên xuống dưới Phương pháp này
vì thế cũng được áp dụng trong khi viết phân mềm cho một hệ thống
nhằm giải quyết một nhiệm vụ nhất định nào đó
Bản chất của lập trình này là : đầu tiên ta chia chương trình tổng
thể thành các khối chức năng nhồ hơn, các khối chức năng này lại được
chia tiếp thành các khối chức năng nhỏ hơn nữa Việc phân chia chức
năng phẩi làm cho đến khi mỗi khối nhỏ nầy trở thành các khối chức
năng đơn giản và dễ thực hiện
SVTH : Nguyễn Trần Thanh Nhàn Trang 28
Trang 37Trong khi thực hiện các khối chức năng thành phần, thông thường người ta sử dụng các cấu trúc lập trình cơ bản để thực hiện các nhiệm vụ
của khối đó Điểu này làm cho chương trình viết ra trở thành có cấu trúc với các ưu điểm chính là dễ phát triển, dễ hiệu chỉnh hoặc cải tiến và dễ
lập tài liệu
Để giải quyết các công việc khác nhau thông thường trong khi viết chương trình ta chỉ cần đến 3 cấu trúc lập trình cơ bản sau:
e Cấu trúc tuần tự
e_ Cấu trúc lựa chọn (IF- THEN - ELSE)
© Cau tric lap (WHILE - DO)
Thay đổi các cấu trúc này ta có thể tạo ra thêm 4 cấu trúc khác cũng,
có tác dụng trong khi viết chương trình
© C&u tric chon kiéu IF— THEN
¢ C&u tic chon kiéu CASE
e Cấu trúc lặp kiểu REPBAT - UNTIL
e Cấu trúc lặp kiểu FOR - DO
Đặc điểm chung của tất cả các cấu trúc lập trình cơ bản là tính cấu
trúc : Chỉ có một lối vào cấu trúc và một lối ra để ra khỏi cấu trúc đó
Trang 38Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
5.2 Cấu trúc IF - THEN:
Ngữ pháp :
IF Điềukiện THEN Công việc
Từ ngữ pháp của cấu trúc IF - THEN ta thấy nếu thoả mãn Điều
kiện thì Công việc được thực hiện, nếu không công việc sẽ bị bổ qua
Điều này tương đương với việc dùng lệnh nhảy có điều kiện dé bé qua 1
thao tác nào đó trong chương trình hợp ngữ
IF Điểu kiện THEN Côngviệci ELSE Công việc 2
Từ ngữ pháp của cấu trúc IF ~ THEN ta thấy nếu thoả mãn Điều
kiện thì Công việc 1 được thực hiện , nếu không công việc 2 được thực
hiện Điều này tương đương với việc dùng lệnh nhảy có điều kiện và
không điêu kiện để nhầy đến nhãn nào đó trong chương trình hợp ngữ
SAL DUNG
Trang 39
Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
5.4 Cấu trúc CASE:
Ngữ pháp :
CASE Biểu thức
Giá trị 1: công việc 1
Giá trị 2: công việc 2 Giá trị n: công việc n
Từ ngữ pháp của cấu trúc ta thấy nếu Biểu thức có Giá trị 1 thì
công việc I được thực hiện, nếu Biểu thức có Giá trị 2 thì công việc 2
được thực hiện và Điều này tương đương với việc dùng các lệnh nhảy
có điều kiện và nhảy không điều kiện để nhầy đến các nhãn nào đó trong chương trình hợp ngữ Cấu trúc CASE có thể thực hiện bằng các cấu trúc
lựa chọn lổng nhau
5.5 Cấu trúc lặp FOR - DO:
Ngữ pháp :
FOR Số lầnlặp DO Công việc
Từ ngữ pháp của cấu trúc FOR - DO ta thấy ở đây công việc được
thực hiện lặp đi lặp lại tất cả số lần lặp Điều này hoàn toàn tương đương
với việc dùng lệnh LOOP trong hợp ngữ để lập lại CX lần một công
việc nào đó, đương nhiên trước đó ta phải gán số lần lặp cho thanh ghi
cx
SVTH : Nguyễn Trần Thanh Nhàn Trang 32
Trang 40Lugn dn tot nghiệp GVHD : Nguyễn Phương Quang
1
Khởi đầu bộ đếm
WHILE Diéukién DO Công việc
Từ ngữ pháp cấu trúc WHILE - DO ta thấy : Điều kiện được kiểm
tra đầu tiên Công việc được lặp đi lặp lại chừng nào điều kiện còn đúng
Điều này trong hợp ngữ hoàn toàn tưởng đương với việc dùng lệnh CMP
để kiểm tra Điều kiện và sau đó dùng lệnh nhảy có điều kiện để thoát khỏi vòng lặp