|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
06-01-2013, 04:46 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Jan 2013
Bài gửi: 1
: |
Chương trình đếm số trên 4 led 7 đoạn dùng 89c51
Em có 1 đoạn code thế này, mong các a chỉ bảo làm sao để nó đếm tới 1 số nào đó do mình định thì dừng lại tại đó (VD: 2013 chẳng hạn).
Code:
; DUNG NGAT TIMER0 DE QUET LED (4 LED 7 DOAN), TIMER1 DELAY 1S ;----------------------------- NGHIN EQU 127 TRAM EQU 126 CHUC EQU 125 DONVI EQU 124 MOV TMOD, #21H ;----------------------------- ; KHAI BAO CAC LOAI NGAT ;----------------------------- ORG 0000H LJMP BEGIN ORG 000BH LJMP TIMER0_ISR ; NGAT TIMER0 ORG 001BH LJMP TIMER1_ISR ; NGAT TIMER1 ;----------------------------- BEGIN : MOV CHUC, #0 MOV DONVI, #0 MOV NGHIN, #0 MOV TRAM, #0 SETB EA SETB ET0 SETB ET1 SETB TR0 SETB TR1 MOV TH1, #(-200) ; THOI GIAN QUET 1 LED 200US MOV TL1, #(-200) MOV TH0, #HIGH (-50000) ; DAT THOI GIAN TRE MOV TL0, #LOW (-50000) MOV R5, #20 ; 20 * 50000 *1US = 1S MOV R0, #127 MOV R1, #0 ; DINH VI TRI CAC LED SJMP $ ;---------------------------- TIMER1_ISR : PUSH ACC MOV P1, #00H MOV A, @R0 ;LAY DIA CHI GIAN TIEP NOI DUNG CUA O NHO 127 MOV DPTR, #MALED7 MOVC A, @A + DPTR MOV P2, A DEC R0 ; GIAM DIA CHI MOV A, R1 MOV DPTR, #MACOT ; DINH VI TRI MO LED MOVC A, @A + DPTR MOV P1, A INC R1 CJNE R1, #4, EXIT_TIMER1 MOV R0, #127 MOV R1, #0 EXIT_TIMER1: POP ACC RETI ;------------------------------ TIMER0_ISR: MOV TH0, #HIGH (-50000) MOV TL0, #LOW (-50000) DJNZ R5, EXIT_TIMER0 MOV R5, #20 ; !!! GAN 200 THI MOI DUNG 1 S ???? ;-------------- INC DONVI MOV A, DONVI CJNE A, #10, EXIT_TIMER0 MOV DONVI, #0 ;-------------- INC CHUC MOV A, CHUC CJNE A, #10, EXIT_TIMER0 MOV CHUC, #0 ;-------------- INC TRAM MOV A, TRAM CJNE A, #10, EXIT_TIMER0 MOV TRAM, #0 ;-------------- INC NGHIN MOV A, NGHIN CJNE A, #2, EXIT_TIMER0 MOV NGHIN, #2 ;-------------- EXIT_TIMER0: RETI ;----------------------------- MALED7 : DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H MACOT : DB 08H,04H,02H,01H ;----------------------------- END |
|
|