MCU4Fun

Drive your idea

Your Shopping Cart




รถเข็นของท่านยังไม่มีรายการสินค้า

   

You are here: Home บทความ PSoC PSoC Evol V.1 กับ LCD 16x2

PSoC Evol V.1 กับ LCD 16x2

อีเมล
User Rating: / 2
แย่ดีที่สุด 

     จากคุณสมบัติของบอร์ด PSoC Evol V.1 มี LCD 16x2 อยู่บนบอร์ดและมีพอร์ทที่ใช้สำหรับต่อกับ LCD 16x2 อยู่แล้ว ที่พอร์ท P2 จึงง่ายที่จะนำไปใช้งาน อีกทั้งในด้านของซอฟแวร์นั้น PSoC Designer ยังมีโมดูล LCD ให้นำมาใช้งานเพียงแค่ปลายนิ้วคลิก

 

 

PSoC Evol V.1 with LCD 16x2 Diagrram

 

 

LCD โมดูล 
     ใช้ชุดคำสั่งมาตรฐานของ Hitachi HD44780 โดยใช้การติดต่อแบบ 4 bit interface ใช้ Pin รวมทั้งหมด 7 Pin (0-6) ของ Port ใดก็ได้ แต่ใน PSoC Evol V.1 กำหนดให้เป็น พอร์ท 2

LCDb

     การใช้งานก็แสนง่ายเพียงเสียบ LCD ไปที่ LCD port ลงบน PSoC Evol V.1 ส่วนทางด้านซอฟแวร์ก็แค่เขียนโปรแกรม โดยนำ LCD Module LCDa มาใช้และกำหนดให้เป็น port 2 และเขียน code เพื่อเรียกใช้ API Function ดังต่อไปนี้

LCD_Start
initialize LCD ให้ทำงานแบบ 4 bit interface ต้องเรียกใช้ก่อน ที่จะใช้งานใช้งานฟังก์อื่นๆ
C Prototype:
void LCD_Start(void);

LCD_Position
กำหนดตำแหน่งตัวอักษรบนจอ LCD ของข้อมูลที่กำลังจะส่งไป ว่าจะให้แสดงตำแหน่งใด

LCDc

อย่างเช่น LCD_Position(0,0) หมายถึง บรรทัดที่1 ตำแหน่งที่1, LCD_Position(1,5) หมายถึง บรรทัดที่ 2 ตำแหน่งที่ 6 เป็นต้น มักใช้ก่อนที่จะส่งตัวอักษรไปยังจอ LCD
C Prototype:
void LCD_Position(BYTE bRow, BYTE bCol);

LCD_PrString
แสดงผลข้อความจาก RAM ( Null Terminated Ram-Based String )
C Prototype:
void LCD_PrString(CHAR * sRamString);

LCD_PrCString
แสดงผลข้อความจาก ROM ( Null Terminated Rom-Based String )
C Prototype:
void LCD_PrCString(CHAR * sRomString);

ตัวอย่าง การใช้งาน ฟังก์ชันแสดงตัวอักษร

LCDd

CD_PrHexByte
แสดงค่าตัวเลขของตัวแปรประเภท char, BYTE(unsigned char) ในเลขฐาน 16
C Prototype:
void LCD_PrHexByte(BYTE bValue);

LCD_PrHexInt
แสดงค่าตัวเลขของตัวแปรประเภท int, WORD(unsigned int) ในเลขฐาน 16
C Prototype:
void LCD_PrHexInt(int iValue);

 

Bar Graph แนวนอน

LCD_InitBG
กำหนดค่าเริ่มต้นให้กับ LCD สำหรับการใช้งาน Bar Graph แนวนอน
C Prototype:
void LCD_InitBG(BYTE bBGType);

LCD_DrawBG
แสดงผล Bar Graph แนวนอน
C Prototype:
void LCD_DrawBG(BYTE bRow, BYTE bCol, BYTE bLen, BYTE bPixelColEnd);
โดยที่
bRow คือ เลขบรรทัดที่ของ LCD (อย่างเช่น บรรทัดที่1 = 0, บรรทัดที่0 = 1 )
bCol คือ ตำแหน่งในบรรทัดนั้น (อย่างเช่น ตำแหน่ง1 = 0, ตำแหน่ง116 = 15)
bLen คือ จำนวนตัวอักษรในแนวที่ใช้แสดง Bar Graph
bPixelColEnd คือ จำนวนช่องของ Bar Graph (ในหนึ่งตัวอักษรมี 5 ช่อง ตามแนวนอน)

LCDf

Bar Graph แนวตั้ง

LCD_InitVB
กำหนดค่าเริ่มต้นให้กับ LCD สำหรับการใช้งาน Bar Graph แนวนอน
C Prototype:
void LCD_InitVBG(void);

LCD_DrawVBG
แสดงผล Bar Graph แนวตั้ง
C Prototype:
void LCD_DrawVBG(BYTE bRow, BYTE bCol, BYTE bHeight, BYTE bPixelRowEnd);
โดยที่
bRow คือ เลขบรรทัดที่ของ LCD (อย่างเช่น บรรทัดที่1 = 0, บรรทัดที่0 = 1 )
bCol คือ ตำแหน่งในบรรทัดนั้น (อย่างเช่น ตำแหน่ง1 = 0, ตำแหน่ง116 = 15)
bHeight คือ จำนวนตัวอักษรในแนวตั้งที่ใช้แสดง Bar Graph
bPixelRowEnd คือ จำนวนช่องของ Bar Graph (ในหนึ่งตัวอักษรมี 8 ช่อง ตามแนวตั้ง)

LCDg

 

 

เพิ่มคอมเมนต์ใหม่


รหัสป้องกันความปลอดภัย
รีเฟรช


?>