« Home « Kết quả tìm kiếm

Lập trình hợp ngữ 8051


Tóm tắt Xem thử

- ch ươ ng 2.
- 2.1.1 Các thanh ghi..
- Vì có m t s ử ộ ố l ượ ng l n các thanh ghi trong 8051 ta s t p trung vào m t s thanh ghi công d ng chung đ c ớ ẽ ậ ộ ố ụ ặ bi t trong các ch ệ ươ ng k ti p.
- N p trí tr 55H vào thanh ghi A (A = 55H) ạ ị MOV R0, A .
- N p giá tr 95H vào thanh ghi R3 (R3 = 95H) ạ ị.
- Đ n p m t giá tr vào m t thanh ghi thì ph i gán d u.
- Còn đ n p giá tr là 17H vào thanh ghi A thì c n ph i có d u.
- C ng toán h ng ngu n vào thanh ghi A.
- Th c hi n ch ự ệ ươ ng trình trên ta đ ượ c A = 59H (vì 25H + 34H = 59H) và R2 = 34H, chú ý là n i d ng R2 không thay đ i.
- Ch ộ ụ ổ ươ ng trình trên có th vi t theo nhi u cách ph thu c vào ể ế ề ụ ộ thanh ghi đ ượ ử ụ c s d ng.
- N p giá tr 25H vào thanh ghi R5 ạ ị MOV R7, #34H .
- N p giá tr 34H vào thanh ghi R7 ạ ị MOV A, #0 .
- Xoá thanh ghi A (A = 0).
- Hãy xem đo n ch ầ ạ ươ ng trình d ướ i đây:.
- N p giá tr th nh t vào thanh ghi A (A = 25H) ạ ị ứ ấ ADD A, #34H .
- Có hai thanh ghi 16 bit trong 8051 là b đ m ch ộ ế ươ ng trình PC và con tr d li u APTR.
- Thanh ghi DPTR đ ở ụ ượ ử ụ c s d ng đ truy c p d li u và đ ể ậ ữ ệ ượ c làm k ch ỹ ở ươ ng 5 khi nói v các ch đ đánh đ a ch .
- M t ch ộ ươ ng trình ch a các s 0 và 1 đ ứ ố ượ c g i là ngôn ng máy.
- Trong nh ng ngày đ u c a máy tính, các l p trình viên ph i vi t mã ch ữ ầ ủ ậ ả ế ươ ng trình d ướ ạ i d ng ngôn ng máy.
- Ví d , đ vi t ọ ị ụ ể ế m t ch ộ ươ ng trình trong C ta ph i s d ng m t trình biên d ch C đ d ch ch ả ử ụ ộ ị ể ị ươ ng trình v d ng ề ạ mã máy.
- M t ch ộ ươ ng trình h p ng bao g m m t chu i các dòng l nh h p ng .
- N p 0 vào thanh ghi A ạ.
- Ch ươ ng trình 2.1: Ví d m u v m t ch ụ ẫ ề ộ ươ ng trình h p ng .
- Ví d , trong ch ư ỉ ệ ợ ữ ụ ươ ng trình 2.1 thì các l nh ADD và MOV ệ là các l nh đ n CPU, còn ORG và END là các ch l nh đ i v i h p ng .
- Hay nói cách ặ ệ ạ ớ ợ ữ ế ế ồ khác m t ch l nh đ b t đ u và ch l nh th hai đ k t thúc ch ộ ỉ ệ ể ắ ầ ỉ ệ ứ ể ế ươ ng trình..
- Tr ườ ng nhãn cho phép ch ươ ng trình tham chi u đ n m t dòng l nh b ng tên.
- Trong ch ự ệ ươ ng trình 2.1 các l nh ORG và END là các ch l nh (m t s h p ệ ỉ ệ ộ ố ợ ng c a 8051 s d ng d ng .ORG và .END).
- Ch ươ ng chú gi i luôn ph i b t đ u b ng d u ch m ph y.
- L u ý đ n nhãn HERE trong tr ư ế ườ n g nhãn c a ch ủ ươ ng trình 2.1.
- chúng ta có m t ch ộ ươ ng trình giám sát.
- đ ượ c xoá đi ra kh i ch ỏ ươ ng trình..
- 2.3 H p d ch và ch y m t ch ợ ị ạ ộ ươ ng trình 8051..
- th o đ g vào m t ch ả ể ỡ ộ ươ ng trình gi ng ố.
- nh ch ư ươ ng trình 2.1.
- th o ch ả ươ ng trình.
- ch a mã ch ứ ươ ng trình đ ượ ạ c t o ra ở ướ b c 1.
- Ch ứ ọ ế ươ ng trình liên k t l y ế ấ.
- ch ươ ng trình giám sát..
- Hình 2.2: Các b ướ c đ t o ra m t ch ể ạ ộ ươ ng trình..
- Ch ươ ng trình 2.2: T p li t kê.
- 2.4 B đ m ch ộ ế ươ ng trình và không gian ROM trong 8051..
- 2.4.1 B đ m ch ộ ế ươ ng trình trong 8051..
- M t thanh ghi quan tr ng khác trong 8051 là b đ m ch ộ ọ ộ ế ươ ng trình .
- B đ m ch ộ ế ươ ng trình ch ỉ đ m đ a ch c a l nh k ti p c n đ ế ị ỉ ủ ệ ế ế ầ ượ c th c hi n.
- Khi CPU n p mã l nh t b nh ROM ự ệ ạ ệ ừ ộ ớ ch ươ ng trình thì b đ m ch ộ ế ươ ng trình tăng lên ch đ m l nh k t ti p.
- B đ m ch ỉ ế ệ ế ế ộ ế ươ ng trình trong 8051 có th truy c p các đ a ch ch ể ậ ị ỉ ươ ng trình trong 8051 r ng 16 bit.
- Đi u này có nghĩa ộ ề là 8051 có th truy c p các đ a ch a ch ể ậ ị ỉ ươ ng trình t 0000 đ n FFFFH t ng c ng là 64k byte ừ ế ổ ộ mã l nh.
- Hay nói cách khác, khi 8051 đ ượ ấ c c p ngu n thì b đ m ồ ộ ế ch ươ ng trình có giá tr 0000.
- Chúng ta đ t đ ơ ệ ầ ậ ồ ạ ượ c đi u này b ng câu l nh ề ằ ệ ORG trong ch ươ ng trình ngu n nh đã trình bày tr ồ ư ướ c đây.
- D ướ i đây là ho t đ ng t ng b ạ ộ ừ ướ c c a b đ m ch ủ ộ ế ươ ng trình trong qúa trình n p và th c thi m t ch ạ ự ộ ươ ng trình m u.
- 2.4.3 Đ t mã vào ROM ch ặ ươ ng trình..
- ạ ự Tr ướ c h t ta kh o sát m t l n n a t p li t kê c a ch ế ả ộ ầ ữ ệ ệ ủ ươ ng trình m u và cách đ t mã vào ẫ ặ.
- V i d ng th c trên đây c n l u ý các đi m sau: ế ớ ạ ứ ầ ư ể Tr ườ ng nhãn cho phép ch ươ ng trình tham chi u đ n m t dòng l nh b ng tên.
- Trong ị ự ệ ch ươ ng trình 2.1 các l nh ORG và END là các ch l nh (m t s h p ng c a 8051 s d ng ệ ỉ ệ ộ ố ợ ữ ủ ử ụ d ng .ORG và .END).
- L u ý đ n nhãn HERE trong tr ư ế ườ ng nhãn c a ch ủ ươ ng trình 2.1.
- Ch ươ ng trình 2.1: T p li t kê ệ ệ.
- B ng n i dung ROM c a ch ả ộ ủ ươ ng trình 2.1..
- 2.4.4 Th c hi n m t ch ự ệ ộ ươ ng trình theo t ng byte.
- Trong tr ườ ng h p c a ch ợ ủ ươ ng trình này là mã 7D đ ể chuy n ể m t toán h ng vào R5.
- Th c t mà b đ m ch ạ ự ệ ự ế ộ ế ươ ng trình ch ỉ đ n l nh k ti p c n đ ế ệ ế ế ầ ượ c th c hi n gi i thích t i sao m t s b vi x lý (đáng nói ự ệ ả ạ ộ ố ộ ử là × 86) g i b đ m là con tr l nh (Instruction Pointer).
- Ví d v x lý d li u l n h n 8 bit đ ế ừ ế ể ử ụ ề ử ữ ệ ớ ơ ượ c trình bày ch ở ươ ng 6.
- M i trình h p ng có m t s t d tr là các t g i nh ể ố ỗ ợ ữ ộ ố ừ ự ữ ừ ợ ớ cho các l nh mà không đ ệ ượ c dùng đ làm nhãn trong ch ể ươ ng trình.
- Thanh ghi c trong 8051 đ ớ ờ ượ c g i là thanh ghi t tr ng thái ch ọ ừ ạ ươ ng trình PSW.
- 2.6.1 Thanh ghi t tr ng thái ch ừ ạ ươ ng trình PSW..
- Thanh ghi PSW là thanh ghi 8 bit.
- Bit = 1 ch n băng thanh ghi ọ.
- Bit = 0 ch n băng thanh ghi ọ OV PSW.2 .
- RS1 RS0 Băng thanh ghi Đ a ch ị ỉ.
- Hình 2.4: Các bit c a thanh ghi PSW ủ.
- ờ ẵ ẻ ờ ẵ ẻ ỉ ả ố ộ ẵ ẻ N u thanh ghi A ch a m t s ch n các bit m t thì P = 0.
- C P = 0 vì thanh ghi A không có bit 1 nào (ch n) ờ ẵ.
- 2.7Các băng thanh ghi và ngăn x p c a 8051.
- Ch ươ ng 8 s bàn chi ti t v b nh và các l nh đánh đ a ch ẽ ế ề ộ ớ ệ ị ỉ đ ượ c theo bit..
- 2.7.2 Các băng thanh ghi trong 8051..
- Hình 2.6: Các băng thanh ghi c a 8051 và đ a ch c a chúng.
- Hãy phát bi u các n i dung c a các ngăn nh RAM sau đo n ch ể ộ ủ ớ ạ ươ ng trình sau:.
- Sau khi th c hi n ch ự ệ ươ ng trình trên ta có:.
- Hãy vi t l i ch ế ạ ươ ng trình ví d 2.5 s d ng các đ a ch RAM thay tên các thanh ghi.
- Xem chi ti t ch ớ ị ỉ ế ở ươ ng 5 v ch đ đánh đ a ch .
- N p thanh ghi R0 giá tr 99H ạ ị MOV 01, #85H .
- N p thanh ghi R1 giá tr 85H ạ ị MOV 02, #3FH .
- N p thanh ghi R2 giá tr 3FH ạ ị MOV 07, #63H .
- B ng 2.2: ả Bit l a ch n các băng thanh ghi RS0 và RS1.
- Hãy phát bi u n i dung các ngăn nh RAM sau đo n ch ể ộ ớ ạ ươ ng trình d ướ i đây:.
- Ch n băng thanh ghi 4 ọ MOV R0, #99H .
- N p thanh ghi R0 giá tr 99H ạ ị MOV R1, #85H .
- N p thanh ghi R1 giá tr 85H ạ ị MOV R2, #3FH .
- N p thanh ghi R2 giá tr 3FH ạ ị MOV R7, #63H .
- N p thanh ghi R7giá tr 63H ạ ị MOV R5, #12H .
- N p thanh ghi R5 giá tr 12H ạ ị.
- Nên sau khi th c hi n đo n ch ớ ừ ế ự ệ ạ ươ ng trình trên ta có n i dung các ộ ngăn nh nh sau: ớ ư.
- 2.6.7 C t thanh ghi vào ngăn x p.
- “PUSH 1” là c t thanh ghi R1 vào ngăn x p.
- Hãy bi u di n ngăn x p và con tr ngăn x p đ i v i đo n ch ể ễ ế ỏ ế ố ớ ạ ươ ng trình sau đây.
- 2.6.8 L y nôi dung thanh ghi ra t ngăn x p.
- Kh o sát ngăn x p và hãy trình bày n i dung c a các thanh ghi và SP sau khi th c hi n đo n ả ế ộ ủ ự ệ ạ ch ươ ng trình sau đây:.
- N u trong m t ch ế ế ộ ươ ng trình đã cho ta c n ngăn x p nhi u h n ầ ế ề ơ 24 byte (08 đ n 1FH = 24 byte) thì ta có th đ i SP ch đ n các ngăn nh 30 đ n 7FH.
- Chi ti t v l nh ế ề ệ g i CALL đ ọ ượ c trình bỳ ch ở ươ ng 3..
- 2.6.11 Xung đ t ngăn x p và băng thanh ghi s 1.
- N u ch ế ộ ủ ộ ớ ế ươ ng trình đã cho c n s ầ ử d ng các băng thanh ghi s 1 và s 2 ta có th đ t l i vùng nh RAM cho ngăn x p

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt