Kết quả 1 đến 3 của 3
Chủ đề: [Help] Xin code PWM P89V51RD2
-
04-07-2011, 22:44 #1
[Help] Xin code PWM P89V51RD2
Mình biết là P89V51RD2 có P1.3 --> p1.7 PWM. vì mới tìm hiểu nên chưa biết gì về nó. Mình không biết lập trình PWM nó như thế nào! Mong các pro giúp mình nhé! xin cảm ơn!
-------------------------------------------------------------------------------- Xem bài viết cùng chuyên mục:
- viết chương trình hiển thị ra led 7 đoạn từ 0-9.viết cụ thể nha.thank nhiu !
- Các đề tài VDK 8051
- Tập Lệnh 8051
- 89c51 ai biết hướng dẫn dùm
- Tạo mạch chữ chạy
- Đo tốc độ động cơ bằng encoder
- Mạch đo nhiệt độ dùng 8051 hiển thị lên led 7 đoạn
- mạch chỉnh lưu có điều khiển dùng scr
- thiết kế mạch điều khiển nhiệt độ lò ấp trứng
- mạch đồng hồ thới gian thực 8051
- Mạch đếm 74LS192
- Cách viết chương trình cho ic chạy chử
- chế tạo mạch điểu khiển từ xa
- Mạch Đèn Giao Thông Ngã 4 dùng 89c52
- mong được giúp đỡ về led 7 đoạn
Huỳnh Thanh Vũ
Cơ Khí Anpha
Chuyên sản xuất các loại máy đóng gói tự động
0977 735 033
-
-
27-09-2011, 20:03 #2
Ðề: [Help] Xin code PWM P89V51RD2
hi vọng cái này giúp được bạn. đây là luận văn lúc trước của mình
$MOD51
CMOD DATA 0D9H
CCON DATA 0D8H
CCAP0H DATA 0FAH
CCAP1H DATA 0FBH
CCAP2H DATA 0FCH
CCAP3H DATA 0FDH
CCAP4H DATA 0FEH
CCAP0L DATA 0EAH
CCAP1L DATA 0EBH
CCAP2L DATA 0ECH
CCAP3L DATA 0EDH
CCAP4L DATA 0EEH
CCAPM0 DATA 0DAH
CCAPM1 DATA 0DBH
CCAPM2 DATA 0DCH
CCAPM3 DATA 0DDH
CCAPM4 DATA 0DEH
CH DATA 0F9H
CL DATA 0E9H
IPH DATA 0B7H
CKCON DATA 08FH
AUXR DATA 08EH
AUXR1 DATA 0A2H
CF BIT 0DFH
CR BIT 0DEH
CCF0 BIT 0D8H
CCF1 BIT 0D9H
CCF2 BIT 0DAH
CCF3 BIT 0DBH
CCF4 BIT 0DCH
PWM_1 DATA CCAP1H
XUATVESTER EQU P3
ENTER BIT P2.0
NEXT BIT P2.1
REV BIT P2.3
FWD BIT P2.4
REW BIT P2.2
STOP BIT P2.5
RS BIT P1.0
RW BIT P1.1
EN BIT P1.2
UPDATE BIT 7FH
BIEN_H EQU 7FH
BIEN_L EQU 7EH
TANSO EQU 7DH
KQ0 EQU 7CH
KQ1 EQU 7BH
KQ2 EQU 7AH
KT1 EQU 79H
KT2 EQU 78H
KT3 EQU 77H
KT4 EQU 76H
KT5 EQU 75H
KT6 EQU 74H
KT7 EQU 73H
KT8 EQU 72H
KT9 EQU 71H
KT10 EQU 70H
KT11 EQU 6FH
KT12 EQU 6EH
KT13 EQU 6DH
KT14 EQU 6CH
KT15 EQU 6BH
KT16 EQU 6AH
DIENAP EQU 69H
TANSO_RUN EQU 68H
ORG 00H
LJMP MAIN
ORG 000BH
LJMP XUATXUNG
ORG 30H
MAIN:
MOV R0,#7FH
XOA:
MOV @R0,#00H
DEC R0
CJNE R0,#01H,XOA
MOV IE,#82H ; KHAI BAO NGAT
MOV TMOD,#11H ; KHOI DONG TIMER
MOV TCON,#00H
; MOV CKCON,#01011111B ; KHOI DONG PWM
; MOV CCAPM1,#01000010B ; KHAI BAO CHAN PWM
SETB CR
MOV KT1,#'T'
MOV KT2,#'A'
MOV KT3,#'N'
MOV KT4,#' '
MOV KT5,#'S'
MOV KT6,#'O'
MOV KT7,#' '
MOV KT8,#'='
MOV KT14,#'H'
MOV KT15,#'z'
MOV KT16,#' '
MOV KT9,#' '
MOV KT10,#' '
ACALL CTC_KHOIDONG
MAIN4:
ACALL DELAY100
MOV R4,P2
CJNE R4,#0FEH,NEXT_1 ; SET NUT NHAN ENTER
SETB UPDATE ; TAO CO NHO
JMP MAIN4
NEXT_1:
CJNE R4,#0FDH,REV_1 ; SET NUT NHAN NEXT TANG TAN SO
INC TANSO
MOV R3,TANSO
CJNE R3,#121,NEXT1
MOV TANSO,#00H
NEXT1:
MOV A,TANSO
ACALL CTC_HT_TS
SJMP MAIN4
REV_1:
CJNE R4,#0F7H,FWD_1 ; SET NUT NHAN REV GIAM TAN SO
DEC TANSO
MOV R3,TANSO
CJNE R3,#0FFH,REV1
MOV TANSO,#120
REV1:
MOV A,TANSO
ACALL CTC_HT_TS
SJMP MAIN4
FWD_1:
CJNE R4,#0EFH,REW_1 ; SET NUT CHAY THUAN
SJMP CHAYTHUAN
REW_1:
CJNE R4,#0FBH,MAIN4 ; SET NUT CHAY NGHICH
SJMP CHAYNGHICH
MAIN1:
JNB STOP,DUNG
SJMP MAIN1
CHAYTHUAN:
SETB P1.3
SETB TR0
SETB TF0
SOSANH1:
MOV A,TANSO_RUN
ACALL CTC_HT_TS
MOV A,TANSO_RUN
CLR C
CJNE A,TANSO,NHO_HON1 ; SO SANH GIUA TAN SO CAI DAT VA TAN SO BIEN TAN CHAY
JMP MAIN1
NHO_HON1:
JNC LON_HON1
INC TANSO_RUN
ACALL DELAY100
SJMP SOSANH1
LON_HON1:
DEC TANSO_RUN
ACALL DELAY100
SJMP SOSANH1
CHAYNGHICH:
CLR P1.3
SETB TR0
SETB TF0
SOSANH2:
MOV A,TANSO_RUN
ACALL CTC_HT_TS
MOV A,TANSO_RUN
CLR C
CJNE A,TANSO,NHO_HON2 ; SO SANH GIUA TAN SO CAI DAT VA TAN SO BIEN TAN CHAY
JMP MAIN1
NHO_HON2:
JNC LON_HON2
INC TANSO_RUN
ACALL DELAY100
SJMP SOSANH2
LON_HON2:
DEC TANSO_RUN
ACALL DELAY100
SJMP SOSANH2
DUNG:
CLR TR0
MOV XUATVESTER,#00H
JMP MAIN4
XUATXUNG: ; CHUONG TRINH NGAT
CLR TR0
CLR TF0
PUSH ACC
PUSH PSW
MOV PWM_1,#0FFH
JNB UPDATE,XUNG_1
;================================================= ==== ; THAY DOI TAN SO VA DIEN AP
MOV A,TANSO_RUN
MOV DPTR,#MUC_HIGH
MOVC A,@A+DPTR
MOV BIEN_H,A
MOV A,TANSO_RUN
MOV DPTR,#MUC_LOW
MOVC A,@A+DPTR
MOV BIEN_L,A
MOV A,TANSO_RUN
MOV DPTR,#DIEN_AP
MOVC A,@A+DPTR
MOV DIENAP,A
CLR UPDATE
;================================================= == ;
XUNG_1:
;================================================= =================
MOV TH0,BIEN_H ;THAY BIEN CAO BIEN_H
MOV TL0,BIEN_L ;THAY BIEN THAP
;================================================= =================
SETB TR0
MOV A,R6
RL A
RL A
MOV XUATVESTER,A
MOV PWM_1,DIENAP ; BAM XUNG DIEN AP
INC R6
CJNE R6,#7,EXIT1
MOV R6,#01H
EXIT1:
POP PSW
POP ACC
RETI
CTC_HT_TS:
;================================================= ======== ;CHUONG TRINH CHUYEN DOI TAN SO SANG BCD VA XUAT RA LCD
MOV B,#10
DIV AB
MOV KQ0,B
MOV B,#10
DIV AB
MOV KQ1,B
MOV KQ2,A
MOV DPTR,#MASO
MOVC A,@A+DPTR
MOV KT11,A
MOV A,KQ1
MOVC A,@A+DPTR
MOV KT12,A
MOV A,KQ0
MOVC A,@A+DPTR
MOV KT13,A
MOV A,#0C0H ; BAT DAU O DONG THU HAI
CALL FUNTION
MOV R0,#KT1
;================================================= ======
HT_TS1:
CALL DELAY50
MOV A,@R0
DEC R0
CALL DISPLAY
CJNE R0,#69H,HT_TS1
RET
CTC_KHOIDONG:
CALL KHOITAO_LCD
MOV P0,#0H
MOV A,#80H
CALL FUNTION
MOV DPTR,#STRING1
MOV R7,#16
NHAN:
CALL DELAY100
MOV A,#00H
MOVC A,@A+DPTR
INC DPTR
CALL DISPLAY
DJNZ R7,NHAN
CALL DELAY
MOV A,#0C0H
CALL FUNTION
MOV DPTR,#STRING2
MOV R7,#16
NHAN1:
CALL DELAY100
MOV A,#00H
MOVC A,@A+DPTR
INC DPTR
CALL DISPLAY
DJNZ R7,NHAN1
CALL DELAY
MOV A,#80H
CALL FUNTION
MOV DPTR,#STRING3
MOV R7,#16
NHAN2:
CALL DELAY50
MOV A,#00H
MOVC A,@A+DPTR
INC DPTR
CALL DISPLAY
DJNZ R7,NHAN2
CALL DELAY
MOV A,TANSO
CALL CTC_HT_TS
RET
KHOITAO_LCD:
CLR RW
CLR RS
CLR EN
MOV P0,#01H
CALL DELAY100
SETB EN
CLR EN
MOV P0,#38H
CALL DELAY100
SETB EN
CLR EN
MOV P0,#00001110B
CALL DELAY50
SETB EN
CLR EN
MOV P0,#00000110B
CALL DELAY50
SETB EN
CLR EN
RET
FUNTION:
CLR RS
JMP WRITE_RAM
DISPLAY:
SETB RS
WRITE_RAM:
MOV P0,A
CALL DELAY50
SETB EN
CLR EN
CLR RS
RET
DELAY50:
MOV R4,#25
DJNZ R4,$
RET
DELAY:
MOV R3,#20
LOOP1:
MOV TH1,#HIGH(-25000)
MOV TL1,#LOW(-25000)
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
DJNZ R3,LOOP1
RET
DELAY100:
MOV R3,#6
LOOP2:
MOV TH1,#HIGH(-10000)
MOV TL1,#LOW(-10000)
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
DJNZ R3,LOOP2
RET
STRING1:
DB ' KHOA CO_DIENTU'
STRING2:
DB ' LUAN VAN TNDH'
STRING3:
DB ' DE TAI BIEN TAN'
MASO:
DB '0','1','2','3','4','5','6','7','8','9'
MUC_HIGH:
DB 00H,00H,00H,26H,05DH,07DH,93H,0A2H,0AEH,0B7H,0BEH ;0 DEN 10
DB 0C4H,0C9H,0CDH,0D1H,0D4H,0D7H,0D9H,0DBH,0DDH,0DFH ;11 DEN 20
DB 0E0H,0E2H,0E3H,06FH,0E5H,0E6H,0E7H,0E8H,0E9H,0EAH ;21 DEN 30
DB 0EAH,0EBH,0ECH,0ECH,0EDH,0EDH,0EEH,0EEH,0EFH,0EFH ;31 DEN 40
DB 0F0H,0F0H,0F0H,0F1H,0F1H,0F1H,0F2H,0F2H,0F2H,0F2H ;41 DEN 50
DB 0F3H,0F3H,0F3H,0F3H,0F4H,0F4H,0F4H,0F4H,0F4H,0F5H ;51 DEN 60
DB 0F5H,0F5H,0F5H,0F5H,0F5H,0F6H,0F6H,0F6H,0F6H,0F6H ;61 DEN 70
DB 0F6H,0F6H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H,0F7H ;71 DEN 80
DB 0F7H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H,0F8H ;81 DEN 90
DB 0F8H,0F8H,0F8H,0F8H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H ;91 DEN 100
DB 0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0F9H,0FAH,0FAH ;101 DEN 110
DB 0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH,0FAH ;111 DEN 120
MUC_LOW:
DB 00H,00H,00H,0FBH,03CH,0CAH,07DH,0FDH,09EH,0A8H,0E4 H ;0 DEN 10
DB 0CFH,0BFH,0EAH,07EH,98H,04EH,0B3H,0D4H,0BBH,72H ;11 DEN 20
DB 0EFH,27H,0B1H,67H,0F2H,0F5H,0E2H,0BFH,08CH,04BH ;21 DEN 30
DB 0FFH,0A7H,044H,0D9H,065H,0E9H,066H,0DDH,04DH,0B8H ;31 DEN 40
DB 01EH,07FH,0DBH,33H,87H,0D8H,25H,06FH,0B6H,0FAH ;41 DEN 50
DB 03BH,07AH,0B6H,0F1H,29H,05FH,93H,0C5H,0F6H,25H ;51 DEN 60
DB 53H,07FH,0A9H,0D3H,0FBH,22H,47H,06CH,90H,0B2H ;61 DEN 70
DB 0D4H,0F4H,14H,33H,51H,06EH,08AH,0A6H,0C1H,0DCH ;71 DEN 80
DB 0F5H,00EH,27H,03FH,56H,05BH,83H,99H,0AEH,0C3H ;81 DEN 90
DB 0D7H,0EBH,0FFH,0EEH,25H,37H,49H,05AH,06BH,07CH ;91 DEN 100
DB 08DH,09DH,0ADH,0BCH,0CCH,0DBH,0E9H,0F8H,06H,14H ;101 DEN 110
DB 21H,02FH,03CH,49H,56H,62H,06EH,07BH,86H,92H ;111 DEN 120
DIEN_AP:
DB 0FFH,0FFH,0FFH,0F0H,0EBH,0E6H,0E0H,0DBH,0D6H,0D1H, 0CCH ;0 DEN 10
DB 0C7H,0C2H,0BDH,0B8H,0B3H,0ADH,0A8H,0A3H,09EH,99H ;11 DEN 20
DB 94H,08AH,08FH,85H,80H,07AH,75H,70H,06BH,66H ;21 DEN 30
DB 61H,05CH,57H,52H,04DH,47H,42H,03DH,38H,33H ;31 DEN 40
DB 02EH,29H,24H,01FH,01AH,14H,0FH,0AH,5H,00H ;41 DEN 50
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ; 51 DEN 60
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ; 61 DEN 70
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ; 71 DEN 80
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ; 81 DEN 90
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ; 91 DEN 100
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ; 101 DEN 110
DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ; 111 DEN 120
END
-
21-12-2012, 09:17 #3
Ðề: [Help] Xin code PWM P89V51RD2
Các bạn đi làm bên lập trình máy tự động, có dùng vi điều khiển nhiều không? Anh thanhvu_tv87 quê Trà Vinh phải không?
Không biết quan niệm của người ta như thế nào mà hễ làm cái gì có tự động là nghĩ ngay dùng PLC, trong khi theo mình thì nhiều trường hợp vi điều khiển vẫn làm tuốt hết.
Trả lời với tài khoản Facebook
Các Chủ đề tương tự
-
Trợ giúp - Giúp chỉnh sửa code lập trình plc s7-200
Bởi shanxio trong diễn đàn PLCTrả lời: 11Bài cuối: 24-10-2014, 14:04 -
Trợ giúp - giúp đỡ viết code dùm
Bởi langtutimgirl14 trong diễn đàn Vi xử lý - Vi điều khiểnTrả lời: 3Bài cuối: 24-10-2013, 17:09 -
Trợ giúp - Giúp em viết code chương trình này bằng ngôn ngữ C
Bởi nhattiendaubac trong diễn đàn Vi xử lý - Vi điều khiểnTrả lời: 3Bài cuối: 14-09-2013, 20:05 -
Trợ giúp - Có pro nào hiểu và giải thích giúp e đoạn code này với
Bởi hauik4 trong diễn đàn Vi xử lý - Vi điều khiểnTrả lời: 3Bài cuối: 12-01-2013, 14:02 -
Trợ giúp - bác nào xem dùm em xem code sai chỗ nào cái.
Bởi levietcanh trong diễn đàn Vi xử lý - Vi điều khiểnTrả lời: 4Bài cuối: 24-11-2011, 19:37