Thông báo
Collapse
No announcement yet.
Lập trình ASM cho 8051
Collapse
X
-
Nguyên văn bởi ngohaibac Xem bài viếtMình mở topic này với mong muốn các bạn thảo luận về tệp lệnh và thuật giải cho các bài toán cụ thể.
Mình nghĩ rằng điều đó thực sự là cần thiết với các bạn mới học vi điều khiển qua đó có tư duy thuật toán rất là rõ ràng.
Do đó, mình yêu cầu ai post trong này cần ghi rõ giải thuật và chú thích lệnh rõ ràng. Vì thực tế lấy một đoạn code rồi post lên thì chẳng có ý nghĩa gì cả.
Topic này cũng rất là có tác dụng cho các bạn trong các kì thi Kỹ thuật vi xử lý đó. Bản thân mình học 8051 chỉ sơ sơ, không viết nhiều ứng dụng lắm, đặc biệt là bằng 8051 mà chỉ toàn bằng C thôi. Quan trọng là mình biết nếu lập trình một cái thì mình tìm ở đâu, học ở chỗ nào thôi. Trường mình kì này mới dạy 8051 nên phải viết nhiều nhiều để thi nên tiện viết luôn cho các bạn
.
Mình có upload tệp lệnh của bọn Atmel lên đây.
http://www.tailieuvietnam.net/downlo...tion%20Set.pdf
Đề nghị anh em không được post spam trong đây. Nếu ai không biết cần đặt câu hỏi cụ thể và người trả lời phải cụ thể, nếu có hình minh họa là tốt nhất. Tránh việc cứ hỏi đi hỏi lại mệt lắm.
Các bạn dùng Keil C để viết chương trình nhé:
http://www.tailieuvietnam.net/downlo...ac/C51v805.zip
Và chíp ban đầu mình và các bạn sử dụng để viết những bài đơn giản là con 89S52.8051 tệp lệnh là giống nhau chọn con nào cũng ok.Con 89S52 có nhiều điểm mạnh như có 3 timer, 256 byte RAM on chip... :
Chúc mọi người thành công.•´¨`»(`'•.¸(`'•.¸¤*¤¸.-'´)¸.•'´)«´¨`•
«´¨`•..¤ :¤..•´¨`»
•´¨`»(¸.•'´(¸.•'´¤*¤`'•.¸)`'•. ¸)«´¨`•
Comment
-
Các bác ơi gúp em phần nút ấn mạch đồng hồ realtime với.
Em định sử dụng 3 nút ấn mode .inc, dec.
Link đồng hồ số :http://www.mediafire.com/?jwmn2jzdzwr
Thank các bác nhiều.
Comment
-
Chao anh ngohaibac
Em là người mới tìm hiểu về lập trình ASM cho 8051. Nhiều thứ e vẫn chưa hiểu hết được.
Mới đây, thầy giáo của em bắt về nhà làm bài tập về ASM8051 này, nhưng từ trước đến giờ em chưa được học về nó.
Đề bài như thế này.
Viết chuơng trình ASM để chia số 16bits cho số 8bits, thương là số 16bits và số dư là số 8bits. Yêu cầu viết ASM 8051 và sử dụng các hàm, thủ tục con.
Khoảng vài ngày nữa là em nộp lại rồi mà đến bây giờ em vẫn chưa thể làm được.
Em nhờ anh hãy làm giúp cho em bàu này được không ạ. Nghĩa là anh làm hoàn chỉnh chuơng trình luôn (nhập số, chia và xuất kết quả)
Em cảm ơn anh nhiều
Comment
-
Chao anh ngohaibac
Em là người mới tìm hiểu về lập trình ASM cho 8051. Nhiều thứ e vẫn chưa hiểu hết được.
Mới đây, thầy giáo của em bắt về nhà làm bài tập về ASM8051 này, nhưng từ trước đến giờ em chưa được học về nó.
Đề bài như thế này.
Viết chuơng trình ASM để chia số 16bits cho số 8bits, thương là số 16bits và số dư là số 8bits. Yêu cầu viết ASM 8051 và sử dụng các hàm, thủ tục con.
Khoảng 3 ngày nữa là em nộp lại rồi mà đến bây giờ em vẫn chưa thể làm được.
Em nhờ anh hãy làm giúp cho em bàu này được không ạ. Nghĩa là anh làm hoàn chỉnh chuơng trình luôn (nhập số, chia và xuất kết quả)
Em cảm ơn anh nhiều.
Nhờ anh làm nhanh và gửi qua mail này cho em với nhé: loiht.208@gmail.com
Comment
-
anh nào lập trình asm xem giúp em đoạn code này với. em mới tìm hiểu về asm nên cũng ko biết nhiều.
T11 BIT 20H
T22 BIT 21H
T33 BIT 22H
T44 BIT 23H
ORG 0000H
JMP MAIN
ORG 0003H ;ngat ngoai de hien thi
CALL T1ISR ; thoi gian sang tat LED xanh
CALL HT
RETI
ORG 000BH ;ngat timer 0 de kiem soat thoi gian hien thi giua cac bang ma
CALL SOSANH
CALL T0ISR
RETI
ORG 001BH ;ngat timer 1 de sang tat LED xanh duoi cung
CPL P3.7
CALL T1ISR ; thoi gian sang tat LED xanh
RETI
ORG 0040H
MAIN:
MOV SP,#5EH
MOV 50H,#107
SETB T11
SETB T22
SETB T33
SETB T44
MOV R4,#120
MOV TMOD,#11H
MOV P1,#0FFH
MOV P3,#0FFH
MOV A,#0
MOV DPTR,#TB
MOV IE,#10001011B
SETB IT0
SETB PT1
SETB TR1
JMP $
HT:
SETB TR0
MOV A,#0
CLR P3.7
HT0:
PUSH ACC
MOVC A,@A+DPTR
MOV P1,A
POP ACC
INC A
CALL DELAY
MOV P1,#0FFH
CJNE A,50H,HT0
RET
DELAY:
MOV R5,#60
DJNZ R5,$
RET
T1ISR:
MOV TH1,#HIGH(-2000)
MOV TL1,#LOW(-2000)
RET
T0ISR:
MOV TH0,#HIGH(-50000)
MOV TL0,#LOW(-50000)
RET
SOSANH:
DJNZ R4,EXIT0
JNB T11,NEXT1
MOV DPTR,#TB1
MOV R4,#80 ;bang ma 1 hien thi 2 giay
MOV 50H,#142 ;so luong gia tri cua bang ma 1
CLR T11
JMP EXIT0
NEXT1:
JNB T22,NEXT2
MOV DPTR,#TB2
MOV R4,#80 ;bang ma 2 hien thi 2 giay
MOV 50H,#136
CLR T22
JMP EXIT0
NEXT2:
JNB T33,NEXT3
MOV DPTR,#TB3
MOV R4,#80 ;bang ma 3 hien thi 2 giay
MOV 50H,#134
CLR T33
JMP EXIT0
NEXT3:
JNB T44,NEXT4
MOV DPTR,#TB4
MOV R4,#80 ;bang ma 4 hien thi 2 giay
MOV 50H,#124
CLR T44
JMP EXIT0
NEXT4:
MOV DPTR,#TB
MOV R4,#120 ;bang ma dau tien hien thi 3 giay
MOV 50H,#107
MOV 24H,#0FFH ;set lai cac bit T11,T22,T33,T44
EXIT0:
RET
TB:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;57
DB 0EFH,0FFH,0DFH,0FFH,0BFH,0FFH,7FH,0FFH,0BFH,0FFH,0 DFH,0FFH,0EFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0 FFH,0FFH,0FFH,0FFH;^
DB 0EFH,0FFH,0DFH,0FFH,0BFH,0FFH,7FH,0FFH,0BFH,0FFH,0 DFH,0FFH,0EFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0 FFH,0FFH,0FFH,0FFH;^
DB 5H,0FFH,0FFH,0FFH ;!
TB1:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH ;22
DB 1H,0FFH,6DH,0FFH,6DH,0FFH,6DH,0FFH,93H,0FFH,0FFH,0 FFH ;B
DB 1H,0FFH,0FFH,0FFH ;I
DB 1H,0FFH,0BFH,0FFH,0DFH,0FFH,0EFH,0FFH,0F7H,0FFH,1H ,0FFH,0FFH,0FFH ;N
DB 1H,0FFH,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH,1H,0FFH,0FFH ,0FFH ;H
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH ;_
DB 1H,0FFH,7DH,0FFH,7DH,0FFH,7DH,0FFH,83H,0FFH,0FFH,0 FFH ;D
DB 3H,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,3H,0FFH,0FFH ,0FFH ;U
DB 83H,0FFH,7DH,0FFH,7DH,0FFH,7DH,0FFH,7DH,0FFH,83H,0 FFH,0FFH,0FFH ;O
DB 1H,0FFH,0BFH,0FFH,0DFH,0FFH,0EFH,0FFH,0F7H,0FFH,1H ,0FFH,0FFH,0FFH ;N
DB 83H,0FFH,7DH,0FFH,7DH,0FFH,75H,0FFH,75H,0FFH,0B1H, 0FFH,0FFH,0FFH ,0EEH ;G
TB2:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;28
DB 3H,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,3H,0FFH,0FFH ,0FFH ;U
DB 1H,0FFH,0BFH,0FFH,0DFH,0FFH,0EFH,0FFH,0F7H,0FFH,1H ,0FFH,0FFH,0FFH ;N
DB 1H,0FFH,0FFH,0FFH ;I
DB 7H,0FFH,0FBH,0FFH,0FDH,0FFH,0FBH,0FFH,7H,0FFH,0FFH ,0FFH ;V
DB 1H,0FFH,6DH,0FFH,6DH,0FFH,6DH,0FFH,0FFH,0FFH ;E
DB 1H,0FFH,6FH,0FFH,67H,0FFH,6BH,0FFH,9DH,0FFH,0FFH,0 FFH ;R
DB 9BH,0FFH,6DH,0FFH,6DH,0FFH,6DH,0FFH,0B3H,0FFH,0FFH ,0FFH ;S
DB 1H,0FFH,0FFH,0FFH ;I
DB 7FH,0FFH,7FH,0FFH,1H,0FFH,7FH,0FFH,7FH,0FFH,0FFH,0 FFH ;T
DB 7FH,0FFH,0BFH,0FFH,0DFH,0FFH,0E1H,0FFH,0DFH,0FFH,0 BFH,0FFH,7FH,0FFH,0FFH,0FFH ;Y
TB3:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;29
DB 1H,0FFH,6DH,0FFH,6DH,0FFH,6DH,0FFH,0FFH,0FFH ;E
DB 1H,0FFH,6FH,0FFH,6FH,0FFH,7FH,0FFH,0FFH,0FFH ;F
DB 1H,0FFH,6DH,0FFH,6DH,0FFH,6DH,0FFH,93H,0FFH,0FFH,0 FFH ;B
DB 1H,0FFH,7DH,0FFH,7DH,0FFH,7DH,0FFH,83H,0FFH,0FFH,0 FFH ;D
DB 3H,0FFH,0FDH,0FFH,0FDH,0FFH,0FDH,0FFH,3H,0FFH,0FFH ,0FFH ;U
DB 0FFH,0FFH,0FFH,0FDH,0FFH,0FFH,0FFH,0FFH,0FFH ;.
DB 83H,0FFH,7DH,0FFH,7DH,0FFH,7DH,0FFH,0BBH,0FFH,0FFH ,0FFH ;C
DB 83H,0FFH,7DH,0FFH,7DH,0FFH,7DH,0FFH,7DH,0FFH,83H,0 FFH,0FFH,0FFH ;O
DB 1H,0FFH,0BFH,0FFH,0DFH,0FFH,0EFH,0FFH,0DFH,0FFH,0B FH,0FFH,1H,0FFH,0FFH,0FFH ;M
TB4:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH ;40
DB 0C3H,0FFH,0B5H,0FFH,0ADH,0FFH,9DH,0FFH,0C3H,0FFH,0 FFH,0FFH ;0
DB 0BFH,0FFH,0BFH,0FFH,0B0H,0FFH,0AFH,0FFH,9FH,0FFH,0 FFH,0FFH ;7
DB 0C3H,0FFH,0B5H,0FFH,0ADH,0FFH,9DH,0FFH,0C3H,0FFH,0 FFH,0FFH ;0
DB 0DDH,0FFH,0B9H,0FFH,0B5H,0FFH,0ADH,0FFH,0DDH,0FFH, 0FFH,0FFH ;2
DB 0C3H,0FFH,0B5H,0FFH,0ADH,0FFH,9DH,0FFH,0C3H,0FFH,0 FFH,0FFH ;0
DB 0DDH,0FFH,0B9H,0FFH,0B5H,0FFH,0ADH,0FFH,0DDH,0FFH, 0FFH,0FFH ;2
DB 0F3H,0FFH,0EBH,0FFH,0DBH,0FFH,81H,0FFH,0FBH,0FFH,0 FFH,0FFH ;4
END
Comment
-
Nguyên văn bởi lonelycat Xem bài viếtBạn đang làm quang báo phải ko, bạn gửi sơ đò mạch lên để cùng nhau thảo luận, chứ như thế này sao giúp được
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )bởi vi van phamUống rượu 1 mình, thấy trang này nhớ lại cách đây vài chục năm hàn thiếc với inox cực kỳ khó, phải dùng acid Hcl tác dụng lên kẻm Zn để có Zncl2 làm thuốc trợ hàn, lúc đó làm gì có acid Hcl và thuốc trợ hàn?
Cái khó bó cái...Hôm qua, 23:05 -
Trả lời cho Tiếng Anh cho người Việtbởi nhathung1101Nếu chú tâm thì học tiếng Việt cũng đủ rồi, thừa sức làm việc rồi.
Học tiếng Anh cũng chỉ phụ trợ để đọc thêm tài liệu, hướng dẫn.
Nhưng có hiểu điều đó không mới là vấn đề. Khi mà học ngoại ngữ để đi đạp xích lô đón khách???...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 21:27 -
-
bởi xenopus123Cần hỗ trợ mạch đồng hồ vạn niên 89c52 ds1302 ds18b20 dùng 16 led 7 đoạn
-
Channel: Hỗ trợ học tập
Hôm qua, 21:24 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nhathung1101Nhìn kỹ hàng đi cu. Chứ ra đường cứ thấy đàn bà rồi bảo:
- Tôi cũng có vợ như thế....
Đảm bảo cu nát người luôn....-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 21:04 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi matnetgia99Ồ, cái này mình cũng có nè, có ai mua không, đồ cũ dùng từ năm 2008, hư 1 2 giai gì đấy bỏ xó hơn năm nay...
-
Channel: Điện tử dành cho người mới bắt đầu
17-02-2025, 14:40 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80À, sản phẩm họ thiết kế ra, họ yêu cầu mình chứng minh là sau chỉnh sửa thì 1 là gỡ jump cắm lại không hư mạch, 2 là gỡ jump thì 220Vdc vẫn dùng được led áp thấp 20V mà không hư led như mình báo, nên họ hiểu rõ mà....
-
Channel: Điện tử công suất
17-02-2025, 06:08 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Tôi biết và tôi biết.
Sẽ bắt đầu với cái Sồn La, rồi mấy mạch nguồn vớ vỉn.... Rồi sẽ đèn led...
Cuộc đời là những chuyến xe, nên sẽ có:
Xe đạp điện, xe máy điện, xe ô tô điện, xe cấp cứu điện, xe tang điện.
Rồi xem.-
Channel: Điện tử công suất
17-02-2025, 01:38 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Vấn đề là thu ánh sáng rồi phát ra ánh sáng cơ. Hồi mẫu giáo cô bảo đừng làm, lão không nhớ à?
Tốt nhất im mồm....-
Channel: Điện tử công suất
17-02-2025, 01:26 -
-
Trả lời cho Tiếng Anh cho người Việtbởi bqvietBài học kiểu trực tuyến dù là loại đơn giản bậc nhất cũng vẫn cần chú tâm. Chỉ bật tai nghe lên thì không có loại nào thấm nổi đâu. Cách hay hơn, dễ hơn là kiếm phim tiếng Anh nào đó xem, ban đầu bật phụ đề tiếng Việt, nghe và...
-
Channel: Tâm tình dân kỹ thuật
14-02-2025, 16:15 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nguyendinhvanỞ đtvn này mới biết đến 2 loại mạch
1 step down
2 step up
Bây giờ anh lưu vong làm thuê bên nước lạ còn làm ra cái mach vừa up vùa dow luôn.
Tính chất là:
1 Đầu vào bằn ra cho nối thẳng
2 Đầu vào cao hơn...-
Channel: Điện tử công suất
14-02-2025, 00:51 -
Comment