Thaimicrotron.com : Home
 
 
Page3
 
 
การใช้งาน LCD โมดูล
การเขียนโปรแกรมแสดงผล LCD โมดูล
 
     
  การเขียนโปรแกรมเพื่อควบคุม LCD  
 
เมื่อเริ่มจ่ายไฟให้กับ LCD ที่ระดับแรงดันถึง 4.5 V แล้ว LCD จะ Reset ตัวเอง (Internal Reset) และจะ set ค่าเริ่มต้น ต่างๆดังนี้
  1). Display Clear
   
  2). Function Set    
    DL=1 8bit
N=0 1บรรทัด
F=0 5x7 dot
   
  3). Display ON/OFF    
    D=0 Display OFF
C=0 Cursor OFF
B=0 Blink OFF
   
         
  4).Entry Mode Set    
    I/D=1 (เพิ่มค่า Counter ขึ้น 1)
S=0 No Shit
   
         

หลังจากนั้นเราต้อง set ค่าต่างๆ (Initializing by Instruction) เพื่อให้ LCD เริ่มทำงานตามที่เราต้องการดังนี้
         
การใช้งาน LCD แบบ 8bit    
       
  1).หากเป็นการเริ่มจ่ายไฟให้ LCD เพื่อให้ LCD Internal Reset  
    ให้รออย่างน้อย 15ms    
  2). กำหนดขาควบคุม    
    ให้ขา E = 0    
    ให้ขา RS= 0 กำหนดเป็นคำสั่ง  
    ให้ขา R/W = 0 เขียนข้อมูล  
  3).ส่งข้อมูลค่ำสั่ง Function Set 3 ครั้ง    
    3.1) data = 00110000 Function Set DB5=1,DL=1(8bit)  
    E=1,delay(450ns),E=0 E  
    รออย่างน้อย 4.1ms    
    3.2) data = 00110000 Function Set DB5=1,DL=1(8bit)  
    E=1,delay(450ns),E=0 E  
    รออย่างน้อย 100 us    
    3.3) data = 00110000 Function Set DB5=1,DL=1(8bit)  
    E=1,delay(450ns),E=0 E  
  4).กำหนดการทำงานของ LCD ตามที่ต้องการ เช่น    
    Entry Mode Set (BIT2=1)  
    00000110 [000001MS] , Cursor direction right (M=1);no scroll (S=0)
    E=1,delay(450ns),E=0 E  
       
    Display/Cursor (BIT3=1)  
    00001111 [00001DUB] ,Display On (D=1),Cursor On (U=1) ,blinking block cursor On (B=1)
    E=1,delay(450ns),E=0 E  
         
    Function Set (BIT5=1) [001DNF00 ],Sets buss size 8bit (D=1),number of lines=2 (N=1),font size =5x7(F=0)
    00111000    
    E=1,delay(450ns),E=0 E  
         
 
ตัวอย่างการเขียนโปรแกรมแสดงผล LCD โมดูลแบบ 8bit

การใช้งาน LCD แบบ 4bit    
       
  1).หากเป็นการเริ่มจ่ายไฟให้ LCD เพื่อให้ LCD Internal Reset  
    ให้รออย่างน้อย 15ms    
  2). กำหนดขาควบคุม    
    ให้ขา E = 0    
    ให้ขา RS= 0 กำหนดเป็นคำสั่ง  
    ให้ขา R/W = 0 เขียนข้อมูล  
  3).ส่งข้อมูลค่ำสั่ง Function Set 3 ครั้ง  ข้อมูล D4-D7 จะถูกส่งไปที่ bus  
    3.1) data = 00110000    
    E=1,delay(450ns),E=0 E  
    รออย่างน้อย 4.1ms    
    3.2) data = 00110000    
    E=1,delay(450ns),E=0 E  
    รออย่างน้อย 100 us    
    3.3) data = 00110000    
    E=1,delay(450ns),E=0 E  ตอนนี้ยังเป็น 8 bit อยู่
  4).กำหนดการทำงานของ LCD ให้เป็น 4 bit    
    data= 00100000 Function Set (BIT5=1) [001DNF00 ],Sets buss size 4bit (D=0)ข้อมูลเฉพาะ D4-D7 จะถูกส่งออกไปที่บัส
    E=1,delay(450ns),E=0 E
      ตอนนี้เป็น 4 bit แล้ว
    เมื่อเป็น 4 bit ต้องส่งข้อมูลคำสั่งสองครั้งๆ ละ 4 bit  
  5). Function Set (BIT5=1) กำหนด ขนาดข้อมูล,จำนวนบรรทัด, ขนาดตัวอักษร
    เตรียมข้อมูลค่ำสั่ง 00101000 [001DNF00 ],Sets buss size 4bit (D=0),number of lines=2 (N=1),font size =5x7(F=0)
    ส่งข้อมูลไบท์สูงออกไปก่อน data =00101000    
    E=1,delay(450ns),E=0 E  
    สลับไบท์สูง-ต่ำ 10000010  
    ส่งข้อมูลไบท์ต่ำ data =10000010  
    E=1,delay(450ns),E=0 E  
       
  6). Display/Cursor (BIT3=1) กำหนดการแสดงผล, เคอร์เซอร์
    เตรียมข้อมูลค่ำสั่ง 00001100 [00001DUB] ,Display On (D=1),Cursor Off (U=0) ,blinking block cursor Off (B=0)
    ส่งข้อมูลไบท์สูงออกไปก่อน data =00001100    
    E=1,delay(450ns),E=0 E  
    สลับไบท์สูง-ต่ำ 11000000  
    ส่งข้อมูลไบท์ต่ำ data =11000000  
    E=1,delay(450ns),E=0 E  
       
  7). Entry Mode Set (BIT2=1) โหมดการป้อนข้อมูล 
    ตรียมข้อมูลค่ำสั่ง 00000110 [000001MS] , Cursor direction right (M=1);no scroll (S=0)
    ส่งข้อมูลไบท์สูงออกไปก่อน data =00000110    
    E=1,delay(450ns),E=0 E  
    สลับไบท์สูง-ต่ำ 01100000  
    ส่งข้อมูลไบท์ต่ำ data =01100000  
    E=1,delay(450ns),E=0 E  
         
         
         
 
  ตัวอย่างการเขียนโปรแกรมแสดงผล LCD โมดูลแบบ 4 bit  
 
 
 
SMITDH EMSOMBAT
 
 
ศมิทธิ์ เอมสมบัติ