0% found this document useful (0 votes)
46 views

Sh79f1611 App.note Cv2.0

Uploaded by

Gerda Stimmel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Sh79f1611 App.note Cv2.0

Uploaded by

Gerda Stimmel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

SH79F1611

SH79F1611

1
SH79F1611 8051 FLASH

SH79F JET51
Keil µ vision JTAG

1.1
SH79F1611 TQFP48

2
2.1

1) Keilc uvision2 (V2.38 ) uvision3 uvision4


2) SH79F Sino_Keil.exe Keilc ( : c:\keil\)
3) JET51 USB USB

2.2

1) SH79F1611 JTAG (VDD TCK TDI TMS TDO GND)


JET51 JTAG

V 2.0
SH79F1611

PWR
JET51
USB VDD TCK VDD TCK
GND TDI 10 10 GND TDI
SH79F1611
USB
GND TMS GND TMS
PINs PINs
TDO TDO
GND GND

Target Board

2 JET51 JTAG
JTAG
VDD

JET 51
SH79F1611

VDD
TCK
TDI
TMS
TDO
GND

To Application
Circuit

Jumper

3)
4 220µF

2/27 V 2.0
SH79F1611

2.3 project
: User aa.asm
Project :

1:
ProjectÆNew Project

2:

User
( Prj01.Uv2)

3:
Sino Wealth
8051 Devices OK

4:
SH79F1611

5:

3/27 V 2.0
SH79F1611

6:
Project
ÆOptions for Target ‘Target1’

7:
DebugÆUse
ÆSino Wealth 8051
JET Driver

8:
Utilities
ÆSino Wealth 8051
JET Driver
Æ

9:
Output
Æ Create HEX
File Æ

4/27 V 2.0
SH79F1611

10:
Target1
Æ Source Group1
Æ User
Æ aa.asm
Æ Add

11:
10 Add Files to
Group ‘Source Group1’
Æ Source Group1
Æ aa.asm

5/27 V 2.0
SH79F1611

12:
, ,
,

, ,

6/27 V 2.0
SH79F1611

2.4
2.4.1
Project\Build target( ) OBJ
HEX (Error) OBJ HEX

7/27 V 2.0
SH79F1611

2.4.2
2.4.2.1
CODE OPTION

1:
Project
ÆOptions for Target ‘Target 1’
( )

2:
Utilities
ÆSetting
Æ SH79F1611

8/27 V 2.0
SH79F1611

3:

option
OK

4:
EEPROM
Advanced
EEPROM
EEPROM
EEPROM

5:

9/27 V 2.0
SH79F1611

: JET51 2 3
1) 1: JET51
” 5V(JET51)” ”Power off Power On again” “Power Off Power On
again” “ / JTAG ”
JET51
JET51
20mA 1
2) 2:
“External(Target board)”

:
1
2 JET51
3 JET51 PC USB USB
4

2.4.2.2

”Download”
FlashÆDownload

Download

10/27 V 2.0
SH79F1611

2.5
Debug\ Start/Stop Debug Session

JTAG 0000H SP
07H Debug
Step Step Over Run Stop

:
1)
2) Step Over ACALL LCALL ACALL LCALL

3) 7 7 7

4) JTAG
5) ( )

11/27 V 2.0
SH79F1611

3 :
3.1 8051
SH79F1611 8051 8051 ,
8051 ( keil c ) :
3.1.1 SH79F1611 1 51 12
8051 10
DATASHEET
3.1.2 SH79F1611 8051CPU CPU /
16bit×8bit 16bit÷8bit MUL(INSCON.2) DIV(INSCON.3) 8
16 / 0, C
16 bit 1611
16bit×16bit 32 8
32bit÷16bit
3.1.3 SH79F1611 DPTR
DPS(INSCON.0) DPTR0 DPTR1
DPS 0, C
3.1.4 SH79F1611 MOVX @Ri,A MOVX A @Ri 8
XPAGE RAM
XPAGE 0, C
3.1.5 SH79F1611 8051
3.1.6 SH79F1611 FAC(FLASHCON.0) EEPROM
0, C
DATASHEET

3.2 FLASH ROM


3.2.1 SH79F1611 16KB FLASH ROM 1KB 1 sector
mass
erase
SH79F1611 2KB EEPROM 256 BYTE 1 sector
EEPROM mass erase
EEPROM
3.2.2 FLASH ROM sector FLASH ROM
SSP EEROM 0 1
1 0 sector erase
3.2.3 SH79F1611 ICP
P1.5~P1.2

12/27 V 2.0
SH79F1611

VDD 220µF

3.2.4 FLASH /
3.2.4.1 SSP
1 1

2 XPAGE IB_OFFSET

CODE SSP 2
CODE SSP EEPROM FLASH EEPROM
XPAGE IB_OFFSET SPEC EEPROM
FLASHCON FAC 1
FLASHCON FAC 0
3 IB_DATA FLASH
4 IB_CON1~5
IB_CON1Æ #6EH
IB_CON2Æ #05H
IB_CON3Æ #0AH
IB_CON4Æ #09H
IB_CON5Æ #06H
NOP
MOP
NOP
NOP
5 0
5
5 IB_CON5 CPU IDLE
CPU
6 4 NOP CPU IDLE

7 2
8 XPAGE 0
9

13/27 V 2.0
SH79F1611

CLR EA 1
MOV FLASHCON,#01H EEPROM
MOV XPAGE,#18H 2
MOV IB_OFFSET,#00H
MOV IB_DATA,#05H 3
MOV IB_CON1,#6EH 4
MOV IB_ CON2,#05H
MOV IB_ CON3,#0AH
MOV IB_ CON4,#09H
MOV IB_ CON5,#06H
/* 5 CPU IDLE */
NOP 6
NOP
NOP
NOP
/* 7 */
MOV XPAGE,#00H 8
SETB EA
MOV FLASHCON,#00H EEPROM
3.2.4.2
1 1

2 XPAGE 1KB XPAGE 6


SH79F1611ROM 16KB XPAGE 2 0 bit5~2
XPAGE 2 bit1~0 IB_OFFSET

CODE SSP 2
CODE SSP EEPROM FLASH EEPROM
XPAGE IB_OFFSET SPEC EEPROM
FLASHCON FAC 1
FLASHCON FAC 0
3 IB_CON1~5
IB_CON1~5
IB_CON1----Æ #0E6H
IB_CON2 ---Æ #05H
IB_CON3----Æ #0AH

14/27 V 2.0
SH79F1611

IB_CON4 ----Æ #09H


IB_CON5 ----Æ #06H
NOP
NOP
NOP
NOP
5
0 5

4 IB_CON5 CPU IDLE


CPU
5 4 NOP CPU IDLE

6 2
7 XPAGE 0
8
CLR EA 1
MOV FLASHCON,#01H EEPROM
MOV XPAGE,#18H 2
MOV IB_CON1,#0E6H 3
MOV IB_ CON2,#05H
MOV IB_ CON3,#0AH
MOV IB_ CON4,#09H
MOV IB_ CON5,#06H
/* 4 CPU IDLE */
NOP 5
NOP
NOP
NOP
/* 6 */
MOV XPAGE,#00H 7
SETB EA
MOV FLASHCON,#00H EEPROM

15/27 V 2.0
SH79F1611

3.3 RAM
3.3.1 SH79F1611 256 bytes RAM 0-0FFH 1280 bytes RAM
3.3.2 RAM 0~0FFH 0~7FH
80~0FFH

3.3.3 RAM 0~4FFH 8051 RAM 0~0FFH 256 bytes


MOVXA @Ri i=0 1 SH79F1611 XPAGE
0F7H MOVX A @Ri
RAM

3.4 RC 128kHz & RC 27MHz


3.4.1 OSCSCLK 128kHz RC OSCXCLK
XTALX 27M RC
1 HFON = 1 OSCXCLK
2
3 FS = 1 OSCXCLK OSCSCLK
3.4.2 OSCSCLK OSCXCLK 128kHz RC
1 FS 0 128kHz RC OSCSCLK
2 1 NOP
3 HFON 0 OSCXCLK
4 4 NOP
3.5 Idle & Power-down
IDLE Power-down 3 NOP .
MOV 8EH #55H
ORL PCON #01H idle mode #02H Power-down mode
NOP
NOP
NOP
…… . Idle
3 NOP .

16/27 V 2.0
SH79F1611

3.6
3.6.1 Port
3.6.1.1 I/O PORT I/O

30kΩ PORT
PORT PORT

5 NOP

3.6.1.2 Port INT0/P1.2


1 INT0
2 5 NOP
3 INT0 88H.0 INT0 88H.1
4 INT0 A8H.0 A8H.7
3.6.1.3 IDLE Power-down INT0/P1.2
1 3.6.1.2 INT0 IDLE Power-down INT0
INT0 IDLE
Power-down
2 INT0 RETI
3 IDLE Power-down 3 NOP

3.7 ADC
3.7.1 SH79F1611 12bit /10 bit ADC ADC VREF
VDD VREF ADC TADC[7:4]
ADC TADC[3:0] SH79F1611
ADC
TGAP[2:0]

3.7.2 SH79F1611 ADC


ADC SEQCH0
SEQCH0~SEQCHx , 16
SEQCHx AN0~AN11 1 OP1OUT
2 OP2OUT VBG

17/27 V 2.0
SH79F1611

1. GRP[3 0] 2 (AN2&AN7)
2 SEQCH0&SEQCH1 SEQCH0
AN2 SEQCH1 AN7 GRP[3 0]=[0001]
2. AN2 SEQCH0
SEQCON bit4 1 REG[3:0]=[0000], SEQCHx=0x02;
AN7 SEQCH1
SEQCON bit4 1 REG[3:0]=[0001], SEQCHx=0x07;

3.7.3 A/D 2 TS[3:0]


2 ADC 10bitADC 12
ADC 12bit 14 ADC ,
27MHZ RC ADT=0x25; 10bit
1.98us 6*TAD+ 12*TAD
TAD=3*0.037us=0.11us

18/27 V 2.0
SH79F1611

3.7.4 SH79F1611 ADC


----- ---- ---- ----
SC=0 GO/DONE 1 1 TIMER2
----- ---- ---- ----

PWM0/1/2 1 AD GO/DONE 0
ADCIF 1 ADLIF ADGIF

SC=0

GO/DONE 0
ADCIF 1
GO/DONE=1 ADLIF
ADGIF

SC=1

ADCIF 1
GO/DONE=1 ADLIF
ADGIF

TGAP

19/27 V 2.0
SH79F1611
----- ---- ---- ----

SC=1 GO/DONE 1 SC=0


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

GO/DONE=0 Timer2 PWM0/1/2 ADC


ADCIF, ADLIF ADGIF
3.7.5 SH79F1611 ADC ADCON1 bit1 bit2 PWM0/1/2
Timer2 AD ADC SC
ADC
3.7.6 SH79F1611 ADC
CSEL[3 0] ADDGTL ADDGTH
ADDLTL,ADDLTH AD

3.7.7 SH79F1611 ADC 3 FLAG ADCIF ADLIF ADGIF


ADCIE ADLIE ADGIE

3.7.8 SH79F1611 ADC ADC ADDxH ADDxL


SEQCH0~SEQCHx Xmax=15 ,
SEQCON

SEQCON bit4 0
REG[3:0]=[0000], SEQCH0
Unsigned char Add_H0,Add_L0;
Add_H0=ADDxH;
Add_L0=ADDxL;
SEQCHx
SEQCON bit4 0 REG[3:0]=[000x],
Unsigned char Add_Hx,Add_Lx;
Add_Hx=ADDxH;
Add_Lx=ADDxL;
3.7.9 SH79F1611 ADC PIN AN0~AN11
OP1OUT,OP2OUT OP1OUT
OP2OUT AN0~AN11
AD OP1OUT OP2OUT
ADC VBG ADC

OP1OUT OP2OUT 100us ;


100us VBG (BGEN=1), ADCH2
BGCHOP=1

20/27 V 2.0
SH79F1611

3.7.10 SH79F1611 ADC 10us ADCON1|=0x80


10us ADCON1 bit7
1 ADCON1 0
3.7.11 SH79F1611 ADC VBG VBG VDD
VBG VDD VBG
ADC VDD VBG VDD
VBG VDD
3.7.12 SH79F1611 ADC
/* AN3 AN1 AN11 , AN11 AN11 0x123~0x678
AN3 AN1 AN11 */
#include"sh79f1611.h"
unsigned int ad_AN1,ad_AN3,ad_AN11;
bit alarm_flag;
void ADC_inter interrupt 6
{
if(ADCMPCON&0x30)
{
ADCON1&=0xfe; //
ADCMPCON&=0xcf;// FLAG
alarm_flag=1;
SEQCON=0x80; // 0
ad_AN3=ADDx_16
SEQCON=0x81; // 1
ad_AN1=ADDx_16
SEQCON=0x82; // 2
ad_AN11=ADDx_16
}
}
ADC_initial()
{
ADCON1=0xa0;//
ADCH1=0x0a;
ADCH2=0x80;
ADT=0x27
IEN0=0xc0;
ADCON2=0x27;// 12bit 3

21/27 V 2.0
SH79F1611

SEQCON=0x10;// 0
SEQCHx=0x03;// AN3
SEQCON=0x11;// 1
SEQCHx=0x01;// AN1
SEQCON=0x12;// 2
SEQCHx=0x0B;// AN11
SEQCON|=0x80;//
ADCMPCON=0xc2;// 2 AN11
ADDG_16=0x0678;//
ADDL_16=0x0123;//
ADCON1|=0x01; //
}
void main()
{
System_initial();
ADC_initail();
while 1
{
if(alarm_flag)
{
;
}
}

22/27 V 2.0
SH79F1611

3.8 UART
3.8.1 TXD/RXD I/O REN 1 RXD
TXD UART SBUF
TXD I/O
UART I/O
3.8.2 UART
3.8.3 UART SBRTH SBRTL BFINE

3.8.4 UART ±4%

3.9 PWM0/1/2
3.9.1 SH79F1611 16 PWM 3
6 PWMxS x=0/01 1/11 2/21

3.9.2 PWM0/1/2 PTCLK[1:0] 16bitPWM


POSTPS[1:0]

3.9.3 PWM
SH79F1611 3
3.9.4 PWM0/1/2

PWM0/1/2
PWMINTF
PWM0/1/2
PWMINTEN
3.9.5 PWM0/1/2 PWM

2 FLT

1 2
FLT FLT2S
FLT
FLT2DEB[1:0]
2
FLTM=0

23/27 V 2.0
SH79F1611

FLTSTAT
PWM PWM
FLTM=1
FLTSTAT PWM PWM PWM

3.9.6 PWM0/1/2
PWM0/1/2
PWM0/1/2 PWMINTF PMANUALCON2
2
PWMRLDEN=0x55;
PWM0/1/2 Load
PWMRLDEN=0xAA
PWM
PTCLK[1:0] DT[1:0]
PWM
PWMRLDEN=0xAA Loading
BUFF
PWM0/1/2
PWMRLDEN=0x55;//
..
PWMRLDEN=0xAA;//
3.9.7 PWM0/1/2 PWM ADC timer2
PMANUALCON1 6 PWM
PMANUALCON2 6
PMANUALCON1
PWM FLT
PWM0/1/2 ADC Timer2 PWMCON2
3.9.8 PWM0/1/2 IDLE STOP PWM
IDLE PWM
STOP PWM
3.9.9 PWM0/1/2
0 ----
----- 0
-
---- -
----

24/27 V 2.0
SH79F1611

3.10 MDSU
16x16 8 32 ÷16 32bit
SIGNEN

8 8
1611

1611

79F1611 0x00000005 -3 0xfffffffd -1 0xffffffff -2 0xfffffffe


0x00000005 -3 0xfffffffd -1 0xffffffff 2 0x00000002
79F1611 0xfffffffb -5 -3 0xfffffffd 0x00000001 2 0x00000002
0xfffffffb -5 -3 0xfffffffd 0x00000001 -2 0xfffffffe
79F1611 0x00000005 0x00000003 0x00000001 2 0x00000002
0x00000005 0x00000003 0x00000001 2 0x00000002
79F1611 0xfffffffb -5 0x00000003 -1 0xffffffff -2 0xfffffffe
0xfffffffb -5 0x00000003 -1 0xffffffff -2 0xfffffffe

3.11 Timer3
3.11.1 Timer3 Power-down
128kHzRC Timer3 3
SH79F1611
128kHzRC Timer3

3.12
CP1 CP2 C1OUT C2OUT

CP1
CP1 C1IF
CP2 P0.2~P0.4 P0.6 2
ADC CP2 2
2 (P0.2~P0.4,P0.6 I/O
ADC ADCH1 )
CP2 C2SMT[1:0]
CP2 3 C2IF
25/27 V 2.0
SH79F1611

CP2 PWM0/1/2 PWM0/1/2

3.13 SPI
SPI SPI

CPOL=1 SPI SCK

SPI 1 BIT
SPI I/O

3.14 RC
3.13.1 27MHz RC RC
1% -40°C ~ +85°C 27MHz±2% -40°C ~ +105°C 27MHz±3%
3.15
1ms 4s
1
3.16 Port sink/drive
Port2 code option sink
Port0 Port3 code option drive

3.17
40 0x127b~0x127f
Unsigned long Temp1,Temp2;
FLASHCON=0x01;
Temp1 = CBYTE[0x127b];
Temp1 <<= 8;
Temp1 = CBYTE[0x127c];
Temp2 = CBYTE[0x127d];
Temp2 <<= 8;
Temp2 |= CBYTE[0x127e];
Temp2 <<= 8;
Temp2 |= CBYTE[0x127f];
FLASHCON=0x00;

26/27 V 2.0
SH79F1611

1.0 2013.5.8

IBCON
2.0 Timer3 share 2013.12.9
PWM 0 0
ADC 3.7.10 ADC 10us

27/27 V 2.0

You might also like