Hoàng Nhân Pro ● Forum
Welcome To Hoang Nhan Pro - Forum
Diễn Đàn Chia Sẻ, Tổng Hợp Kiến Thức Chuyên Nghành Điện Tử - Tin Học và Giải Trí, Nơi Giao Lưu, Chia Sẻ Kiến Thức, Kinh Nghiệm Học Tập Với Bạn Bè, Thế Giới Dành Cho Tuổi Teen...
Cảm ơn bạn đã ghé thăm Diễn đàn của Hoàng Nhân Pro
https://hoangnhanpro.forumvi.com

Join the forum, it's quick and easy

Hoàng Nhân Pro ● Forum
Welcome To Hoang Nhan Pro - Forum
Diễn Đàn Chia Sẻ, Tổng Hợp Kiến Thức Chuyên Nghành Điện Tử - Tin Học và Giải Trí, Nơi Giao Lưu, Chia Sẻ Kiến Thức, Kinh Nghiệm Học Tập Với Bạn Bè, Thế Giới Dành Cho Tuổi Teen...
Cảm ơn bạn đã ghé thăm Diễn đàn của Hoàng Nhân Pro
https://hoangnhanpro.forumvi.com
Hoàng Nhân Pro ● Forum
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Tìm kiếm
 
 

Display results as :
 


Rechercher Advanced Search

Admin Support
Mobile: (84)1656593086

Yahoo:
yeu_em_vi_yeu_em
Latest topics
» Một Số Bài Tập Ví Dụ Về PIC 16f877a
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty2nd March 2013, 22:37 by luuvu_01

» cFosSpeed 8.03 build 2010 - Đăng ký bằng key thành công
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty21st January 2013, 15:25 by hoangnhanpro

» Share công cụ chỉnh sửa file MANIFEST.MF online
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty8th January 2013, 13:35 by hoangnhanpro

» Share công cụ tạo Logo Team + Tết Online cực đẹp
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty8th January 2013, 13:35 by hoangnhanpro

» [hot] SMS chúc mừng năm mới 2013, sms chuc nam moi, tin nhan chuc mung nam moi
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty28th December 2012, 01:31 by hoangnhanpro

» Opera Mini Mod Pro v4.21.25 Hack Phone and No Hack Phone
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty26th December 2012, 17:02 by hoangnhanpro

» [Hot] Những Bộ SMS Noel 2012 Cực Hot - SMS Xep Hinh Chuc Ngay Noel
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty13th December 2012, 04:54 by hoangnhanpro

» KIS 2012-2013 TRIAL RESET (Easy) - Trial Reset KIS 2012-2013 dễ dàng nhất
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty13th December 2012, 04:50 by hoangnhanpro

» [TESTED-002] Lịch vạn niên LCD (full code)
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty13th December 2012, 04:38 by hoangnhanpro

» [TESTED-001] Điều khiển thiết bị điện qua máy tính
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty13th December 2012, 04:34 by hoangnhanpro

» [Thông báo] Diễn đàn đang được cũng cố và sửa chữa lại các link bị lỗi....
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty13th December 2012, 04:08 by hoangnhanpro

» Share Zip ảnh Hot Girl 185 Pic 31,6 MB + Link URL
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty10th December 2012, 12:10 by hoangnhanpro

» Tuyển tập Girl xinh Kute - Part 18
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty10th December 2012, 11:41 by hoangnhanpro

» [VIP] Đồ án [DA094] Lịch vạn niên hiển thị LCD
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty25th November 2012, 19:38 by hoangnhanpro

» [VIP] Đồ án [DA093] Ứng dụng RF điều khiển Robot
Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty25th November 2012, 19:36 by hoangnhanpro

Advertising
[Ads]: game java
[Ads]: game sex
[Ads]: clip sex
[Ads]: truyen tinh yeu hay
Affiliates
free forum


Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo

Go down

Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo Empty Giao Tiếp DS1337 + PIC Viết Bằng ASM - Tham Khảo

Bài gửi by hoangnhanpro 28th November 2011, 16:20

Dùng để tham khảo
Code:
;-------------------------------------------
; DO AN MON HOC 1 - DV06
; FILE NAME: DAMH1.asm
; VERSION:1.1
; DE TAI: DUNG PIC 16F887A TAO LICH VAN NIEN KY THUAT SO. XUAT RA LCD 16X2
; NGUOI THUC HIEN: NGUYEN DUC TRI
; NGAY HOAN THANH: //2009
;---------------------------------------------
; GIAO VIEN HUONG DAN: NGUYEN QUYNH ANH
; NGAY KIEM TRA: //2009
;-------------------------------------------
;ERSION 1.1:
; KHOI DEM THOI GIAN: DUNG DS1307(RTC).
; KHOI XU LY: PIC 16F887A
; KHOI HIEN THI: LCD 16X2
;-------------------------------------------
; TAKE NOTE:
;14.10.2009: KHOI TAO CAC CHUONG TRINH CON I2C NHUNG CHUA TINH TOAN VE TOC DO BAUD CHO CRYSTAL:20MHZ
;            ct con read write chua giai thix duoc vua cho.
;15.10.2009: DA KHOI TAO XONG PHAN HIEN THI LCD; CHAY DEBUG RA KET QUA TOT, CHAY THUC TE:THAT BAI
;         NGHI NGO PHAN TAO TRE XUNG TRONG MOI LAN GUI DI
;         TH1: SET EN LEN ROI TAT LIEN DOI 160US
;         TH2: SET EN LEN DE 160 US   TAT
;16.10.2009:   DA HOAN THANH XONG HIEN XUAT TU RAM NOI PIC RA LCD :D         
;18.10:      DA HOAN THANH CHUONG TRINH GHI DU KIEU VAO DS1307
;         CT READ TU DS CHUA CHAY; DU DOAN LOI: DONG BO CLK CANH LEN VOI DU LIEU DOC
;
;
;-------------------------------------------
PROCESSOR   16f877a
INCLUDE      <p16f877a.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
;--------------------------------------------
#DEFINE   E   PORTD,7
#DEFINE   RS   PORTD,6

ADDRESS      equ   0x20
ACC       equ   0x21
RAM_SEC    equ   0x22 
RAM_MIN    equ   0x23 
RAM_HOU    equ   0x24 
RAM_DAY    equ   0x25 
RAM_DAT    equ   0x26 
RAM_MON    equ   0x27 
RAM_YEA    equ   0x28
W_SAVE      equ   0x29   
STATUS_SAVE   equ   0x2A
PCLATH_SAVE   equ   0x2B
FSR_SAVE   equ   0x2C
DELAY_REG1    EQU   0X2D
DELAY_REG2   EQU   0X2E
DELAY_REG3   EQU   0X2F
HCHUC      EQU   0X30
HDV         EQU   0X31
MSB         EQU   0X32
LSB         EQU   0X33
;---------------------------------------------- 
;-----------------------------------------------
   ORG   0X0004             ; NGAT NGOAI THEO XUNG CLK CUA DS1307 DE XAC DINH THOI GIAN TRUY XUAT DU LIEU TRONG DS1307
      GOTO NGAT
NGAT
;--------------------------------
; PHAN LUU LAI CAC GIA TRI VI KHI NGAT RAT CO THE CAC GIA TRI TREN SE BI THAY DOI
      MOVLW   W_SAVE      ; LUU W RA THANH GHI NGOAI
      MOVF   STATUS,W   ; DOI DO W VA STATUS
      MOVLW   STATUS_SAVE   ; LUU W LUC DO DANG CHUA GIA TRI STATUS
      MOVF   PCLATH,W
      MOVLW   PCLATH_SAVE   ; LUU PCLATH RA NGOAI
      MOVF   FSR,W      ; DOI CHO
      MOVLW   FSR_SAVE   ; LUU FSR RA NGOAI   
;---------------------------------
; PHAN BAT DAU CHUONG TRINH NGAT
      BTFSS   INTCON,1   ; BIT KIEM TRA COI CO XAY RA NGAT BR0
      GOTO    NEXT_INTERRUPT   ; NEU GIA TRI CUA HAM SS TREN TRA VE O (KO CO NGAT RB0) THI THUC HIEN NGAT TIEP THEO
      CALL   READ_RTC
      CALL   TRANSFER_LCD
      BCF      INTCON,1   ; XOA CO NGAT RB0 DE KHOI DONG NGAT TIEP THEO
   NEXT_INTERRUPT
;---------------------------------
;PHAN KHOI PHUC LAI CAC DU LIEU TRONG THANH GHI
      MOVF   PCLATH_SAVE,W   
      MOVLW   PCLATH
      MOVF   STATUS_SAVE,W
      MOVLW   STATUS
      MOVF   FSR_SAVE,W
      MOVLW   FSR
      MOVF   W_SAVE,W
      RETFIE      
;----------------------------------------
;THAN CHUONG TRINH CHINH
;-----------------------------------------   
      ORG    0X0000
      GOTO   START
      ORG      0X0040
START
      BANKSEL   INTCON
      CLRF   INTCON      ; XOA THANH DIEU KHIEN NGAT
;      BCF      STATUS,RP1
;      BCF      STATUS,RP0
;      MOVLW   0X0F   ;KHOI TAO PORT B NHAP
;      MOVWF   TRISB

      CALL    DELAY_15MS   ;TAO TRE DE LCD KHOI DONG
      CLRF   RAM_SEC
      CLRF   RAM_MIN
      CLRF   RAM_HOU
      CLRF   RAM_DAT
      CLRF   RAM_MON
      CLRF   RAM_YEA
      CALL   INIT_I2C   ;THIET LAP CHUAN I2C
      CALL   INIT_LCD   ;THIET LAP LCD
      CALL    MOD_CONTROLBYTE      
;      BANKSEL   OPTION_REG
;      MOVLW   0X00
;      MOVWF   OPTION_REG   ; DAT CHE DO PULL-UP+ KICH XUNG CANH XUONG
;      BSF      INTCON,4   ; BAT BIT DK NGAT NGOAI
;      BSF      INTCON,3   ; BAT BIT DK NGAT NGOAI   
;      BSF      INTCON,7   ; BAT BIT DK NGAT TOAN CUC
;
;      CALL   READ_RTC
;      CALL   TRANSFER_LCD

        CALL    STARTBit          ; Gui bit Start

        MOVLW  0xd0          ; Load CONTROL BYTE  ( cho viec xuat du lieu )
        CALL    WRITE_I2C

        MOVlw   0x00        ; Load ADDRESS Byte vao W
        CALL    WRITE_I2C
   
        CALL    STOPBit                ; Qua trinh restart
        CALL    STARTBit
     
        MOVLW  0xd1
            ; Set bit 0 = 1 bao cho slave biet qua trinh doc lan sau
        CALL    WRITE_I2C
 
        BSF    STATUS,RP0
        BTFSC  SSPSTAT,2        ; kiem tra bit R/W
        GOTO    $-1

        BANKSEL SSPCON2
        BSF    SSPCON2,RCEN      ; Cho phep RECEIVE Mode (I2C )          ; loi o cho nay day
        CALL    WaitMSSP

        BCF    STATUS,RP0
        BCF    PIR1,SSPIF
     
        CALL    NACKBit          ; Phat bit NACKBit ket thuc qua trinh nhan
       
        CALL    STOPBit

        BANKSEL SSPBUF            ;
        MOVF    SSPBUF,W          ; Luu gia tri doc duoc tu EEPROM vao thanh ghi W



      GOTO   $
   
;------------------------------------------------
MOD_CONTROLBYTE   ;   THIET LAP GIA TRI CUA BIT CONTROL TRONG DS1307
      CALL   STARTBit
      MOVLW   0XD0      
      CALL   WRITE_I2C
      MOVLW   0X00      ; vi tri so 0
      CALL   WRITE_I2C
      MOVLW   0X49      ; khoi tao gia tri giay
      CALL   WRITE_I2C
      MOVLW   0X05      ; khoi tao gia tri phut
      CALL   WRITE_I2C
      MOVLW   0X01      ; khoi tao gia tri gio
      CALL   WRITE_I2C
      MOVLW   0X02      ; khoi tao gia tri thu
      CALL   WRITE_I2C
      MOVLW   0X01      ; khoi tao gia tri ngay
      CALL   WRITE_I2C
      MOVLW   0X06      ; khoi tao gia tri thang
      CALL   WRITE_I2C
      MOVLW   0X91      ; khoi tao gia tri nam
      CALL   WRITE_I2C   
      MOVLW   0x10      ; khoi tao gia tri BIT CONTROL (xung SQW 1HZ)
      CALL   WRITE_I2C
      CALL   STOPBit
      RETLW   0X00
;------------------------------------------------
READ_RTC ;CHUONG TRINH DOC DU LIEU TRONG RAM CUA DS1307 DUA VAO O NHO PIC
      CALL   STARTBit   ; GOI BIT START DE BAT DAU
      MOVLW   0XD0      ; DUA VAO W GIA TRI CUA CONTROL BITS DS1307
      CALL   WRITE_I2C   ; GUI DEN RTC
      MOVLW   0X00      ; DUA VAO W DIA CHI CUA O NHO BAT DAU CUA DS1307 DE XUAT DU LIEU
      CALL   WRITE_I2C   
;      CALL    STOPBit      ; GOI BIT STOP DE KET THUC
      CALL   RESTARTBit   ; GOI BIT START DE BAT DAU LAI
      MOVLW   0XD1      ; DUA VAO W DIA CHI CUA DS1307 NHUNG CO SET BIT 0 CHUAN BI CHO QUA TRINH DOC
      CALL    WRITE_I2C   

; BAT DAU QUA TRINH DOC DU LIEU TU TRONG RAM CUA DS1307
      CALL   READ_I2C   ; DOC DU LIEU TU O NHO 0X00 CUA DS1307 TUC LA GIAY
      MOVWF   RAM_SEC      ; LUU VAO THANH GHI GIAY
      CALL   READ_I2C   ; TA TIEP TUC DOC TIEP VI BO NHO O DEM SE TU DONG TANG LEN 1 SAU MOI LAN XUAT DU LIEU VA CHI DUNG KHI GAP BITSTOP
      MOVWF   RAM_MIN
      CALL   READ_I2C   
      MOVWF   RAM_HOU
      CALL   READ_I2C   
      MOVWF   RAM_DAY
      CALL   READ_I2C   
      MOVWF   RAM_DAT
      CALL   READ_I2C   
      MOVWF   RAM_MON

; DOI VOI PHAN NAM DO LA PHAN TRUY XUAT CUOI CUNG TUC FAI THEM NACK VAO KHI PHAN HOI LAI CHO SLAVE NEN TA PHAI VIET LAI CT CON READ_I2C
      BSF      STATUS,RP0   ; chon bank 1 vi sspstat nam o do
      BTFSC   SSPSTAT,2   ; KIEM TRA BIT THU 2(R/W) COI PIC DA XONG PHAN TRUYEN NHAN TRUOC DO DA XONG CHUA
      GOTO   $-1
      BANKSEL SSPCON2
      BSF      SSPCON2,RCEN   ; BIT RCEN LA BIT CHO PHEP NHAN DU LIEU O MASTER MODE I2C
      CALL    WaitMSSP      ; DOI CHO DEN KHI PIC NHAN XONG DU LIEU
      CALL    NACKBit         ; GUI BIT NACK XAC NHAN DEN SLAVE LA DA KET THUC PHAN DOC
      BCF      STATUS,RP0
      BCF      STATUS,RP1
      MOVF   SSPBUF,W      ; LUU DU LIEU QUA W
      CALL    STOPBit
      MOVWF   RAM_YEA
      RETLW    0X00
;---------------------------------------------   
INIT_I2C ; CHUONG TRINH CON KHOI TAO GIAO TIEP I2C CHUAN MASTER CUA PIC
        BANKSEL SSPCON        ; chon MSSP che do MASTER MODE
        MOVLW  B'00101000'  ; Thiet lap MSSP cho chan PORTC o che do I2C
        MOVWF  SSPCON        ; SSPEN, SSPM BITS

        BANKSEL SSPSTAT      ; Thiet lap che do chuan cua toc do baud ( SMP= 1 ) 
        MOVLW  B'10000000'  ; Toc do chuan la 100Kb
        MOVWF  SSPSTAT   

        BANKSEL SSPADD        ; Thiet lap toc do duong truyen
        MOVLW  0x28          ; Tinh toan gia tri cho thiet lap toc do
        MOVWF  SSPADD
        RETLW  0x00 

;--------------------
READ_I2C                   ; PIC NHAN DU LIEU TU DS1307 (OUT:W)
      BSF      STATUS,RP0       ; chon bank 1 vi sspstat nam o do
      BTFSC   SSPSTAT,2      ; KIEM TRA BIT THU 2(R/W) COI PIC DA XONG PHAN TRUYEN NHAN TRUOC DO DA XONG CHUA
      GOTO   $-1
      BSF      SSPCON2,RCEN   ; BIT RCEN LA BIT CHO PHEP NHAN DU LIEU O MASTER MODE I2C
      CALL    WaitMSSP      ; DOI CHO DEN KHI PIC NHAN XONG DU LIEU
        BCF    STATUS,RP0
        BCF    PIR1,SSPIF
        CALL    ACKBit         ; GUI BIT ACK XAC NHAN DEN SLAVE
      BCF      STATUS,RP0
      BCF      STATUS,RP1
      MOVF   SSPBUF,W      ; LUU DU LIEU QUA W
      RETLW   0X00          ;RETURN      ; KHONG HIEU VI SAO?
;-------------------
WRITE_I2C                  ;PIC PHAT DU LIEU DEN DS1307 (IN: W)
      BCF      STATUS,RP0
      BCF      STATUS,RP1
      MOVWF   SSPBUF
      CALL   WaitMSSP
      RETLW   0X00
;----------------
STARTBit    ; CT CON PHAT BIT START
      BANKSEL   TRISC
      MOVLW   0X00
      MOVWF   TRISC
      BANKSEL   PORTC
      BSF      PORTC,3
      BSF      PORTC,4               
        BSF      STATUS,RP0
        BSF    SSPCON2,SEN    ; Gui bit start 
        CALL    WaitMSSP   
        RETLW  0x00 
;-----------------
STOPBit
      BSF      STATUS,RP0
      BSF      SSPCON2,PEN      ; GUI BIT STOP
      CALL   WaitMSSP
      RETLW   0X00
;-----------------
RESTARTBit
      BSF      STATUS,RP0
      BSF      SSPCON2,RSEN   ; GUI BIT RESTART
      CALL   WaitMSSP
      RETLW   0x00
;-----------------
ACKBit
      BSF      STATUS,RP0
      BCF      SSPCON2,ACKDT   ; CHON GUI ACK (ACKDT=0 LA ACK =1 LA NACK)
      BSF      SSPCON2, ACKEN
      CALL   WaitMSSP
      RETLW   0X00
;-------------------
NACKBit
      BSF      STATUS,RP0
      BSF      SSPCON2,ACKDT
      BSF      SSPCON2,ACKEN
      CALL    WaitMSSP
      RETLW   0X00
;--------------------
WaitMSSP                    ; CT CON KIEM TRA SU KET THUC CUA 1 HOAT DONG TRUYEN
        BCF      STATUS,RP0
      BCF      STATUS,RP1
        BTFSS  PIR1,SSPIF      ; Kiem tra trang thai co
        GOTO    $-1            ; Chua hoan thanh
        BCF    PIR1,SSPIF     ; Da hoan thanh cong viec, luc nay co the chuyen sang hoat dong moi
        RETLW  0X00
;---------------
;------------------------------------------------
TRANSFER_LCD ; CHUYEN CAC GIA TRI THOI GIAN VAO LCD

      MOVLW  0X80    ; EP CON TRO VE DAU DONG 1
        CALL    WR_INS
      MOVLW  0X01    ; CLR MAN HINH
        CALL    WR_INS 

      MOVLW   0X14   ;DICH CON TRO QUA BEN PHAI
      CALL   WR_INS   ;GUI LENH DI
      MOVLW   0X14   
      CALL   WR_INS

      MOVF   RAM_HOU,W      ; GUI GIA TRI HOUR RA LCD
      CALL   MA_HOA_SO
   
      MOVLW   0X3A         ; DAU HAI CHAM
      CALL   WR_DATA

      MOVF   RAM_MIN,W      ; GUI GIA TRI MIN RA LCD
      CALL   MA_HOA_SO

      MOVLW   0X3A         ; DAU HAI CHAM
      CALL   WR_DATA
      
      MOVF   RAM_SEC,W      ; GUI GIA TRI SECOND RA LCD
      CALL   MA_HOA_SO

      MOVLW   0XC0   ;   EM CON TRO VE DONG DONG THU 2
      CALL   WR_INS   ;   GUI LENH DI
      MOVLW   0X14   
      CALL   WR_INS
      MOVLW   0X14   ;DICH CON TRO QUA BEN PHAI
      CALL   WR_INS   ;GUI LENH DI

      MOVF   RAM_DAT,W      ; GUI GIA TRI DATE RA LCD
      CALL   MA_HOA_SO

      MOVLW   0X2F         ; DAU GACH CHEO
      CALL   WR_DATA
   
      MOVF   RAM_MON,W      ; GUI GIA TRI MONTH RA LCD
      CALL   MA_HOA_SO
      
      MOVLW   0X2F         ; DAU GACH CHEO
      CALL   WR_DATA
      
      MOVF   RAM_YEA,W      ; GUI GIA TRI YEAR RA LCD
      CALL   MA_HOA_SO

      RETLW 0X00
;-----------------------------------------------
MA_HOA_SO   ;   IN:W   OUT:LCD
      CALL   TACHSO   ; TACH THANH CHUC VA DON VI
      MOVF   HCHUC,W
      ADDLW   0X30
      CALL   WR_DATA
      MOVF   HDV,W
      ADDLW   0X30
      CALL   WR_DATA
      RETLW 0X00
;-------------------------------------------------
INIT_LCD   ;CHUONG TRINH KHOI DONG LCD
       BANKSEL   TRISD      ; KHOI TAO PORT D XUAT LCD
      MOVLW   B'00000000'
      MOVWF   TRISD
        BANKSEL   PORTD
      MOVLW   0X00
      NOP
      NOP
      MOVWF   PORTD

;------------KHOI DONG LCD
      BSF      E         ;PHAT LENH RONG DAU TIEN
        BCF    E 
        MOVLW  b'00000011'  ;PHAT LENH RESET 3 LAN
        MOVWF  PORTD
      CALL   DELAY_160US      ;DELAY DE DOI CAC CHAN PROT D NHAN DU DU LIEU
      BSF      E     
        BCF    E 
        CALL    DELAY_5MS     ; DOI LCD NHAN XONG
        MOVLW  b'00000011'
        MOVWF  PORTD 
      CALL   DELAY_160US
      BSF      E   
        BCF    E       
        CALL    DELAY_160US  ; DOI LCD NHAN XONG
        MOVLW  b'00000011'
        MOVWF  PORTD 
      CALL   DELAY_160US
        BSF      E            ; Send 4 bits
        BCF    E

;---------------TRUYEN LENH KHOI DONG
        MOVLW  b'00000010'   ; DAT CHE DO TRUYEN 4 BIT
        MOVWF  PORTD   
      CALL   DELAY_160US      
       BSF      E   
      BCF    E
      CALL    DELAY_160US       
        MOVLW  0X28    ; THIET LAP GUI NHAN 4 BIT; 2DONG 5X7
        CALL    WR_INS
        MOVLW  0X0C    ; BAT HIEN THI TAT CON TRO
        CALL    WR_INS
      MOVLW  0X06    ; EP CON TRO VE DAU DONG 1
        CALL    WR_INS
      MOVLW  0X01    ; CLR MAN HINH
        CALL    WR_INS   
      RETLW   0X00
;---------------------------------------
WR_INS:  ; CT CON XUAT LENH RA LCD IN:W
      CALL   CHANGE_NIBLE   ; CT CON DUNG TACH TRONG SO CAO RA PORTD
      MOVF   MSB,W
         MOVWF  PORTD     
      CALL   DELAY_160US  ; Send 4 bits MSB
      BSF      E         ; SET BIT EN CHO TRUYEN NHAN
      BCF    E   
      CALL    DELAY_5MS
       MOVF   LSB,W      ; SEND 4 BIT LSB
        MOVWF  PORTD 
      CALL   DELAY_160US   
      BSF      E
      BCF      E
      CALL    DELAY_5MS
       RETLW   0X00
;------------------------------------
WR_DATA: ; IN:W
      CALL   CHANGE_NIBLE   ; CT CON DUNG TACH TRONG SO CAO RA PORTD
      MOVF   MSB,0
         MOVWF  PORTD          ; Send 4 bits MSB
      CALL   DELAY_160US
      BSF      RS           ; BAT CO PHAT DU LIEU
       BSF      E            ; BAT CO EN
      BCF    E   
      CALL    DELAY_160US
       MOVF   LSB,0
        MOVWF  PORTD          ; Send 4 bits LSB
      CALL   DELAY_160US
      BSF      RS 
       BSF      E
      BCF      E
      BCF      RS
      CALL    DELAY_160US
       RETLW   0X00
;-------------------------------------
DELAY_15MS
   MOVLW   d'20'
   MOVWF   DELAY_REG1
L1
   MOVLW   0XC7
   MOVWF   DELAY_REG2
   MOVLW   0X01
   MOVWF   DELAY_REG3
LL1
   DECFSZ   DELAY_REG2,1
   GOTO $+2
   DECFSZ   DELAY_REG3,1
   GOTO LL1
   DECFSZ   DELAY_REG1,1
   GOTO L1
   RETLW 0X00
;---------------
DELAY_5MS
   MOVLW   d'5'
   MOVWF   DELAY_REG1
Q1
   MOVLW   0XC7
   MOVWF   DELAY_REG2
   MOVLW   0X01
   MOVWF   DELAY_REG3
QQ1
   DECFSZ   DELAY_REG2,1
   GOTO $+2
   DECFSZ   DELAY_REG3,1
   GOTO QQ1
   DECFSZ   DELAY_REG1,1
   GOTO Q1
   RETLW 0X00
;---------------

DELAY_160US
   MOVLW   0X20
   MOVWF   DELAY_REG2
   MOVLW   0X01
   MOVWF   DELAY_REG3
WW1
   DECFSZ   DELAY_REG2,1
   GOTO $+2
   DECFSZ   DELAY_REG3,1
   GOTO WW1
   RETLW 0X00
;------------------------------------------------
TACHSO   ;TACH HANG CHUC VOI DON VI   IN:W OUT:HCHUC, HDV
      MOVWF   HCHUC
      ANDLW   0X0F
      MOVWF   HDV
      SWAPF   HCHUC,0
      ANDLW   0X0F
      MOVWF   HCHUC
      RETLW   0X00
;------------------------------------------------
CHANGE_NIBLE   ;TACH TRONG SO CAO VA THAP
      MOVWF   MSB
      ANDLW   0X0F
      MOVWF   LSB
      SWAPF   MSB,0
      ANDLW   0X0F
      MOVWF   MSB
      RETLW   0X00

end
hoangnhanpro
hoangnhanpro
Admin
Admin

Họ & Tên : Phạm Hoàng Nhân
Giới tính : Nam
Cung Hoàng Đạo : Taurus
Con Giáp : Goat
Tuổi (Age) : 32
Ngày Sinh (Birthday) : 17/05/1991
Ngày Gia Nhập : 04/10/2011
Đến Từ : Hoàng Nhân Pro
Sở Thích : Điện Tử - Tin Học
Công Việc : Đang Thất Nghiệp

Tổng số bài gửi : 575
Điểm (Point) : 6553
Danh Tiếng (Reputation) : 4


http://www.hoangnhanpro.forumvi.com

Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết