PIC Basic display negative value on LCD

เนื่องจากไมโครคอนโทรลเลอร์ไม่สามารถแสดงจำนวนติดลบได้โดยตรง ทำให้เราไม่สามารถนำมาใช้แสดงค่าที่ต่ำกว่า 0 เช่น ค่าอุณหภูมิจากเซนเซอร์ เป็นต้น ในความเป็นจริงถ้าหากเรานับทีละ 1 เริ่มจาก 0 จะไปถึงตัวเลขบวกที่ไม่มีสิ้นสุด และถ้านับถอยหลังทีละ 1 เริ่มจาก 0 ก็จะไปถึงตัวเลขลบที่ไม่มีสิ้นสุด แต่สำหรับไมโครคอนโทรลเลอร์เมื่อนับถึงจำนวนสูงสุดแล้วจะกลับมานับ 0 ใหม่ และถ้านับถอยหลังจนถึง 0 แล้วจะกลับเป็นจำนวนสูงสุดอีกครั้งหนึ่งไม่มีทางติดลบได้

Read more

PIC Basic degree celsius symbol show LCD (°C)

วิธีแสดงเครื่องหมายองศาเซลเซียส (°C) บนหน้าจอ LCD

ตัวอย่างโปรแกรม

‘****************************************************************
‘*  Name    : degree.BAS                                           
‘*  Author  : HS3UKA                                           
‘*  Notice  : Copyright (c) 2013
‘*          : All Rights Reserved
‘*  Date    : 1/2/2013
‘*  Version : 1.0 
‘*  Notes   : http://www.hs3uka.com
‘****************************************************************
include “modedefs.bas”
define OSC 10
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG  PORTB
DEFINE LCD_EBIT 1

LCDOut $FE, $40,14,10,14,0,0,0,0,0 ‘ Create degree symbol in CGRAM

main:      
        lcdout $fe,$1, “HS3UKA”
        lcdout $fe,$C0,”Temp1:27.00″, 0, “C”
        lcdout $fe,$90,”Temp2:27.00″, 0, “C”
        lcdout $fe,$D0,”Temp3:27.00″, 0, “C”
        Pause 100
        
    GoTo main

 

Read more

PIC Basic variables

ตัวแปรพื้นฐานที่ใช้ในภาษา Basic สำหรับไมโครคอนโทรลเลอร์มี 3 ชนิด ได้แก่

  • BIT เก็บค่าได้ 1 บิท ตั้งแต่ 0-1
  • BYTE เก็บค่าได้ 8 บิท ตั้งแต่ 0-255
  • WORD เก็บค่าได้ 16 บิท ตั้งแต่ 0-65535

Read more