You are on page 1of 59

,

,

LCD .

. :

.
1. RC LC

.
2.

.

, , .


.
. ,


.
,

.
I.
1.1

[- ; ]

f (x)

a0
ak

bk

a0
(a k cos kx bk sin kx)
2 k 1

f ( x)dx

f ( x) cos kxdx

f ( x) sin kxdx

f (x)


f (x) .

:
y= f (x)

[-a;a]

( x)dx 2 ( x)dx

y= f (x)

[-a;a]

( x)dx 0

.
1. f (x) .
f ( x) cos kx

bk

f ( x) sin kx

a0

f ( x)dx,

ak

f ( x) cos kxdx,
0

f ( x) sin kxdx 0

f (x)

2.

f (x)

a0

f ( x)dx 0, a k

f ( x) cos kxdx 0, bk

f ( x) sin kxdx
0

F (t ) A0 Ak cos(kt k )
k 1

Ak - k-

k - k-

2 / T -

(A0) ,
k ,

. 1-
(=1) . f1

1 1

2 T

(f1)

0 .

.

1-

90%-, 3-50%, 5-1%- .


1.2

, ,
.

(1-100)

(100-100)

(100-

.

(-) .

KU
Load

UFB

Uout

1.1

U out K U U FB

: U FB U out
.

: U out K U U out
KU > 1 ,
KU < 1 . K U e

j ( k )

=1

.
5

k 2k

KU=1,

4

.
-

U_

KU

KU

U2

U
U

U1

U1

U2

U
U

1.2

.
,

U1

U1

U2
. U2

U_

U_

.
KU >1
KU =1 .

U1

(-


.

U
.

LC LC , RC
RC .
1.3 ,

, .

Um

Im

1.3

, , .
.
, ,
.

1.4

-Um(Im), tu,

U,

tc,

Um,

t,

I,

P,
Pu,

, ,
1.5
U, I, P, Tn, ,
Q

:
,


.
:

0;0.1Um;0.5Um . 0.5Um

tt_a

. .
1
0.01-0.1, 0.005-0.05,

, 10-9-1
.

Um
;
tu

Im
; .
tu

(0.01-0.005)Um
. .

U m
I
; I m ;
Um
Im

(): Q

t t
T
T

u n
tu T t n
ft u

1 tu
ft u
Q T

: ,

t .
t

Um

T
U
1
1 u
udt

udt m ;

T 0
Qt u 0
Q
T

1
1
Pm pdt
T 0
Qt u

tu

pdt
0

Im

T
I
1
1 u
idt

idt m ;

T 0
Qt 0
Q

Pm
;
Q

t :

1 u
U u udt ;
tu 0

1 u
I u idt ;
tu 0

1
pu
tu

tu

pdt;
0

Um=Uu; Im=Iu; Pm=Pu .


U u

Um
I
P
; I u m ; Pu m .
Q
Q
Q

: Pm=Pu
:
t

1 2
1 u 2
U
U
u
dt

u dt
;

T0
Qtu 0
Q
T

1 2
1 u 2
I
i
dt

i dt
;

T 0
Qt u 0
Q

10

1
T

tu

1
Qt u

2
p dt
0

dt

: U=Uu=Um; I=Iu=Im; P=Pu=Pm


: U

Um
Q

; I

Im
Q

Pm

; P

2 .

, , ,

,
.

.
1.4.

, .
,
.
.

11

1.6

1.7
-

,
U=Ek, Ik=0
.

I K

Ek
E
; Ic c
Rk
Rc

.
,
C

1.812c

,
. .


,

.

.

1.9

13

1.10

.
1.5

U0

1.11

Um

Um


U0
.

T
T

.
T
T

14

T
V

Um

T

V
V -

V V
V

V
-
V

.

.
t

1
1
U (t ) U 0 idt U 0 t
C0
C

.

,

U0

3 .

2 .

+E

Um

+E

U0
U0

I
C

0
U

Um

I
C

15

1.12 ,


.

, .

.
R

.
Uc

1.13
C

r=RC

Uac

. U

16

.
+E

Rk

Um

R6

U
C

U0
t
0

1.14

Rk


U0

R Rk T
, .

RkC

Ek

.
1

E U 0 Rk C
i (t ) k
e
Rk

t=t0 I m ax

Ek U 0
Rk
t

t=tu

E U 0 Rk C
Imax k
e
Rk

17

.
I max I min

I max

1
Rk C

1 e

(*)

1
Rk C

tu
Rk C

RkC

. ( )
(*)


,
.
1.6 (TAX)

2-

(binary)

DAC-

.
1.

2-
.

18

Rf

+5V
R1
D0
D1
D2

+Vcc

1.15
4

Vout
2R1

- Vcc

4R1
8R1

D3

D0

Rf

0V

R1= 100k R1 0.05mA (R1


+5V, 0V ) .

Rf= 10k -5V .


.

.
2.
DAC-

DAC-

R0

I out

1.16

-V

19

- .

(TTL/CMOS/ELC )

(, ,
)

DAC0808
. 8 TTL/CMOS
. 1-8 1 , 8
. PIN4

. , 28=256
. DAC0808-
.

Vcc=+5V
A1
A2
A3
A4
A5
A6
A7
A8

14

R14

V
REF

6
7

15

DAC08

R15

R0

+12V

9
10

v0 out

11
1
12
16

- 12V

15pF

vEE
1.17 DAC08

20

-
0-10V .

Vout

A
A
A
A
A
A
A A
R0 1 2 3 4 5 6 7 8
R14
4
8 16 32 64 128 256
2

Vref

II

2.1 PIC16F877
PIC ATMEL-
ATMEL-
. PIC 8, 10, 12
(ADC)-a
.
PIC16F877

40

35

, 5 (A,B,C,D,E)

20Mhz

8*14

368*-8

256*8 EEPROM-

14

2-5,5

25ml

21

10

2.1 PIC16F877
PIC
PIC16F877- 3- .

, 13 ,
.
RESET

00h-

04h-

. 4 .
.
(STATUS)

reset- , .

22

2.1

IRP

RP1

RP0

T0

DD

DC

-7- .
0 1;2-
1 3;4- .
-6;5- .
.
RP1=1 RP0=1

4-

RP1=1 RP0=0

3-

RP1=0 RP0=1

2-

RP1=0 RP0=0

1- .

-4- .
0 Watch timer
1 Watch timer
-3- .
0 Sleep
1 Watch timer-


-2- .
:
0 Zero
1 Zero
-1-
0 4 4

1 4 4

-0-
0
1

23

looptimer
Cycle time
PIC

PIC-

clock

.
Jump (CALL, RETURN, GOTO) 2

skip

(BTFSS,

BTFSC,

DECFSZ, DECFZC) 1 ,
2
PIC16F877A-

clock

20hz

clock

4Mhz- 1 1 .
.
Cycle time=4/clock
:
clock 20Mhz 4/20=0.2
clock 10Mhz 4/10=0.4 .
Loop timer
. (
500- )

NOP

NOP

.
NOP

loop

looptimer .

24

Looptimer- clock
step- .
Step- = /cycle time
:
clock 20Mhz 10
10000/0.2=50000 step
Clock 10Mhz 10
10000/0.4=25000 step
-loop timer
step-
Loop- (CALL*RETURN*MOV*2)
Loop- (max255)
2.2

(DAC08)

2.2 T a
DAC08 5 V 33mW 150ns-
8

25

1LSB

255Iref/256
(Iref)

0.19%
Iref 2mA

DAC0808

4 A -


. DAC0808 TTL, ECL
CMOS .
:
0.19%
:

1LSB

: 150ns
: 8mA / s
: 4.5V 18V
: 33Mw
: 0 0 C TA 75 0 C

2.3 DAC08

26

2.3 (LM324)

2.4

. ( 3.4.)
U 1
U

U 2

2.4

(), (), , , ,
,


.
.

27

. LM324 .

3V 12V

2.5 LM324
,

28

2.3

instruction
.

instruction-
.

instruction-

.

home (0-
)-

DDRAM-

20H, AC ( )- DDRAM 0 set


. shift
.
entry mode- increment .
2-2. instruction

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

home

home

)-

DDRAM

(0-

)-

set

.
.

shift

AC

home

. DDRAM- .

. DB0 0 1
.

2-3. home instruction

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

Entry mode set

29

DDRAM-

shift

DDRAM-

1-

1- . CGRAM-
. S=1 DDRAM-

shift

, . DDRAM-
shift .
2-4. Entry mode- instruction

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

I/D

I/D

1- , blink

()- .
I/D

1- , blink-

.
I/D

shift .

I/D

shift .

shift .

on/off control
on/off, on/off,
. on/off

AC

D=0

)-

off

DDRAM

DDRAM- D=1
. .

2-5. on/off control- instruction

RS

R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

30

() D 1
D =0
C =1
C =0
B =1
B =0

on
off,


/ shift
DDRAM- ,
shift . AC -
. , ,
shift
,

1-

2-

1- 40 .
1 2- shift .
shift 2- 1- .

2-6. / shift- instruction

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB

S/C

R/L

S/C=R/L

shift - 1-

S/C=R/L shift .- 1-

S/C=R/L shift .
.
S/C=R/L shift .
.
Function set
Interface

data

Duty

. Function set- Busy flag/

instruction-

instruction interface data


Function
set . 4 DB7DB4 -

31

4 , 4 .
2-7. Function set- instruction

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB


DL

CGRAM address set


- 2- CGRAM-
AC

MPU-

CGRAM- . CGRAM-
DB5 , DB0 .
2-8. CGRAM address set- instruction

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

DDRAM address set


-
AC

2-

DDRAM-

MPU-

DDRAM- . DDRAM-
DB6 , DB0 .
2-9. DDRAM address set- instruction

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

Busy flagaddress read

instruction-

module

BF .
BF= . Busy
flag- - 2-
AC - . AC- CGRAM, DDRAM

32

. DB6
, DB0 .
2-10. Busy flagaddress read
RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

BF

CGRAMDDRAM-
- DDDDDDDD- CGRAM DDRAM . (7)CGRAM

(8)DDRAM

. shift

Entry

mode-

DB , DB0 .
2-11. CGRAMDDRAM-

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

CGRAM, DDRAM-
- DDDDDDDD- CGRAM DDRAM . (7)CGRAM

(8)DDRAM

.
.

. DDRAM-
shift
shift DDRAM

Entry mode- 1-
1- . shift

33

Entry mode- . -
DB , DB0 .
2-12. CGRAMDDRAM-

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB

Instruction-

reset

Instruction-

interface-


function set- 2 8 .
function set- interface-
.

III.
3.1

34

(PIC16F877)

(LCD)
(LCD)



(DAC08)

3.1

35


.
SG7805

+9V to +12V
C1

IN

OUT

.
+12V

.
C3
0,1mkF

GND

C2
0,1mkF

220mkF

C4
22mkF

R11
LM324

5K

7
U1
-

0.01 mk
LM324

107

3
2

R12

R13

5.1K

5.1K
C10
0.01 mk

+Vdd

107

U2
-

Vout

+Vdd

+12V

C11

R13

R13

SIN

R1
SW1

10K

47kOm R7

R8

470 Om

10K
R3

SW3

10K
R4

SW4

10K
R14-R16

SW5

SWITCH SIN TRA INP

100K

10K

10MHz

C5
33P

C6
33P

1 VPP
2 RA0
3 RA1
4 RA2
5 RA3
6 RA4
7 RA5
8 RE0
9 RE1
10 RE2
11 +Vdd
12 Vss
13 OSC1
14 OSC2
15 RC0
16 RC1
17 RC2
18 RC3
19 RD0
20 RD1

RB7 40
RB6 39
RB5 38
RB4 37
RB3 36
RB2 35
RB1 34
RB0/INT 33
+Vdd 32
+Vss 31
RD7 30
RD6 29
RD5 28
RD4 27
RC7 26
RC6 25
RC5 24
RC4 23
RD3 22
40 PIN
RD2 21

PIC16F877

14
R9
5K

15

-12V

U?
12
11
10
9
8
7
6
5

TRA

-12V

R2

SW2

100K

-12V

RESET

B8
B7
B6
B5
B4
B3
B2
B1

IOUT
IOUT
V+
COMP
V-

VR+
VR-

VLC

INP

4
-12B

2
C7

13

0.1mk

16
3
1

C9

C8
0.01 mk
+12B

0.1 mk

DAC08 R10
10B VR

5K

RESISTOR VAR

+Vdd

4
RS
RW 5
6
E
14
DB0
13
DB1 12
DB2
11
DB3 10
DB4 9
DB5 8
DB6
DB7 7
GND 31
V0 2
VDD 16
BL2 15
BL1

+5V

16 x 2 Line
LCD Display

Title
3.2 , ,

Microcontroller
Based Generator
By O.Batchimge
Size
A
Date:

Document Number
4
Sunday , January 07, 2007

Rev
{Rev Code}
Sheet

of

36


DAC08

162 LCD LCD



D C - .

PIC

TTL

+5

LM7805 . DAC
.

reset

.
,
3.1
PIC16877
PORC_A
PORT_B
PORT_D
PORT_C0
PORT_C1
PORT_C2

tris0-tris5
B1-B8
DB0-DB7
E
RW
RS

PIC-


DAC-
LCD
LCD-
LCD
LCD

3.2
37

1 - 6

R1-R6

10K

R7,R8

47K,
470 Om

R9

5K

R10

5k

R11

5k

R12,R13

5.1k

R14,R15

100k

C1-C4

0.1uF,
220uF

pull-up

0,5 .

1
.




DAC


.




.

LM7805


.

3.2-

5-6

33p


30-+10
38

10

7-9

0.01uf,
0.1uf

11

10,11

0.01uf

12

LCD

LCD

2,95
5,11

13

Registor
Var

10-20

14

1-6

SW1-6

15

XL

16

LM7805

17

LM324

10Mhz

.
DAC08

.
162


.


LCD


.
,

.

040Mhz
.
7-12
TTL

.
DAC08



.

3.2-

18

DAC08

19

PiC16F877




.
PCH Microchip

.
39

:

:

20-

) .
C2

R1

Vin

R3

3
C4

Ra

U2
-

Vout

Rb

3.3
Vout
K
2
;
Vin
S R1 R3 C 2 C 4 S R1C 2 R3 C 4 R1C 4 KR1C 2 1

1
R1 R3C2 C4

R3C 4
R1C 4
RC

(1 K ) 1 2 ;
R1C 2
R3C 2
R3C 4

R1 R3 C 4 C 2 5.1k 5.1k 0.01mF 0.01mF


F=3122;

K 1

Rb
1
;
;
Ra
2f

2601 10 12 ;

Ra 100 k

1
Rb 100 k

DAC-
.

40

R0

Vin

Ri

3
2

U1
-

107
6

Vout

3.4
, b
:
Vout Vin
R R

Va 0 1
R0
R1
R0 R1

a)

Vout
V
R
in
Vout Vin 0
R0
R1
R1
.
Va Vb 0

Vin
I m DAC-
R1

I0

U ref A1 A2 A3 A4 A5 A6 A7
A

8

Rref 2
4
8 16 32 64 128 256

Vout U ref

R0 A1 A2 A3 A4 A5 A6 A7
A

8 .

Rref 2
4
8 16 32 64 128 256

3.3
, ,

41

LCD-

Si n
?

LCD -

Tr a
?

I np
?

LCD -


LCD -


3.5
3.3.

42

SI N

s i n 1
?
TBL -

SW1


PCL ATH - 1




l c d-

SW2

TBL -

SI NDAT





/ 0 - 1 /



,
l c d -

SW3



,
l c d-

SW4

?
TBL =2 5 5 ?



,
l c d-

TBL - 1 -

3.5.
3.3.

43

TRA

t r a 1
?
TBL-

SW1


PCLATH - 2



l c d-

SW2

TBL-

TRADAT





/ 0- 1/


,
l c d -

SW3


,
l c d-

SW4

?
TBL=255 ?


,
l c d-

TBL- 1-

3.5.

44

3.3.
I NP

i np 1
?
TBL -

SW1


PCLATH - 3



l c d -

SW2

TBL -

I NPDAT





/ 0 - 1/


,
l c d -

SW3


,
l c d -

SW4

?
TBL =255 ?


,
l c d -

TBL - 1 -

3.5.

45

3.3. LCD

LCD

15

100

46

, ,

LIST P=PIC16F877
INCLUDE
"P16F877.INC"
__CONFIG _HS_OSC &_PWRTE_ON &_WDT_OFF &_LVP_OFF
TBL
EQU
26H
;TBL-
CNT
EQU
27H
;TIM_1
TOO
EQU
28H
;F
CNT1 EQU
29H
TIME EQU
31H
;DELAY
TIME1 EQU
32H
ORG
BSF
BSF
BSF
BSF
BSF

0
STATUS,5
TRISA,2
TRISA,3
TRISA,4
TRISA,5

BSF
BSF
BSF
CLRF
CLRF
BCF

TRISC,0
TRISC,1
TRISC,2
TRISB
TRISD
STATUS,5

MOVLW
MOVWF
BTFSS
CALL
BTFSS
CALL
BTFSS
CALL
CHECK
SIN

0H
TIME
PORTC,0
SIN
PORTC,1
TRA
PORTC,2
INP

CHECK

GOTO

MAIN
BTFSC PORTC,0
RETURN
BTFSS PORTA,2
INCF TIME
BTFSS PORTA,3
DECF TIME
CLRF
TBL

;
;
;DELAY CHANG

;TBL-

MAIN_1
CALL

GOTO

MOVLW 1
MOVWF PCLATH
TIM_VAR
MOVF
TBL,W
CALL
SIN_DAT
MOVWF PORTD
MOVF
TBL,W
SUBLW 0FEH
BTFSC STATUS,Z
GOTO
MAIN
INCF
TBL
MAIN_1

;100-
;
;PORTD-
;
;
;
;

47

TRA

MAIN2

;
BTFSC PORTC,1
RETURN
BTFSS PORTA,2
INCF TIME
BTFSS PORTA,3
DECF TIME
CLRF
TBL

;DELAY CHANG

;TBL-

MAIN_2
CALL

GOTO

MOVLW 2
MOVWF PCLATH
TIM_VAR
MOVF
TBL,W
CALL
TRA_DAT
MOVWF PORTD
MOVF
TBL,W
SUBLW 0FEH
BTFSC STATUS,Z
GOTO
MAIN2
INCF
TBL
MAIN_2

INP
MAIN3

;200-
;TRA
;PORTD-
;
;
;
;
;
;

BTFSC PORTC,2
RETURN
BTFSS PORTA,2
INCF TIME
BTFSS PORTA,3
DECF TIME
CLRF
TBL

;DELAY CHANG

;TBL-

MAIN_3

GOTO

MOVLW 3
MOVWF PCLATH
TIM_VAR
MOVF
TBL,W
CALL
INP_DAT
MOVWF PORTD
MOVF
TBL,W
SUBLW 0FEH
BTFSC STATUS,Z
GOTO
MAIN3
INCF
TBL
MAIN_3

ORG

100H

CALL

;300-
;INP
;PORTD-
;
;
;
;

SIN_DAT
ADDWF PCL,1
DT
80,83,86,89,8D,90,93,96,99,9C,9F,0A2,0A5,0A8,0AB,0AE,0B1,0B4,0B7,0BA,0BC,0B
F,0C2,0C4,0C7,0CA,0CC,0CF,0D1,0D4,0D6,0D8
DT
0DA,0DD,0DF,0E1,0E3,0E5,0E7,0E9,0EA,0EC,0EE,0EF,0F1,0F2,0F4,0F5,0F6,0F7,0F9
,0FA,0FA,0FB,0FC,0FD,0FE,0FE,0FF,0FF,0FF,0FF,0FF,0FF
DT

48


0FF,0FF,0FF,0FF,0FF,0FF,0FE,0FE,0FD,0FC,0FB,0FB,0FA,0F9,0F7,0F6,0F5,0F4,0F2
,0F1,0EF,0EE,0EC,0EA,0E9,0E7,0E5,0E3,0E1,0DF,0DD
DT
0DB,0D8,0D6,0D4,0D1,0CF,0CC,0CA,0C7,0C5,0C2,0BF,0BC,0BA,0B7,0B4,0B1,0AE,0AB
,0A8,0A5,0A2,9F,9C,99,96,93,90,8D,89,86,83
DT
80,7D,7A,77,74,70,6D,6A,67,64,61,5E,5B,58,55,52,4F,4C,49,47,44,41,3E,3C,39,
36,34,31,2F,2C,2A,28
DT
26,23,21,1F,1D,1B,19,17,16,14,12,11,0F,0E,0C,0B,0A,9,8,6,6,5,4,3,2,2,1,1,1,
0,0,0
DT
0,0,0,0,1,1,1,2,2,3,4,5,5,6,7,9,0A,0B,0C,0E,0F,11,12,14,16,17,19,1B,1D,1F,2
1,23
DT
25,28,2A,2C,2F,31,34,36,39,3B,3E,41,44,46,49,4C,4F,52,55,58,5B,5E,61,64,67,
6A,6D,70,73,76,7A,7D
ORG

200H

TRA_DAT
ADDWF PCL,1
DT
80,82,84,86,88,8A,8C,8E,90,92,94,96,98,9A,9C,9E,0A0,0A2,0A4,0A6,0A8,0AA,0AC
,0AE,0B0,0B2,0B4,0B6,0B8,0BA,0BC,0BE
DT
0C0,0C2,0C4,0C6,0C8,0CA,0CC,0CE,0D0,0D2,0D4,0D6,0D8,0DA,0DC,0DE,0E0,0E2,0E4
,0E6,0E8,0EA,0EC,0EE,0F0,0F2,0F4,0F6,0F8,0FA,0FC,0FE
DT
0FC,0FA,0F8,0F6,0F4,0F2,0F0,0EE,0EC,0EA,0E8,0E6,0E4,0E2,0E0,0DE,0DC,0DA,0D8
,0D6,0D4,0D2,0D0,0CE,0CC,0CA,0C8,0C6,0C4,0C2,0C0
DT
0BE,0BC,0BA,0B8,0B6,0B4,0B2,0B0,0AE,0AC,0AA,0A8,0A6,0A4,0A2,0A0,9E,9C,9A,98
,96,94,92,90,8E,8C,8A,88,86,84,82
DT
80,7E,7C,7A,78,76,74,72,70,6E,6C,6A,68,66,64,62,60,5E,5C,5A,58,56,54,52,50,
4E,4C,4A,48,46,44,42
DT
40,3E,3C,3A,38,36,34,32,30,2E,2C,2A,28,26,24,22,20,1E,1C,1A,18,16,14,13,12,
10,0E,0C,0A,8,6,4
DT
2,0,2,4,6,8,0A,0C,0E,10,12,14,16,18,1A,1C,1E,20,22,24,26,28,2A,2C,2E,30,32,
34,36,38,3A,3C
DT
3E,40,42,44,46,48,4A,4C,4E,50,52,54,56,58,5A,5C,5E,60,62,64,66,68,6A,6C,6E,
70,72,74,76,78,7A,7C,7E
ORG

300H

INP_DAT
ADDWF PCL,1
DT
0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF
,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF
DT
0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF
,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF
DT
0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF
,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF
DT

49


0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF
,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF,0FF
DT
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DT
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DT
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
DT
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
TIM_1
;1
MOVLW 0F9H
MOVWF CNT
TIM_1_LP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ
CNT
GOTO TIM_1_LP
NOP
NOP
NOP
NOP
NOP
RETURN
TIM_VAR
;
MOVF TIME
MOVWF CNT3
TIM_100_LP1
DECFSZ
CNT3
GOTO TIM_100_LP1
RETURN
END

50

LCD
LCD_START
BUSY_F
SET
7
; LCD
BSF
STATUS,RP0 ; Bank 1
CLRF
TRISB
; B
BCF
STATUS,RP0 ; Bank 0
START
CALL
CALL
MOVLW
CALL
CALL
TEXT_OUT1
CLRF
ROW_1
MOVF
CALL
ADDLW
BTFSC
GOTO
CALL
CALL
INCF
GOTO
TEXT_OUT2
INCF
MOVLW
CALL
CALL
ROW_2
MOVF
CALL
ADDLW
BTFSC
GOTO
CALL
CALL
INCF
GOTO
TEXT_CLEAR
MOVLW
CALL
CALL
GOTO
TABLE
ADDWF
DT
DT
LCD_INI
CALL
CALL
MOVLW
CALL
CALL
MOVLW

LCD_INI
LCD_BUSY_4
B'00001110' ;
LCD_CMD_4
TIME1S
POINT
POINT,W
TABLE
0
STATUS,Z
TEXT_OUT2
LCD_DATA_4
TIME1S
POINT,F
ROW_1

;
;
;
;
;
;
;
;
;

;
;
;
;
; 1
;
;

POINT,F
B'11000000'
LCD_CMD_4
TIME1S
POINT,W
TABLE
0
STATUS,Z
TEXT_CLEAR
LCD_DATA_4
TIME1S
POINT,F
ROW_2
B'00000001' ;
LCD_CMD_4
TIME1S
TEXT_OUT1

;
;1
;
;ROW_2

;
;
;

;
PCL,F
; PC
"HW02D020 O.Batchimeg",0
;
"Microcontroller based generator",0
TIME10M
TIME10M
B'00110000' ;
LCD_CMD
TIME10M
B'00110000' ;

; WAIT()
; WAIT() 10ms
;
; WAIT(ms)

51


CALL
CALL
MOVLW
CALL

LCD_CMD
TIME100
B'00110000' ;
LCD_CMD

;
; WAIT(100us)

CALL TIME100
MOVLW B'00100000' ;
CALL LCD_CMD

; WAIT(100us)

CALL LCD_BUSY_4 ;
MOVLW B'00101000'
CALL LCD_CMD_4
;
CALL LCD_BUSY_4 ;
MOVLW B'00001000'
CALL LCD_CMD_4
;
CALL LCD_BUSY_4 ;
MOVLW B'00000001'
CALL LCD_CMD_4
;
CALL LCD_BUSY_4 ;
MOVLW B'00000110'
;
CALL LCD_CMD_4
;
RETURN
LCD_CMD_4
;
MOVWF DPDT
;
ANDLW 0F0H
;
CALL LCD_CMD
SWAPF DPDT,W
ANDLW 0F0H
;
CALL LCD_CMD
RETURN
LCD_CMD
MOVWF
BCF
BCF
BSF
NOP
BCF

PORTB
PORTB,RW
PORTB,RS
PORTB,E
PORTB,E

;
;
;
;
;
;
;

;
;
;

DB4-DB7
R/W = 0
RS = 0
E
= 1
E
E = 0

LCD_DATA_4
MOVWF DPDT
ANDLW 0F0H
CALL LCD_DATA
SWAPF DPDT,W
ANDLW 0F0H
CALL LCD_DATA
RETURN
LCD_DATA
MOVWF PORTB
BCF
PORTB,RW
BSF
PORTB,RS
BSF
PORTB,E
NOP
BCF
PORTB,E
RETURN

;
;
;
;
;
;

DB4`DB7
R/W = 0
RS = 1
E
= 1
E
E
= 0

52


LCD_BUSY_4
BSF
MOVLW
MOVWF
BCF
BCF
BSF
BSF
MOVF
BCF
MOVWF
BSF
MOVF
BCF
BTFSC
GOTO

STATUS,RP0
0F0H
TRISB
STATUS,RP0
PORTB,RS
PORTB,RW
PORTB,E
PORTB,W
PORTB,E
DPDT
PORTB,E
PORTB,W
PORTB,E
DPDT,BUSY_F
LCD_BUSY_4

BCF
PORTB,RW
BSF
STATUS,RP0
MOVLW 0H
MOVWF TRISB
BCF
STATUS,RP0
RETURN
TIME100
MOVLW 052H
MOVWF COUNT
NOP
LOOP
DECFSZ
COUNT,F
GOTO LOOP
RETURN
TIME10M
MOVLW 31H
MOVWF COUNT1
NOP
LOOP1
CALL TIME100
DECFSZ
COUNT1,F
GOTO LOOP1
RETURN
TIME1S
MOVLW 31H
MOVWF COUNT2
MOVLW 31H
MOVWF COUNT3
MOVLW 01H
MOVWF COUNT4
NOP
LOOP2
CALL TIME10M
DECFSZ
COUNT2,F
GOTO LOOP2
LOOP3
CALL TIME100
DECFSZ
COUNT3,F
GOTO LOOP3
LOOP4
DECFSZ
COUNT4,F
GOTO LOOP4
RETURN
END

;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

Bank 1
PortB
Bank 0
RS = 0
R/W = 1
E
= 1
DDRAM
E
= 0
;
E
= 1
DDRAM
E
= 0

BUSY_F=1
BUSY_F=0
R/W = 0
Bank 1
PortB
Bank 0

;
;10Mhz- 100

53

PIC

.
,
,

PIC


Pic16f877
40MHz
1K .

54

1. .,

..,

2005.,

.,

., -20
2. .,

.,

..,

1997.,

., -., -116.
3. .., 2001., ., -.,

471.
4. PIC16F877

Data

sheet

(2001,

microchip

technology

Inc.)
5. DAC08 Data sheet (2002, analog diveces Inc.)
6. TIL117 (2005, Fairchild semiconductor Corporation)
7. www.google.mn

-1
PIC16F877

55

-2
DAC08-

56

3 PIC16F877 :
1.

Reset

2.

0-

0-

0-

1-

1-

2-

3.

4.

5.

3- - +

6.

4- 0-

7.

5-

-4


8.

E 0- RD
-5

9.

E 1- WR
-6

10.

2-

7
11.

12.

13.

14.

15.

C 0- timer1 ,
57

16.

C 1- timer 1- CCP2 modul


.

17.

C 2- CCP1 modul

18.

C 3-

19.

0-

0-

1-

1-

2-

2-

3-

3-

4-

4-

20.

21.

22.

23.

24.

25.

C 5-

26.

C 6- / UART /UART
clock

27.

7-

UART

UART


28.

4-

4-

5-

6-

6-

7-

29.

30.

31.

( Vcc)

32.

( Vdd)

33.

RB0/INT0 B 0- /

0-

34.

RB1/INT0 B 1- /

1-

35.

RB2/INT0 B 2- /

2-

58

36.

RB3/PGM

B 3- /


37.

RB4 / B 4-

38.

RB5 / B 5-

39.

RB6 / PGC clock

40.

RB7 / PGD

59

You might also like