Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BASCOM AVR, help reference (2007).PDF
Скачиваний:
281
Добавлен:
12.08.2013
Размер:
17.02 Mб
Скачать

© MCS Electronics, 1995-2007

All trig functions work with radians. Use deg2rad and rad2deg to convert between radians and angles.

See Also

DEG2RAD

Example

'-----------------------------------------------------------------------------

 

--

: (c) 1995-2005, MCS Electronics

'copyright

'micro

: Mega48

'suited for demo

: yes

'commercial addon needed

: no

'purpose

: demonstrates DEG2RAD function

'-----------------------------------------------------------------------------

 

--

 

Dim S As Single

 

S = 90

 

S = Deg2Rad(s)

 

Print S

 

S = Rad2deg(s)

 

Print S

 

End

 

RC5SEND

Action

Sends RC5 remote code.

Syntax

RC5SEND togglebit, address, command

Uses

TIMER1

Remarks

Togglebit

Make the toggle bit 0 or 32 to set the toggle bit

Address

The RC5 address

Command

The RC5 command.

 

 

The resistor must be connected to the OC1A pin. In the example a 2313 micro was used. This micro has pin portB.3 connected to OC1A.

Look in a datasheet for the proper pin when used with a different chip.

Most audio and video systems are equipped with an infra-red remote control. The RC5 code is a 14-bit word bi-phase coded signal.

The two first bits are start bits, always having the value 1.

page -600-

© MCS Electronics, 1995-2007

The next bit is a control bit or toggle bit, which is inverted every time a button is pressed on the remote control transmitter.

Five system bits hold the system address so that only the right system responds to the code.

Usually, TV sets have the system address 0, VCRs the address 5 and so on. The command sequence is six bits long, allowing up to 64 different commands per address.

The bits are transmitted in bi-phase code (also known as Manchester code). An IR booster circuit is shown below:

See also

CONFIG RC5 , GETRC5 , RC6SEND

Example

'-----------------------------------------------------------------------------

 

------------

: sendrc5.bas

'name

'copyright

: (c) 1995-2005, MCS Electronics

'purpose

: code based on application note from Ger Langezaal

'micro

: AT90S2313

'suited for demo

: yes

'commercial addon needed

: no

'-----------------------------------------------------------------------------

 

------------

 

$regfile = "2313def.dat"

' specify the used

micro

' used crystal

$crystal = 4000000

frequency

' use baud rate

$baud = 19200

$hwstack = 32

' default use 32

for the hardware stack

' default use 10

$swstack = 10

for the SW stack

' default use 40

$framesize = 40

for the frame space

 

' +5V <---[A Led K]---[220 Ohm]---> Pb.3 for 2313.

'RC5SEND is using TIMER1, no interrupts are used

'The resistor must be connected to the OC1(A) pin , in this case PB.3

Dim Togbit As Byte , Command As Byte , Address As Byte

Command =

12

' power on off

32

Togbit = 0

' make it 0 or

to set the toggle bit

 

 

Address =

0

 

 

page -601-

© MCS Electronics, 1995-2007

Do

Waitms 500

Rc5send Togbit , Address , Command

'or use the extended RC5 send code. You can not use both 'make sure that the MS bit is set to 1, so you need to send '&B10000000 this is the minimal requirement

'&B11000000 this is the normal RC5 mode '&B10100000 here the toggle bit is set

' Rc5sendext &B11000000 , Address , Command

Loop

End

RC5SENDEXT

Action

Sends extended RC5 remote code.

Syntax

RC5SENDEXT togglebit, address, command

Uses

TIMER1

Remarks

Togglebit

Make the toggle bit 0 or 32 to set the toggle bit

Address

The RC5 address

Command

The RC5 command.

 

 

Normal RC5 code uses 2 leading bits with the value '1'. After that the toggle bit follows. With extended RC5, the second bit is used to select the bank. When you make it 1 (the default and normal RC5) the RC5 code is compatible. When you make it 0, you select bank0 and thus use extended RC5 code.

The resistor must be connected to the OC1A pin. In the example a 2313 micro was used. This micro has pin portB.3 connected to OC1A.

Look in a datasheet for the proper pin when used with a different chip.

Most audio and video systems are equipped with an infra-red remote control. The RC5 code is a 14-bit word bi-phase coded signal.

The two first bits are start bits, always having the value 1.

The next bit is a control bit or toggle bit, which is inverted every time a button is pressed on the remote control transmitter.

Five system bits hold the system address so that only the right system responds to the code.

Usually, TV sets have the system address 0, VCRs the address 5 and so on. The command sequence is six bits long, allowing up to 64 different commands per address.

The bits are transmitted in bi-phase code (also known as Manchester code). An IR booster circuit is shown below:

page -602-

© MCS Electronics, 1995-2007

See also

CONFIG RC5 , GETRC5 , RC6SEND

Example

'-----------------------------------------------------------------------------

 

------------

: sendrc5.bas

'name

'copyright

: (c) 1995-2005, MCS Electronics

'purpose

: code based on application note from Ger Langezaal

'micro

: AT90S2313

'suited for demo

: yes

'commercial addon needed

: no

'-----------------------------------------------------------------------------

 

------------

 

$regfile = "2313def.dat"

' specify the used

micro

' used crystal

$crystal = 4000000

frequency

' use baud rate

$baud = 19200

$hwstack = 32

' default use 32

for the hardware stack

' default use 10

$swstack = 10

for the SW stack

' default use 40

$framesize = 40

for the frame space

 

' +5V <---[A Led K]---[220 Ohm]---> Pb.3 for 2313.

'RC5SEND is using TIMER1, no interrupts are used

'The resistor must be connected to the OC1(A) pin , in this case PB.3

Dim Togbit As Byte , Command As Byte , Address As Byte

 

Command = 12

' power on off

Togbit = 0

' make it 0 or 32

to set the toggle bit

 

Address = 0

 

Do

 

Waitms 500

' Rc5send Togbit , Address , Command

'or use the extended RC5 send code. You can not use both 'make sure that the MS bit is set to 1, so you need to send '&B10000000 this is the minimal requirement

'&B11000000 this is the normal RC5 mode '&B10100000 here the toggle bit is set Rc5sendExt &B11000000 , Address , Command

Loop

End

page -603-