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
-
bởi Ng.Phuong.5Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
Mấy con...-
Channel: Cadence ORCAD
Hôm qua, 19:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhBác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...-
Channel: Điện thanh
Hôm qua, 18:12 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi nguyendinhvanTheo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
Cách đơn giản...-
Channel: Điện thanh
Hôm qua, 00:04 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
-
Channel: Điện tử công suất
08-01-2025, 19:02 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanChủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
-
Channel: Điện tử công suất
08-01-2025, 15:43 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanLoa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
-
Channel: Điện thanh
08-01-2025, 15:28 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
-
Channel: Điện thanh
08-01-2025, 11:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhNó không phải cái loa rời. Chả nhẽ đèo thêm 2 con loa tép ngoài thì kỳ lắm....
-
Channel: Điện thanh
08-01-2025, 09:45 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ chú mua thêm loa tép nối tiếp qua con tụ rồi mắc vào cùng loa trung là được ạ...
-
Channel: Điện thanh
07-01-2025, 19:53 -
-
Trả lời cho Tìm datasheet linh kiện điện tử.bởi mèomướpDạ cháu hỏi bạn cháu thì bạn ấy trả lời như thế này ạ. Cháu cũng hông bít có đúng hông nữa ạ
Linh kiện điện tử với mã "943BA" và "W58BAL" là một loại cầu chì tự động (circuit breaker) do TE Connectivity sản...-
Channel: Điện tử dành cho người mới bắt đầu
07-01-2025, 19:50 -
Comment