- 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