Học Lập Trình Cho 8051 Bằng ASSEMBLY
Như tiêu đề đã đưa ra. Sau đây mình sẽ post một số bài lập trình chỉ dùng ngôn ngữ Assembly
dùng trình dịch Keil uVision4 để lập trình. Dưới đây có một số mẫu bài tập giữa kỳ. Mọi đóng góp các bạn PM phía dưới,!
Đề số 1. Thiết kế mạch và lập trình điều khiển động cơ dùng mạch cầu H, có thay đổi tốc
độ động cơ và đảo chiều, ghép nối 8051
Đề số 2. Thiết kế mạch và lập trình điều khiển động cơ, đảo chiều bằng Relay, có thay đổi
tốc độ động cơ, ghép nối 8051
Đề số 3. Thiết kế mạch và lập trình điều khiển hiển thị 6 LED 7 thanh ghép nối 8051, nội
dung tuỳ ý
Đề số 4. Thiết kế mạch và lập trình điều khiển nếu trời tối thì bật/tắt đèn bằng Relay.
Đề số 5. Thiết kế mạch và lập trình điều khiển đọc ADC 0809, hiển thị lên 8 LED đơn
Đề số 6. Thiết kế mạch và lập trình điều khiển đọc ADC 0809, hiển thị lên LED 7 thanh
Đề số 7. Thiết kế mạch và lập trình điều khiển chuyển đổi tín hiệu số sang tương tự, dùng
DAC0808, đầu ra 0..5v
Đề số 8. Thiết kế mạch và lập trình điều khiển hiển thị LCD với 8051
Đề số 9. Thiết kế mạch và lập trình điều khiển truyền thông giữa máy tính với 8051 qua
chuẩn RS232
Đề số 10. Thiết kế mạch và lập trình điều khiển đọc tín hiệu số 0/12V có cách ly quang,
hiển thị trạng thái ra LED đơn
Đề số 11. Thiết kế mạch và lập trình điều khiển đèn LED đơn, ghép dòng chữ ĐHKTCN
Đề số 12. Thiết kế mạch và lập trình điều khiển cho bộ mở rộng chân ra theo chuẩn nối
tiếp dùng IC 74HC595
Đề số 13. Thiết kế mạch và lập trình điều khiển cho bộ mở rộng chân vào theo chuẩn nối
tiếp dùng 74165
Đề số 14. Thiết kế mạch và lập trình điều khiển cho bộ mở rộng chân ra theo chuẩn song
song dùng IC 74HC573
Sơ Đồ Thuật Toán Khối Chính
Sơ Đồ Thuật Toán Khối Ngắt
START BIT P3^0
STOP BIT P3^1
PIN_DK BIT P1^0
TANG BIT P3^2
GIAM BIT P3^3
BIENLUU DATA 30H
COUNTER DATA 31H
ORG 0
LJMP MAIN
ORG 00BH
LJMP NGAT_T0
ORG 030H
MAIN:
MOV TMOD,#11H
MOV TH0,#0FEH
MOV TL0,#00CH
SETB EA
SETB ET0
MOV BIENLUU,#50
MOV COUNTER,#0
CLR PIN_DK
POLLING:
JB START,KTSTOP
CALL DELAY50MS
JNB START,$
SETB TR0
LJMP POLLING
KTSTOP:
JB STOP,KTTANG
CALL DELAY50MS
JNB STOP,$
CLR PIN_DK
CLR TR0
CALL DELAY50MS
LJMP POLLING
KTTANG:
JB TANG,KTGIAM
CALL DELAY50MS
JNB TANG,$
INC BIENLUU
MOV A,BIENLUU
CJNE A,#101,EXIT
MOV A,#100
EXIT:
LJMP POLLING
KTGIAM:
JB GIAM,EXIT2
CALL DELAY50MS
JNB GIAM,$
DEC BIENLUU
MOV A,BIENLUU
CJNE A,#-1,EXIT2
MOV A,#0
EXIT2:
LJMP POLLING
NGAT_T0:
PUSH ACC
CLR TR0
MOV TH0,#0FEH
MOV TL0,#00CH
SETB TR0
INC COUNTER
MOV A,COUNTER
CJNE A,BIENLUU,JMPSTEP
CLR PIN_DK
JMPSTEP:
CJNE A,#100,EXIT_ISR
SETB PIN_DK
MOV COUNTER,#0
EXIT_ISR:
POP ACC
RETI
DELAY50MS:
MOV TH1,#03CH
MOV TL1,#0B0H
SETB TR1
JNB TF1,$
CLR TF1
CLR TR1
RET
END
Mô Phỏng
Nhận xét này đã bị tác giả xóa.
Trả lờiXóacho e hỏi có bài đề 7 k ạ
Trả lờiXóacho e hỏi có bài đề 7 k ạ
Trả lờiXóacho e hỏi có lời giải bài 1 không ạ
Trả lờiXóa