Giáo trình môn Kỹ thuật vi điều khiển - Lâm Tăng Đức

Tóm tắt Giáo trình môn Kỹ thuật vi điều khiển - Lâm Tăng Đức: ...hay đổi ch−ơng trình điều hành hiện đang có trong bộ KIT. Ch−ơng trình điều hành phải đ−ợc nạp từ các mạch nạp ngoài và cố định trên KIT. Ch−ơng trình ứng dụng của ng−ời sử dụng đ−ợc nạp cho bộ KIT từ máy tính thông qua phần mềm nạp đi kèm theo KIT. Hình 2.1 - Sơ đồ khối của KIT suu tam: t...iển Biên soạn : Lâm tăng Đức – Lê Tiến Dũng – Bộ môn TĐH Trang 52 2. Chế độ 1 (Mode 1): ở chế độ này, cổng A ,B có thể dùng làm cổng vào/ ra hai chiều với khả năng bắt tay. Tín hiệu bắt tay đ−ợc cấp bởi các bit của cổng C. 3. Chế độ 2 (Mode 2): ở chế độ này, cổng A có thể đ−ợc dùng làm cổ... KIT này ta sử dụng 8255 làm chip mở rộng I/O hoạt động ở chế độ 0 – chế độ vào ra cơ bản. Khi 8255 làm việc ở chế độ này, các cổng A, B, CL, CU có thể đ−ợc lập trình làm đầu vào hoặc đầu ra. Nên nhấn mạnh rằng, ở chế độ 0 thì tất cả các bit hoặc làm đầu vào, hoặc làm đầu ra mà không thể điều ...

pdf121 trang | Chia sẻ: havih72 | Lượt xem: 200 | Lượt tải: 0download
Nội dung tài liệu Giáo trình môn Kỹ thuật vi điều khiển - Lâm Tăng Đức, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
; KET THUC THU TUC IN CHUOI RA LCD 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 105 
; ###################################################### 
; ###################################################### 
; THU TUC XOA LCD 
; ###################################################### 
CLS: 
 mov E, #1 
 mov A, #01H 
 call Command_To_LCD 
 mov E, #2 
 mov A, #01H 
 call Command_To_LCD 
 mov E, #1 
 mov A, #0EH 
 call Command_To_LCD 
 mov A, #0CH ; Bat hien thi, tat con tro 
 call Command_To_LCD 
 ret 
; ###################################################### 
; KET THUC THU TUC XOA LCD 
; ###################################################### 
; ###################################################### 
; THU TUC IN SO HEXA 
; ###################################################### 
phex: 
phex8: ; In so hexa 8 bit, input = ACC 
 push 02 
 push acc 
 swap a 
 anl a, #0FH 
 add a, #246 
 jnc phex_b 
 add a, #7 
phex_b: 
 add a, #58 
 mov R2, A ;Luu 
 mov A, #0EH 
 call Command_To_LCD 
 mov A, R2 
 call In_Ki_Tu 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 106 
 pop acc 
phex1: 
push acc 
 anl a, #0FH 
 add a, #246 
 jnc phex_c 
 add a, #7 
phex_c: 
add a, #58 
 mov R2, A ;Luu 
 mov A, #0EH 
 call Command_To_LCD 
 mov A, R2 
 call In_Ki_Tu 
 pop acc 
 pop 02 
 ret 
phex16: ; In so hexa 16 bit, input = DPTR 
 push acc 
 mov a, dph 
 acall phex 
 mov a, dpl 
 acall phex 
 pop acc 
 ret 
; ###################################################### 
; KET THUC THU TUC IN SO HEXA 
; ###################################################### 
6.5 Các ví dụ DEMO 
; ########################################### 
; CAC VI DU DEMO 
; ########################################### 
DEMO1: ; LED DON - 8255-4 
mov DPTR, #LED_DON 
DEMO1_1: ; Nhap nhay cac LED xen ke 
 mov R5, #48 
 mov R6, #10101010B 
Again_DM11: 
 mov A, R6 
 movx @DPTR, A 
 cpl A 
 call Delay_100ms 
 mov R6, A 
 mov A, KEY ; Neu co nut an tro ve 
 cjne A, #KEY_BSP, TiepDemo1_1 ; Tiep 
tuc chay cho het vong lap 
jmp Exit_DEMO1 ; Neu co lenh thoat 
thi tro ve luon 
TiepDemo1_1: 
 djnz R5, Again_DM11 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 107 
DEMO1_2: ; Chay LED tu trai sang phai 
 ; Nghi mot chut 
 mov A, #00H 
 movx @DPTR, A 
 call Delay_500ms 
 mov R5, #48 
 mov R6, #10000000B 
Again_DM12: 
 mov A, R6 
 movx @DPTR, A 
 call Delay_100ms 
 rr A 
 mov R6, A 
 mov A, KEY ; Neu co nut an tro ve 
 cjne A, #KEY_BSP, TiepDemo1_2 
 ; Tiep tuc chay cho het vong lap 
 jmp Exit_DEMO1 
; Neu co lenh thoat thi tro ve luon 
TiepDemo1_2: 
 djnz R5, Again_DM12 
DEMO1_3: ; Chay LED tu phai sang trai 
 ; Nghi mot chut 
 mov A, #00H 
 movx @DPTR, A 
 call Delay_500ms 
 mov R5, #48 
 mov R6, #10000000B 
Again_DM13: 
 mov A, R6 
 movx @DPTR, A 
 call Delay_100ms 
 rl A 
 mov R6, A 
 mov A, KEY 
 ; Neu co nut an tro ve 
 cjne A, #KEY_BSP, TiepDemo1_3 
; Tiep tuc chay cho het vong lap 
 mp Exit_DEMO1 
; Neu co lenh thoat thi tro ve luon 
TiepDemo1_3: 
 djnz R5, Again_DM13 
Exit_DEMO1: 
 mov KEY, #0FFH 
 call Restore_SCR 
; Tra lai man hinh truoc' 
 ret 
 ; Tro ve man hinh 4, chon vd DEMO 
; ------------------------------------------ 
DEMO2: ; LED 7 DOAN 
 mov Led7Doan1, #0 
 mov Led7Doan2, #0 
 mov Led7Doan3, #0 
 mov Led7Doan4, #0 
DEMO2_1: 
; Dem len 
 mov A, #DONG2 
 call Command_To_LCD 
 mov DPTR, #MSG11 
 call Str_To_LCD 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG12 
 call Str_To_LCD 
Dem_Len: 
 call Display_Four_7Seg_Led 
 call Delay_100ms 
 mov A, KEY 
 cjne A, #KEY_BSP, Sang_Dem_Xuong 
 mov KEY, #0FFH 
 jmp Exit_DEMO2 
Sang_Dem_Xuong: 
 cjne A, #1, TiepTucDemLen 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 108 
 mov KEY, #0FFH 
 jmp Exit_DEMO2_1 
TiepTucDemLen: 
 mov A, Led7Doan4 
 inc A 
 mov Led7Doan4, A 
 cjne A, #0AH, Dem_Len 
 add A, #6 
 anl A, #00001111B 
 mov Led7Doan4, A 
 mov A, Led7Doan3 
 inc A 
 mov Led7Doan3, A 
 cjne A, #0AH, Dem_Len 
 add A, #6 
 anl A, #00001111B 
 mov Led7Doan3, A 
 mov A, Led7Doan2 
 inc A 
 mov Led7Doan2, A 
 cjne A, #0AH, Dem_Len 
 add A, #6 
 anl A, #00001111B 
 mov Led7Doan2, A 
 mov A, Led7Doan1 
 inc A 
 mov Led7Doan1, A 
 cjne A, #0AH, Dem_Len 
 add A, #6 
 anl A, #00001111B 
 mov Led7Doan1, A 
 jmp Dem_Len 
Exit_DEMO2_1: 
 ; Thoat dem len, chuyen sang dem xuong 
 mov KEY, #0FFH 
 mov A, #DONG2 
 call Command_To_LCD 
 mov DPTR, #MSG13 
 call Str_To_LCD 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG14 
 call Str_To_LCD 
DEMO2_2: ; ---- Dem xuong' 
 call Display_Four_7Seg_Led 
 call Delay_100ms 
 mov A, KEY 
 cjne A, #KEY_BSP, Sang_Dem_Len 
 mov KEY, #0FFH 
 jmp Exit_DEMO2 
Sang_Dem_Len: 
 cjne A, #0, TiepTucDemXuong 
 mov KEY, #0FFH 
 jmp DEMO2_1 
TiepTucDemXuong: 
 mov A, Led7Doan4 
 dec A 
 mov Led7Doan4, A 
 cjne A, #0FFH, DEMO2_2 
 mov Led7Doan4, #9 
 mov A, Led7Doan3 
 dec A 
 mov Led7Doan3, A 
 cjne A, #0FFH, DEMO2_2 
 mov Led7Doan3, #9 
 mov A, Led7Doan2 
 dec A 
 mov Led7Doan2, A 
 cjne A, #0FFH, DEMO2_2 
 mov Led7Doan2, #9 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 109 
 mov A, Led7Doan1 
 dec A 
 mov Led7Doan1, A 
 cjne A, #0FFH, DEMO2_2 
 mov Led7Doan1, #9 
 jmp DEMO2_2 
Exit_DEMO2: 
 ret 
; ------------------------------------------- 
DEMO3: ; LED MA TRAN 
DEMO3_1: 
 mov DPTR, #MATRIX_LED_ANOD 
 mov A, #0FFH 
 movx @DPTR, A 
 mov A, #11001100B 
 mov DPTR, #MATRIX_LED_R 
 mov R7, #32 
Again_DM3_1: ; Nhay LED cua cac cot, xen ke 
 movx @DPTR, A 
 cpl A 
 call Delay_100ms 
 djnz R7, Again_DM3_1 
DEMO3_2: 
 mov DPTR, #MATRIX_LED_ANOD 
 mov A, #0FFH 
 movx @DPTR, A 
 mov A, #11001100B 
 mov DPTR, #MATRIX_LED_R 
 mov R7, #32 
Again_DM3_2: ; Chay LED 
 movx @DPTR, A 
 rr A 
 call Delay_100ms 
 djnz R7, Again_DM3_2 
DEMO3_3: 
 mov DPTR, #MATRIX_LED_ANOD 
 mov A, #0FFH 
 movx @DPTR, A 
 mov A, #11001100B 
 mov DPTR, #MATRIX_LED_R 
 mov R7, #32 
Again_DM3_3: ; Chay LED 
 movx @DPTR, A 
 rl A 
 call Delay_100ms 
 djnz R7, Again_DM3_3 
DEMO3_4: ; Thi nghiem voi cac cot 
 mov A, #0FFH 
 mov DPTR, #MATRIX_LED_R 
 movx @DPTR, A 
 mov A, #0FFH 
 mov DPTR, #MATRIX_LED_G 
 movx @DPTR, A 
 mov DPTR, #MATRIX_LED_ANOD 
 mov A, #01H 
 movx @DPTR, A 
 mov R7, #64 
Again_DM3_4: ; Chay LED 
 movx @DPTR, A 
 rl A 
 call Delay_100ms 
 djnz R7, Again_DM3_4 
 ret 
DEMO4: ; BAN PHIM, LCD 
 ret 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 110 
DEMO5: ;ADC, DAC 
; 8255-2 
; ADC_DB EQU 8008H ; Bus du lieu cua ADC0809 
; DAC_DB EQU 8009H ; Bus du lieu cua DAC0808 
; ADC_CONTROL EQU 800AH ; Cac tin hieu dieu khien ADC0809 
; CW2 EQU 800BH ; Tu dieu khien CW cua 8255-2 
; Cac bit cua ADC_CONTROL nhu sau 
; 7 6 | 5 | 4 | 3 | 2 | 1 | 0 | 
; ----|-----|----|--------|------|------|------| 
; X X | EOC | OE | ALE+SC | ADDC | ADDB | ADDA | 
ADC: 
 mov DPTR, #CW2 
 mov A, #CW_100 ; A vao, B, C ra 
 movx @DPTR, A 
 mov DPTR, #ADC_CONTROL ; Chon 
kenh analog 0 
 mov A, #00001000B 
 movx @DPTR, A 
 nop 
 nop 
 nop 
 mov A, #00100000B ; Chot 
dia chi va bat dau chuyen doi 
 movx @DPTR, A 
 mov DPTR, #CW2 ; Chuyen PC - 
ADC_CONTROL lam dau vao 
 mov A, #CW_101 ; A, C vao, B ra 
 movx @DPTR, A 
Wait_EOC: ; Cho` cho 
qua trinh convert ket thuc 
 mov DPTR, #ADC_CONTROL 
 movx A, @DPTR 
 anl A, #00100000B 
 cjne A, #00100000B, Wait_EOC 
 ; Ket thuc qua trinh chuyen doi 
 mov DPTR, #CW2 ; Dat lai PC lam dau 
ra 
 mov A, #CW_100 ; A vao, B, C ra 
 movx @DPTR, A 
 mov DPTR, #ADC_CONTROL 
 mov A, #00110000B ; Cho phep dau ra OE 
= 1 
 movx @DPTR, A 
 mov DPTR, #ADC_DB ; Doc du lieu tra ve 
 movx A, @DPTR 
 mov Nhiet_Do, A 
 mov E, #2 
 mov A, #DONG1 
 call Command_To_LCD 
 mov DPTR, #MSG34 
 call Str_To_LCD 
 mov A, #DONG2 
 call Command_To_LCD 
 mov DPTR, #MSG35 
 call Str_To_LCD 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG33 
 call Str_To_LCD 
 mov A, Nhiet_Do 
 clr CY 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 111 
 subb A, #100 
 jc Nhiet_Do_Nho_Hon_100 
Nhiet_Do_Lon_Hon_100: 
 mov A, Nhiet_Do 
 dec A ; Tru 1 
 rl A 
 rl A ; Nhan 4 de nhay cho dung 
vi tri chuoi can tra trong bang 
 mov R6, #4 
 mov R0, A 
 mov DPTR, #LON_HON_100_DO 
In_Nhiet_Do_1: 
 movc A, @A + DPTR 
 call In_Ki_Tu 
 inc R0 
 mov A, R0 
 djnz R6, In_Nhiet_Do_1 
 jmp In_Do_C 
Nhiet_Do_Nho_Hon_100: 
 mov A, Nhiet_Do 
 dec A ; Tru 1 
 rl A ; Nhan 2 de nhay cho dung 
vi tri chuoi can tra trong bang 
 mov R6, #2 
 mov R0, A 
 mov DPTR, #NHO_HON_100_DO 
In_Nhiet_Do_2: 
 movc A, @A + DPTR 
 call In_Ki_Tu 
 inc R0 
 mov A, R0 
 djnz R6, In_Nhiet_Do_2 
In_Do_C: 
 mov A, #' ' 
 call In_Ki_Tu 
 mov A, #'d' 
 call In_Ki_Tu 
 mov A, #'o' 
 call In_Ki_Tu 
 mov A, #' ' 
 call In_Ki_Tu 
 mov A, #'C' 
 call In_Ki_Tu 
 mov A, #' ' 
 call In_Ki_Tu 
 call Delay_500ms 
 call Delay_500ms 
 mov A, KEY 
 cjne A, #KEY_ENTER, KT_Thoat_ADC 
 mov KEY, #0FFH 
 jmp DAC 
KT_Thoat_ADC: 
 cjne A, #KEY_BSP, Tiep_Tuc_ADC 
 mov KEY, #0FFH 
 call Restore_SCR 
 ret 
Tiep_Tuc_ADC: 
 jmp ADC 
; -------------------------------------------
---- 
DAC: 
 mov E, #2 
 mov A, #01 
 call Command_To_LCD 
 mov A, #DONG2 
 call Command_To_LCD 
 mov DPTR, #MSG38 ; 'Thi nghiem voi 
DAC' 
 call Str_To_LCD 
 ; DAC_DB EQU 8009H 
 ; Bus du lieu cua DAC0808 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG36 
 call Str_To_LCD 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 112 
 mov Ap_Ra, #10 
Tang_Ap_DAC: 
 mov A, Ap_Ra 
Dao_Gia_Tri: 
 rrc A 
 mov 07H, C 
 rrc A 
 mov 06H, C 
 rrc A 
 mov 05H, C 
 rrc A 
 mov 04H, C 
 rrc A 
 mov 03H, C 
 rrc A 
 mov 02H, C 
 rrc A 
 mov 01H, C 
 rrc A 
 mov 00H, C 
 mov A, 20H 
 mov DPTR, #DAC_DB 
 movx @DPTR, A 
 mov A, Ap_Ra 
 add A, #2 
 mov Ap_Ra, A 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 mov A, Ap_Ra 
 cjne A, #254, KT_Thoat_Tang_Ap_DAC 
 jmp Exit_DEMO5 
KT_Thoat_Tang_Ap_DAC: 
 mov A, KEY 
 cjne A, #KEY_BSP, Tang_Ap_DAC 
 mov KEY, #0FFH 
Exit_DEMO5: 
 call Restore_SCR 
 ret 
DEMO6: ; STEPPER, DC MOTOR 
;DIGITAL_INPUT EQU 800CH ; Dau vao so 
;DC_STEPPER EQU 800DH ; Dieu khien dong co 
buoc (PB0-PB3), dong co 1 chieu(PB4-PB7
; PULSE_INPUT EQU 800EH ; 4 dau vao xung = 
nut(PC4-PC7), 4 tu cac nguon phat 
xung(PC0-PC3) 
; CW3 EQU 800FH ; Tu dieu khien CW cua 
8255-3 
 mov DPTR, #DC_STEPPER 
 mov R4, #00110011B 
 mov R7, #255 
 mov R6, #5 
 mov Nut1, #0 
 mov Nut2, #0 
 mov Nut3, #0 
 mov Nut4, #0 
Quay_Thuan: 
 mov A, R4 
 movx @DPTR, A 
 rl A 
 mov R4, A 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 mov A, KEY 
 cjne A, #KEY_BSP, Case_Enter_QT 
 mov KEY, #0FFH 
 call Restore_SCR 
 ret 
 ; MSG29: db 'ENTER=Test pulse input', 0 
 ; MSG30: db 'ENTER=Test digital 
input',0 
Case_Enter_QT: 
 mov A, KEY 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 113 
 cjne A, #KEY_ENTER, Du_So_Buoc1 
 mov KEY, #0FFH 
 ;Hien thi thong bao bam enter de quay 
nguoc 
 mov E, #2 
 mov A, #DONG1 
 call Command_To_LCD 
 mov DPTR, #MSG29 
 call Str_To_LCD 
 mov R7, #255 
 mov R6, #5 
 mov R4, #00110011B 
 mov DPTR, #DC_STEPPER 
 jmp Quay_Nguoc 
Du_So_Buoc1: 
 djnz R7, Quay_Thuan 
 mov R7, #255 
 djnz R6, Quay_Thuan 
Quay_Nguoc: 
 mov A, R4 
 movx @DPTR, A 
 rr A 
 mov R4, A 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 mov A, KEY 
 cjne A, #KEY_BSP, Case_Enter_QN 
 mov KEY, #0FFH 
 call Restore_SCR 
 ret 
Case_Enter_QN: 
 mov A, KEY 
 cjne A, #KEY_ENTER, Du_So_Buoc2 
 mov KEY, #0FFH 
 ;Hien thi thong bao bam enter de quay 
TEST pulse input 
 mov E, #2 
 mov A, #DONG1 
 call Command_To_LCD 
 mov DPTR, #MSG30 
 call Str_To_LCD 
 mov DPTR, #DC_STEPPER 
 mov A, #0 
 movx @DPTR, A 
 jmp Pulse_Digital_Input_Test 
Du_So_Buoc2: 
 djnz R7, Quay_Nguoc 
 mov R7, #255 
 djnz R6, Quay_Nguoc 
Pulse_Digital_Input_Test: 
; MSG32: db 'Digital input value: ',0 
 mov E, #2 
 mov A, #DONG2 
 call Command_To_LCD 
 mov DPTR, #MSG31 
 call Str_To_LCD 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG32 
 call Str_To_LCD 
 ; DIGITAL_INPUT EQU 800CH ; 
Dau vao so 
 ; DC_STEPPER EQU 800DH ; 
Dieu khien dong co buoc (PB0-PB3), dong co 1 
chieu(PB4-PB7) 
 ; PULSE_INPUT EQU 800EH ; 
4 dau vao xung = nut(PC4-PC7), 4 tu cac nguon 
phat xung(PC0-PC3) 
 ; CW3 EQU 800FH
 ; Tu dieu khien CW cua 8255-3 
Quet_phim: 
 mov DPTR, #PULSE_INPUT 
 movx A, @DPTR 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 114 
 cjne A, #0FFH, Phim1 
 jmp Cap_nhat_gia_tri 
Phim1: 
 movx A, @DPTR 
 anl A, #11110000B ; Neu phim 
thu 1 dc an 
 cjne A, #01110000B, Phim2 
Cho_Phim1_tha: 
 mov DPTR, #PULSE_INPUT 
 movx A, @DPTR 
 anl A, #11110000B 
 cjne A, #11110000B, Cho_Phim1_tha 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 inc Nut1 ; Duoc tha roi thi tang 
Nut1 - chua tong so lan bam len 
 jmp Cap_nhat_gia_tri 
Phim2: 
 movx A, @DPTR 
 anl A, #11110000B ; Neu phim 
thu 2 duoc an 
 cjne A, #10110000B, Phim3 
Cho_Phim2_tha: 
 movx A, @DPTR 
 anl A, #11110000B 
 cjne A, #11110000B, Cho_Phim2_tha 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 inc Nut2 ; Duoc tha roi thi tang 
Nut1 - chua tong so lan bam len 
 jmp Cap_nhat_gia_tri 
Phim3: 
 movx A, @DPTR 
 anl A, #11110000B ; Neu phim 
thu 3 duoc an 
 cjne A, #11010000B, Phim4 
Cho_Phim3_tha: 
 movx A, @DPTR 
 anl A, #11110000B 
 cjne A, #11110000B, Cho_Phim3_tha 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 inc Nut3 ; Duoc tha roi thi tang 
Nut1 - chua tong so lan bam len 
 jmp Cap_nhat_gia_tri 
Phim4: 
 movx A, @DPTR 
 anl A, #11110000B ; Neu phim 
thu 4 duoc an 
 cjne A, #11100000B, Cap_nhat_gia_tri 
Cho_Phim4_tha: 
 movx A, @DPTR 
 anl A, #11110000B 
 cjne A, #11110000B, Cho_Phim4_tha 
 call Delay_7ms 
 call Delay_7ms 
 call Delay_7ms 
 inc Nut4 ; Duoc tha roi thi tang 
Nut1 - chua tong so lan bam len 
Cap_nhat_gia_tri: 
Cap_nhat_gia_tri_digital_input: 
 mov A, #DONG3 + 28 
 call Command_To_LCD 
 mov DPTR, #DIGITAL_INPUT 
 movx A, @DPTR 
 call phex8 ; in ra gia tri cua 
digital input 
; MSG31: db 'B1: |B2: |B3: |B4: ',0 
Cap_nhat_so_lan_bam_cac_nut: 
 mov A, #DONG2 + 3 
 call Command_To_LCD 
 mov A, Nut1 
 call phex8 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 115 
 mov A, #DONG2 + 9 
 call Command_To_LCD 
 mov A, Nut2 
 call phex8 
 mov A, #DONG2 + 15 
 call Command_To_LCD 
 mov A, Nut3 
 call phex8 
 mov A, #DONG2 + 21 
 call Command_To_LCD 
 mov A, Nut4 
 call phex8 
 mov A, KEY 
 cjne A, #KEY_BSP, Tiep_tuc 
 mov KEY, #0FFH 
 call Restore_SCR 
 ret 
Tiep_tuc: 
 jmp Quet_Phim 
 ret 
DEMO7: ; RS232 
 call Disable_SERIAL_INT 
; Lam viec voi nua man hinh 2 
 mov E, #2 
 mov A, #01 
 call Command_To_LCD ; Xoa LCD 
 mov A, #DONG1 
 call Command_TO_LCD 
 ; Select receive mode, bam nut 0 
 mov DPTR, #MSG24 
 call Str_TO_LCD 
 mov A, #DONG2 
 call Command_TO_LCD 
 ; Select receive mode, bam nut 1 
 mov DPTR, #MSG25 
call Str_TO_LCD 
 mov A, #0CH ; Giau con tro 
 call Command_To_LCD 
Cho_Phim_0_DM7: 
 mov A, KEY 
 cjne A, #0, Cho_Phim_1_DM7 
 mov KEY, #0FFH 
 jmp Receive_Mode 
Cho_Phim_1_DM7: 
 mov A, KEY 
 cjne A, #1, Cho_Phim_BSP_DM7 
 mov KEY, #0FFH 
 jmp Send_Mode 
Cho_Phim_BSP_DM7: 
 mov A, KEY 
 cjne A, #KEY_BSP, Cho_Phim_0_DM7 
 mov KEY, #0FFH 
 call Enable_SERIAL_INT 
 ret 
Receive_Mode: 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG26 
 call Str_To_LCD 
 mov A, #DONG4 
 call Command_To_LCD 
 mov A, #0FH ; Nhap nhay con tro 
 call Command_To_LCD 
 clr RI 
 mov R7, #23 
Doi_Nhan_Du_Lieu: 
 mov A, KEY 
 cjne A, #KEY_BSP, Co_Du_Lieu_Den 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 116 
 mov KEY, #0FFH 
 jmp DEMO7 
Co_Du_Lieu_Den: 
 jnb RI, Doi_Nhan_Du_Lieu 
 mov A, SBUF 
 call In_Ki_Tu 
 djnz R7, Chua_Het_Hang 
 mov R7, #24 
 mov A, #DONG4 ; Tro ve dau dong 
 call Command_To_LCD 
Chua_Het_Hang: 
 clr RI 
 jmp Doi_Nhan_Du_Lieu 
; ------------------------------------ 
Send_Mode: 
 mov A, #DONG3 
 call Command_To_LCD 
 mov DPTR, #MSG27 
 call Str_To_LCD 
Continue_Transfer: 
 mov DPTR, #MSG22 
 call Send_String 
 mov A, #13 
 call Send_Char 
 mov A, #10 
 call Send_Char 
 mov DPTR, #MSG23 
 call Send_String 
 mov A, #13 
 call Send_Char 
 mov A, #10 
 call Send_Char 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 call Delay_500ms 
 mov A, KEY 
 cjne A, #KEY_BSP, Continue_Transfer 
 mov KEY, #0FFH 
 jmp DEMO7 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 117 
6.5 Sơ đồ mạch in của các board
Sơ đồ mạch in của BOARD CPU - mặt trên 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 118 
Sơ đồ mạch in của BOARD CPU - mặt d−ới 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 119 
Sơ đồ mạch in của BOARD ADC - mặt trên 
Sơ đồ mạch in của BOARD xung số, động cơ b−ớc- mặt d−ới 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 120 
Sơ đồ mạch in của BOARD LED 
đơn, LED 7 đoạn và LED ma trận 
(mặt trên) 
(mặt d−ới) 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh
Giáo trình môn Kỹ thuật Vi Điều Khiển Ch−ơng 61 :Phần phụ lục 
 Biên soạn : Lâm tăng Đức – Lê Tiến Dũng –Bộ môn TĐH Trang 121 
Tài liệu tham khảo 
1. Cấu trúc và lập trình họ vi điều khiển 8051 – Nguyễn Tăng C−ờng – Nhà 
xuất bản khoa học kỹ thuật – 2004 
2. Họ vi điều khiển 8051 – Tống Văn On, Hoàng Đức Hải – Nhà xuất bản 
Lao động –X/ hội – 2001 
3. Các tài liệu tham khảo khác d−ới dạng html và dạng pdf đi kèm theo CD 
ở th− mục “Tai lieu tham khao” 
suu tam: trinhvubao.ac@gmail.com
www.scribd.com/bao_trinh

File đính kèm:

  • pdfgiao_trinh_mon_ky_thuat_vi_dieu_khien_lam_tang_duc.pdf