+ All Categories
Home > Documents > Remote Image Surveillance Instrument · Visual Basic/////31/////31!!! 3 , ¶ ó ï 3 , ¶ ó ï 3 ,...

Remote Image Surveillance Instrument · Visual Basic/////31/////31!!! 3 , ¶ ó ï 3 , ¶ ó ï 3 ,...

Date post: 15-Feb-2019
Category:
Upload: hoangthuy
View: 220 times
Download: 0 times
Share this document with a friend
80
i Remote Image Surveillance Instrument
Transcript

i

Remote Image Surveillance Instrument

ii

iii

Keil uVision3

iv

v

Abstract

In recent year, the surveillance system is developed maturely. In addition to

offices, the surveillance system also can apply to guard against burglary and fire in

families. The community always can find remote monitors. Taiwan Area National

Freeway Bureau also sets up the surveillance system to control driving situations

immediately. House agency gives customs service that is customs can inspect houses

on-line.

This research can divide into two parts, one is how to control camera, the other is

how to make system-on-a-chip in computer.On the one hand, we use 8051 circuit and

server motor to control camera,which low-price and feed back rule make more

precision to control camera.It uses two server motors to control four directions, the

sphere of camera activities is more spacious than closed-circuit television.On the

other hand, we can make system-on-a-chip by Visual Basic6, it has graphical user

interface and make directly use of program.

When it comes to camera on the market,one has function for webcam,which

price ranges between NT3000 and NT8000. Besides, it has to set up wirelesslan.When

we want to use common camera to store data,we have to buy storage. The other

example, when we buy a common camera,we need to monitor remote monitoring by

third party software, but it also can have danger of personal data leakage. We use

8051 to make a camera platform,it not only reduce cost but also doesn’t set up

wirelesslan. Because camera platform connects to computer directly, computer’s

network bandwidth can supply to it and prevents personal data leakage.

Keywords:Remote monitoring Webcam

vi

Abstract

2

2

3

8051 RS 232 6

17

17

Keil uVision

Visual Basic

vii

22

28

41

47

TCP/IP

viii

ix

x

1

8051 8051 Visual

Basic 8051

2

(Single chip microcomputer One-chip)

-

:

1. :

2. :

3. :

4. :

(I/O port)

5. :

6. :

IC

1993

Java Java

3

8051

8051 ATMEL AT89C51

AT89C51 PIC AT89C51

ISP( ) ISP 8051

AT89S51 AT89C51 AT89S51

ATMEL

AT89C51 AT89S51 AT89S51

89SXX 89CXX 8051

89S51 89C51 :

ISP

33MHz 89C51

24MHz 89S51 UART

51

[1]

; ;

4

;

0

2.1 ( )

2.2 ( )

5

4V 6V

1ms

- 5 20ms

20ms

2.1

6

5V

90 128

0o - 90

“ / “

( )

±90°

( )

( C)

8051 RS 232

2.3 ( )

7

CPU CPU CPU

Universal Asynchronous Receiver Transmitter

UART

8 UART

8 8

8 10 UART

UART 0 1

1

1 0

8 8

1

(Buat Rate)

UART 1200 2400 4800 9600 19200

2.4 UART

8

UART

8051 UART 8051 UART

8051 P3.0

(RXD) P3.1 (TXD) (Special

Function Register SFR) (Serial Port Buffer SBUF)

SBUF

SBUF 8051 UART

8051

8051

8051

SBUF

SBUF

UART

UART

SFR UART

(Serial Port Control register SCON) (Power Control

register PCON)

9

SM0 SM1

(Serial Port Control Register SCON)

:98H

SM2 REN TB8 RB8 TI RI

SM0 SM1: SM0SM1=00 0

SM0SM1=01 1 8 UART

SM0SM1=10 2 9 UART

SM0SM1=11 3 9 UART

SM2: 0 0

1 SM2=1

RI=1 RI=0

2 3 SM2=1 9

RB8=1 RI=1 RB8=0

RI=0

REN: REN=1

REN=0

TB8: 9 2 3 9

RB8: 9 2 3 9

TI:

RI:

2.2

10

UART

SCON SCON

PCON SMOD

SCON SM0 SM1

1. 0 SM1 SM0 1

0 RXD

TXD 8051

1/12 SBUF

8051CPU SCON TI 1

SCON REN

RI

8051CPU SCON 1

(Power Control Register PCON)

:87H

SMO GF1 GF0 PD IDL

SMOD: SMOD=1

SMOD=0

GF1:

GF0:

PD: PD=1

2.3

11

0 I/O RXD TXD

(PISO) IC 8 RXD TXD

(SIPO) IC 8

2. 1 SM1 1 SM0 0

1 8051CPU 10 10

3

(1) 0

(2) 8

(3) 1

1 Timer 1

12

8051CPU SBUF

CPU SCON TI

RXD 1 0 CPU 10bit

CPU RI SM2

(1)RI 0

(2)SM2 0 1

8051CPU 8 SBUF

SCON RB8 RI 1

Timer1

SMOD C/T

0 ( 1M) 12M Hz × × × ×

2 ( 375K) 12M Hz 1 × × ×

1 3 ( 62.5K) 12M Hz 1 0 2 FFH

19200 11.0592M Hz 1 0 2 FDH

9600 11.0592M Hz 0 0 2 FDH

4800 11.0592M Hz 0 0 2 FAH

2400 11.0592M Hz 0 0 2 F4H

1200 11.0592M Hz 0 0 2 E8H

137.5 11.0592M Hz 0 0 2 1DH

110 6M Hz 0 0 2 72H

110 12M Hz 0 0 1 FEEBH

2.4

13

3. 2 SM1 0 SM0 1

2 8051CPU 11 11

4

(1) 0

(2) 8

(3) (TB8 RB8)

(4) 1

2 SMOD SMOD 0 375K Hz

SMOD 1 187.5K Hz SCON

TB8 SBUF

TB8

8051CPU SCON TI

RXD 1 0 8051CPU

11 CPU RI SM2

(1)RI 0

(2)SM2 0 1

8051CPU 8 SBUF

SCON RB8 RI 1

4. 3 SM1 1 SM0 1

3 2 3

1 Timer1

14

1 3 Timer

(1) Timer1 TH1 TL1(UART 0

2 )

(2) SMOD 0 1

(3) RI TI 0 REN 1

(4)

(5) Timer1 (UART 0 2 )

(6) MOV SBUF XX UART [2]

RS232

(serial) (parallel)

A Byte B

8 bits 8 clock

8 1 bit 1 clock 8 bits

2.5

15

RS232 1.6 1.5 RS-232 9

RS-232

RS-232

UART(Universal Asynchronous Receiver Transmitter)

2.6 RS-232

Pin1 CD (Carrier Detect)

Pin2 RXD (Receive)

Pin3 TXD (Transmit)

Pin4 DTR (Data Terminal Ready)

Pin5 GND (Ground)

Pin6 DSR (Data Set Ready)

Pin7 RTS (Request To Send)

Pin8 CTS (Clear To Send)

Pin9 RI (Ring Indicator)

2.5

16

SPI IC

3 11001010

Start(Low) Stop(High)

11001010 Byte 10 clock

Start Stop 1 1.5 2

RS-232

RS-232

8 RS-232

5~8

4.3

bits

bit “

bits” “Baud Rate ” Baud Rate=9600

9600 [3]

8

(ASCII) 7 7

RS-232 8

(Parity) 1

2.7 RS-232

17

(Odd Parity) (Even Parity)

8

(Non Parity)

RS-232 “9600, N, 8, 1”

Baud Rate 9600 8 “1”

1

89C51 TTL

RS232 RS232

RS232 IC MAX232

PC

MAX232

MAX232 IC TTL RS-232

555 DC-DC MAX232 IC

+5V

( ) CPU CPU

”0” ”1”

8051 24H(

00100100B)

”ADD A #data”

18

( C)

C

C

CPU C

8051 KEIL. IAR

2.8

19

CPU

( )

C

[4]

PC COM1

PC COM1

VP51

89S51

89S51

40PIN IO51

8051

IO51

8051

LO51 89S51

8051 KEIL C

IO51

89S51

1.9 8051

20

Keil uVision3

Visual Basic

Basic “ ” Basic Beginner’s All-purpose

Symbolic Instruction Code “

” Dartmouth John G.Kemeny Thomas E.Kurtz

BASIC

64KB

BASIC

1988 Quick BASIC 4.5( QB) QB

Windows (graphic user

interface GUI) Visual Basic( VB) Basic 1991

Windows Basic GWBASIC

QBASIC DOS VB

Visual Basic Visual

BASIC

What You See is What you Get WYSWYG

VB

(Integrated

Develop Environment,IDE)

21

VB :

1.

2.

3.

4.

5.

6.

7. Active X

8. Access Dbase SQL

9. (Dynamic HTML)

10. Windows IIS

11. (Personal Digital Assistant,PDA) Windows CE

[5]

22

8051 8051

8051

rs232 A A

8051

A

TU:

JB P2.3,TD

TUA:

CALL UP ; ( )

JNB P2.3,TUA

” ”

8051 2.3 2.3 0 1 8051

8051 8051

1 8051 UP UP

” ”

;

UP:

MOV A,4EH

CJNE A,#70,IR_D2 ;4BH 70 IR_D2

23

JMP IR_D3 ; IR_D3 1

IR_D2:

DEC 4EH ; 1

IR_D3:

MOV 4FH,4EH

MOV 3EH,#2 ;PWM =2

CALL PLOOP2 ; Y

RET

8051

1

” ”

24

RS232

RS232

40H=1

40H=2

40H=3

40H=4

40H=5

40H=6

40H=7

40H=8

A

15 40H=0

15 40H=0

15 40H=0

15 40H=0

B

3.1 ( )

25

( ) 8051 ”

” ” ” ”15 ” ”

” rs232 ”U” 8051 ”U” 8051

”SBUF” 8051

”15 ” ”u” 8051

:

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, x As

Single, y As Single) '

If Option1.Value = True Then '

Comm1.Output = "U" ' U 8051

Else

End If

If Option2.Value = True Then ' 15

Comm1.Output = "u" ' u 8051

Else

End If

End Sub

8051 ”U” ”u” 8051

”U” 1 8051 ”

” ”u” 5 8051 ”

15 ” 8051 15 :

26

;

UP:

MOV A,4EH

CJNE A,#70,IR_D2 ;4BH 70 IR_D2

JMP IR_D3 ; IR_D3 1

IR_D2:

DEC 4EH ; 1

IR_D3:

MOV 4FH,4EH

MOV 3EH,#2 ;PWM =2

CALL PLOOP2 ; Y

RET

; 15

UP2:

MOV A,4EH

CJNE A,#70,ID2 ;4BH 70 ID2

JMP ID3 ; ID3 15

ID2:

CLR C

MOV A,4EH

SUBB A,#15 ; 15

MOV 4EH,A

ID3:

MOV 4FH,4EH

MOV 3EH,#20 ;PWM =20

CALL PLOOP2 ; Y

27

RET

28

Winsock Internet Winsock

Winsock

Winsock :

TCP : Internet Intranet

UDP : Internet

Winsock

Winsock :

BytesReceived

GetData

BytesReceived

BytesReceived :

= Winsock1.BytesReceived

LocalHostName

LocalHostName

LocalHostName

29

LocalHostName :

= Winsock1.LocalHostName

LocalIP

LocalIP

LocalIP

:

= Winsock1.LocalIP

LocalPort

LocalPort

0~65535

0

LocalPort :

LocalPort

Winsock1. LocalPort =

LocalPort

= Winsock1.LocalPort

Protocol

Winsock Protocol TCP

UDP Protocol :

Protocol

Winsock1. Protocol [ =Protocol]

Protocol

= Winsock1. Protocol

30

Protocol :

TCP : sckTCPProtocol 0

UDP : sckUDPProtocol 1

RemoteHost

DNS ( :ns1.colins.idv.tw) IP ( :192.168.1.1) RemoteHost

:

RemoteHost

Winsock1. RemoteHost =

RemoteHost

= Winsock1. RemoteHost

RemoteHostIP

IP RemoteHostIP

:

RemoteHostIP

Winsock1. RemoteHostIP =

RemoteHostIP

= Winsock1.RemoteHostIP

RemotePort

RemotePort ActiveX

80

RemotePort

Winsock1. RemotePort = port

31

RemotePort

= Winsock1.RemotePort

State

State

State :

State

= Winsock1.State

State :

sckClosed 0

sckOpen 1

sckListening 2

sckConnectionPending 3

sckResolvingHost 4

sckHostResolved 5

sckConnecting 6

sckConnected 7

sckClosing 8

sckError 9

Winsock :

3.1 State

32

Accept

TCP Accept

ConnectionRequest Accept :

Winsock1.Accept requested

Bind

UDP UDP IP

Winsock1.Bind LocalPort,LocalIP

Close

Close TCP Socket

Close :

Winsock1.Close

Connect

Winsock Connect Winsock

Connect :

Winsock1.Connect()

GetData

GetData Variant

Winsock GetData

:

Winsock1.GetData data, [type,] [maxLen]

33

data type maxLen :

Data: data

Empty

Type: ”data ”

maxLen:

data :

Byte VbByte

Integer VbInteger

Long vbLong

Single vbSingle

Double vbDouble

Currency vbCurrency

Date vbDate

Boolean vbBoolean

SCODE vbSCODE

String vbString

Byte Array vbArray + vbByte

Listen

TCP Listen Socket

3.2 data

34

Listen :

Winsock1.Listen

PeekData

PeekData GetData PeekData

TCP :

Winsock1.PeekData data, [type,] [maxLen]

PeekData :

Data: data

Empty

Type: ”data ”

maxLen:

data :

Byte VbByte

Integer VbInteger

Long vbLong

Single vbSingle

Double vbDouble

Currency vbCurrency

Date vbDate

35

Boolean vbBoolean

SCODE vbSCODE

String vbString

Byte Array vbArray + vbByte

SendData

SendData SendData :

Winsock1.SendData data

data

:

: BMP JPG GIF TIF…

: EXE COM…

: DLL

Winsock :

Close

Close

TCP

Private Sub Winsock1_Close()

End Sub

Connect

Connect Connect

36

:

Private Sub Winsock1.Connect(ErrorOccurred As Boolean)

End Sub

Connect ErrorOccurred

ErrorOccurred :

True:

False:

ConnectionRequest

ConnectionRequest TCP

ConnectionRequest ConnectionRequest

RemoteHostIP RemotePort

ConnectionRequest :

Private Sub Winsock1_ConnectionRequest (ByVal requested As Long)

End Sub

requestID

:

Private Sub Winsock1_ConnectionRequest (ByVal requested As Long)

Accept

Accept

Winsock1.Accept requested

End Sub

37

DataArrival

Winsock

DataArrival DataArrival :

Private Sub Winsock1_DataArrival (ByVal bytesTotal As Long)

End Sub

DataArrival bytesTotal

Error

Winsock Error Error

:

Private Sub Winsock1_Error( _

ByVal Number As Integer, Description As String, _

ByVal Scode As Long, ByVal Source As String, _

ByVal HelpFile As String, ByVal HelpContext As Long, _

CancelDisplay As Boolean)

End Sub

Error :

number:

description:

Scode:SCODE

Source:

38

HelpFile:

HelpContext:Help

Winsock TCP

Winsock Protocol sckTCPProtocol

TCP TCP

TCP :

Winsock (UDP)

UDP

UDP

NetBIOS NetBIOS

(SNMP) UDP UDP

:a :a

RemotePort LocalPort

3.3 TCP

39

UDP :

UDP

UDP

UDP Checksum UDP UDP

UDP IP UDP

TCP UDP

UDP :

15 NETSTAT

53 DNS

69 TFTP

137 NetBIOS

138 NetBIOS

161 SNMP

Winsock Protocol sckUDPProtocol

UDP UDP

3.5 UDP

3.4 UDP

40

RemotePort LocalPort

UDP [6]:

:a2 :a1

B A

b2 b1

a2 a1

=RemotePort

=LocalPort

3.4 UDP

41

8051

R110K

P3.5

P0.7

C4

30PF

P3.2

+5V

P1.3

P0.6

+5V

P3.0

P1.2

P2.5

P2.1

P0.4

P1.4

P2.7

P2.0

P0.5

P2.3P3.4

P1.5

P2.2

P3.6

+C710uF/25V

C6

30PF

P1.1P3.7

P1.7

P0.2

P1.6 P3.1

P1.0

P0.1

P2.6

P3.3

U2

80C51

31

19

18

9

12131415

12345678

3938373635343332

2122232425262728

171629301110

20

40

EA/VPP

XTAL1

XTAL2

RESET

P3.2_INT0P3.3_INT1P3.4_T0P3.5_T1

P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7

P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7

P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7

P3.7_RDP3.6_WR

PSENALE/PROG

P3.1_TXDP3.0_RXD

GND

VCC

Y1

12MHZ

P2.4

P0.0

P0.3

8051 8051

8051

42

J1POWER

1

2

+9V

GND C9104

+9V +5V

+C8

220uF/16V

U3

78M051

2

3VOUT

GN

D

VIN

IC 78M05 IC input:7V~20V

output:4.75V~5.25V 5V

RS232

C1

22uF

C3 22uF

P3.0

C2 22uF

+5V

C5 22uF

U1

MAX232

134526

129

1110

138

147

C1+C1-C2+C2-V+V-

R1OUTR2OUT

T1INT2IN

R1INR2IN

T1OUTT2OUT

P3.1

P1CONNECTOR DB9

5 9 4 8 3 7 2 6 1

RS232 MAX232 RS232 8051 IC

RS232

IC

43

P1.0

P1.1+5V

+5V

MG2

X

123

MG1

Y

123

44

45

3.8 3.9 3.8

90 3.9 90

20ms 0.5ms

46

90

2.5ms 90

0.5ms 2.5ms

90 90 8051

0.5ms 0.15ms

15

1 4 C1,C2,C3,C5 22uF

2 2 C6,C4 30PF

3 1 C7 10uF/25V

4 1 C8 220uF/16V

5 1 C9 104

6 1 J1

7 1 MG1 Y

8 1 MG2 X

9 1 P1 rs232

10 1 R1 10K

11 1 U1 MAX232

12 1 U2 80C51

13 1 U3 78M05

14 1 Y1 12MHZ

4.1

47

4.10 Visual Basic ( )

4.11 Visual Basic ( )

48

3.10 3.11 Visual Basic

” ” ”15 ” IP

” ”

”15 ”

15 IP IP

0 65535

” ” ”15

” IP

TCP/IP

IP IPv4 0 255

0.0.0.0 255.255.255.255 256*256*256*256 IP

IP IPv4

IP IP (debug)

49

A 10.0.0.0 – 10.255.255.255

256*256*256 IP

B 172.16.0.0 – 172.31.255.255

16*256*256 IP

C 192.168.0.0 – 192.168.255.255

256*256 IP

IP IP (

100 ) IP(1 IP + 100

IP) ( 100 IP 192.168.0.0

192.168.0.100 100 192.168.0.0

192.168.0.100 IP 1 IP + 100 IP )

IP

4.12 IP

4.2 IP

50

IP IP 3.12 IP

IP 192.168.0.113 LAN :

(1)

(2)

/

(3)

(4)

3.13 LAN WAN IP IP

4.13 IP

51

3.14

IP

4.14

52

53

54

55

8051 Visual Basic

8051

Visual Basic 8051

8051

DIjpg.dll

.bmp .jpg

IP IP IP

IP IP

IP

8051

8051

56

57

8051 2007.3

8051 2006.2

VB RS232

2001.06

8051 Keil uVision3 2009.9

Visual Basic ( ) 2008.7

Visual Basic 2003.12

Visual Basic 2002.3

58

8051

ORG 00H

AJMP START

ORG 0023H ;RS232

JNB RI,NON

CLR RI

RECEV:

MOV A,SBUF ; SBUF ->A

CJNE A,#'U',R2 ; U R2

MOV 40H,#1 ;40H 1

JMP OKBACK

R2:

CJNE A,#'D',R3 ; D R3

MOV 40H,#2 ;40H 2

JMP OKBACK

R3:

CJNE A,#'L',R4 ; L R4

MOV 40H,#3 ;40H 3

JMP OKBACK

R4:

CJNE A,#'R',R5 ; R R5

MOV 40H,#4 ;40H 4

JMP OKBACK

R5:

CJNE A,#'S',R6 ; S R6

59

MOV 40H,#0 ;40H 0

JMP OKBACK

R6:

CJNE A,#'u',R7 ; u R7

MOV 40H,#5 ;40H 5

JMP OKBACK

R7:

CJNE A,#'d',R8 ; d R8

MOV 40H,#6 ;40H 6

JMP OKBACK

R8:

CJNE A,#'l',R9 ; l R9

MOV 40H,#7 ;40H 7

JMP OKBACK

R9:

CJNE A,#'r',R10 ; r R10

MOV 40H,#8 ;40H 8

JMP OKBACK

R10:

JMP OKBACK

NON:

CLR TI

OKBACK:

RETI

START:

MOV P1,#00000000B

60

MOV TMOD,#00100000B ; RS232 9600

MOV TH1,#253

MOV TL1,#253

SETB TR1

MOV SCON,#01110000B

CLR RI

CLR TI

SETB ES

SETB EA

MOV 40H,#0

CALL CENTER ;X

CALL CENTER2 ;Y

;

LOOP:

MOV A,40H

CJNE A,#1,L2 ;40H=1 L2

CALL UP ; ( )

JMP LOOP

L2:

MOV A,40H

CJNE A,#2,L3 ;40H=2 L3

CALL DOWN ; ( )

JMP LOOP

L3:

MOV A,40H

CJNE A,#3,L4 ;40H=3 L4

61

CALL LEFT ; ( )

JMP LOOP

L4:

MOV A,40H

CJNE A,#4,L5 ;40H=4 L5

CALL RIGHT ; ( )

JMP LOOP

L5:

MOV A,40H

CJNE A,#5,L6 ;40H=5 L6

MOV 40H,#0 ;40H 0

CALL UP2 ; 15 ( )

JMP LOOP

L6:

MOV A,40H

CJNE A,#6,L7 ;40H=6 L7

MOV 40H,#0 ;40H 0

CALL DOWN2 ; 15 ( )

JMP LOOP

L7:

MOV A,40H

CJNE A,#7,L8 ;40H=7 L8

MOV 40H,#0 ;40H 0

CALL LEFT2 ; 15 ( )

JMP LOOP

L8:

62

MOV A,40H

CJNE A,#8,TU ;40H=8 TU

MOV 40H,#0 ;40H 0

CALL RIGHT2 ; 15 ( )

JMP LOOP

TU:

JB P2.3,TD

TUA:

CALL UP ; ( )

JNB P2.3,TUA

TD:

JB P2.0,TL

TDA:

CALL DOWN ; ( )

JNB P2.0,TDA

TL:

JB P2.1,TR

TLA:

CALL LEFT ; ( )

JNB P2.1,TLA

TR:

JB P2.2,TJ

TRA:

CALL RIGHT ; ( )

JNB P2.2,TRA

TJ:

63

JMP LOOP

;

RIGHT:

MOV A,4BH

CJNE A,#70,IR_L2 ;4BH 70 IR_L2

JMP IR_L3 ; IR_L3 1

IR_L2:

DEC 4BH ; 1

IR_L3:

MOV 4DH,4BH

MOV 3EH,#2 ;PWM =2

CALL PLOOP ; X

RET

; 15

RIGHT2:

MOV A,4BH

CJNE A,#70,IL2 ;4BH 70 IL2

JMP IL3 ; IL3 15

IL2:

CLR C

MOV A,4BH ; 15

SUBB A,#15

MOV 4BH,A

IL3:

MOV 4DH,4BH

MOV 3EH,#20 ;PWM =20

64

CALL PLOOP ; X

RET

;

LEFT:

MOV A,4BH

CJNE A,#250,IR_R2 ;4BH 250 IR_R2

JMP IR_R3 ; IR_R3 1

IR_R2:

INC 4BH ; 1

IR_R3:

MOV 4DH,4BH

MOV 3EH,#2 ;PWM =2

CALL PLOOP ; X

RET

; 15

LEFT2:

MOV A,4BH

CJNE A,#250,IR2 ;4BH 250 IR2

JMP IR3 ; IR3 15

IR2:

CLR C

MOV A,4BH ; 15

ADD A,#15

MOV 4BH,A

IR3:

MOV 4DH,4BH

65

MOV 3EH,#20 ;PWM =20

CALL PLOOP ; X

RET

;

UP:

MOV A,4EH

CJNE A,#70,IR_D2 ;4BH 70 IR_D2

JMP IR_D3 ; IR_D3 1

IR_D2:

DEC 4EH ; 1

IR_D3:

MOV 4FH,4EH

MOV 3EH,#2 ;PWM =2

CALL PLOOP2 ; Y

RET

; 15

UP2:

MOV A,4EH

CJNE A,#70,ID2 ;4BH 70 ID2

JMP ID3 ; ID3 15

ID2:

CLR C

MOV A,4EH

SUBB A,#15 ; 15

MOV 4EH,A

ID3:

66

MOV 4FH,4EH

MOV 3EH,#20 ;PWM =20

CALL PLOOP2 ; Y

RET

;

DOWN:

MOV A,4EH

CJNE A,#250,IR_U2 ;4BH 250 IR_U2

JMP IR_U3 ; IR_U3 1

IR_U2:

INC 4EH ; 1

IR_U3:

MOV 4FH,4EH

MOV 3EH,#2 ;PWM =2

CALL PLOOP2 ; Y

RET

; 15

DOWN2:

MOV A,4EH

CJNE A,#250,IU2 ;4BH 250 IU2

JMP IU3 ; IU3 15

IU2:

CLR C

MOV A,4EH ; 15

ADD A,#15

MOV 4EH,A

67

IU3:

MOV 4FH,4EH

MOV 3EH,#20 ;PWM =20

CALL PLOOP2 ; Y

RET

;

CENTER:

MOV 4BH,#160 ; 0

MOV 4DH,#160 ; 0

MOV 3EH,#25 ;PWM =25

C1:

SETB P1.0 ; PWM

CALL PWMM ; 0.01mS

DJNZ 4BH,C1 ; 4BH 4BH 1 0 C1

MOV 4BH,4DH ;4BH

CLR P1.0 ; PWM

CALL UNITW ; 18mS

DJNZ 3EH,C1 ; 25

RET

;

CENTER2:

MOV 4EH,#160 ; 0

MOV 4FH,#160 ; 0

MOV 3EH,#25 ;PWM =25

C2:

SETB P1.1 ; PWM

68

CALL PWMM ; 0.01mS

DJNZ 4EH,C2 ; 4EH 4EH 1 0 C1

MOV 4EH,4FH ;4EH

CLR P1.1 ; PWM

CALL UNITW ; 18mS

DJNZ 3EH,C2 ; 25

RET

;X

PLOOP:

R25:

SETB P1.0 ;

CALL PWMM ; 0.01mS

DJNZ 4BH,R25 ; 4BH 4BH 1 0 R25

MOV 4BH,4DH ;4BH

CLR P1.0 ;

CALL UNITW ; 18mS

DJNZ 3EH,R25 ; ? ?=3EH

RET

;Y

PLOOP2:

R26:

SETB P1.1 ;

CALL PWMM ; 0.01mS

DJNZ 4EH,R26 ; 4EH 4EH 1 0 R26

MOV 4EH,4FH ;4EH

CLR P1.1 ;

69

CALL UNITW ; 18mS

DJNZ 3EH,R26 ; ? ?=3EH

RET

;

PWMM:

PWMM2:

NOP

NOP

RET

;

DEL:

MOV R6,#5

F1:

MOV R7,#52

F2:

DJNZ R7,F2

DJNZ R6,F1

RET

;

UNITW:

MOV R4,#32

UN1:

CALL DEL

DJNZ R4,UN1

RET

;

70

DETDY1S:

MOV R5,#10

DL0:

MOV R6,#150

DL1:

MOV R7,#200

DL2:

DJNZ R7,DL2

DJNZ R6,DL1

DJNZ R5,DL0

RET

END


Recommended