Thông báo

Collapse
No announcement yet.

Lcd

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Lcd

    MÌNH CÓ VIẾT 1 ĐOẠN CODE HIỂN THỊ CHỮ a TRÊN LCD(CÓ KÈM THEO MẠCH VÀ CODE )NHƯNG SAO NÓ CHẲNG HIỂN THỊ GÌ HẾT,MÀ CHỈ BẬT SÁNG MÀN HÌNH LCD THÔI.CHỈ GIÙM MÌNH SAI CHỖ NÀO VẬY? AH MÌNH VIẾT CODE BẰNG PROG-STUDIO .THANKS CÁC HUYNH NHÁ!
    Attached Files
    SỰ HỌC LÀ MÃI MÃI......!!!!

  • #2
    Code:
    					INCLUDE 89C51.MC
    					ORG 0000H
    					
    		LOOP:			SETB P0.2	;E
    					ACALL DELAY
    					CLR P0.1 	;RW
    					CLR P0.0	;RS
    					;KHOI TAO FUNCTION SET
    					MOV P2,#00111100B
    					CLR P0.2
    					SJMP LOOP
    					;
    					ACALL CHECK_BUSY
    					MOV P2,#01100110B
    					
    					;********
    		CHECK_BUSY:		CLR P0.0
    					SETB P0.1
    					CLR P0.2
    					ACALL DELAY
    					SETB P0.2
    		RE_CHECK:		JB P2.7,RE_CHECK 		;BUSY = P2.7
    					RET
    					;********
    					
    		DELAY:
    					MOV R7,#200
    			LOP:		MOV R6,#200
    					DJNZ R6,$
    					DJNZ R7,LOP
    					RET
    					END
    LCD of u nếu là new thì phải khởi tạo đầy đủ các giá trị
    0x38 , 0x08 , 0x0C , 0x01 , 0x02
    còn hàng 2hand thì chỉ cần : 0x38 , 0x01
    - đèn LCD sáng có nghĩa u nối đúng chân A-K, chứ chưa có ý nghĩa Vật lý chi hết . chỉnh biến trở nối chân 3 (Vo) of LCD để thấy đc hàng trên hơi đen ( chỉ hơi đen thui nhá ) xem thử đã hiện chữ chưa ?

    nối D0-D7 port2
    chương trình LCD 8 bits (newbie thì nên 8bits trước cho dễ , hiện chữ đã để thấy niềm zui)
    Code:
    #include<AT89S53.h>
    sbit RS = 0x94; // RS = P1_4
    sbit RW = 0x95; // RW = P1_5
    sbit E  = 0x96; // E  = P1_6
    
    void delay_ms( unsigned int ms )
    { unsigned int i,j;
      for (i=0;i<ms;i++)
      for (j=0;j<120;j++){};
    }
    
    
    void LCD_PutChar(unsigned char k )
    { P2=k ; RS=1 ; RW=0 ; E=1 ; E=0 ; delay_ms(1);}
    
    void LCD_PutCmd(unsigned char k )
    { P2=k ; RS=0 ; RW=0 ; E=1 ; E=0 ; delay_ms(3);}
     
    void int_LCD()
    { 
      LCD_PutCmd(0x38) ;	   
      LCD_PutCmd(0x0C) ;
      LCD_PutCmd(0x06) ;
      LCD_PutCmd(0x01) ;
    }
    
    main()
    { 
      delay_ms(100);
      int_LCD();
      LCD_PutCmd(0x80) ; // gui lenh xuat chu o dong 1 cot 1 of LCD
      LCD_PutChar('A');
      while(1);
    }
    ko hiện thì LCD of u đã tiu

    Comment


    • #3
      Thanks Bác Nhá! để Em Làm Thử Xem Sao!
      SỰ HỌC LÀ MÃI MÃI......!!!!

      Comment

      Về tác giả

      Collapse

      tallht Tìm hiểu thêm về tallht

      Bài viết mới nhất

      Collapse

      Đang tải...
      X