Thông báo

Collapse
No announcement yet.

Giúp em ạ. Em code 89C51 giao tiếp LCD mà sao không chạy ??? :(

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

  • Giúp em ạ. Em code 89C51 giao tiếp LCD mà sao không chạy ??? :(

    Em code = Keil C và mạch trong attach đó ạ. Không hiểu sao không chạy ạ
    Code:
    #include "regx51.h"
    #define D0 P0_0
    #define D1 P0_1
    #define D2 P0_2
    #define D3 P0_3
    #define D4 P0_4
    #define D5 P0_5
    #define D6 P0_6
    #define D7 P0_7
    #define RS P2_0
    #define RW P2_1
    #define E P2_2
    void ham_gui_lenhDK();
    void ham_gui_data();
    void delay_ms(unsigned int time);
    /////////////////////////////////////////////////////////
    void main()
    { // kho+?i ta.o LCD
            
    		 delay_ms(2000) ; // thoi gian cho de LCD khoi dong
             P0= 0x38 ; ham_gui_lenhDK() ; // xóa màn hình hie^?n thi.
    		 delay_ms(50) ;
    		 P0= 0x38; ham_gui_lenhDK() ;
    		 delay_ms(50) ;
    		 P0= 0x06; ham_gui_lenhDK() ;
    		 delay_ms(50) ;
    		 P0= 0x0E; ham_gui_lenhDK() ;
    		 delay_ms(50) ;
    		 P0= 0x01; ham_gui_lenhDK() ;
    		 delay_ms(50) ;
             P0 = 0x80 ; ham_gui_lenhDK() ; // hien ki tu o dong 1 cot 1
             P0 = 'A' ; ham_gui_data() ; 
    		 while(1);
            
    }
    
    /////////////////////////////////////////////////////////
    void ham_gui_lenhDK()
         { RW = RS = 0 , E =1 , E= 0 ; delay_ms(100);}
    	 /////////////////////////////////////////////////////////
    void ham_gui_data()
         { RW = 0 , RS = 1 , E =1 , E= 0 ; delay_ms(100);}
    /////////////////////////////////////////////////////////
    void delay_ms(unsigned int time)
    {
    while(time--)
    {
    unsigned char temp =121;
    };
    }
    Hix, em là dân Toán Tin nhưng thích điện tử nên dọc chơi. Mấy Bác thông cảm.
    Chúc các Bác 1 ngày may mắn.
    Thân,
    Attached Files

  • #2
    À, các Bác cho em hỏi thêm tí ạ.
    Sao port P0 của AT89C51 không xài được với LED 7 Segment Cathode được ạ ?
    Em định làm 1 cái đồng hồ với 4 Led 7seg nhưng mới chỉ sài được Port 1,2,3 của 89C51, còn Port P0 không hiểu sao không xài được ạ.
    À, và làm cách nào để cho con VDK 89C51 đếm chính xác được ạ ? Và nếu em muốn thêm 2 con Led7 đề làm phần hiển thị giây thì phải câu làm sao à ? Con 89C51 này không có đủ số chân.

    Chân thành Cảm ơn Các Bác.

    Comment


    • #3
      Hic. Bạn vào MỤC LỤC Box 8051 tìm hiểu nhé. Có rất nhiều thứ phù hợp với bạn.
      AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
      Xem thêm tại Online Store ---> Click here
      Mob: 0982.083.106

      Comment


      • #4
        co ai biết trang nào có code của 89c51 ko nhi?những bài đơn giản y?post len giup mình với

        Comment


        • #5
          có lẽ bạn không học chuyên ngành về vdk nên không hiểu rõ lắm. Để vdk đếm chính xác khá đơn giản, bạn có thể dùng chương trình delay hoặc dùng một IC đếm thông dụng. Nếu dùng IC đếm chuyên thiết kế làm đồng hồ bạn có thể xuất cả ngày tháng năm ra nữa đó, không chỉ là giây đâu. Mình ngưỡng mộ bạn ghê dân toán tin mà mê vdk, tính làm robocon ah` chúc bạn thành công, nếu năm sau đi thi robocon 2009 có thể bạn sẽ gặp đội mình đó
          ^^ DD3N điên nặng gấp 3 lần người thường ^^

          Comment


          • #6
            ai co bai lap trinh hien thi thoi gian thuc tren lcd viet bang ngon ngu lap trinh c ko ?gui cho em voi ?mail:damvanhau1989@gmail.com

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X