Phần mềm mô phỏng TS CONTROL 8051 rất sát với tài liệu vi điều khiển 8051 với đây đủ các tập lệnh , các Port, các thanh ghỉ , thanh ghỉ chức năng đặc biệt, các ngắt, bộ định thời giúp c
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 PHAN MEM TS CONTROLS EMULATOR 8051
MO PHONG VI DIEU KHIEN
GVHD: NGUYEN PHUONG QUANG SVTH: NGUYEN HUYNH HAI VAN
SKLOO
TP Hồ Chí Minh, thang 12/2003
Trang 2
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN ĐIỆN ĐIỆN TỬ
5 we
LUẬN VĂN TỐT NGHIỆP
BIÊN SOẠN SÁCH ĐIỆN TỬ ỨNG DỤNG
PHAN MEM TS CONTROLS EMULATOR 8051
MO PHONG VI DIEU KHIEN
NGUYỄN PHƯƠNG QUANG NGUYEN HUYNH HAI VAN
98101286 :98101 KBD
NIÊN KHÓA:1998 - 2003
Trang 3BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM DAI HOC QUOC GIA TP.HỒ CHI MINH ĐỘC LẬP -TỰ DO- HẠNH PHÚC
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN
BỘ MÔN ĐIỆN -ĐIỆN TỬ
NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP
Họ và tên sinh viên : NGUYỄN HUỲNH HẢI VÂN
Ngành : ĐIỆN -ĐIỆN TỬ
1.1 5
SOẠN SACH DIEN TU UNG DUNG PHAN MEM TS
CONTROLS EMULATOR 8051 MO PHONG VI DIEU KHIEN
2 Các số liệu ban đầu:
hil Pewee POINT gdb Haass
wa tiie tt dag -+6U4hafU
5 Giáo viên hướng dẫn: NGUYEN PHƯƠNG QUANG
6 Ngày giao nhiệm vụ:
7 Ngày hoàn thành nhiệm vụ:
Trang 4Luận án tốt nghiệp, GVHD: Nguyén Phuong Quang
GIOI THIEU
Trang 5Luậ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
SVTH : Nguyễn Huỳnh Hải Vân
Trang 6Luận án tốt nghiệp GVHD: Nguyễn Phương Quang
NHÂN XÉT CUA GIAO VIEN PHAN BIEN
———
SVTH : Nguyễn Huỳnh Hải Vân
Trang 7Luận án tốt nghiệp GVIID: 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 thấy cô khoa Điện - Điện Tử
- Qui thầy cô trường Đại Học Sư Phạm Kỹ Thuật
~_ Tập thể lớp 98 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 quạ để làm hành trang bước vào tương lai
Cám dụ qui thâ y cô nhà trường đã dành sự quan tâm cho tập luận án
Cầm dụ tết z4 đý 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 22 tháng 2 năm 2003
Sinh viên thực hiện
Nguyễn Huỳnh Hải Vân
Trang 8Luận án tốt nghỉ p GVHD: Nguyễn Phương Quang
LỜI MỞ ĐẦU Khi nén van 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 mạng 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 tí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 được 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
Hay, cae trường đại bọ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ề vĩ 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 4Ê tái : “ điên soạn giáo trình điện tử ứng dụng phân mêm TS CONTROLS EMULATOR 8051 mé phing vi điều khiển ” Trong quá tình thực hiện luận án này, với kiến thức
và thời gian có han nén dé tai con 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à #ón¿ zóp ý kiến quí báu để đề tài này hoàn thiện hơn
Xin chân thành cẩm ơn
Sinh viên thực hiện
Nguyễn Huỳnh Hải Vân
Trang 9Luận án tốt nghiệp GVHD: Nguyễn Phương Quang
MỤC LỤC
GIỚI THIỆU
Tua dé tai
Nhiệm vụ đồ án
Nhận xét của giáo viên hướng đãi
Nhận xét của giáo viên phần biện
Chương 3: KHẢO SÁT VI ĐIỄU KHIỂN 8051
Chương 4: CÀI ĐẶT Y4 THÁO CÀI ĐẶT CHƯƠNG TRÌNH MÔ PHONG
Chương 5: NHẬP MÔN THIẾT KẾ LẬP TRÌNH
1 Phân tích vấn để
IL Lưu đồ
II Thiết kế chương trình
IV Viết chương trình
Trang 10Luận án tốt nghiệp GVHD: Nguyễn Phương Quang
1, Glau bếp, với led đơn
I Giáo Uếp với & Jed 7 đoạn và bàn phím
UL Giao ếp mà trận led 8X8
IV Giao tiếp ALC 6409 và DAC 080)
ĐIỆN THÍ NGHIỆM
++ 109
a của bộ định thai (Timer) Port nối tiếp (Serial por\)
Ngắt (Interrupt) Bài giải một số bài t Tài liệu tham khảo
woe LAL
Trang 12Luận án tốt nghiệp
G 'VHD : Nguyễn Phương Quang
CHUONG I: DAN NHAP
Dat van dé
Vị trí của dé tai
Giới hạn đề tài Mục đích nghiên cứu
————————ễễ
Trang 13Luận án tốt nghiệp
GVHD : Nguyễn Phương Quang
1 Đặt vấn đề ;
Trong những thập niên cuối của thế kỉ 20, kỹ thuật điện tử đã liên tục có những tiến bộ vượt
bậc, đặc biệt là trong kỹ thuật chế tạo mạch vi điện tử Sự ra đời và phát triển nhanh chóng của kỹ thuật vi điện tử đã thật sự thay đổi diện mạo của nhân loại Các máy tính cá nhân ra đời là một
bước tiến vượt bậc, cũng là nền tắng cho nhiều sẩn phẩm điện tử ngày càng thông minh và độc đáo sau này, Kỹ thuật vi xử lý ra đời chiếm vị trí quan trọng trong 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
Bộ vi xử lý thường làm CPU trên các máy tính hay còn gọi là”Computer on chịp”,và kỹ thuật vỉ xử lý đã không ngừng phát triển từ 4 bit, 32 bit, 64bit, và 128bit v v Vi xử lý thường
được ứng dụng để xử lý thông tin, và tuỳ thuộc vào ứng dụng mà có thể thiết kế phần cứng để
kiẩm số lượng thành phẩn, đôi khi mạch rất cộng kénh Vì vậy với công nghệ tích hợp cao, bộ vi
điều khiển ra đời đáp ứng được các sản phẩm tiêu dùng và sản phẩm công nghiệp đòi hỏi nhỏ,
on đẹp bến, rẻ hơn Bộ vị điểu khiển như một máy tính nhỏ bao gồm: CPU, RAM, ROM, các
thặch giao tiếp nối tiếp và song song, TIMERS, các Port, mạch điểu khiển ngất
(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 ede sigsnh điện tử ~ viễn thông, công nghệ thông tỉn, tự động điều khiển khi mới bắt đầu học Do 46 4# giáp các bạn làm quen và hiểu được những vấn đẻ đơn giản ban đầu và dần
đi vào nghiên cứa sâ hơn vé 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 tron ghấn mềm này mô tả vi điều khiển 8051 ;khi chạw trên chương trình mô
phống ngưới học sẽ ¿Z được sự thay đổi của tập lệnh thông qua RAM nội, RAM ngoại ,các thanh ghỉ chức năng đặc
H Viứí
Nhận thấy đưc quan trọng của vi điều khiển trong ứng dụng vào thực tế, nhất là các sản phẩm tiêu dùng và sản p›:ểm công nghiệp nên môn học này là môn học sinh viên rất quan tâm
Vì nó đòi hỏi sự tư duy cao xà bam học hỏi Khi tiếp cận với vi điều khiển sinh viên thường gặp
nhiều khó khăn chung quanh việc sử dụng tập lệnh của vi điều khiển và thường vướng phải sai sót
khi lập trình Chương trình mô phỏng này sẽ giúp người học tìm ra những sai sót đồng thời người
học sẽ dễ dàng tiếp cận với việc lập trình vi điều khiển hơn
Phần mềm mô phỏng TS CONTROL 8051 rất sát với tài liệu vi điều khiển 8051 với đây đủ
các tập lệnh , các Port, các thanh ghỉ , thanh ghỉ chức năng đặc biệt, các ngắt, bộ định thời giúp
cho sinh viên dẫn làm quen và thực hành thiết kế các chương trình ứng dụ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
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 điều khiển, viết chương trình cho các giao diện phần cứng
II Giới hạn đ tài :
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 đầ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 hệ thống vi điều khiển 8051
- _ Hướng dẫn nhập môn thiết kế lập trình vi điều khiển
Trang 14Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
-_ cao 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 từ cơ bản đến nâng
- _ Hướng dẫn về tập lệnh và các ví dụ về tập lệnh để dễ hiểu
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ưa đa dạng,
- Chương trình mô phỏng này không có các giao diện phẩn cứng nên khi thực hiện các bài tập nâng cao sẽ gây khó hiểu cho người học 5
IY Mục đích nghiên cứu ;
Để tài này có thể ứng dụng phục vụ cho các sinh viên nghiên cứu về vi điều khiển ở mức
độ cơ bản 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 thông tin về đề tài
Trang 15GVHD : Neuyén Phuong Quang
Trang 16Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
——————————————-——_
U Đối tượng sử dụng chương trình mô phỏng:
Chương trình mô phỏng này thích hợp cho các sinh viên đang nghiên cứu về lập trình ngôn
ngữ cấp thấp và tất cả những ai có hứng thú trong việc tìm tòi học hỏi về vi điều khiển - một trong
những lĩnh vực được ứng dụng nhiều nhất là các hệ thống tự động điều khiển
Chương trình mô phỏng này có thể sử dụng cho học sinh phổ thông ở lứa tuổi 14 đến 16 giải
quyết những vấn để đơn giản thông qua việc hiểu và thực hành được các nguyên tắc đơn giản về
cách thức họat động của những hệ thống tự động nhỏ như :đèn giao thông, các hệ thống quảng cáo
nhỏ ,
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 ngôn ngữ cấp thấp khá phức tạp có liên quan đến những lệnh gọi chương trình con, các
qui trình ngất phần cứng, phẩn mềm và toán tử logic Mặc dù mức độ các chương trình không lớn, nhưng là một lĩnh vực tốt để ta có thể thiết kế lập trình theo modun , việc chuyển đổi mã và lập
BG Liên quan đến vi điều khiển
KG? Liên quan đến các hệ thống điều khiển
BG Lập trình ngôn ngữ cấp thấp
1U Phần mồ tả chướng trình mô phỏng :
Chuong tinh m6 phong TS controls emulator 8051 sit dung máy tính cá nhân của bạn như là
một bộ vi điểu khiển được thiết kế để gở lỗi và chạy thử các ứng dụng của bạn Bằng các công cụ
gỡ lỗi và kiểm tra của chương trình mô phỏng này bạn có thể phát triển các ứng dụng của mình một cách nhanh chóng, Chúng ta có thể thấy được bên trong của một vi điều khiển đang được mô
phỏng trong lúc các ứng dụng đang chạy, điều này cho phép chúng ta kiểm tra chương trình (phẩn
mềm) của mình mà không cần phải có bộ kít (phần cứng) để thử
Các yêu cầu của hệ thống: bộ xử lý 486 hoặc cao hơn, hệ điều hành Win 9X, hoặc Win NT 3.51 hoặc cao hơn, 2Mb không gian đĩa, 8Mb Ram (16Mb là tốt nhất), màn hình VGA hoặc loại tốt hơn
Trong phiên bản phần mềm quảng cáo ( ree ware) thông thường một số lệnh trong tập lệnh của vi điểu khiển không sử dụng được, các tiện ích của chương trình mô phỏng cũng không đầy
đủ Các phiên bản sau khi đã đăng ký bao gồm tất cả các tinh 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 Để cập nhật phiên bẩn mới của chương trình mô phỏng có thể gửi yêu
cầu thông tin qua địa chỉ: info@tscontrols.com_
Chương trình TS controls emulator 8051 mô phỏng được IC 8031/8051 và 8052 là các IC
thuộc họ MCS51 _ một họ IC vi điều khiển (Microcontroller) do hãng Intel sắn xuất Các IC đời
sau luôn có khả năng giao tiếp với các IC đời trước Điều này giúp cho chương trình có thể mô „
phỏng cho cả các IC họ MCS51, đây là điểm mạnh của phần mềm mô phỏng Thứ nhất, về mặt thực tiễn đây là bộ vi điều khiển đang được ưa chuộng của Intel nó được sử dụng trong nhiều lĩnh
“——————ễễễễ
Trang 17GVHD : Nguyễn Phương Quang
vực khác nhau, nhất là trong các hệ thống tự động Các bộ vi điều khiển thuộc họ này chắc chắn
được sử dụng rộng rãi cả trong dân dụng lẫn trong công nghiệp nhiều năm nữa vì giá thành thấp và
tính dễ lập trình của nó, nó có thể kết nối với cả các sản phẩm trong ho 80X86, các chương trình
viết cho 80X86 vẫn có thể giao tiếp được trên hệ thống Thứ hai, về góc độ sư phạm thì đây là
bộ vi điều khiển đang được giảng dạy rất nhiễu trong các trường đại học trên cả nước điều này cho
thấy nó cũng không đến nỗi phức tạp nhưng mang đầy tính thực tiễn Vì vậy việc hiểu nó là tương đối đơn giản và cần thiết Thứ ba, các họ vi điều khiển 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 một loại vi điều
khiển của một nhà sản xuất ta sẽ có cơ sở để nắm bắt tất cả các bộ vi điều khiển khác
Chương trình mô phỏng còn cho phép ta thay đổi nội dung các thanh ghi và bộ nhớ Nhờ đó
ta có thể sửa lại nội dung của bộ nhớ và thanh ghí để tiếp tục công việc kiểm tra Các thanh ghi chức năng đặc biệt, Ram nội, Ram ngọai, có thể thay đổi nội dung ở từng thời điểm là 1 byte
IV/ läc trưng của chương trình mô phổng :
> Tốc độ xun¿ ciœ& CPU có thể thay đổi được
> Trong khi thanh ghí chức s¿ng Zng trình chúng ta có thể quan sát được : các thanh ghỉ đa dụng, các đặc biệt, Ram nội, Ram ngoại, mã chương trình và mã nguồn Ta
củng có thể thay đổi nội dung của chúng trong lúc mô phỏng (trừ mã chương trình và mã
nguồn),
V/ Giới thiệu màn hình giao diện TS controls emulator 8051:
Trang 18Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
ice oo + pf, 06.90 00 06 00 a0 00 0-8
lprm 0000 HH Ty 90 00T00”06700°00”08"08700:0d 00.00 00`n0 00 0
SP Psu 00 =—-0—~ | ong gg PC 97 0000 (001 | looo3 09 pei x NOP a 7 00.09.0060 00, 00.00 00.00.00.00: 00.00, 000.00 00 '00 00.00 00 00 00 00 00 ‘00 00°00 00" 99 00 ‘00
+00 00.00 0:00 00'00-00.00 00.00 00 00700 00.0, (| R0 00 Then we 00 09 00.00.00 00 00 00 00 00 09 09, 00 0 00 g0
chúng sẽ được trình bày kỹ ở phần sau
VỤ Tài liệu hướng dẫn :
Ta có thể tham khảo ngay những tài liệu giúp đỡ trực tuyến bằng phím tắt F1 hoặc vào
Help/Contents and index
ee
Trang 19Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Obtaining Support for TS Controls Emulator 8051
PH How To
Menu Functions Tool Bar
Function Keys
Coremand Line Options
Murrene Input Format
Các thao tác tìm kiếm, in ấn, hủy bỏ, rất quen thuộc với tất cả những ai sử dụng Window
SVTH : Nguyễn Huỳnh Hải Vân Trang 9
Trang 20Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
CHƯƠNG 3 KHẢO SÁT
VI ĐIỀU KHIỂN 8051
Trang 21Luận án tốt nghiệp GVHD ; Nguyễn Phương Quang
1 Giới Thiệu Cấu Trúc Phần Cứng Ho Mes 51:
Đặc điểm và chức năng hoạt động của các vi điều khiển họ MCS 51 hoàn toàn tương tự như
nhau Ở đây giới thiệu vi điều khiển 8051 có các đặc điểm chung như sau:
Có 4 KB bộ nhớ ROM bên trong dùng để lưu chương trình điều khiển
128 byte RAM nội
4 port xuất nhập (ƯO port) 8 bit
Có khả năng giao tiếp truyền dữ liệu nối tiếp
2 bộ định thời 16 bit
Có thể giao tiếp với 16 Kbyte bộ nhớ ROM bên ngoài để lưu chương trình điều khiển
C6 bộ xử lý bit (thao tác trên các bit riêng rẽ)
Có 210 bit có thể truy xuất từng bit
Có lệnh nhân và chia trong 4 us
Thủ
i
P2.0 2 P24 P22]
P23 “4 P24 P25 P26
Port 0 1a port c6 2 chife nang véi sé thit ty chan 32-39,
Trong các hệ thống đơn giản sử dụng bộ nhớ bên trong không dùng bộ nhớ mở rộng bên
ngoài thì Port 0 được dùng làm các đường điều khiển IO (Input/ OutpuU)
Trang 22
Luận án tốt nghiệp GVHD : Nguyễn Phương Quang,
Trong các hệ thống điều khiển lớn sử dụng bộ nhớ mở rộng bên ngoài thì port 0 có chức năng là bus địa chỉ và bus dữ liệu AD7 ~ AD0
*% Port:
Port 1 với số thứ tự chân từ 1 đến 8 Các chân của port chỉ được sử dụng để giao tiếp với các thiết bị ngoại vi , và không có các chức năng khác
Port 2:
Port 2 la port có 2 chức năng với số thứ tự chân 21 — 28
Trong các hệ thống đơn giản sử dụng bộ nhớ bên trong không dùng bộ nhớ mở rộng bên ngoài thì port 2 được dùng làm các đường điều khiển 1O
Trong các hệ thống điều khiển lớn sử dụng bộ nhớ mở rộng bên ngoài thì port 2 có chức năng có bus địa chỉ cao
% Port 3:
Port 3 la port có 2 chức năng với số thứ tự chân 10 ~ 17 Các chân của port này có nhiều
chức năng, các công dụng chuyển đổi có liên hệ với các đặc trưng của 8051
Bang trang thái:
P37 #D/ Ì Tín hiệu điều khiển đọc dữ liệu từ bộ nhớ ngoài
2.2/ Các ngõ tín hiệu điều khiển:
$# Chân cho phớp bộ nhớ chương trình PSEN(Program store enable):
PSEN là tn hiệu xuất trên chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng, thường nối đến chân OE¿ (output enable) của EPROM hoặc ROM để cho phép đọc các byte lệnh
Tín hiệu PSEN ở mức thấp trong suốt thời gian tìm ~ nạp lệnh Các mã lệnh của chương
trình đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghỉ lệnh IR của 8051 để được giải mã
Khi 8051 thí hành chương trình trong ROM nội thì PSEN ở mức logic 1
+ Chân cho phép chốt địa chi ALE (Address Latch Enable):
Khi vi điều khiển 8051 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và ' bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30 dùng làm
tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt
Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên việc chốt địa chỉ được thực hiện một cách hoàn toàn tự động
Các xung tín hiệu ALE có tốc độ bằng 1⁄6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cung cấp cho các phần khác của hệ thống
Trong chế độ lập trình cho bộ nhớ nội thì chân ALE được dùng làm ngõ vào xung lập trình cho EPROM trên chip đối với các phiên bản của 8051 có EPROM
Ngõ tín hiệu EA/ (External Acess);
Tín hiệu vào EA/ ở chân 31 thường nối lên mức 1 hoặc mức 0
Trang 23
Tin higu vao EA/ 4 chan 31 thường nối lên mức I hoặc mức 0
Nếu nối EA/ lên mức I(+5 V) thì vi điều khiển 8051 sẽ thi hành chương trình trong ROM
nội trong khoảng địa chỉ thấp 4 Kbyte
Nếu nối EA/ với mức logic 0 (mass) thì vi điều khiển 8051 sẽ thi hành chương trình từ bộ
nhớ mở rộng
s# Ngõ tín hiêu RST (reset):
Ngõ vào RST ở chân 9 là ngõ vào RESET của 8051 Khi ngõ vào tín hiệu này đưa lên mức
cao ít nhất 2 chu kỳ máy , các thanh ghỉ bên trong được nạp những giá trị thích hợp để khởi động
hệ thống Khi cấp điện cho hệ thống thì mạch tự động Reset
## Các ngõ vào bộ dao đông X1,X2:
Bộ dao động được tích hợp bên trong 8051,khi sử dụng 8051 người thiết kế chỉ cần kết nối thêm tụ thạch anh và các tụ như hình vẽ trong sơ đổ Tân số tụ thạch anh thường sử dụng cho 8051
là l2 MHz
Chân 40( Vcc) thường được nối lên nguồn 5 V
ILL Cu trúc bộ nhớ bên trong vi điều khiển:
Memory FFT pata Enable Enable
Memory via via
Trang 24
GVHD : Nguyễn Phương Quang
TCON PCON
F0 |F7 |F6 [F5 |F4 [F3 lF2 |FI [FO RAM da dụng E0 |E7 |E6 |E5 |E4 |E3 |B2 |E1 [E0
23iF he [1p iC 1B 1A ` tớ) tị 8D|_khOng duge truy xuất bit
2a 7] tổị 15) 14 13 321 111 10) §C |_ không được truy xuất bit
2I|0F or lop loc lop 0a | 09, 08) 8B |_ không được truy xuất bit
20| 07| 0ø| 0s] 04] 031 02] 01! 00 8A |_ không được truy xuất bit
Bank 3 89|_ không được truy xuất bit
IF
18| 88)8F |8E |8D|8C [SB [8A | 89] 88
10)
OF Bank 1 §3|_ không được truy xuất bịt
08| 82|_ không được truy xuất bit
0 Bank thanh ghỉ 0 SI|_ không được truy xuất bit
00Ì_—_ (mặc định cho R0 - R7) 80| 87| 86] 85] 84] 83] 82] 811 so]
RAM
PO
Các thanh ghỉ chức năng đặc biệt
Bộ nhớ trong 8051 bao gồm ROM và RAM
RAM trong 8051 bao gồm nhiều thành phân : phần lưu trữ đa dụng, phần lưu trữ địa chỉ có
thể truy xuất từng bit , các bank thanh ghỉ và các thanh ghi chức năng đặc biệt
Trang 25Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
27 98)9F |9E |9D|9C [9B |9A | 99] 98] SCON
26 :
252F RE 2p 2c 26 2a | 29) 28! 90|97|96|95|94|93|92/91|90| PI
24| 27| 26| 251 22 22 22) 21) 20)
23|IF |IE |ID ic ae 34 | 19} 18h 8D[ không được truy xuất bit | THỊ
22| 17| 6| 15) 14 13) THỊ 10 8C| khOng được truy xuất bit | THO
2I|0E lor lop ‘oc [ox ‘oa | 0) 08| 8B|_ không được truy xuấtbit | TLI
20| 0| 0ó| 05] o4| g3| 02! 01 0o) 8A|_ không được tuy xuấtbit | TLO
Bank 3 §9|_ không được truy xuất bịt | TMOD
IF
18 88)8F |8E [8D|8C |gB |8A | 89] 8g} TCON
1 Bank 2 §7| không được truy xuất bịt | PCON
10|
0E Bank 1 83|_ không được truy xudt bit_ | DPH
07 Bank thanh ghỉ 0 §I| không được truy xuấtbit | SP
00Ì —_ (mặc định cho R0 - R7) 80| 87| 86] 85] sal 83| s2| si] so PO
RAM Các thanh ghỉ chức năng đặc biệt
Bộ nhớ trong 8051 bao gồm ROM va RAM
RAM trong 8051 bao gồm nhiều thành phân : phần lưu trữ đa dụng, phần lưu trữ địa chỉ có
thể truy xuất từng bit , các bank thanh ghi và các thanh ghi chức năng đặc biệt
————————==—————ễ
Trang 26
GVHD ; Nguyễn Phương Quang
8051 có bộ nhớ theo cấu trúc Harvard: có những vùng bộ nhớ riêng biệt cho chương trình và
dữ liệu Chương trình và dữ liệu có thể chứa bên trong 8051 nhưng 8051 vẫn có thể kết nối với 64 Kbyte bộ nhớ chương trình và bộ nhớ dữ liệu
“ Hai đặc tính cần chú ý là:
Các thanh ghỉ và các port xuất nhập đã được định vị (xác định ) trong bộ nhớ và có thể truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác
Ngăn xếp bên trong RAM nội nhỏ hơn so với RAM ngoại so véie các bộ vi xử lý khác
s* RAM bên trong 8051 được phân chia như sau:
Các bank thanh ghi có địa chỉ từ 00H đến 1FH
RAM địa chỉ hoá từng bit có địa chỉ từ 20H đến 2FH
RAM đa dụng từ 30H đến 7FH
Các thanh ghi có chức năng đặc biệt từ 80H đến FFH
> RAM da dung:
Mic dù trên hình vẽ cho thấy 80 byte đa dụng chiếm các địa chỉ từ 30H đến 7FH, 32 byte từ
00M đến IPH cũng có thể dùng với mục đích tương tự ( mặc dù các địa chỉ này đã có mục đích
khác)
Moi dia chi trong vung RAM da dụng đều có thể truy xuất tự do dùng kiểu địa chỉ trực tiếp
hoặc gián tiếp
> RAMc6ứ
Vi diéu kt
byte có địa chi
Ý tưởng truy su:
32 byte thấp của bộ nhớ nội được dành cho các bank thanh ghi Bộ lệnh 8051 hỗ trợ 8 thanh
ghi có tên là R0 đến R7 và theo mặc định sau khi reset hệ thống thì các thanh ghhi RO dén R7
được gán cho 8 ô nhớ có địa chỉ từ 00h đến 07H
Các lệnh dùng các thanh ghỉ R0 đến R7 sẽ ngắn hơn và nhanh hơn so với các lệnh có chức
năng tương ứng nếu dùng kiểu định địa chỉ trực tiếp Các dữ liệu được dùng thường xuyên nên dùng một trong các thanh ghỉ này
Do có 4 thanh ghỉ nên tại một thời điểm chỉ có 1 bank thanh ghỉ được truy xuất bởi các
thanh ghỉ R0 đến R7, để chuyển đổi việc truy xuất các bank thanh ghi ta phải thay đổi các bit chọn
bank trong thanh ghỉ trạng thái
2/Các thanh ghí có chức năng đặc biệt:
Các thanh ghỉ nội của 8051 được truyy xuất ngầm định bởi bộ lệnh Các thanh ghỉ trong
8051 được định đạng như một phẩn của RAM trên chip vì vậy mỗi thanh ghỉ sẽ có một đìa chỉ (ngoại trừ thanh ghỉ bộ đếm chương trình và thanh ghỉ lệnh vì các thanh ghì này hiểm khi bị tắc
động trực tiếp) Cũng như các thanh ghỉ R0 đến R7, vi điều khiển 8051 có 21 thanh ghì có chức
năng đặc biệt (SER: special function register) nằm ở vùng trên của RAM nội từ địa chỉ 80H đến FFH,
xuất từng bit;
“5 ie6 210 bit có thể truy xuất từng bit, trong đó có 128 bit nằm trong các
+ 2FH và các bit còn lại chứa trong nhóm thanh ghi có chức năng đặc biệt
ig bit bang phan mềm là đặc tính là các đặc tính mạnh của vi điều đất , xoá, AND, OR, ., bằng 1 lệnh đơn Đa số các vi xử lý đòi hỏi I
Ễ đạt được mục đích tương tự +
có thể truy xuất được từng biL
nây cũng có thể truy xuất như các byte hoặc như các bit phụ thuộc
Chú ý: tất cả 128 địa chỉ từ 80H đến FEH không được xác định, chỉ cỏ 21 thanh ghì cổ chức
năng đặc biệt được xác định ede dia cht
Trang 27Luận án tốt nghiệp —=——————-— —_ ——` GVHD : Nguyễn Phương Quang
Ngoại trừ thanh ghi A có thể được truy xuất ngầm như đã nói, đa số các thanh ghỉ có chức
năng đặc biệt SFR có thể địa chỉ hoá từng bit hoặc byte
* Thanh ghi trang thái chương trình (PSW: program status word);
Từ trạng thái chương trình ở địa chỉ DOH được tóm tắt như sau:
PSW.5 F0 DSH Flag 0 con goi IA c& Zero ky higu lA Z
Psw.4_| RSI D4H Chọn dãy thanh ghi bit 1
PSW43 | RS0 D3H Chọn dãy thanh ghỉ bịL0
00 = Bank 0 địa chỉ từ O0h+07h gán cho R0 + R7
ñ 01 = Bank 1 địa chỉ từ 08hz0Fh gán cho R0 + R7
L— | — 10 = Bank 2 địa chỉ từ I0h+17h gán cho R0 + R7
| - 11 = Bank 3 địa chỉ từ 18h+lFh gần cho R0 + R7
bit trang thai:
+ Co Carry CY:Ce nbd c6 tae dung kép Théng thu&ng né dugc ding cho cdc lénh todn hoc:
C =1 nếu phếp toán cộng có tràn hoặc phép trừ có mượn và ngược lại C = 0 nếu phép toán cộng không trần và phép trữ khóng có mượn
> C8 Cary pi Khí cộng những giá trị BCD (Binary Code Decimal), cờ nhớ phụ AC
được set bằng 1 sế+ kết quả 4 bít lớn hơn 09h Ngược lại AC =0
> Cờ0:Cỡ0 (0; cš đa dụng dùng cho các ứng dụng của người dùng
> Những bít chọn bank thanh ghi truy xuất: RS0 và RSI quyết định đãy thanh ghỉ tích cực
Chúng được set sau khi reset hệ thống và được thay đổi bởi phần mềm khi cần thiết
Tuy theo RSI, RSO = 00, 01, 10, 11 sẽ được chọn bank tích cực tương ứng là Bank 0, Bank 1,Bank 2, Bank 3
RSI RSO BANK
> Cờ tràn OV: Cé tran được set sau một hoạt động cộng trừ nếu có, sự tràn toán học
Khi các số có đấu được cộng trừ với nhau, phần mềm có thể kiểm tra bit này để xác định
xem kết quả có nằm trong tâm xác định không Các kết quả lớn hơn + 127 hoặc nhỏ hơn -128 thì bịt OV = I
Khi cộng các số không dấu thi bit OV trở nên không cần thiết
> Bit Parity(P):
Bit P tự động được set hay clear ở mỗi chu kỳ máy để lập Parity chẳn với thanh ghi A Đếm các bit 1 trong thanh A cộng với bit Parity luôn luôn là số chẩn
Bit P thường được dùng trong sự kết hợp với những thủ tục của Port nối tiếp để tạo ra bit
Parity trước khi được truyền đi hoặc kiểm tra bit Parity sau khi nhận
> Thanh ghi B:
EEE
Trang 28Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
Thanh ghi B ở địa chỉ F0h được dùng cùng với thanh ghỉ A để thực hiện các phép toán nhân
chia Lệnh MUL AB : sẽ nhận những giá trị không dấu 8 bit với 8 bit trong 2 thanh ghi A và B, rồi
trả về kết quả 16 bit trong A (byte cao) và B (byte thấp) Lệnh DIV AB: lấy giá trị trong thanh ghỉ
A chia cho gid trj trong thanh ghỉ B, kết quả nguyên lưu trong A, số dư lưu trong B
Thanh ghỉ B có thể được dùng như một thanh ghỉ đệm trung gian đa mục đích Nó có thể
truy xuất từng bit từ F0H +F7 H
> Thanh ghỉ con trổ ngăn xếp SP (stack pointer):
Con trổ ngăn xếp là một thanh ghỉ 8 bit nằm ở địa chỉ 81h Nó chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh ngăn xếp
Các lệnh liên quan đến ngăn xếp bao gồm các lệnh cất dữ liệu vào ngăn xếp (lệnh push)
và lệnh lấy dữ liệu ra khỏi ngăn xếp (lệnh pop)
Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghỉ dữ liệu vào
Sau lệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP
Ngăn xếp của 8051 nằm trong RAM nộivà bị giới hạn về cách truy xuất địa chỉ- chỉ cho phép Iruy xuất địa chỉ gián tiếp
Để khởi dong SP với ngăn xếp bắt đầu tại địa chỉ 60H, ta dùng lệnh:
MOY SP, #5FH Với lệnh trên th ngăn xếp của 8051 chỉ có 32 byte vì địa chỉ cao nhất của RAM trên chip là TFH Giá trị 5H #2 siap vào SP vì SP tăng lên 60H trước khi cất byte dữ liệu
i P sé mang giá trị mặc định là 07H và dữ liệu đầu tiên sẽ được cất vào ô
Í 99H
dng dung không khởi động SP một giá trị mới thì bank thanh ghi 1 có thể cả
“ang RAM này được dùng làm ngăn xếp
xuất trực tiếp bằng các lệnh PUSH, POP để lưu trữ tạm thời và lấy dữ
liệu, hoặc truy xuất nz2z: 5šaz các lệnh gọi chương trình con (ACALL và LCALL) và các lệnh trở
về (RET RETI) để lưu trí hì cũa bộ đếm chương trình khi bắt đầu thực hiện chương trình con
và lấy lại địa chỉ khi kết thúc chương trình con
> Các thanh ghi Port:
Các Port của 8051 bao gồm Port 0 6 dia chi 80H, Port! & dia chi 90H, Port 2 ở địa chỉ A0H
Port3 ở địa chỉ B0H Tất cả các port này đều có khả năng truy xuất từng bit nên rất thuận tiện trong
khả năng giao tiếp
Hoạt động reset:
8051 có ngõ vào Reset tác động ở mức cao trong khoảng 2 chu kỳ xung máy, sau đó xuống
mức thấp để cho 8051 bắt đầu làm việc
Trạng thái của tất cả thanh ghỉ trong 8051 sau khi reset hệ thống được tóm tắt như sau:
——— ———
SKL 00A4 64
Trang 29Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
“——————-—=—'
‘Thanh ghi Nội dung
Bộ đếm chương trình PC 0000H Thanh ghỉ tích lũy A 00H
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
Đầ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ệ thong:
Bộ xử lý 486 hoặc cao hơn,
Win 98 hoặc Win NT 3.51 hoặc cao hơn
2Mb không gian đĩa,
8Mb Ram (16Mb là tốt nhất)
Màn hình VGA hoặc loại tốt hơn
1U Cài đặt chương trình:
Sau khi đã có phần mềm cài đặt TS Controls 8051 ta vào trong thư mục có chứa tập tin
TSCE0101.EXE chạy chương trình cài đặt này Ta lần lượt trả lời các hộp thoại yêu cầu của phần mềm cài đặt Chương trình sẽ được mặc định cài đặt trong các thư mục default Nếu muốn lưu trữ
phần mềm trong một thư mục nào đó ta có thể tạo trước nó rồi trong quá trình cài đặt ta sẽ chỉ
đạ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
ah điện tử này này: Baitap01.asm, Baitap02.asm Các tập tin ví dụ khác
ta 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ó thể xez qua 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 và lế/ ý ra bài tập
HƯ Cài đặt thong qua mang máy tính ;
Để cài đặt chương trrnln ta vào web site có địa chỉ http//www.tscontrols.com và tải phần
mềm về
Để có được ph n bên có đẩy đủ các giúp đỡ về kỹ thuật ta có thể vào mạng tại địa chỉ
http://www.L or/rezister.btml sau khi đã có các mật mã ta vào Help/Register Product Nó
sẽ bật ra hộp thoa Product dialog, ta nhập các mật mã vào Phần mềm chúng ta đã được
Lời khuyên: ta nên reinstall (cài đặt lại) chương trình lại một lần nữa và nhập mật mã như đã
hướng dẫn ở trên để chắn chắn là phần mềm đã được đăng kí
Nếu cần giúp đỡ hoặc có câu hỏi nào về việc đăng kí phần mềm ta có thể gửi e mail đến
địa chỉ support@tscontrols.com
V/ Chạy
chương trình ;
Nếu bạn đã tạo một biểu tượng (icon) , hãy nhấp 2 lần lên biểu tượng hay lựa chọn từ trong
§tart/proprams biểu tượng và nhấn Enter
Trang 32Luận án tốt nghiệp
lulonAnlVius
=} Noiton Uti (3 NeT'sweb Books (& 01cad Alesse 91 BAMpags Shagh §
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 Huỳnh Hải Vân Trang 21
Trang 33Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
(Noten vtitios 40) Ner‘eweb Books
=———————
Trang 34Luận án tốt nghiệp
G'S Noiondnivius ,
& Noon vais ,
4655 PT 's Web Books , (Ä 0ADReess$1 »
& sway veo
Ulead GIF Aninaloy 40
SoantihMoloAnllius SeJoo
Trang 35Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
CHUONGS - NHAP MON THIET KE
LAP TRINH
aS
Trang 36Luận án tốt nghiệp
1U Phân tích vấn đề;
Có thể nói khi đứng trước bất kỳ một vấn để gì cần giải quyết thì công việc đâu tiên ta làm
là phân tích vấn đề Đây là bước qua trọng nhất và mang tính quyết định cần phải được quan tâm
đúng mức nhưng lại thường bị bổ qua nhiều nhất, Khi phân tích một bài toán ta phải xác định được
mục đích yêu cầu của để bài, và xác định chính xác phạm vi thiết kế, đồng thời xác định được các vấn để trở ngại khi thiết kế Để giải quyết được vấn đẻ đó nên xây dựng bảng danh sách các câu
hỏi và trả lời dẫn các câu hỏi đó để xác định được khả năng thực hiện vấn để Vì vậy, với những chương trình đơn giản, việc phân tích vấn để sẽ không gặp nhiều khó khăn Chúng có thể được
thực hiện thông qua các chương trình có sẵn hay tổ hợp các chương trình đơn giản Việc thiết kế với 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
hay chương trình với những mục đích chuyên dụng phải được phân tích kỹ
Thông qua việc phân tích vấn để chính xác, ta sẽ xây dựng một lưu đổ rõ ràng Từ đó chương,
trình phần mềm sẽ thể hiện rõ các phần việc cân làm
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:
GVHD : Nguyễn Phương Quang
ø _ Đác tính và yêu cầu của vấn để
Giả thiết đã cho
Định đang thông tin ngõ vào và làm thế nào để chuyển đổi nó
ñ đáng thông tin ngõ ra và làm thế nào chuyển đổi nó
Dạsg dữ liêu và mức độ chính xác
Tớ cẫu thực hiện
Kick 66 ahd
Các lệnh vị điểu khiển và thực thi,
Kha nang van dé được giải quyết
Phương pä:áp để giải quyết vấn đề
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 trong gỡ rối vấn đề Nó là một phần quan trong trong chương trình hoàn chỉnh Nó có thể giúp người khác hiểu được thuật toán chính xác do nhà lập
trình sử dụng
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
@ Liu dé chi tiết cung cấp những chỉ tiết mà nhà lập trình quan tâm
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 đướ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
ee
Trang 37Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
a Trong 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
IHỰ Thiết kế chương trình:
Sau khi phân tích vấn để và bắt tay vào xây dựng lưu đổ xong thì công việc thiết kế chương trình của nhà lập trình có thể nói là đã giải quyết hơn phân nữa công việc Giai đoạn thiết kế chương trình sẽ thực hiện các công việc cụ thể dựa vào các phần của lưu đổ Có 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, hoặc ngay cả những ứng dụng chuyên sâu với những chương trình phức tạp Nói chung khi thiết kế chương trình cần lưu ý một
số điểm cơ bản như sau:
+ _ 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ụ
%ử dụng các thanh ghỉ bên trong,
Phô:: bố bộ, nhớ trong chương trình chính
'ố 9ó nhớ trong chương trình phụ
Phần Số s6, 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
Xác biến trơng chương trình
Cân nhắc trình tự thời gían và tốc độ chương trình
i ° c3 bộ nhớ
tính chính xác của dữ liệu
ệu và các phần tham khảo có sẵn
Các đặc điểm đặc biệt khác
Sau khi đã thực hiện xong bước này xem như đã hoàn tất dàn ý chỉ tiết, bước sau chỉ đơn
thuần là điển các lệnh cụ thể vào các ý được soạn sẵn trong phần này
IV/ Viết chương trình:
Sau khi đã phân tích được vấn để, lập lưu đổ cho chương trình, thì giai đoạn viết chương
trình là giai đoạn sau cùng đồng thời là giai đoạn quan trọng nhất 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ự chặt chế, sau đó vi điều khiển sẽ dịch chương trình sang mã máy 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
Trong chương trình mô phông này, các chương trình được viết bằng ngôn ngữ assembly
Một lệnh khai báo trong chương trình bao gồm 4 phần:
Trang 38
Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
STAR Mov A BH |chuyển số 7Bh vào thanh ghi A
IMoy B,#02h ;chuyển số 02h vào thanh ghi B
IMul AB ae A với B, B lưu byte cao,A lưu byte
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
V/ Cấu trúc chương trình:
Lập trình có cấu trúc( sruetured programming) là một kỹ thuật dùng để tổ chức và viết chương tình sao cho giảm được độ phức tạp, cải thiện tính rõ ràng của chương trình đồng thời dễ
dang gỡ rối, sử: ng như thay đổi.Để công việc lập trình được dễ dàng và chính xác, các
chương trình được cấu trúc một cách rõ ràng thường được nhấn mạnh Mọi chương trình đều có thể
được viết bằng c¿ đụng ba cấu trúc:”các phát biểu”, “các vòng lặp”, " các lựa chọn”, Chính
các cấu trúc trên tạo #2: một tập đẩy đủ các cấu trúc Từ một cấu trúc này được chuyển đến một cấu trúc khác, chương tinh sẽ được điều khiển mà không có các rẽ nhánh không điều kiện Mỗi
nhập vã một điểm thoát,
trột chương trình có cấu trúc chứa một trật tự có thứ bậc các chương
con có một điểm nhập và một điểm thoát
sắt có cấu trúc giúp cho việc lập trình hợp ngữ đạt được những thuận
Giả mã(pseudo code)
Hop ngit(assembly language)
Để giúp cho người học dễ dàng tiếp cận và ứng dụng dễ dàng các kiến thức về lập trình thì
lưu đồ và giả mã là 2 phương pháp thường dùng trước khi thiết kế bài tập Lưu đồ và giả mã là các
công cụ trực quan giúp người học dễ dàng trình bày và hiểu bài tập một cách có hệ thống mà
không cần khảo sát những rắc rối khó hiểu của tập lệnh
s* Giả mã thường được xem như một loại ngôn ngữ máy tính Giả mã bắt chước cú pháp
của Pascal hay C ở dạng ký hiệu cấu trúc đồng thời kết hợp ngôn ngữ tự nhiên để mô tả hoạt động
Trang 39
GVHD : Nguyén Phuong Quang
© Dé dang vach ra céc chudi hoạt động, do vậy thuận tiện cho việc kiểm tra các sai sót
của người lập trình
+ _ Có một số cấu trúc kèm theo thuật ngữ đã được chuẩn hoá
® _ Các cấu trúc giúp cho việc xây dựng các chương trình con được dé dàng
.* Tập các cấu trúc là đẩy đủ, mọi chương trình đều có thể được viết bằng cách sử dụng 3
cấu trúc
+ _ Các cấu trúc giúp đễ dàng mô tả bằng lưu đổ, giản đồ cú pháp, giả mã
® _ Tăng năng suất của người lập trình, chương trình được viết nhanh hơn
s _ Chỉ một vài ngôn ngữ cấp cao nhu Pascal, C chấp nhận trực tiếp các cấu trúc Các
ngôn ngữ cấp cao khác yêu cầu thêm một đoạn dịch nữa
s _ Thời gian thực thi chậm và đòi hồi nhiều bộ nhớ
* Sẽ xuất hiện một số khó khăn khi chỉ sử dụng 3 cấu trúc để lập trình
+ _ Các cấu trúc được lỗng vào nhau cũng gây trở ngại cho việc thực thi chương trình
Các cấu trúc lặp trình cơ bản:
Cấu trúc láp (WHILE - DO)
Cấu trác láp kiểu REPEAT ~ UNTIL
Cấu tị chon kiéu CASE
chon (IF - THEN - ELSE)
ặc điểm œ + 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 zz để rz khỏi cấu trúc đó
1/ Cấu trúc vòng láp:
Cấu trúc này đc dùng để lặp lại việc thực hiện một thao tác Thí dụ như cộng một chuỗi
số hoặc tìm kiếm mộ: z/4 trị trong danh sách phải dùng cấu trúc vòng lặp Có 2 dạng thông dụng nhất là:
WHILE/ DO và EEPEAT/ UNTIL
1.1/ Cấu trúc WHILE/ DO:
Giả mã có dạng:
While [ điểu kiến ] Do
[ phát biểu ] Điều kiện có giá trị đúng hay sai Nếu điều kiện đúng thì phát biểu được thực thi và sau đó điều kiện được kiểm tra lại, đến khi điều kiện kiểm tra là sai, thì khối phát biểu được bỏ qua, và
việc thực thi chương trình sẽ được thực hiện ở phát biểu kế tiếp
Trang 40Luận án tốt nghiệp GVHD : Nguyễn Phương Quang
1.2/ Cấu trúc REPEAT/UNTIL:
Giả mã:
Repeat [ phat biéu ]
Until [điều kiện]
-_ Phát biểu RepeaU UnHi tương tự phát biểu WHILE/ DO, phát biểu này thường dùng khi
việc lập lại phát biểu phải được thực thi ít nhất 1 lần Phát biểu WHILE/ DO trước tiên kiểm tra điều kiện, phát biểu không được thực thi nếu điều kiện sai
Then [phat biéu ¡ }
Else [phat biéu2]
Phát biểu IF /THEN /ELSE được sử dụng khi một trong hai phát biểu phải được lựa chọn,
việc lựa chọn phụ thuộc vào điều kiện Phần ELSE của phát biểu là tuỳ chọn
———————ễễỄễễ