Professional Documents
Culture Documents
,
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-
, ,
.
(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
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
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
.
.
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-
home
home
)-
DDRAM
(0-
)-
set
.
.
shift
AC
home
. DDRAM- .
. DB0 0 1
.
29
DDRAM-
shift
DDRAM-
1-
1- . CGRAM-
. S=1 DDRAM-
shift
, . DDRAM-
shift .
2-4. Entry mode- instruction
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
. .
RS
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- .
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
instruction-
31
4 , 4 .
2-7. Function set- instruction
DL
MPU-
CGRAM- . CGRAM-
DB5 , DB0 .
2-8. CGRAM address set- instruction
2-
DDRAM-
MPU-
DDRAM- . DDRAM-
DB6 , DB0 .
2-9. DDRAM address set- instruction
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-
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-
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
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
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
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.
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.
40.
RB7 / PGD
59