Sh79f1611 App.note Cv2.0
Sh79f1611 App.note Cv2.0
SH79F1611
1
SH79F1611 8051 FLASH
SH79F JET51
Keil µ vision JTAG
1.1
SH79F1611 TQFP48
2
2.1
2.2
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
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
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
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
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.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]
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;
18/27 V 2.0
SH79F1611
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
----- ---- ---- ----
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
20/27 V 2.0
SH79F1611
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.9 PWM0/1/2
3.9.1 SH79F1611 16 PWM 3
6 PWMxS x=0/01 1/11 2/21
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
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
3.13 SPI
SPI SPI
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