Documente Academic
Documente Profesional
Documente Cultură
AT89S52 C KEIL51
12864
1 ....................................................... 3
1.1 .........................................................3
1.1.1 ......................................................3
1.1.2 ......................................................3
1.1.3 ......................................................3
1.2 .....................................................3
1.2.1 ..................................................3
1.2.2 .............................................4
1.2.3 .................................................10
2 ............................................. 11
2.1 ..............................................11
2.1.1 ..........................................11
2.1.2 ............................................13
2.1.3 ..........................................15
2.1.4 ..........................................16
2.2 ..............................................17
2.2.1 CXA1238S ............................................17
2.2.2 .............................................18
2.2.3 .............................................19
2.2.4 ...............................................20
2.2.5 ............................................20
2.2.6 ............................................21
2.3 PT2262/2272 /....................................21
2.3.1 PT2262/2272 ......................................21
2.3.2 PT2262/2272 /..................................23
2.4 ......................................................23
2.5 20dB ...............................................24
3 ...................................................... 24
3.1 ........................................24
3.2 ................................................23
3.3 ................................................25
4 ...................................................... 26
4.1 ..................................................26
4.2 ..............................................26
4.2.1 ..............................26
4.2.2 ..............................28
4.3 ..............................................30
4.4 ........................................................31
1
5 .......................................................... 31
......................................................... 32
1 .................................................. 33
2 ............................................ 33
3 ..................................... 34
4 .................................................. 41
1.
1.1
1.1.1
1.1.2
1
30MHz~40MHz
20mW(50)
300Hz~3400Hz 20dB
5 ()
2
8 ( 1 )
20mW
1.1.3
1 50
1.2
1.2.1
1.2.1
AM/FM
1.2.1
1.2.2
1
1.2.2
AM
1.2.2
FM
FM
2FSK
2
LC 1.2.3
2 L(C 3 C 4 )
CC C
1 2 3
C
2 L(C 3 C 4 ) 3
C 2 C 3 C1C 2 C 2 C 3
Vcc
100H
RP1
0.1uF
0.1uF
Rb1
C3
C1
Q
Rb2
C4
Cb
Re
C2
1.2.3
35MHz 1/N N
1.2.4
1.2.4
1.2.5
10-210-3
10-510-6
3
FM IC CXA1019CXA1238
CXA1019 ICCXA1019
AM/FM
CXA1238 ICCXA1238 20 80
AM/FM
210V
LED FM
CXA1238
CXA1019
CXA1238
ASKASK
1.2.6 fc
1.2.7 uASK(t)
2cos2fct
1.2.6 ASK
1.2.7 ASK
PT2262/2272 /PT2262/2272
CMOS /
PT2262/2272
1.2.8 PT2262
1.2.9 2272
PT2262/2272 /
5
1.2.10 1.2.11
1.2.10
1.2.11
FPGA FPGA
EDA
FPGA
()
FPGA
FPGA
Atmel AT89S51
6
1.2.1
R max K
Pt Gt G r
S min
1.2.1
Pt Smin GtGr
K
8
Rmax
50 20mW
Pt f=35MHz =8.5657m 1m 3mm
MATLAB Zr
Z r R L jX L 5.44 j115 .1
1.2.12
L L CL CL
Ri=50 RL
1.2.12
1.2.1 Smin
Pt
CXA1238S
1m
1m 1m
35MHz 8.6m
1.2.13 (2n-1)/4
n/2 n
1.2.13
10K
600 600
0dBmW 0.775V
FM
u(t)
(t ) c ku (t )
1.2.2
VCO
Cj
C jQ
(1 u / V D ) r
(x)
r
u (t ) 2
( x) 1 / LC j c [1
] c (1 x) 2
VD VQ
1.2.3
/ 1.2.14 /
f max f m fmax
75KHz f max 75KHz/
1.2.14 /
/
/
10
1.2.3
1.2.15 1.2.16
MC1648MC145152MC12022
LCD
1.2.15
1.2.16
2.
2.1
2.1.1
MC1648 V149 LC
MC1648
QL100+5V
35MHz
2.1.1 2.1.2 MC1648
11
R1
12V
10K
C14
5V
C21
104
C15
103
104
R8
50K
U2
14
13
12
11
10
9
8
VD1
L
VD2
VCC
NC
TANK
NC
BIAS
NC
GND
1
2
3
4
5
6
7
VCC
NC
OUT
NC
AGC
NC
GND
VCO
C26
104
MC1648
C17
104
2.1.1
VCC2
VCC1
14
1
R11
R1
R9
R3
R10
VT1
VT9
VT3
VT2
R2
VT4
VT1
VT7
VT10
OUTPUT
VT6
VD1
R4
VD2
R13
VT5
VT8
R5
7
VCC1
10
BIAS
POINT
12
TANK
R6
VCC
AGC
R7
R8
R12
2.1.2 MC1648
VT8VT5VT4VT1VT7 VT610 12 LC
V149 720 2.1.1
1
fc
2.1.1
2 LC
12
C D1 C D 2
1
1
1
C
C C D1 C D 2
C D1 C D 2
VCO 3 MC12022
5 AGC Vout1
35MHz 5
VCO CVD U
2.1.3 0300MHz
Rp3 0.5V
1V10V Cj
r=2 2.1.1
Matlab 2.1.4
Rp3
2.1.3
2.1.4
L 1 /( 2f c ) 2 CVD
CVD=20pFfc=35MHz L=1.04H
L=1.04H
13
2.1.2
MC145152
2.1.5
2.1.5 MC145152
1
OSCinOSCout R 8
R RA0RA1RA2 2.1.1
10.24MHz RA0RA1RA2101 R1024 1024
2.1.1 MC145152
RA2
RA1
RA0
64
128
256
512
1024
1160
2048
2
35MHzMC145152
ECL MC145152
14
2.1.6
MC12022 64 65 M MC145152 9
MC12022 6 M MC12022 P165 M
P64 N A 6 A
10 N PD fo
M 1A N
AP+1foA A M 0
A N NA N
AP PD N
M 1 Q
AP1+(N-A)P=PN+A PN+A
N A
fo/ PN+A= fr fofrPN+A N A
fo
A 8 A 63MC12022 P 64 fr
10kHz
foPNAfr64NA10kHz
35MHz
A0
N(fo/ frA/P=35106/10103/64=54.69
N 54110110B
A(fo/ fr)PN=35106/10103645444101100B
MC145152 N9 N0 A5 A0
U r (t ) U rm sin[ r t r (t )] U rm sin[ r t 1 (t )]
U y (t ) U ym sin[ y t y (t )] U ym sin[ r t 2 (t )]
2 (t ) ( y r )t y (t )
1
U r U y U rmU ym sin[2 r t 1 (t ) 2 (t )] sin[1 (t ) 2 (t )]}
2
U c t Ac sin 1 (t ) 2 (t )
15
MC145152 /
2.1.3
2.1.7 2SC1970
-VEE IE0 RE2
t ic L2C2
c1 ic1
Vc1m I c1m R p
Ic1m RC
Pc
1
1
1 V
2
Vc1m I c1m I c1m Rc c1m
2
2
2 Rc
12V
C18
103
C13
47p
VCC
PD VCC I c 0
R11
50K
Pc 1 Vc1m I c1m 1 1 ( )
PD 2 VCC I c 0
2 0 ( )
C26
Q1
3355
2SC1970
+10uF
R9
30K
R10
2K
70
(VCC VCES ) 2
Rq
2 PC
2.1.7
C6
104
2.1.4
MATLAB 1m f=35MHz
Z=R+jX=5.44-j115.1 50
1m
L LC L
L 2.1.8 R1R2
L2
X2
R1
50
X1
R2
C1
16
2.1.8 L
2
X2
R X
R XR X
R X
RX
1 1 X 2 1 12 1 2 1 X 2 2 1 1 2 2 1 1 2 X 2
R1 X 1
R1 X 1
R1 X 1
R1 X 1
1
X1
jC1
1
jC 2
R1 X 1
2
R1 X 1
X2)
R1 X 1
2
R1 X 1
R2
R X
2 1 1 2 X 2 0 R1 2 X 1 R1 2 X 2 X 1 2 X 2 0
R1 X 1
R1 X 1
R1 X 1
X 2 L1
R1 R2
R2
R1
R2 R1
R2 R1
R2
X1
R
2 R1 R 2
C1
R1 R2
R1 R2
R2 ( R1 R2 )
L2
LC
50165.4 2.1.9 R1=50 MATLAB
Z=RLjXL=5.44j115.1fo=35MHz L3
L1
L2
L3
CL
R1
50
C1
C2
RL
5.4
2.1.9
C1160.8pFL176nHC2281.2pFL213.4nHL3=523.49nH
2.2
2.2.1 CXA1238S
AM/FM CXA1238S
CXA1238S 20 80
AM/FM
CXA1238S 210V
LED FM 2.2.1
87108MHz 18 FM
FM
17
10.7MHz 22 VD1VD2C8C9C10VC1L1 FM
20 VD3VD4C11C12C13VC2L2 FM
10.7MHz 16 10.7MHz
13
12 D2
LED IC FM
IC
AFC 10 100K 23
FM
IC 1 2
1VCOVCO 76KHz
38KHz 90
19KHz 19KHz 1
R1C3C5 VCO
VCO 27 RP1
C1
2 / 19KHz
23
C7/ 4
D1
56
X9511
14 AM 15
19 AM 24 AM
18
2.2.1
CXA1238
2.2.2
L2
L3
CL
RL
5.4
R1
R2
C1
C2
Ri
FM
2.2.2
Ri 2.2.3
2.2.3
Ri
R
Us'
1
Ui
2.2.1
Ri50
L1=523.49nHC1281.2pFL213.4nHC2160.8pFL376nH
2.2.3
35MHz 2.2.4
CXA1238S 20 LC
2.2.2
f
1
2 L(C1 C 2 )
19
2.2.2
C3
0.01F
C4
10F
2.2.4
2.2.4
10.7MHz
2.2.5
2.2.5
2.2.5 10.7MHz
10.7MHz
67mm 0.2mm
20
2.2.6
LM386LM386
20 1 8
200 6V 24mW LM386
18V 2.2.6
IN OUT
3.3K R14
R16
1.2K
6V
C34 0.022F
104
C14
C31
100F
1
8
U1
10K
R9
C38
5
3
LM386
2
4
R22
104
C20
103
C7
VIDIOR
104
C16 250F
104
C18
R24
10
6V
2.2.6
1 8 VT1
R4150 R61.35K
U
U f U R 5 U R 6 i
2
U f
U
Au
U O
R7
2(1
)
R5 R 6
Ui
R7>>(R5+R6)
Au
2 R7
R5 R 6
R5R6 R7 Au20
1 8 R
21
Au
2 R7
R5 R6 // R
1 8
Au
2 R7
R5
R5 R7 Au200
2.3 PT2262/2272 /
2.3.1 PT2262/2272
PT2262/2272 PT2262
PT2272
ML
0246 PT2272-M4 4
PT2272-M6PT2262 PT2272 2.3.1 2.3.2
PT2262
PT2272 VT
6 531441
PT2262
A0
A1
A2
A3
A4
A5
A6/D5
A7/D4
Vss
1
2
3
4
5
6
7
8
9
18
17
16
15
14
13
12
11
10
2.3.1 PT2262
PT2272
Vcc
DOUT
OSC2
OSC1
TE
A11/D0
A10/D1
A9/D2
A8/D3
A0
A1
A2
A3
A4
A5
D5
D4
Vss
1
2
3
4
5
6
7
8
9
18
17
16
15
14
13
12
11
10
Vcc
VT
OSC2
OSC1
DIN
D0
D1
D2
D3
2.3.2 PT2272
Pin1-Pin6A0-A5
10
Pin7Pin8pin10-
Pin1-Pin6
Pin13A6/D0-A11/D5
Pin14TE
Pin15Pin16OSC1OSC2
10
22
Pin17Dout
Pin9Pin18VDDVss
2.3.2 PT2272
Pin1-Pin6A0-A5
10 PT2262
Pin7Pin8pin10-Pin13D0-
D5
Pin14DI
Pin15Pin16OSC1OSC2
Pin17VT
VT
Pin9Pin18VDDVss
2.3.2 PT2262/2272 /
PT2262 1010
Dout Dout
15 OSC1 16 OSC2
17 6 D0~D5P20~P25
6 P00~P0517
MC1648
PT2272 PT2272
PT2272
PT2262 PT2272 2.3.3 2.3.4
P00
P01
P02
P03
P04
P05
P20
P21
1
2
3
4
5
6
7
8
9
A0
A1
A2
A3
A4
A5
D0
D1
GND
VCC
Dout
OSC1
OSC2
T1
D5
D4
D3
D2
18
17
16
15
14
13
12
11
10
5V
VCO
R1
P27
P25
P24
P23
P22
PT2262
2.3.3 PT2262
23
P00
P01
P02
P03
P04
P05
P20
P21
1
2
3
4
5
6
7
8
9
A0
A1
A2
A3
A4
A5
D0
D1
GND
VCC
VT
OSC1
OSC2
Din
D5
D4
D3
D2
18
17
16
15
14
13
12
11
10
5V
VCO
P3.2
R
P27
P25
P24
P23
P22
PT2272
2.3.4 PT2272
2.4
50Hz
50Hz
2.5 20dB
5.4 2.4.1
6.02dB 12.04dB 18.06dB
2
1
R1
10.8
R4
R5
R6
5.4
5.4
5.4
R2
10.8
R3
10.8
JP1
R7
5.4
1
2
JP2
2.4.1 20dB
24
3.
C C
KEIL51 C51 KEIL Uvision2
51
PLM C VC++
3.1
3.2
3.2.1 4
25
3.2.1
3.3
3.3.1 4
3.3.1
4.
4.1
4.1.1
4.1.1
DF-1731SC
BT3C-B
GDS-820C
GFG-8216A
ZQ4121A
DF1071
UNI-T
UNIT-T
SP-1500A
26
4.2
4.2.1
40MHz GDS-820C
1
SP-1500A
35MHz
4.2.1
4.2.1
f1 f 0
f0
100%
4.2.1
A f1 f0 35MHz
4.2.1
MHz
MHz
MHz
10-5
35.00000
35.00132
35.00157
35.00086
35.00168
35.00092
35.00108
35.00124
3.5
3.510-5
2
SP-1500A
35MHz 30s
4.2.2 4.2.2
f max f 0
f0
100%
4.2.2
B fmax f0 35MHz
4.2.2
MHz
fmaxM
MHz
00s
30s
60s
90s
120s
150s
Hz
10-5
35.00000
35.00112
35.00057
35.00086
35.00068
35.00102
35.00158
35.00158
4.5
4.510-5
3
35MHz +12V
4.2.1 50 TDS1012 100MHz
Uopp 4.2.3 4.2.3
27
4.2.1
U opp
2 2
RL
U 2 opp
8R L
4.2.3
4.2.3
1.78
1.81
1.83
1.80
1.77
1.82
1.80
7.92
8.19
8.37
8.10
7.83
8.28
8.10
UoppV
mW
4.2.2
4.2.4
pi
NF
pn i
p o
pn o
4.2.4
pi
po
N F p ni
pn o
4.2.5
4.2.2 K 2
a 35MHz 1KHz75KHz
b
30dB 3
c
28
4.2.2
Po/Pno Po Pi
NF
4.2.6 NF
N F N F1
NF3 1
N Fn 1
N F2 1
NF4 1
G Pa1
G Pa1G Pa 2 G Pa1G Pa 2 G Pa 3
G Pa1G Pa 2 G Pa ( n 1)
4.2.6
Pi
1V
4.2.2
fI = fLfS =10.7MHz fL fS
fN fN fL =fI =10.7MHz fN
10.7MHz
fS
10.7MHz
fL
fN
4.2.2
4.2.1 K 1
a 35MHz, 1KHz,22.5KHz,
,,,,,
U1
b
29
U2 U1
LC Q
Q
SDN
4.2.7
DN
S D N
4.2.1
a K 1 35MHz 1KHz
75KHz 70dBf,
U1
b 2 U2U1 U2
c
4.2.8
S N
po
pi
p
i
p n o N F p ni N F p ni
4.2.8
Pi NF
50Hz
100Hz
50Hz
50Hz
4.2.4
35MHz
75kHz
30dB
35MHz
75kHz
30
10
60
dB
88108 MHz
22.5kHz
40
dB
4.3
TDS1012 100MHz RS-232
TDSPCS1
4.3.1 4.3.2
4.3.3 4.3.4
4.3.1
4.3.2
4.3.3
31
4.3.4
20
4.4
10.24MHz
1024
5.
35MHz
10-5 AM/FM CXA1238S
PT2262/2272 /
5.1.1
5.1.1
30~40MHz
20mW
35MHz
19.59mW
32
300Hz~3400Hz
20dB
0.95
20mW
19mW
20
LED
MATLAB
1. ,.[M].
2003 1
2. ,,,.[M].
2004 1
3. .[M].
2005 1
4. .[M].
2002 2
5. .[M].
2005 1
6.[M]. 1995 2
7. ..[M].2001 3
1
5.1.1
5.1.1
ENT
Clear
SP
33
CALL
DATA
NO.
2
1
1
MC145152
DIP
MC1648
DIP
MC12022
DIP
LM386
DIP
AT89S52
DIP
LM386
DIP
CXA1238
DIP
V149
10.7MHz
10
12M
11
12
13
14
PT2262
DIP
15
PT2272-M6
DIP
3
1
2 1
2 2 2 3 2 4
34
C26
R10
PHIV
4.5K
DS4
BB910
DS5
BB910
DS6
BB910
U6
104
1
R18 4.5K
5V
U7
R8
R9
R12
10K
10K
50K
14
13
12
11
10
9
8
L1
L
LM358
R15
2.25K
C23
104
C24
104
DS7
BB910
C19
C27
+1uF
C17
103
104
C21
PHIR
5V
10K
C20
R14
2.25K
R17
R11
50K
12V
+1uF
DS8
BB910
VCC
NC
TANK
NC
BIAS
NC
GND
DS9
BB910
1
2
3
4
5
6
7
VCC
NC
OUT
NC
AGC
NC
GND
VCO
VCO
C25
104
MC1648
12V 103
C22
104
a
DS3
R4
12V
5V
470
LED1
U4
1
12V
VIN
U5
+12V
5V
VIN
+5V
J3
C16
104
LM7805
b
Z1
R1
360
10.24M
C1
20PF
C2
DS1
20PF
R3
R5
2K
470
C3
102
LED1
U1
C4
FOUT
10PF
5V
5V
5V
5V
5V
5V
5V
5V
U2
1
27
23
21
22
24
25
10
11
12
13
14
15
16
17
18
19
20
4
5
6
FIN
OSC IN
A0
A1
A2
A3
A4
A5
N0
N1
N2
N3
N4
N5
N6
N7
N8
N9
RA0
RA1
RA2
LD
MOD CNTL
OSC OUT
PHIR
PHIV
8
7
6
5
28
9
26
7
8
PHIR
PHIV
4
3
2
1
FOUT
5V
VCO
10PF
MC12022
C7
103
GND
VCC
2
3
5V
MC145142
c
3 1
35
C5
7812
C13
+3.3uF
C12
+220uF
GND
GND
C15
104
C11
+0.47uF
C10
+470uF
POWER
C14
+2200uF
5V
JP1
Header 20
R1
10K
12V
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
5V
C1
2
1
+22uF
mic
5V
5V
5V
5V
10K
R3
LM741
1
4
3
2
1
5V
U2
C3
C4
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
VCC
P00
P01
P02
8051
P03
P04
P05
P06
P07
EA/VPP
ALE/PROG
PSEN
P27
P26
P25
P24
P23
P22
P21
P20
-12V
-12V
R4
5V
P10
P11
P12
P13
P14
P15
P16
P17
RST/VPD
P30
P31
P32
P33
P34
P35
P36
P37
XT2
XT1
VSS
*1
A0
A1
A2
A3
A4
A5
A0
A1
A2
A3
A4
A5
D0
D1
5V
1
2
3
4
5
6
7
8
9
JP3
10K
A0
A1
A2
A3
A4
A5
D0
D1
GND
VCC
VT
OSC1
OSC2
T1
D5
D4
D3
D2
18
17
16
15
14
13
12
11
10
1
2
3
5V
R5
T1
D5
D4
D3
D2
MHDR1X3
Res2
1K
C5
2
J2
1
3
5
7
9
REST
5V
P15
P16
P17
REST
GND
2
4
6
8
10
U3
LM7805
2
30PF
P14
P13
V IN
ISP
P15
12V
PT2262
D5
D4
D3
D2
D1
D0
AT89S52
P16
1
+220uF
T1
30PF
JP
MHDR1X3
R14
10K
P101
P112
P123
P134
P145
P156
P167
P178
REST
9
P30
10
P31
11
P32
12
P33
13
P34
14
P35
15
P36
16
LCD0 17
18
19
Z1
20
12M
R15
10K
U1
9
8
7
6
5
4
3
2
1
5V
R2
10K
J1
Header 9
P1 7
L CD 0
C2
+22uF
REST
JP2
P12
P11
P10
GND
R16
470
5V
S2
S3
S4
S5
S6
S7
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
R6
S8
S9
S10
S11
S12
S13
S14
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
Res2
1K
R7
S15
S16
S17
S18
S19
S20
S21
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
S22
S23
S24
S25
S26
S27
S28
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
S29
S30
S31
S32
S33
S34
S35
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
S36
S37
S38
S39
S40
S41
S42
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
S43
S44
S45
S46
S47
S48
S49
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
SW-PB
S1
+5 V
P36
P33
P32
P31
P30
C9
2
Res2
1K
R8
1
104
C7
Res2
1K
R9
5V
P34
P35
DS1
LED1
5V
+2200uF
Res2
1K
R10
Res2
1K
R11
Res2
1K
R12
Res2
1K
3 2
K1
1
VIDIOR 3
VIDIOL
J1
3
2
1
Phonej ack
6V
Q1
61
Relay -DPST
1.2K
R17
6V
C35 0.022UF
1.2K
100UF
C14
1
8
C15
1
8
U2
10K
R10
VIDIOL
U1
10K
C39
C31
100UF
6V
C34 0.022UF
104
R16
104
3.3K R14
D5
C32
P3 7
3.3K R15
C38
5
R9
103
104
C9
C21
R22
3
C19
104
103
C7
C20
C18
R24
R25
1
6V
104
104
C16 250UF
LM386
2
R23
C17 250UF
104
LM386
VIDIOR
104
6V
10
36
10
CON1
C1
103
C4
103
C3
103
100K
R1
SVC201
SVC201
2
K
104
D1
C10
100K
R3
104
K
D2
100K
R2
SVC201
SVC201
K
104
C11 100K
D3
C12
R4
R5
100K
K
D4
2
L
C22
3.3UF
Y1
10K
C26
3PF
R8
102L1
R11
22K
10UF
C27
L2
C23
C28
100
E1
10UF
R12
103
1
3
2
C24
C5
C29
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
4.7UF
C36
0.47UF
C30
FE O U T B A N T
15
GND
A M IFIN
14
FM IN
FM IFIN
13
A M IN
TUN
12
FM R F
GND
11
RE G
A G C2
10
FM O SC A G C 1
9
A FC IN
R PF
8
A M O SC V C C
7 1
MUTE
E FT
6
FM D IS
R IG H T
5
V CO
ST
4
M PX R E PL
G L
3
PL L L PF PL L
2
GND
PL L L PF
1
R13
15PF
*2
CXA1238S
100K
2.2K
2K R L
1UF
C41
R18
DS1
TUN
1UF
103
C6
C25
10UF
R21
330
C40 2K
4.7UF
33UF
R19
C37
C42
LED3
C8
R7
1
3
2
DS2
103
C33
10.7M
100UF 6V
b
3 3
37
R6
100K
10.7MHz
10UF
104
C13
C2
103
CON2
JP1
Header 7
J1
Header 16
J2
Header 9
7
6
5
4
3
2
1
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
9
8
7
6
5
4
3
2
1
P1 0
P1 1
P1 2
P1 3
P3 2
5V
5V
5V
U1
C1
+22uF
REST
R6
10K
Z1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
R1
10K
5V
P10
P11
P12
P13
P14
P15
P16
P17
RST/VPD
P30
P31
P32
P33
P34
P35
P36
P37
XT2
XT1
VSS
VCC
P00
P01
P02
8051
P03
P04
P05
P06
P07
EA/VPP
ALE/PROG
PSEN
P27
P26
P25
P24
P23
P22
P21
P20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
P00
P01
P02
P03
P04
P05
P06
P07
B1
Bell
5V
S1
P27
P26
P25
P24
P23
P22
P21
P20
P00
1
P01
2
P02
3
P03
4
5
6
7
8
16
15
14
13
12
11
10
9
C3
30PF
5V
Q2
JP2
1
2
2K
1
2
1
R4
4.7K
R5
SW-DIP8
JP10
R3
100
5V
P37
AT89S52
12M
C2
30PF
5V
P2 7
P2 6
P2 5
P2 4
P2 3
P2 2
P2 1
P2 0
P0 4
P0 5
P0 6
P10
P11
P12
P13
P14
P15
P16
P17
REST
P30
P31
P32
P33
P34
P35
P36
P37
K1
61
3
2
1
xianlu
Header 2
5V
Header 2
Q1
Relay -DPST
3 4
P3 6
D1
38
J3
2
3 1
3 2 3 3
3 4
3 1
39
3 2
40
3 3
3 4
41
/*-------------------*/
fashe.C
2005 9 10
/*-----------------------------------/
/******************/
/*1-39
*/
/*36 state2*/
/*41
*/
/*42
*/
/*43
*/
/*44
*/
/*45
*/
/**************************/
#include<at89x51.h>
#define uchar unsigned char
#define te P0_1
#define p30 P3_0
#define p31 P3_1
#define p32 P3_2
#define p33 P3_3
#define p34 P3_4
#define p35 P3_5
#define p36 P3_6
#define p00 P0_0
#define std P3_7
#define clk P1_7
uchar code zifu1[4]={""};
uchar code zifu2[4]={""};
uchar code zifu3[4]={""};
uchar code zifu4[4]={""};
uchar code zifu5[10]={""};
uchar code zifu6[10]={""};
uchar code zifu7[39]={"0123456789abcdefghijklmnopqrstuvwxyz ,."};
uchar zifu8[18]={36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36};
uchar state,state1,state2,state3,state4;
uchar address1=0;
bit keyon,keyoff;
42
// rs=1 rs=0
{uchar i=0;
uchar data1;
data1=com;
std=1;
for(i=0;i<5;i++) // 5 '1';
{ clk=0; clk=1; }
std=0; clk=0; clk=1; std=rs; clk=0;
clk=1; std=0; clk=0; clk=1;
for(i=0;i<4;i++)
{if(data1&0x80) { std=1; }
else std=0; clk=0; clk=1;
data1=data1<<1; }
std=0;
for(i=0;i<4;i++)
{ clk=0; clk=1; }
for(i=0;i<4;i++)
{if(data1&0x80)
{ std=1; }
else std=0; clk=0; clk=1;
data1=data1<<1; }
std=0;
for(i=0;i<4;i++)
{ clk=0; clk=1; }delay(100); }
/*************************/
void initial_lcd(void)
{ write(0x30,0);
write(0x01,0);
43
write(0x06,0);
write(0x0c,0);
}
/*********************/
void key_scan()
{keyon=0;delay(250);delay(250);delay(250);delay(250);delay(250);
delay(250);delay(250);delay(250);delay(250);delay(250);P1=0xbf;
if(p36==0){if(state3==1){keyon=1;keyoff=1;key1=1; }}
if(p35==0){if(state3==1){keyon=1;keyoff=1;key2=1; }}
if(p34==0){if(state3==1){keyon=1;keyoff=1;key3=1; }}
if(p33==0){if(state3==1){keyon=1;keyoff=1;key4=1; }}
if(p32==0){if(state3==1){keyon=1;keyoff=1;key5=1; }}
if(p31==0){if(state3==1){keyon=1;keyoff=1;key6=1; }}
if(p30==0){if(state3==1){keyon=1;keyoff=1;key7=1; }}
P1=0xdf;
if(p36==0){if(state3==1){keyon=1;keyoff=1;key8=1; }}
if(p35==0){if(state3==1){keyon=1;keyoff=1;key9=1; }}
if(p34==0){if(state3==1){keyon=1;keyoff=1;key10=1;}}
if(p33==0){if(state3==1){keyon=1;keyoff=1;key11=1;}}
if(p32==0){if(state3==1){keyon=1;keyoff=1;key12=1;}}
if(p31==0){if(state3==1){keyon=1;keyoff=1;key13=1;}}
if(p30==0){if(state3==1){keyon=1;keyoff=1;key14=1;}}
P1=0xef;
if(p36==0){if(state3==1){keyon=1;keyoff=1;key15=1;}}
if(p35==0){if(state3==1){keyon=1;keyoff=1;key16=1;}}
if(p34==0){if(state3==1){keyon=1;keyoff=1;key17=1;}}
if(p33==0){if(state3==1){keyon=1;keyoff=1;key18=1;}}
if(p32==0){if(state3==1){keyon=1;keyoff=1;key19=1;}}
if(p31==0){if(state3==1){keyon=1;keyoff=1;key20=1;}}
if(p30==0){if(state3==1){keyon=1;keyoff=1;key21=1;}}
P1=0xf7;
if(p36==0){if(state3==1){keyon=1;keyoff=1;key22=1;}}
if(p35==0){if(state3==1){keyon=1;keyoff=1;key23=1;}}
if(p34==0){if(state3==1){keyon=1;keyoff=1;key24=1;}}
if(p33==0){if(state3==1){keyon=1;keyoff=1;key25=1;}}
if(p32==0){if(state3==1){keyon=1;keyoff=1;key26=1;}}
if(p31==0){if(state3==1){keyon=1;keyoff=1;key27=1;}}
if(p30==0){if(state3==1){keyon=1;keyoff=1;key28=1;}}
P1=0xfb;
if(p36==0){if(state3==1){keyon=1;keyoff=1;key29=1;}}
if(p35==0){if(state3==1){keyon=1;keyoff=1;key30=1;}}
if(p34==0){if(state3==1){keyon=1;keyoff=1;key31=1;}}
if(p33==0){if(state3==1){keyon=1;keyoff=1;key32=1;}}
44
if(p32==0){if(state3==1){keyon=1;keyoff=1;key33=1;}}
if(p31==0){if(state3==1){keyon=1;keyoff=1;key34=1;}}
if(p30==0){if(state3==1){keyon=1;keyoff=1;key35=1;}}
P1=0xfd;
if(p36==0){if(state3==1){keyon=1;keyoff=1;key36=1;}}
if(p35==0){if(state3==1){keyon=1;keyoff=1;key37=1;}}
if(p34==0){if(state3==1){keyon=1;keyoff=1;key38=1;}}
if(p33==0){if(state3==1){keyon=1;keyoff=1;key39=1;}}
if(p32==0){keyon=1;keyoff=1;key40=1;}
if(p31==0){keyon=1;keyoff=1;key41=1;}
if(p30==0){keyon=1;keyoff=1;key42=1;}
P1=0xfe;
if(p36==0){keyon=1;keyoff=1;key43=1;}
if(p35==0){keyon=1;keyoff=1;key44=1;}
if(p34==0){keyon=1;keyoff=1;key45=1;}
if(p33==0){keyon=1;keyoff=1;key46=1;}
if(p32==0){keyon=1;keyoff=1;key47=1;}
if(p31==0){keyon=1;keyoff=1;key48=1;}
if(p30==0){keyon=1;keyoff=1;key49=1;}
}
void send(uchar a) {uchar b;
b=a; b=b<<2; P2=b&0x3c; p00=0;
delay1(100); p00=1; delay1(100);
delay1(200); b=a; b=b>>2;
P2=b&0x3c; p00=0; delay1(100);
p00=1; delay1(100);
delay1(200);} void duanxin()
{if(state==1)
{if(address1<16)
{zifu8[address1]=state1;
address1++;
write(zifu7[state1],1);}
state=0;}}
/***********************/
void keyprocess()
{uchar i;uchar c;while(keyoff)
{key_scan();if(keyon==0)
{if(key1==1){state1=0;state=1;duanxin();key1=0;}
if(key2==1){state1=1;state=1;duanxin();key2=0;}
if(key3==1){state1=2;state=1;duanxin();key3=0;}
if(key4==1){state1=3;state=1;duanxin();key4=0;}
if(key5==1){state1=4;state=1;duanxin();key5=0;}
if(key6==1){state1=5;state=1;duanxin();key6=0;}
45
if(key7==1){state1=6;state=1;duanxin();key7=0;}
if(key8==1){state1=7;state=1;duanxin();key8=0;}
if(key9==1){state1=8;state=1;duanxin();key9=0;}
if(key10==1){state1=9;state=1;duanxin();key10=0;}
if(key11==1){state1=10;state=1;duanxin();key11=0;}
if(key12==1){state1=11;state=1;duanxin();key12=0;}
if(key13==1){state1=12;state=1;duanxin();key13=0;}
if(key14==1){state1=13;state=1;duanxin();key14=0;}
if(key15==1){state1=14;state=1;duanxin();key15=0;}
if(key16==1){state1=15;state=1;duanxin();key16=0;}
if(key17==1){state1=16;state=1;duanxin();key17=0;}
if(key18==1){state1=17;state=1;duanxin();key18=0;}
if(key19==1){state1=18;state=1;duanxin();key19=0;}
if(key20==1){state1=19;state=1;duanxin();key20=0;}
if(key21==1){state1=20;state=1;duanxin();key21=0;}
if(key22==1){state1=21;state=1;duanxin();key22=0;}
if(key23==1){state1=22;state=1;duanxin();key23=0;}
if(key24==1){state1=23;state=1;duanxin();key24=0;}
if(key25==1){state1=24;state=1;duanxin();key25=0;}
if(key26==1){state1=25;state=1;duanxin();key26=0;}
if(key27==1){state1=26;state=1;duanxin();key27=0;}
if(key28==1){state1=27;state=1;duanxin();key28=0;}
if(key29==1){state1=28;state=1;duanxin();key29=0;}
if(key30==1){state1=29;state=1;duanxin();key30=0;}
if(key31==1){state1=30;state=1;duanxin();key31=0;}
if(key32==1){state1=31;state=1;duanxin();key32=0;}
if(key33==1){state1=32;state=1;duanxin();key33=0;}
if(key34==1){state1=33;state=1;duanxin();key34=0;}
if(key35==1){state1=34;state=1;duanxin();key35=0;}
if(key36==1){state1=35;state=1;duanxin();key36=0;}
if(key37==1){state1=36;state=1;duanxin();key37=0;}
if(key38==1){state1=37;state=1;duanxin();key38=0;}
if(key39==1){state1=38;state=1;duanxin();key39=0;}
if(key44==1)
//
{if(state3==1)
{for(i=0;i<18;i++)zifu8[i]=36;write(0x88,0);
for(i=0;i<16;i++)write(' ',1);
write(0x88,0);}
key44=0;}
if(key40==1)
{if(state3==0)
{state2++;
//
if(state2==2){state2=0;state4=0;}if(state2==1)
46
{state4=1;write(0x85,0);for(i=0;i<4;i++)
write(zifu2[i],1);
//
write('1',1);}
else {state4=0;write(0x85,0);for(i=0;i<4;i++)
write(zifu1[i],1);
//
write(' ',1);
}}
key40=0;}
if(key41==1){address1=0;
state3++;
//
for(i=0;i<18;i++)zifu8[i]=36;write(0x88,0);
for(i=0;i<16;i++)write(' ',1);write(0x88,0);
if(state3==2)state3=0;if(state3==1)
{write(0x95,0);for(i=0;i<4;i++)
write(zifu3[i],1);
//
write(0x88,0);}
else {write(0x95,0);for(i=0;i<4;i++)
write(zifu4[i],1);
//
write(0x88,0);for(i=0;i<16;i++)write(' ',1);
for(i=0;i<18;i++)zifu8[i]=36;}key41=0;}
if(key42==1){if(state3==0){if(state2==1)
{state4++;
//
if(state4==9)state4=1;write(0x87,0);write(0x30+state4,1);}}
key42=0;}if(key43==1)
{zifu8[16]=state4;zifu8[17]=0;for(c=0;c<18;c++)
send(zifu8[c]);key43=0;}keyoff=0;}}}
void main(){uchar n;initial_lcd();write(0x80,0);
delay1(100);delay1(100);delay1(100);delay1(100);delay1(100);delay1(100);
for(n=0;n<10;n++)write(zifu6[n],1);
for(n=0;n<4;n++)write(zifu1[n],1);
write(0x90,0);
for(n=0;n<10;n++)write(zifu5[n],1);
for(n=0;n<4;n++)write(zifu4[n],1);
while(1)
{key_scan();keyprocess();}}
/*-------------------*/
jieshou.C
2005 9 10
/*-----------------------------------/
#include<absacc.h>
47
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define led RD
#define key_rec T1
#define BUZZER INT0
uchar data_com,data_show;
uchar dat1,dat2,dat3,dat4,dat5;
uchar a,b;
long temp1,temp0;
uint c=0;
sbit led_1=P2^7;
sbit led_2=P2^5;
sbit led_3=P2^6;
sbit led_4=P2^4;
sbit led_5=P2^3;
sbit led_6=P2^2;
sbit led_7=P2^1;
sbit led_8=P2^0;
sbit CS1=P1^0;
sbit CS2=P1^1;
sbit CS3=P1^2;
sbit clk_adc=P0^0;
sbit dout_adc=P0^1;
sbit lcd_data=P0^6;
sbit lcd_rw=P0^5;
sbit lcd_clk=P0^4;
sbit P00=P0^0;
sbit P01=P0^1;
sbit P11=P1^1;
sbit P32=P3^2;
uchar code order[4]={0x38,0x01,0x06,0x0C};
uint second,minute;
long t0count;
char da_data,i;
uchar code led_segment[13]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x0,0xFF,0x7F};
uchar shift,temp,massage_num,num;
uchar massage[48]={4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2};
uchar aa[9]={0,0,0,0,0,0,0,0};
delay(uint v)
{ while(v--);}
48
delay1(uint v)
{ while(v--) delay(200);}
write_com (uchar data_com)
{lcd_rw=0;lcd_data=0;lcd_clk=1;
P2=data_com; delay(500);lcd_clk=0;}
/*************************************/
write_data(uchar data_show)
{lcd_rw=0;lcd_data=1;lcd_clk=1;
P2=data_show;
delay(500);lcd_clk=0;
//if(P11==1)aa[5]=1;}
/**************************************************/
init_lcd(void)
{write_com(order[0]);
write_com(order[1]);
write_com(order[2]);
write_com(order[3]);}
lcd_set_display(char cursor_shift)
{ uchar bb;
write_com(0x0D);
write_com(0x88);
// for(c=0;c<8;c++)
// write_data(data1[c]);
bb=massage[34]+massage[35]*16;
write_data((P0&0x0F)+0x30);write_com(0xC0);
if((P0&0x0F)==bb||(bb==0))
{for(c=2;c<34;)
{bb=massage[c]+massage[c+1]*16;
if(bb>=10) bb=bb+39;
if(bb==75) write_data(32);else if(temp0)
write_data(bb+0x30);
c++;c++;}}else
for(c=2;c<34;){if(temp0) write_data(32);c++;
c++;}}main()
{delay(100);IT0 = 1;
EX0 = 1;/* 0 */
shift=0;EA=1;num=1;massage_num=0;
init_lcd();temp=0;temp0=0;INT1=0;
while(1)
{if(INT0==1)
{delay1(10);
massage[shift]=P1&0x0F;}
lcd_set_display(2);}}
49
50