Chào các bạn mình đang lam bài tập về đo nhiệt độ và hiển thị ra LCD, mình đẫ cho hiển thị ra lcd rồi nhưng kết quả ko đúng ,Mong các ban giúp mình đây là phần mềm mình đẫ viết :
Code:
;========================================================= title "Do nhiet do va hien thi ra LCD.asm" processor p16f877a include <P16f877a.inc> ;_CONFIG_CP_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC&_LVP_OFF dem0 equ 0x20 dem1 equ 0x21 dem2 equ 0x22 lenhlcd equ 0x23 delay12 equ 0x24 A EQU 0X25 org 0x0030 REGAD1 res 1 ;khai bao bien co ten regad1 nam o ;dia chi 30h va chiem 1 byte org 0x0000 goto start start org 0x0010 ;========================================================= ;khoi tao PORTB la lenh dieu khien lcd ;khoi tao PORTC la data ;khoi tao ADC ;========================================================= BANKSEL TRISB ;CHON NGAN HANG THANH GHI CO CHUA TRISB VA TRISC BANKSEL TRISC CLRF TRISB ;PORTB LA XUAT CLRF TRISC ;PORTC LA XUAT BANKSEL PORTB ;CHON NGAN HANG THANH GHI CO CHUA PORTB VA PORTC BANKSEL PORTC ;========================================================= ;khoi tao ADC ;========================================================= movlw b'00000001' ;ADC ngo vao la Analog movwf ADCON1 ;========================================================= ;chuong trinh chinh ;========================================================= call dkhienlcd MAIN call delay40ms call donhietdo call hthi goto MAIN ;========================================================= ;chuong trinh con dieu khien LCD ;========================================================= dkhienlcd movlw h'01' ;lenh xoa man hinh movwf lenhlcd call madieukhien call delay40ms movlw h'02' ;lenh return home tra bo dem AC =0 movwf lenhlcd call madieukhien call delay40ms movlw h'06' ;lenh entry mode lam con tro dich chuyen movwf lenhlcd call madieukhien call delay40ms movlw h'0e' ;lenh hien thi man hinh movwf lenhlcd call madieukhien call delay40ms movlw h'34' ;lenh funtion co cac kieu giao tiep 8bit ,hien thi 1 hang va 5x10 diem anh movwf lenhlcd call madieukhien call delay40ms MOVLW H'80' ;chon vung nho DDRAM MOVWF lenhlcd CALL madieukhien call delay40ms RETURN madieukhien movf lenhlcd,0 movwf PORTC bcf PORTB,0 ;chan RS ,chan RS va R/W =0 thi ghi va thanh ghi lenh IR bcf PORTB,1 ;chan RW bsf PORTB,2 ;tao ra 1 xung tren chan E bcf PORTB,2 return delay40ms movlw d'50' movwf dem0 del2 movlw H'FF' movwf dem1 del1 decfsz dem1 goto del1 decfsz dem0 goto del2 return ;========================================================= ;chuong trinh con do nhiet do ;========================================================= DONHIETDO MOVLW H'01' ;BAT NGUON CHO ADC VA CHON KENH THU 0 MOVWF ADCON0 DEL3 DECFSZ DELAY12,F GOTO DEL3 BSF ADCON0,2 ;BAT DAU CHUYEN DOI BANG CACH SET BIT GO/DONE GODONE BTFSC ADCON0,2 ;KIEM TRA GO/DONE=1 THI NHAY TOI NHAN GODONE GOTO GODONE MOVF ADRESH,0 ;GO/DONE=0 THI LUU KET QUA RETURN hthi MOVWF REGAD1 MOVF REGAD1,0 MOVWF A MOVF A,0 MOVWF PORTC ;dua ket qua hien thi ra LCD BSF PORTB,0 BCF PORTB,1 BSF PORTB,2 BCF PORTB,2 RETURN END
Comment