Thông báo

Collapse
No announcement yet.

bác nào giúp em chỗ LCd với

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

  • #16
    tớ làm đồ án về plc mà ko biết cach chép file ladder vào word,mong các pác chỉ jum.thanks

    Comment


    • #17
      Nguyên văn bởi bunhiacopxki Xem bài viết
      Mấy cái anh nói này thì em hiểu.Nhưng em không rõ mấy câu lệnh đó có tác dụng như thế nào,VD:
      em nhập : cmd=0x28,dat='s' thì nó qua 4 câu lệnh cho mỗi trường hợp:

      lcd_port = (cmd & 0xF0)|LCD_EN;
      lcd_port = (cmd & 0xF0);
      lcd_port = ((cmd << 4)&0xF0)|LCD_EN;
      lcd_port = ((cmd << 4)&0xF0);

      lcd_port = ((dat & 0xF0)|LCD_EN|LCD_RS);
      lcd_port = ((dat & 0xF0)|LCD_RS);
      lcd_port = (((dat << 4)&0xF0)|LCD_EN|LCD_RS);
      lcd_port = (((dat << 4)&0xF0)|LCD_RS);

      lúc này lcd_port bằng bao nhiêu và LCD_EN tạo xung như thế nào??
      Ý em là anh có thể debug giùm em được không ạ(em thử rồi mà vần ko hiểu ).
      Cảm ơn mấy anh nhiều.
      Giả sử cmd = 0x28 <=> cmd = 0010 1000
      lcd_port = (cmd & 0xF0)|LCD_EN;
      hay:
      lcd_port = (0010 1000 & 1111 0000) | 0000 0100;
      Thực hiện phép toán AND và OR
      => lcd_port = 0010 0100, vì giao tiếp bằng 4bit cao nên LCD nhận được giá trị là 0010 và bit LCD_EN = 1
      Tiếp theo:
      lcd_port = (cmd & 0xF0);
      lcd_port = (0010 1000 & 1111 0000) = 0010 0000, được 4 bit cáo là 0010, và bit LCD_EN = 0
      Ở đây lcd_port đã nhận được 4 bit cao và đã có 1 xung từ cao xuống thấp ở chân E.
      Tương tự cho các bước tiếp theo.
      Ngoài ra có thể chạy Debug trong KeilC xem thanh ghi P1 sẽ thấy được kết quả.

      Chương trình trên là mình sửa theo sườn của anh bạn gì đó, không phải mình viết từ a - z đâu.
      Hiểu đâu trả lời đó

      Comment


      • #18
        Nguyên văn bởi Multi System Xem bài viết
        Giả sử cmd = 0x28 <=> cmd = 0010 1000
        lcd_port = (cmd & 0xF0)|LCD_EN;
        hay:
        lcd_port = (0010 1000 & 1111 0000) | 0000 0100;
        Thực hiện phép toán AND và OR
        => lcd_port = 0010 0100, vì giao tiếp bằng 4bit cao nên LCD nhận được giá trị là 0010 và bit LCD_EN = 1
        Tiếp theo:
        lcd_port = (cmd & 0xF0);
        lcd_port = (0010 1000 & 1111 0000) = 0010 0000, được 4 bit cáo là 0010, và bit LCD_EN = 0
        Ở đây lcd_port đã nhận được 4 bit cao và đã có 1 xung từ cao xuống thấp ở chân E.
        Tương tự cho các bước tiếp theo.
        Ngoài ra có thể chạy Debug trong KeilC xem thanh ghi P1 sẽ thấy được kết quả.

        Chương trình trên là mình sửa theo sườn của anh bạn gì đó, không phải mình viết từ a - z đâu.
        Hiểu đâu trả lời đó
        Thanks anh Multi System,hiểu rồi.
        Bki4u-University of Technology!

        Comment


        • #19
          đây là viết cho kí tự cố định.còn em vẫn chưa viết được cho con số đếm liên tục là sao ạ?
          help me!

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X