Professional Documents
Culture Documents
Manual PICBASIC Som PDF
Manual PICBASIC Som PDF
2
BASIC Code Editor
File.BAS
PICBASIC Compiler
Downloader
File.HEX
File.ASM
File.HEX
PIC Microcontroller
1
PIC PIC BASIC PRO COMPILER
PIC BASIC PRO Compiler DOS WINDOWS
PIC BASIC COMPILER 3
1. Code Designer Cdlite
ver. 1.55 BASIC
Code Editor .bas .pbp
2. Compile .HEX
MCU PIC BASIC PRO ver. 2.4
compile PBPW.EXE
3. .HEX Compile MCU
Icprog101.exe
CD
CD
:-
3
1.
Code Editor Folder MICROCHIP
CD 1 cdlite155
Cdlite
4
Code Designer PIC BASIC
3
2
3
Path
Path
6
3. Port COM.1 PC CN2 PIC40P-1
4. Programmer
MCU 6 7
2
3
PENTIUM4
6
Hardware 8
.HEX
Compile
EPIC Program (
PIC MCU
EPIC Version WINDOWS
WINDOWS Drive C:
1. Folder EPICW
2. COPY EPICW Folder
3. UNZIP EPICW Folder ( UNZIP
ICON IC RUN Programm Download
desktop Short cut RunProgram )
BASIC DOS WINDOWS
Editor DOS WINDOWS
Notepad Word Save .BAS Save
Folder
7
Text file pure ASCII text Format File
Directory Directory Compile
LED 0 PortB
16F84A
Blink.BAS
( 3 )
3
1. Code Designer
Windows
PIC16F84A, PIC16F877
2. BASIC
Word processor
3. Save
8
File
Save as
.BAS
4. Compile Compile Compiler
Pathname
Compile
Compiler Option
2.
1.
blink.HEX
5.
3.
XTAL OSC
4.Protect
4 Icprog MCU
9
PIC BASIC PRO COMPILER
1. Comments
(Quotation mark) ; HIGH PORTB.0 Turn ON LED
LOW PORTB.0 Turn OFF LED
2. Line Labels ( 8 )
PIC BASIC
Label Colon (:)
LOOP : INPUT S1
IF S1 = 1 THEN LOOP
3. Variables (Size) bits,
bytes Words
Label VAR Size {.Modifier}
10
5. Aliases 3 4
element
Size
Bit
Byte
word
No. of elements
256
96 *
48 *
7. Constants
Label CON Constant expression
mice CON 3
traps CON mice * 1000
11
10 2 16
8.1 10
100 100 10
%100 2 1 0 0
$100 16
ASCII value
A ASCII value for dec.65
d ASCII value for dec.100
9. String Constants ASCII value
Lcdout Hello
10. PORT Register
PORTA = %01010101 PORTA
VAR1 = PORTB & $0F Logic AND PORTB $0F
VAR1
11. Pins MCU
PORTB.1 =
LED VAR PORTA.0
HIGH LED
1 PORTB 1
0 PORTA LED
LED (PortA.0) Logic high
12
PIC MCU
8 Pin
18 Pin
28 Pin ( 14C000)
28 Pin ( 14C000)
40 Pin
* Port 8
12. PORT MCU OUTPUT INPUT
Tri-state Register (TRIS) Port
Assembly TRIS 0 Port OUTPUT
TRIS 1 Port INPUT
13
14. (Line-extension)
PIC BASIC
250
2 2
( _ ) 2
BRANCH B0, [Label1, Label 2, Label 3,] , _
Label 4, Labels]
15. INCLUDE
INCLUDE modedefs.bas
16. DEFINE
OSC.Speed 4 MHz
DEFINE QSC 4
DEFINE ADC_BITS 8 Bit A/D 8 bit
14
16 bit
18 (Multiplication) PIC BASIC
32
W1 = W0 * 1000 W0 1000 W1
W2 = W0**1000 W0 1000 high order 16 bits W2
19. (Division)
W1 = W0/1000 W0 1000 W1
W2 = W0//1000 W0 1000 W2
20. ( Bit shifting) << >> bit
0 - 15
B0 = B0 << 3 Shift B0 3
W1 = W0 >>1 Shift W0 1 W1
21. DCD decode bit number (0-15) binary number 8 bit
B0 = DCD 2 B0 = %00000100
22. DIG 10 ( 0-4 )
Set B0 to 123
B0 = 123
B1 = B0 DIG 1 B1 2 ( 2 )
23. MAX and MIN
B1 = B0 MAX 100 B1 100 255
B1 = B0 MIN 100 B1 B0 100
24. NCD bit Binary number Decimal (bit number 0-16)
B0 = NCD % 01001000 Set B0 7
25. REV Binary bit (0-16) LSB
Set B0 10100011
B0 = %10101100 REV 4
15
26. Trigonometric SINE, COS
B1 = COS B0
B2 = SIN B0
27. Square root, Absolute
B0 = SQR W1
B1 = ABS B0
28. Bitwise Operators Set
B0 = B0 & % 00000001 0 B0
B0 = B0 | % 00000001 Set bit0 B0
B0 = B0 ^ % 00000001 bit0 B0
29. Comparison Operator exprssion
Expression
Operator
= = =
< > ! =
<
>
<=
>=
IF i > 10 THEN loop
Description
Operator
AND 82
OR ||
XOR ^^
ANDNOT
Description
Logic AND
Logic OR
Logic XOR
Logic NAND
16
ORNOT
Logic NOR
XORNOT
Logic NXOR
IF (A = = big) AND (B > mean) THEN run
@ Assembly Statement
(1)
i
Var byte
rollme VAR byte
FOR i = 1 To 4
@ rlf rollme, 1
NEXT I
@ Include fp.asm
(2)
I 1 4
rollme 1
* ADCIN PORT
INPUT register TRIS PORT
register ADCON1
TRISA
= 255
ADCON1 = 0
ADCIN 0, B0
PortA = input
PortA
0 B0
17
Default
DEFINE ADC_BIT 8
BIT 8
DEFINE ADC_SAMPLEUS 50 Sampling rate = 50MS
31.3 ASM .. ENDASM
1
Assembly PIC BASIC
ASM
Assembly
ASM
bsf PORTA,0
bcf PORTB,0
ENDASM
31.4 BRANCH
INDEX
18
a) Pressed = 0
b) Pressed = 1
19
PIC BASIC
INCLUDE BS1DEFS.BAS
S1
VAR PORTB.1
L1
VAR PORTA.0
LOW B2
File BS1DEFS.BAS
LOOP1 :
BUTTON S1, 0, 100, 10, B2, 0 Loop2
LOOP2 :
PAUSE 50
HIGH L1
Auto-repeat
PAUSE 500
deley = 50 X 100 = 5000mS
LOW L1
Repeat rate = 50 X 10
PAUSE 500
= 500mS
GOTO LOOP1
END
31.6 CALL
Assembly subroutine execute
extention
CALL pass.asm
31.7 CLEAR
RAM register 0 clear
31.8 CLEARWDT
Clear Watchdog Timer
31.9 COUNT
pulse Pin
20
Pin MCU Port
Period
Var
Pin PortB.0 W1
COUNT PORTB.0, 1000, W1
Scan Pulse Clock 4 MHz = 20 mS
Clock 20 mS = 4 mS Count Pulse
0 ~ 125 kHz Clock 20 MHz
Ex.
31.10 INPUT
Pin Port Input
INPUT Pin
Pin
Port
HIGH PIN
21
Pin Port
HIGH PORTA.0 0 PortA 1
L1
VAR PORTB.0
HIGH L1
PORTB.0 = 1
PORTB.0
L1 VAR
L1 = 1
31.12 LOW
Port 0 Output
LOW Pin
Pin
Port
LOW PortA.0
PORTA.0 = 0
Ex.
L1
VAR PORTB.2
LOW L1
31.13 OUTPUT
Port Output
OUTPUT PIN
Pin
Port
OUTPUT PORTA.3
register TRIS
TRISA.3 = 0
22
Ex.
31.14 PAUSE
(mS)
Ex.
PAUSE Period
Period mS 0 ~ 65535mS
HIGH PORTB.0
PAUSE 1000 1
END
31.15 PAUSEUS
(S)
PAUSEUS Period
PEEK
PEEK PORTA,B1
23
B 1 = PORTA Pin Porta B1
31.17 POKE
register MCU
POKE Address,Value
TRISA = 0
PORTA 0 = 1
31.18 PULSIN
PULSE Pin Count
65535
pin Port
State PULSG 0
Low Pulse 1 High Pulse
Var Count pulse
Count pulse
65535 count DEFINE
DEFINE PULSIN _MAX 1000
24
RCTIME
DEFINE
Count OSC.
OSC. 4 MHz Count = 4
OSC. 20 MHz Count = 2
Ex. Pulse width 4 Portb W3
PULSIN PORTB.4,1,W3
31.19 PULSOUT
PULSE Port
Pin Port
Period Pulse
Pulse OSC.
OSC. MHz 10 S
OSC. 20 MHz 2 S
10000 x 10
= 100,000 S
= 100 mS
31.20 TOGGLE
Pin Port
25
TOGGLE Pin
Ex Reset L1 5
L1
VAR PORTB 1
HIGH L1
PAUSE 5000
TOGGLE L1
END
31.21 FREQOUT
Pin SING WAVE
PWM 0 ~ 32767 HZ 2
Pin
Port
ONMS
MS
Freg 1 , Freq 2 Hz
PWM
Pore Sine Wave
26
Pin Port
Duty % duty cycle
Pulse width 50% 5 PortB 100
PWM PORTB.5, 127,100
PWM
DC
Cycle
27
pulse = 0
cycle
100 %
Output (Vout)
Vout = DUTY CYCLE x Vin
Duty Cycle % (0 ~ 100%)
Vin P-To-P Wave form
MCU
1. Output
PULSE DC
( 28)
28
PWM
DC
2. PWM MLU
PWM Pulsce MCU
Pin PWM PIC 16F877/874
HPWM
31.23 HPWM
PWM MCU
execute
Chancl
Derty cycle
Pin PWM
binary digit 8 bit
(0 ~ 255) 0 = 0% 255 = 100%
Freq
PWM 245 ~32767 Hz
Freq OSC. OSC. 4 MHz
= 245 Hz OSC. 20 MHz = 1221 Hz
Ex.1 PWM 50 x duty cycle 1 KHz
HPWM 1, 127, 1000
29
31.24 POT
potentiometer Pin Port
potentiometer
Ex.
B0 VAR byte
Scale VAR byte
For Scale = 1 To 255
POT PORTB.0 , Scale, B0
IF (B0 > 253) THEN calibrate
NEXT Scale
30
SEROUT 2, 0, [inclease R, 10, 13]
STOP
Calibrate :
SEROUT 2 , 0 [Scale = , # Scale , 10 , 13]
END
31.25 RCTIME
Pin Port
( 0 1)
Pin
State
Var
osc
OSC 4 MH 10 MS
OSC 20 MH 2 MS
Port 0
RCTIME (65535) pulse state
65535
DEFINE PULSIN_MAX 1000
Ex. 1 LOW PORTB.3 "Discharge c start
PAUSE 10 " To Disharge 10 ms
RCTIME PORTB.3 , 0 , W0 RC W0
RCTIME
31
31.26 RANDOM
Ex.
RANDOM Var
Var 16 bit 65535
:
Random B0
PORTB = B0
:
31.27 NAP
MC
20
NAP Reriod
Period 0 ~ 7
Period
0
1
2
3
4
5
6
7
Delay (ms)
18
36
72
144
288
576
1.152 Sec
2.304 Sec
32
Ex.
NAP execute
LOOP : HIGH PORTA.1
PAUSE 5000
LOW PORTA.1
NAP 7
GOTO LOOP
END
31.28 SLEEP
M.C. 20 MA
2.3 99.9 %
M.C. SLEEP MODE CPU
SLEEP MODE (WAKEUP) RESET
SLEEP Multiplier
33
31.29 STOP
RESET
31.30 ON INTERRUPT
M.C.
Label
(Interrupt)
interrupt Main Program
RESUME
34
Ex
L1 VAR PORTA.0
L2 VAR PORTA.1
ON INTERRUPT GOTO LOOP 2
INTCON = % 10010000
LOOP1 : HIGH L1
PAUSE 500
LOW L1
PAUSE 500
GOTO LOOP1
DISABLE
LOOP2 : HIGH L2
RESUME
ENABLE
END
35
Matching Transformer
sotate M.C. Telephone Lines
Ex.
SPK VAR PORTB.7
S1 VAR PORTB.0
SPK = 0
S1 = 1
LOOP0 : IF S1 = 1 THEN LOOP0
LOOP1 : DTMFOUT SPK, 500, 100, [0, 2, 9, 4, 3, 6]
LOOP2 : IF S1 = 0 THEN LOOP2
LOW SPK
GOTO LOOP0
END
Dial Tone Amplifire
Low pass filtre ()
36
31.32 EEPROM
ON-Chip EEPROM
Location
Constant
Address EEPROM
Value , byte
Set EEPROM Runtime EEPROM
Programming Time
Ex. B0 EPPROM 4 WRITE 4, B0
WORD ( 2 byte) byte
Ex.
VAR WORD
WRITE 0, W.BYTE0
WRITE 1, W.BYTE1
37
31.34 DATA
EEPROM
Address
Var
EEPROM
Ex. EEPROM 5 B2
READ 5, B2
Ex. EEPROM M.C. Word (2 byte)
W VAR WORD
READ 0, W.BYTE0
READ 1, W.TYTE1
38
1. EEPROM
EEPROM FLASH
PIC 16F84/84A, 16F874/877
2. EEPROM EEPROM
31.36 DEBUG
Pin -
Asynchronous data 8bit, no parity, 1 stop bit (8N1) Pin
OUTPUT
DB25
Pin 3
Pin 7
Ex. B0 = 10 B0
Treminal Rs-232 pc.
39
DEBUG B0 = , DEC B0 , 10
0
( modifier)
modifier PC
Modifier
BIN
DEC
HEX
REP C\N
STR Array Var\ n
Operation
Binary
10
16
: (
N )
n
31.37 DEBUGIN
PORT Com 1 Com 2
RS-232 DEBUG
DEUGIN DEBUG
, Pin , Port
DEFINE DEBUGIN_REG
PORTB
DEFINE DEBUGIN_BIT
0
DEFINE DEBUG_BAUD
2400
DEFINE DEBUGIN_MODE
1 0=true , 1= inverted
Timeout 1 Idle Timeout
DEBUGIN Jump Label
DB9
Pin 3
Pin 5
DB25
Pin 2
Pin 7
40
Ex. 1 A B0
DEBUGIN lWAIT (A),B0m
Ex. 2 2 4 10 B0
DEBUGIN lSKIP2 , DEC4 B0m
modifier
modifier
Modifier
Bin
DEC
HEX
SKIP n
STR Array Var \ n
WAIT ( )
WAITSTR Array Var \ n
Operation
2 (Binary)
10
16
n
n
31.38 LCDOUUT
LCD Support LCD Module 2
1 Controller Hitachi 44780
LCD 14-16 Single row header
LCD DISPLAY
Vss
Vdd
Vo
Rs
R/W
Vss
Vdd
Vo
RS
R/w
E
=
=
=
=
=
=
D0
D1
D2
9 10 11 12 13 14 15 16
GND
+5 V
Brigutness Control
Register Select
R/w register
Enable
D3
D4
D5
D6
D7
41
Command
$FE , 1
$FE , 2
$FE , $0C
$FE , $0E
$FE , $0F
$FE , $10
Operation
Clear Display
Return home (beginning of firstline)
Cursor off
Underline cursor om
Blinking cursor om
Move cursor left on position
42
$FE , $14
$FE , $C0
$FE , $94
$FE , $D4
* DEFINE :
Set LCD Data port
DEFINE LCD_DREG PORTB
Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_DBIT 4
Set LCD Register Select Port
DEFINE LCD_RSREG PORTB
Set LCD Register Select Bit
43
DEFINE LCD_RSBIT 1
Set LCD Enable Port
DEFINE LCD_EREG PORTB
Set LCD Enable Bit
DEFINE LCD_EBIT 0
Set LCD Bus Size (8 or 4 bits)
DEFINE LCD_BITS 4
Set number of Lines on LCD
DEFINE LCD_LINES 2
Set data delary time in s
DEFINE LCD_DATAUS 50
Set Command delay time in S
DEFINE LCD_COMMANDUS 2000
31.39 LOOKDOWN
Constant 8-bit match :
Variable 0
, 1 2, 3 255 Macth
Variable
Search
Constant
Var
Ex.
44
31.40 LOOKDOWN2
Value
(Var) List 1,2,
Search List
Test option Search Value List
match
=
>
Search Value
<
Search Value
Value 8-bit
16-bit Value List 85
LOOKDOWN2 LOOKDOWN
LOOKDOWN2 string Value List 8 bit
string Value 8-bit LOOKDOWN
Ex.
LOOKDOWN2 W0 [512,W1,1024] , B0
LOOKDOWN2 W0 < [10 , 100 , 1000] , B0
31.41 LOOKUP
8-bit List Index
Var
Index
Constant
Var
45
Ex. For B0 = 0 TO 5 0 5
LOOKUP B0, [Hello!] ,B1 B0 B1
SEROUT PORTA 0 , N2400 , [B1] B1 PortA 0
Index Constant List
Var
31.42 LOOKUP2
LOOKUP
Value List 16-bit
LOOKUP2 Index , [Valve ,Valve,] , Var
Index Value 0~85
Valve , , 8-bit 16-bit ( 85 )
Ex.
8-bit,
noparity 1 stop bit (8N1)
INCLUDE MODEDEFS.BAS
46
include file include BS1DEFS.BAS
BS2DEFS.BAS MODEDEFS.BAS Mode
Mode
T2400
T1200
T9600
T300
N2400
N1200
N9600
N300
Mode No.
0
1
2
3
4
5
6
7
Baud Rate
2400
1200
9600
300
2400
1200
9600
300
State
True
INVERTED
Qualifier , #
SERIN decimal value ASCIE Variable
1. OSC 4
OSC
2. PORT COM 1 COM 2 chip RS-232
input
RS-232 Tx
RS-232 GND
DB9
Pin 3
Pin 5
Ex.
SERIN PORTA.1 , N2400 , [A] , B0 A pin1 PortA
B0
DB25
Pin 2
Pin 7
47
31.44 SEROUT
/ pin no port 8-bit data ,
no parity one-stop (8N1)
Mode No.
0
1
2
3
4
5
6
7
Baud Rate
2400
1200
9600
300
2400
1200
9600
300
State
True
INVERT
Item
SEROUT SUPPORT 3
1. (String Constant)
2. () ASCIT
char. 13 ( ) char 10 ( ) ASCIT 10
3. # ASCII
0
1. SEROUT
OSC 4 MHz (DEFINE) OSC
2.
PIC BASIC
48
1 mS
DEFINE CHAR_PACING 1000
3. chip RS.232 PORT Com.
Pin
DB9
Pin 2
Pin 5
DB25
Pin 3
Pin 7
Data Pin
Clock Pin
Mode
Pin (Data)
Pin clock
Mode Mode Include File
INCLUDE MODEDEFS.BAS
Include File include
BS1DEFS.BAS BS2DEFS.BAS
Mode 8 Mode
Mode 0 ~ 3 clock Idles Low
Mode 4 ~ 7 clock Idles high
49
Var
\Bits
Mode
MSBPRE
SHIFT
8
Mode No.
Operation
-
0
- , clock
- clock Idle Low
LSBPRE
-
- , clock
- clock Idle Low
MSBPOST
-
- clock , Data
- clock Idle Low
LSBPOST
-
- clock , Data
- clock Idle Low
-
- , Data
- clock Idle High
-
- , Data
- clock Idle High
50
4 MHz
0~65535 mS
DEFINE SHIFT_PAUSEUS 100
DEFINE SHIFT = 100
Ex. B0 4
PORTA.0 PORTB.0 clock
SHIFT PORTA.0 , PORTA.1 , MSBPRE , [B0\4]
31.46 SHIFTOUT
Data Pin
VAR
\Bits
Clock Pin
Mode
clock
include file
INCLUDE MODEDEFS.BAS
51
Mode
LSBFIRST
Mode No.
Operation
0
-
- clock Idle Low
MSBFIRST
-
- clock idle Low
-
- clock idle high
-
- clock idle High
DataPin
ClodePin
Control byte
(SDA)
clock (SCL)
byte I2C
52
Var
Control byte (
EEPROM)
- I2C 100
clock 8 - Fast mode 400
clock 20 (100 KHz)
DEFINE I2C_SLOW1
- (SDA) clock (SCL) R
4.7 K Pull-up Open-collector
EEPROM I2C
53
I2C
ADDR VAR BYTE
CONT CON %10100000
ADDR =17
I2CFREAD PORTA.0 , PORT.1 , CONT , ADDR, [B2]
IC EEPROM I2C 24LC01B
Control Cold % 1010 EEPRON Chip Select
% 10100000 $A0 ( control byte I2C)
3.48 I2CWRITE
I2C
I2CREAD
DataPin
ClockPin
54
Control
Address
Value
a VAR byte[8]
I2CWRITE PORTC.4 , PORTC.3 , $A0 , 0 , [STR a\8]
Ex. EEPROM I2C
Addr VAR byte
Cont Con % 10100000
addr = 17 Set address to 177
I2CWRITE PORTA.0 , PORTA.1 , CONT , addr , [6]
PAUSE 10 10
Addr = 1 set
I2CWRITE PORTA.0 , PORTA.1 , CONT , addr , [B2]
PAUSE 10 B2
31.49 FORNEXT
Loop
...
NEXT
55
STEP Val
NEXT
Ex.
I VAL BYTE
FOR I = 1 To 5
PORTB = I
PAUSE 500
NEXT I
END
(Expression)
Logic
B=B+1
IF B ? = 25 THEN PORTB = 1
PORTB = 4
( B 25 PORTB = 1
PROTB = 4)
Ex.
56
IF THEN 1
ELSE 2 1
ENDIF
Ex. IF B0 < > 10 THEN
B0 = B0 + 1
B1 = B1 1
ENDIF
IF B0 = 20 THEN
LED = 1
ELSE
LED = 0
EWDIF
31.52 SELECT CASE
57
Ex.
SELECT CASE X
CASE 1
Y = 10
CASE 2, 3
Y = 20
CASE IS > 5
Y = 100
CASE ELSE
Y=0
END SELECT
Ex.
WHILE Conditon
Statement
:
WEND
I=1
WHILE i <= 10
SEROUT 0, N 2400, [NO, #i, 13, 10]
i=i+1
WEND
31.54 OWIN
EEPROM RAM
58
Pin Port M.C.U.
Mode Mode 3 Mode
Mode 0 1 = Reset pulse Data
Mode 1 1 = Reset pulse Data
Mode 2 0 = byte-sized data, 1 = bit sized data
Ex.
PortC 0 No resetpulse
2 byte Array Temp 2 byte 4 byte
2 byte byte1 byte2
31.55 OWOUT
Pin
GOSUB Label
59
Ex. MAIN : B = 4
GOSUB DELAY
B = B >> 1
PORTB = B
GOTO MAIN
DELAY : PAUSE 500
RETURN
END
PIC BASIC PRO
1. Pic BASIC Pro OSC 4 MHz
PAUSE
PAUSE 1000 1 Boud rate SERIN
SEROUT
OSC 4 MHz 10 MHz
OSC 4 MHz
DEFINE OSC
DEFINE OSC 10
DEFINE OSC Pic BASIC Pro
COUNT, DEBUG, DEBUGIN, DTMFOUT, FREQOUT, HPWM, HSERIN,
HSEROUT, I2CREAD, I2CWRITE, LCDOUT, OWIN, OWOUT, PAUSE, PAUSEUS, SERIN,
SERIN2, SEROUT, SEROUT2, SHIFTIN, SHIFTOUT, SOUND, XIN XOUT
2. RAM
Pic BASIC Pro RAM
MCU Address MCU
PIC16F84
RAM $0C PIC16C74 $20
COMPILE
60
Address RAM MCU
BANK RAM
Penny VAR WORD BANK0
Nickel VAR BYTE BANK1
Disp VAR BYTE $20
3. PORTA PIC PIC
PIC16F62X PIC16C62X (16C 620, 621, 622 16F627
16F628) PORTA
Analog Comparator (Start up) PORTA analog mode
Pin PortA
CMCON = 7
PIC PORTA
PIC16C7XX, PIC16F87X PIC12C67X PIC Start up portA
analog mode PortA Digital
ADCON1 = 7
Set PORTA
ADCON1 = 0
61
62
2 0 1
-
, -, -, - 1
2 4 -, -, - - 3
8
= 2
2 22 = 4
3 23 = 8
4 24 = 16
2 0 1
00
01
10
11
100
101
0
1
2
3
4
5
63
110
111
1000
1001
1010
6
7
8
9
10
(bit variables)
1 2, 3 8
(1) (bit) (binary digit) 0 1
(2) (nibble) 4 4
16 0000-1111 0-15
(3) (byte) 8 8
8 1
1 256 0000000011111111 0-255
(4) (word) 16
216 65,536 0-65,535
2SX
(5) LSB : Least Significant Bit
20 1
1X 20 = 1 X 1 = 1 0 0 X
20 = 0 X 1 = 0
(6) (bit 0 : b0)
LSB (bit 1 : b1) 8
b7 b6 b5 b4 b3 b2 b1 b0 0-7
b7 b6 b5
b4 b3 b2 b1 b0
(7) MSB : Most Significant Bit
64
8
MSB 7
7
(bit 7 : b7) 2 126
6 , 5 4 MSB 25, 24 23
100 1 101 10
102 100
0 LSB 20 1 1
21 2 2 22 4
8
0
1
2
3
4
5
6
7
20
1
2
21
22
4
23
8
4
16
2
32
25
64
26
27
128
1011
(1)
b3
b2
b1
b0
23
22
21
20
1
0
1
1
65
(2)
2
0 1
LSB 0 (b0)
MSB
13
(1) 13 2 6 1 LSB LSB = 1
(2) 6 2 3 0 0
(3) 3 2 1 1 1
(4) 1 2 0 1 MSB 1
1101
MSB MSB 0
MSB 1
0000
0001
0010
0011
0100
0
0
1
1
2
2
3
3
4
4
66
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
5
6
7
-8
-7
-6
-5
-4
-3
-2
-1
5
6
7
8
9
10
11
12
13
14
15
0000 1111
1 1110 2
1000 1
23 8 MSB
1 8 3
8+0 = -8 1101 8 3
+5 8+5 = -3
1
(i)
0+0=0
(ii) 0+1=1
(iii) 1+0=0
(iv) 1+1=0 =1
2
(i) 1 0
(ii) 1 1
(iii) 1 1
01
01
11
11
100
110
67
0
+
1
+
0
+
1
+
0
+
1
+
0 +
0 +
1 +
1 +
1 +
1 +
0
=
0
=
0
=
0
=
1
=
1
=
0
0
1
0
1
0
0
1
0
1
1
1
4
(i)
0-0 = 0
(ii) 1-0 = 1
(iii) 1-1 = 0
(iv) 10-1 = 1
(iv)
3 110-101
b0
1
1
0
b1
1
0
0
b2
0
1
1
b0 0-1 b1
210 -110 = 110
= 12 ( 210 2 )
b1 b0 b1 0 b1 0-0 = 0
b2 1-1 = 0
001
68
210 - 410 - = -210 210 + (-410) = -210
(Complement) 2
(Ones Complement) (Twos Complement)
(Signal Number)
(i) 2 + (-4) = -2
0010 + 1100 = 1110
(ii) 127 + (-125) = 2
01111111 + 10000011 = 1000010
0 1
1 0 0100 1011
1 LSB b0 0100 1011
1100 4
(i)
0X0=0
(ii) 0 X 1 = 0
(iii) 1 X 0 = 0
(iv) 1 X 1 = 1
69
1001 X 1011
1001
x 1011
1001
1001
0000
+ 1001
1100011
(Hexadecimal Numbers)
16 0 F 2SX
$ %
, (
)
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
0
1
2
3
4
5
6
7
8
9
10
11
0
1
2
3
4
5
6
7
8
9
A
B
70
1100
1101
1110
1111
10000
12
13
14
15
16
C
D
E
F
10
1 4
4 101011100011
101011100011B
4
1010 1110 0011
A
B
C
$AE3
BC75H
B
C
7
5
302
100101110B
4
1
0010 1110
1
2
E
$12E
71
160 1
161 16
163 256
A
E
3
10
14
3
2
1
256(16 )
16(16 )
1(160)
2560
224
3
2560+224+3 = 2787
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
PIC
www.microchip.com CD Web
92
93
94