background image

                                              SN8P26L38 

8-Bit Micro-Controller

 

SONiX TECHNOLOGY CO., LTD

                           

Page 25

                                                Version 1.5

 

 

2.2.1.3BIT DEFINITION of SYSTEM REGISTER 

 

Address 

Bit7 

Bit6 

Bit5 

Bit4 

Bit3 

Bit2 

Bit1 

Bit0 

R/W 

Remarks 

080H 

LBIT7 

LBIT6 

LBIT5 

LBIT4 

LBIT3 

LBIT2 

LBIT1 

LBIT0 

R/W  L 

081H 

HBIT7 

HBIT6 

HBIT5 

HBIT4 

HBIT3 

HBIT2 

HBIT1 

HBIT0 

R/W  H 

082H 

RBIT7 

RBIT6 

RBIT5 

RBIT4 

RBIT3 

RBIT2 

RBIT1 

RBIT0 

R/W  R 

083H 

ZBIT7 

ZBIT6 

ZBIT5 

ZBIT4 

ZBIT3 

ZBIT2 

ZBIT1 

ZBIT0 

R/W  Z 

084H 

YBIT7 

YBIT6 

YBIT5 

YBIT4 

YBIT3 

YBIT2 

YBIT1 

YBIT0 

R/W  Y 

086H 

NT0 

NPD 

LVD28 

LVD24 

DC 

R/W  PFLAG 

087H 

RBANKS2  RBANKS1  RBANKS0 

R/W  RBANK 

09CH 

CM0EN 

CM0IEN 

CM0IRQ 

CM0OEN 

CM0REF 

CM0OUT 

CMS1 

CMS0 

R/W  CMP0M 

09DH 

CM1EN 

CM1IEN 

CM1IRQ 

CM1OEN 

CM1REF 

CM1OUT 

R/W  CMP1M 

0A0H 

T1ENB 

T1rate2 

T1rate1 

T1rate0 

 

 

 

 

R/W  T1M 

0A1H 

T1CL7 

T1CL6 

T1CL5 

T1CL4 

T1CL3 

T1CL2 

T1CL1 

T1CL0 

R/W  T1CL 

0A2H 

T1CH7 

T1CH6 

T1CH5 

T1CH4 

T1CH3 

T1CH2 

T1CH1 

T1CH0 

R/W  T1CH 

0A4H 

 

 

 

UTXEN 

UTXPEN 

UTXPS 

UTXM 

 

R/W  URTX 

0A5H 

URXEN 

URXS1 

URXS0 

URXPEN 

URXPS 

URXPC 

URXM 

 

R/W  URRX 

0A6H 

UDIV4 

UDIV3 

UDIV2 

UDIV1 

UDIV0 

UPCS2 

UPCS1 

UPCS0 

R/W  URBRC 

0A7H 

UTXD17 

UTXD16 

UTXD15 

UTXD14 

UTXD13 

UTXD12 

UTXD11 

UTXD10 

R/W  URTXD1 

0A8H 

UTXD27 

UTXD26 

UTXD25 

UTXD24 

UTXD23 

UTXD22 

UTXD21 

UTXD20 

R/W  URTXD2 

0A9H 

URXD17 

URXD16 

URXD15 

URXD14 

URXD13 

URXD12 

URXD11 

URXD10 

R/W  URRXD1 

0AAH 

URXD27 

URXD26 

URXD25 

URXD24 

URXD23 

URXD22 

URXD21 

URXD20 

R/W  URRXD2 

0B4H 

SENB 

START 

SRATE1 

SRATE0 

MLSB 

SCLKMD 

CPOL 

CPHA 

R/W  SIOM 

0B5H 

SIOR7 

SIOR6 

SIOR5 

SIOR4 

SIOR3 

SIOR2 

SIOR1 

SIOR0 

SIOR 

0B6H 

SIOB7 

SIOB6 

SIOB5 

SIOB4 

SIOB3 

SIOB2 

SIOB1 

SIOB0 

R/W  SIOB 

0B8H 

P07M 

P06M 

P05M 

P04M 

P03M 

P01M 

P00M 

R/W  P0M 

0BFH 

P00G1 

P00G0 

R/W  PEDGE 

0C0H 

P17W 

P16W 

P15W 

P14W 

P13W 

P12W 

P11W 

P10W 

P1W wakeup register 

0C1H 

P17M 

P16M 

P15M 

P14M 

P13M 

P12M 

P11M 

P10M 

R/W  P1M I/O direction 

0C2H 

P27M 

P26M 

P25M 

P24M 

P23M 

P22M 

P21M 

P20M 

R/W  P2M I/O direction 

0C3H 

P33M 

P32M 

P31M 

P30M 

R/W  P3M I/O direction 

0C4H 

P47M 

P46M 

P45M 

P44M 

P43M 

P42M 

P41M 

P40M 

R/W  P4M I/O direction 

0C5H 

P57M 

P56M 

P55M 

P54M 

P53M 

P52M 

P51M 

P50M 

R/W  P5M I/O direction 

0C8H 

SIOIRQ 

TC1IRQ 

T1IRQ 

T0IRQ 

RXIRQ 

TXIRQ 

P01IRQ 

P00IRQ 

R/W  INTRQ 

0C9H 

SIOIEN 

TC1IEN 

T1IEN 

T0IEN 

RXIEN 

TXIEN 

P01IEN 

P00IEN 

R/W  INTEN 

0CAH 

CPUM1 

CPUM0 

CLKMD 

STPHX 

R/W  OSCM 

0CCH 

WDTR7 

WDTR6 

WDTR5 

WDTR4 

WDTR3 

WDTR2 

WDTR1 

WDTR0 

WDTR 

0CDH 

IRR7 

IRR6 

IRR5 

IRR4 

IRR3 

IRR2 

IRR1 

IRR0 

IRR 

0CEH 

PC7 

PC6 

PC5 

PC4 

PC3 

PC2 

PC1 

PC0 

R/W  PCL 

0CFH 

PC12 

PC11 

PC10 

PC9 

PC8 

R/W  PCH 

0D0H 

P07 

P06 

P05 

P04 

P03 

P02 

P01 

P00 

R/W  P0 data buffer 

0D1H 

P17 

P16 

P15 

P14 

P13 

P12 

P11 

P10 

R/W  P1 data buffer 

0D2H 

P27 

P26 

P25 

P24 

P23 

P22 

P21 

P20 

R/W  P2 data buffer 

0D3H 

P33 

P32 

P31 

P30 

R/W  P3 data buffer 

0D4H 

P47 

P46 

P45 

P44 

P43 

P42 

P41 

P40 

R/W  P4 data buffer 

0D5H 

P57 

P56 

P55 

P54 

P53 

P52 

P51 

P50 

R/W  P5 data buffer 

0D8H 

T0ENB 

T0rate2 

T0rate1 

T0rate0 

T0TB 

R/W  T0M 

0D9H 

T0C7 

T0C6 

T0C5 

T0C4 

T0C3 

T0C2 

T0C1 

T0C0 

R/W  T0C 

0DAH 

IREN 

CREN 

R/W  IRM 

0DBH 

IRC7 

IRC6 

IRC5 

IRC4 

IRC3 

IRC2 

IRC1 

IRC0 

R/W  IRC 

0DCH 

TC1ENB 

TC1rate2 

TC1rate1 

TC1rate0 

TC1CKS 

ALOAD1 

TC1OUT  PWM1OUT 

R/W  TC1M 

0DDH 

TC1C7 

TC1C6 

TC1C5 

TC1C4 

TC1C3 

TC1C2 

TC1C1 

TC1C0 

R/W  TC1C 

0DEH 

TC1R7 

TC1R6 

TC1R5 

TC1R4 

TC1R3 

TC1R2 

TC1R1 

TC1R0 

TC1R 

0DFH 

GIE 

STKPB2 

STKPB1 

STKPB0 

R/W  STKP stack pointer 

0E0H 

P07R 

P06R 

P05R 

P04R 

P03R 

P01R 

P00R 

P0 pull-up register 

0E1H 

P17R 

P16R 

P15R 

P14R 

P13R 

P12R 

P11R 

P10R 

P1 pull-up register 

0E2H 

P27R 

P26R 

P25R 

P24R 

P23R 

P22R 

P21R 

P20R 

P2 pull-up register 

0E3H 

P33R 

P32R 

P31R 

P30R 

P3 pull-up register 

0E4H 

P47R 

P46R 

P45R 

P44R 

P43R 

P42R 

P41R 

P40R 

P4 pull-up register 

0E5H 

P57R 

P56R 

P55R 

P54R 

P53R 

P52R 

P51R 

P50R 

P5 pull-up register 

0E6H 

@HL7 

@ HL 6 

@ HL5 

@ HL4 

@ HL3 

@ HL2 

@ HL1 

@ HL0 

R/W  @HL index pointer 

0E7H 

@YZ7 

@YZ6 

@YZ5 

@YZ4 

@YZ3 

@YZ2 

@YZ1 

@YZ0 

R/W  @YZ index pointer 

0E8H 

IRD7 

IRD6 

IRD5 

IRD4 

IRD3 

IRD2 

IRD1 

IRD0 

IRD 

0E9H 

P52OC 

P51OC 

P50OC 

P33OC 

P32OC 

P11OC 

P10OC 

P1OC 

0F0H 

S7PC7 

S7PC6 

S7PC5 

S7PC4 

S7PC3 

S7PC2 

S7PC1 

S7PC0 

R/W  STK7L 

0F1H 

S7PC12 

S7PC11 

S7PC10 

S7PC9 

S7PC8 

R/W  STK7H 

0F2H 

S6PC7 

S6PC6 

S6PC5 

S6PC4 

S6PC3 

S6PC2 

S6PC1 

S6PC0 

R/W  STK6L 

0F3H 

S6PC12 

S6PC11 

S6PC10 

S6PC9 

S6PC8 

R/W  STK6H 

0F4H 

S5PC7 

S5PC6 

S5PC5 

S5PC4 

S5PC3 

S5PC2 

S5PC1 

S5PC0 

R/W  STK5L 

Summary of Contents for SN8P26L38

Page 1: ...for us as components in systems intended for surgical implant into the body or other applications intended to support or sustain life or for any other application in which the failure of the SONIX pro...

Page 2: ...R 1 0 Aug 2009 Modify comparator pin assignment description VER 1 1 Jun 2010 1 Modify UART baud rate description 2 Modify IR register name 3 Modify SYSTEM REGISTER TABLE VER 1 2 Feb 2013 Modify LQFP p...

Page 3: ...5 CHECKSUM CALCULATION 22 2 2 DATA MEMORY RAM 23 2 2 1 SYSTEM REGISTER 24 2 2 1 1 SYSTEM REGISTER TABLE 24 2 2 1 2 SYSTEM REGISTER DESCRIPTION 24 2 2 1 3 BIT DEFINITION of SYSTEM REGISTER 25 2 2 2 ACC...

Page 4: ...Diode Reset Circuit 47 3 6 4 Voltage Bias Reset Circuit 48 3 6 5 External Reset IC 49 4 SYSTEM CLOCK 50 4 1 OVERVIEW 50 4 2 CLOCK BLOCK DIAGRAM 50 4 3 FCPU INSTRUCTION CYCLE 50 4 4 OSCM REGISTER 51 4...

Page 5: ...RRUPT OPERATION CMP0 CMP1 73 6 12 SIO INTERRUPT OPERATION 74 6 13 UART INTERRUPT OPERATION 75 6 14 MULTI INTERRUPT OPERATION 76 7 I O PORT 77 7 1 OVERVIEW 77 7 2 I O PORT MODE 78 7 3 I O PULL UP REGIS...

Page 6: ...0 2 IR CONTROL REGISTER 111 10 2 1 IRM MODE REGISTER 111 10 2 2 IRC COUNTING REGISTER 111 10 2 3 IRR AUTO LOAD REGISTER 112 10 2 4 IRD IR DUTY CONTROL REGISTER 113 10 2 5 IR OUTPUT OPERATION SEQUENCE...

Page 7: ...KIT 128 15 2 ICE AND EV KIT APPLICATION NOTIC 129 16 OTP PROGRAMMING PIN 130 16 1 THE PIN ASSIGNMENT OF EASY WRITER TRANSITION BOARD SOCKET 130 16 2 PROGRAMMING PIN MAPPING 131 17 MARKING DEFINITION...

Page 8: ...rupt input P0 0 P0 1 One channel UART interface External Interrupt trigger edge P0 0 controlled by PEDGE register Four system clocks External high clock RC type up to 8 MHz 3 Level LVD External high c...

Page 9: ...OL EXTERNAL HIGH OSC ACC INTERNAL LOW RC TIMING GENERATOR RAM SYSTEM REGISTERS LVD Low Voltage Detector WATCHDOG TIMER TIMER COUNTER P0 P3 P1 PWM 1 BUZZER 1 ALU PC FLAGS IR OTP ROM PWM1 BZ1 P2 INTERNA...

Page 10: ...32 P4 4 P2 0 18 31 P4 3 P2 1 19 30 P4 2 P2 2 CM0N 20 29 P4 1 P2 3 CM0P 21 28 P4 0 P2 4 CM0O 22 27 VDD P2 5 CM1N 23 26 VSS P2 6 CM1P 24 25 P2 7 CM1O SN8P26L38F LQFP 48 pins P0 4 XOUT P0 3 XIN P0 2 RST...

Page 11: ...I O P2 2 Bi direction pin Schmitt trigger structure as input mode Built in pull up resisters CM0N The negative input pin of comparator P2 3 CM0P I O P2 3 Bi direction pin Schmitt trigger structure as...

Page 12: ...rection pin Schmitt trigger structure as input mode Built in pull up resisters IROUT IR signal output pin P5 7 5 I O P5 7 5 Bi direction pin Schmitt trigger structure as input mode Built in pull up re...

Page 13: ...parator Negative Input Comparator Positive Pin Pull Up Resistor Output Latch Pin PnUR PnM Input Bus Output Bus CMnEN Comparator Positive Input CMnREF Comparator Output Pin Pull Up Resistor Output Latc...

Page 14: ...vector User interrupt vector 0009H General purpose area User program 000FH 0010H 0011H 1FFCH End of user program 1FFDH Reserved 1FFEH 1FFFH The ROM includes Reset vector Interrupt vector General purp...

Page 15: ...ernal reset or watchdog timer overflow reset then the chip will restart the program from address 0000h and all system registers will be set as default values It is easy to know reset status from NT0 N...

Page 16: ...ing example shows the way to define the interrupt vector in the program memory Note PUSH POP instructions save and load ACC PFLAG without NT0 NPD PUSH POP buffer is a unique buffer and only one level...

Page 17: ...am User program JMP START End of user program MY_IRQ The head of interrupt service routine PUSH Save ACC and PFLAG register to buffers POP Load ACC and PFLAG register from buffers RETI End of interrup...

Page 18: ...t lookup table1 s low address MOVC To lookup data R 00H ACC 35H Increment the index address for next address INCMS Z Z 1 JMP F Z is not overflow INCMS Y Z overflow FFH 00 Y Y 1 NOP MOVC To lookup data...

Page 19: ...ord 16 bits data DW 5105H DW 2012H The other example of look up table is to add Y or Z index register by accumulator Please be careful if carry happen Example Increase Y and Z register by B0ADD ADD in...

Page 20: ...ACC PCH adds one automatically If PCL borrow after PCL ACC PCH keeps value and not change Example Jump table ORG 0X0100 The jump table is from the head of the ROM boundary B0ADD PCL A PCL PCL ACC PCH...

Page 21: ...egin from next RAM boundary 0x0100 Example JMP_A operation Before compiling program ROM address B0MOV A BUF0 BUF0 is from 0 to 4 JMP_A 5 The number of the jump table listing is five 0X00FD JMP A0POINT...

Page 22: ...end_addr2 CLR Y Set Y to 00H CLR Z Set Z to 00H MOVC B0BSET FC Clear C flag ADD DATA1 A Add A to Data1 MOV A R ADC DATA2 A Add R to Data2 JMP END_CHECK Check if the YZ address the end of code AAA INC...

Page 23: ...tly Under one bank condition and need to access the other bank RAM setup the RBANK register is necessary Sonix provides Bank 0 type instructions e g b0mov b0add b0bts1 b0bset to control Bank 0 RAM in...

Page 24: ...er HL RAM HL indirect addressing index pointer PEDGE P0 0 edge direction register YZ RAM YZ indirect addressing index pointer PnM Port n input output mode register Pn Port n data buffer P1OC Open drai...

Page 25: ...7M P56M P55M P54M P53M P52M P51M P50M R W P5M I O direction 0C8H SIOIRQ TC1IRQ T1IRQ T0IRQ RXIRQ TXIRQ P01IRQ P00IRQ R W INTRQ 0C9H SIOIEN TC1IEN T1IEN T0IEN RXIEN TXIEN P01IEN P00IEN R W INTEN 0CAH C...

Page 26: ...10 S2PC9 S2PC8 R W STK2H 0FCH S1PC7 S1PC6 S1PC5 S1PC4 S1PC3 S1PC2 S1PC1 S1PC0 R W STK1L 0FDH 1 1 1 S1PC12 S1PC11 S1PC10 S1PC9 S1PC8 R W STK1H 0FEH S0PC7 S0PC6 S0PC5 S0PC4 S0PC3 S0PC2 S0PC1 S0PC0 R W S...

Page 27: ...by B0MOV instruction during the instant addressing mode Example Read and write ACC value Read ACC data and store in BUF data memory MOV BUF A Write a immediate data into ACC MOV A 0FH Write ACC data f...

Page 28: ...by external Reset Pin Bit 5 LVD30 LVD 2 8V operating flag and only support LVD code option is LVD_H 0 Inactive VDD 2 8V 1 Active VDD 2 8V Bit 4 LVD24 LVD 2 4V operating flag and only support LVD code...

Page 29: ...Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PC PC12 PC11 PC10 PC9 PC8 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 After reset 0 0 0 0 0 0 0 0 0 0 0 0 0 PCH PCL ONE ADDRESS SKIPPING There are nine instru...

Page 30: ...C0STEP Jump to C0STEP if ACC is not zero C0STEP NOP INCMS instruction INCMS BUF0 JMP C0STEP Jump to C0STEP if BUF0 is not zero C0STEP NOP If the destination decreased by 1 which results underflow of 0...

Page 31: ...hree instructions and don t care PCL overflow problem Note PCH only support PC up counting result and doesn t support PC down counting When PCL is carry after PCL ACC PCH adds one automatically If PCL...

Page 32: ...it 0 L LBIT7 LBIT6 LBIT5 LBIT4 LBIT3 LBIT2 LBIT1 LBIT0 Read Write R W R W R W R W R W R W R W R W After reset X X X X X X X X Example If want to read a data from RAM address 20H of bank_0 it can use i...

Page 33: ...er reset 083H Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Z ZBIT7 ZBIT6 ZBIT5 ZBIT4 ZBIT3 ZBIT2 ZBIT1 ZBIT0 Read Write R W R W R W R W R W R W R W R W After reset Example Uses Y Z register as the...

Page 34: ...te data of look up table MOVC instruction executed the high byte data of specified ROM address will be stored in R register and the low byte data will be stored in ACC 082H Bit 7 Bit 6 Bit 5 Bit 4 Bit...

Page 35: ...gister 2 3 2 DIRECTLY ADDRESSING MODE The directly addressing mode moves the content of RAM location in or out of ACC Example Move 0x12 RAM location data into ACC B0MOV A 12H To get a content of RAM l...

Page 36: ...are executed The STKP register is a pointer designed to point active level in order to push or pop up data from stack buffer The STKnH and STKnL are the stack buffers to store program counter PC data...

Page 37: ...ine Stack operation is a LIFO type Last in and first out The stack pointer STKP and stack buffer STKnH and STKnL are located in the system register area bank 0 0DFH Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2...

Page 38: ...0 STK2H STK2L 4 0 1 1 STK3H STK3L 5 0 1 0 STK4H STK4L 6 0 0 1 STK5H STK5L 7 0 0 0 STK6H STK6L 8 1 1 1 STK7H STK7L 8 1 1 0 Stack Over error There are Stack Restore operations correspond to each push o...

Page 39: ...stal resonator e g 4M for external high clock oscillator Watch_Dog Always_On Watchdog timer is always on enable even in power down and green mode Enable Enable watchdog timer Watchdog timer stops in p...

Page 40: ...ption 0 0 Watchdog reset Watchdog timer overflow 0 1 Reserved 1 0 Power on reset and LVD reset Power voltage is lower than LVD detecting level 1 1 External reset External reset pin detect low level st...

Page 41: ...er by program Under error condition system is in unknown situation and watchdog can t be clear by program before watchdog timer overflow Watchdog timer overflow occurs and the system is reset After wa...

Page 42: ...elow area and not effect the system operation But the V2 and V3 is under the below area and may induce the system error occurrence Let system under dead band includes some conditions DC application Th...

Page 43: ...ltage and System Reset The LVD low voltage detector is built in Sonix 8 bit MCU to be brown out reset protection When the VDD drops and is below LVD detect voltage the LVD would be triggered and the s...

Page 44: ...able Available 2 4V Flag Available 2 4V Reset Available 2 8V Flag Available LVD_L If VDD 1 8V system will be reset Disable LVD24 and LVD28 bit of PFLAG register LVD_M If VDD 1 8V system will be reset...

Page 45: ...g until overflow occurrence The overflow signal of watchdog timer triggers the system to reset and the system return to normal mode after reset sequence This method also can improve brown out reset co...

Page 46: ...ystem keeps reset status and waits external reset pin released System initialization All system registers is set as initial conditions and system is ready Oscillator warm up Oscillator operation is su...

Page 47: ...Diode RC reset circuit is necessary to limit any current flowing into reset pin from external capacitor C in the event of reset pin breakdown due to Electrostatic Discharge ESD or Electrical Over str...

Page 48: ...value to conform the application In the circuit diagram condition the MCU s reset pin level varies with VDD voltage variation and the differential voltage is 0 7V If the VDD drops and the voltage low...

Page 49: ...VCC GND RST Reset IC VDD VSS RST Bypass Capacitor 0 1uF The external reset circuit also use external reset IC to enhance MCU reset performance This is a high cost and good effect solution By different...

Page 50: ...CLOCK BLOCK DIAGRAM Fhosc Fcpu Fhosc 1 Fhosc 8 Flosc Fcpu Flosc 4 CPUM 1 0 XIN XOUT STPHX HOSC Fcpu Code Option Fosc Fosc CLKMD Fcpu HOSC High_Clk code option Fhosc External high speed clock Internal...

Page 51: ...CLK IHRC_8M STPHX 1 disables internal high speed RC type oscillator High_CLK IHRC_RTC STPHX 1 disables internal high speed RC type oscillator and external 32768Hz crystal High_CLK RC 4M 8M 32K STPHX 1...

Page 52: ...XIN XOUT pins are general purpose I O pins IHRC_RTC High clock is internal 8MHz oscillator RC type XIN XOUT pins are connected with external 32768Hz crystal ceramic oscillator for RTC clock source Th...

Page 53: ...x 4MHz 32K option is for low speed ex 32768Hz MCU VCC GND C 20pF XIN XOUT VDD VSS C 20pF CRYSTAL Note Connect the Crystal Ceramic and C as near as possible to the XIN XOUT VSS pins of micro controller...

Page 54: ...rnal clock signal input to be system clock is by RC option of High_Clk code option The external clock signal is input from XIN pin XOUT pin is general purpose I O pin MCU VCC GND VSS VDD XIN XOUT Exte...

Page 55: ...watchdog disable If system is in 455K mode and watchdog disable only 455K oscillator actives and system is under low power consumption Example Stop internal low speed oscillator by power down mode B0...

Page 56: ...E NORMAL SLOW GREEN POWER DOWN SLEEP REMARK EHOSC Running By STPHX By STPHX Stop IHRC Running By STPHX By STPHX Stop ILRC Running Running Running Stop EHOSC with RTC Running By STPHX Running Stop IHRC...

Page 57: ...d and full functions are controllable The system rate is low speed Flosc 4 The internal low speed RC type oscillator actives and the high speed oscillator is controlled by STPHX 1 In slow mode to stop...

Page 58: ...nsets to normal mode after wake up If inserting green mode from slow mode the system insets to slow mode after wake up The green mode wake up source are P0 P1 level change trigger and unique time over...

Page 59: ...set T0 clock Fcpu 64 MOV A 74H B0MOV T0C A To set T0C initial value 74H To set T0 interval 10 ms B0BCLR FT0IEN To disable T0 interrupt service B0BCLR FT0IRQ To clear T0 interrupt request B0BSET FT0ENB...

Page 60: ...IME When the system is in power down mode sleep mode the high clock oscillator stops When waked up from power down mode MCU waits for 2048 external high speed oscillator clocks as the wakeup time to s...

Page 61: ...stem up to normal mode The Port 0 and Port 1 have wakeup function Port 0 wakeup function always enables but the Port 1 is controlled by the P1W register 0C0H Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1...

Page 62: ...ping other interrupt request On the contrast when interrupt service exits the GIE bit will set to 1 to accept the next interrupts request Most of the interrupt request signals are stored in INTRQ regi...

Page 63: ...External P0 1 interrupt INT1 control bit 0 Disable INT1 interrupt function 1 Enable INT1 interrupt function Bit 2 TXIEN UART transmit interrupt control bit 0 Disable UART transmit interrupt function 1...

Page 64: ...NT0 interrupt request Bit 1 P01IRQ External P0 1 interrupt INT1 request flag 0 None INT1 interrupt request 1 INT1 interrupt request Bit 2 TXIRQ UART transmit interrupt request flag 0 None UART transmi...

Page 65: ...pt requests occurs and the program counter PC points to the interrupt vector ORG 8 and the stack add 1 level 0DFH Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 STKP GIE STKPB2 STKPB1 STKPB0 Read Wri...

Page 66: ...s save and load ACC PFLAG data into buffers and avoid main routine error after interrupt service routine finishing Note PUSH POP instructions save and load ACC PFLAG without NT0 NPD PUSH POP buffer is...

Page 67: ...and the trigger edge direction matches interrupt edge configuration the trigger edge will be latched and the system executes interrupt service routine fist after wake up 0BFH Bit 7 Bit 6 Bit 5 Bit 4 B...

Page 68: ...the P01IRQ is set to be 1 Users need to be cautious with the operation under multi interrupt situation Note The interrupt trigger direction of P0 1 is falling edge Example INT1 interrupt request setup...

Page 69: ...0BCLR FT0IEN Disable T0 interrupt service B0BCLR FT0ENB Disable T0 timer MOV A 20H B0MOV T0M A Set T0 clock Fcpu 64 MOV A 74H Set T0C initial value 74H B0MOV T0C A Set T0 interval 10 ms B0BSET FT0IEN...

Page 70: ...6us delay time 2 In RTC mode don t reset T0C in interrupt service routine Example T0 interrupt service routine with RTC function ORG 8 Interrupt vector JMP INT_SERVICE INT_SERVICE Push routine to save...

Page 71: ...upt request setup B0BCLR FT1IEN Disable T1 interrupt service B0BCLR FT1ENB Disable T1 timer MOV A 20H B0MOV T1M A Set T1 clock Fcpu 64 and falling edge trigger CLR T1C B0BSET FT1IEN Enable T1 interrup...

Page 72: ...le TC1 interrupt request setup B0BCLR FTC1IEN Disable TC1 interrupt service B0BCLR FTC1ENB Disable TC1 timer MOV A 20H B0MOV TC1M A Set TC1 clock Fcpu 64 MOV A 74H Set TC1C initial value 74H B0MOV TC1...

Page 73: ...CM0IEN Comparator 0 interrupt function control bit 0 Disable 1 Enable Bit 5 CM0IRQ Comparator 0 interrupt request bit 0 Non comparator interrupt request 1 Announce comparator interrupt request 09DH Bi...

Page 74: ...nterrupt vector even when the SIOIEN is set to be 1 Users need to be cautious with the operation under multi interrupt situation Example SIO interrupt request setup B0BSET FSIOIEN Enable SIO interrupt...

Page 75: ...to be cautious with the operation under multi interrupt situation Example UART receive and transmit interrupt request setup B0BSET FRXIEN Enable UART receive interrupt service B0BCLR FRXIRQ Clear UAR...

Page 76: ...conditions two things need to be taking care of One is to set the priority for these interrupt requests Two is using IEN and IRQ flags to decide which interrupt to be executed Users have to check inte...

Page 77: ...ion Reset VPP HV OTP Programming P0 3 I O XIN AC High_CLK code option IHRC_RTC RC 32K 4M 8M P0 4 I O XOUT AC High_CLK code option IHRC_RTC 32K 4M 8M P2 2 I O CM0N AC CM0EN 1 P2 3 I O CM0P AC CM0EN 1 C...

Page 78: ...it 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 P3M P33M P32M P31M P30M Read Write R W R W R W R W After reset 0 0 0 0 0C4H Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 P4M P47M P46M P45M P44M P43M...

Page 79: ...P22R P21R P20R Read Write W W W W W W W W After reset 0 0 0 0 0 0 0 0 0E3H Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 P3UR P33R P32R P31R P30R Read Write W W W W After reset 0 0 0 0 0E4H Bit 7 Bi...

Page 80: ...it 0 P1OC P52OC P51OC P50OC P33OC P32OC P11OC P10OC Read Write W W W W W W W After reset 0 0 0 0 0 0 0 Bit 0 P10OC P1 0 open drain control bit 0 Disable open drain mode 1 Enable open drain mode Bit 1...

Page 81: ...r high B0BSET P10M Enable P1 0 output mode MOV A 01H Enable P1 0 open drain function B0MOV P1OC A Note P1OC is write only register Setting P10OC must be used MOV instructions Example Disable P1 0 to o...

Page 82: ...0 P3 P33 P32 P31 P30 Read Write R W R W R W R W After reset 0 0 0 0 0D4H Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 P4 P47 P46 P45 P44 P43 P42 P41 P40 Read Write R W R W R W R W R W R W R W R W...

Page 83: ...unction Watchdog timer actives in normal mode and slow mode In power down mode and green mode the watchdog timer stops Always_On Enable watchdog timer function The watchdog timer actives and not stop...

Page 84: ...routine That can improve main routine fail Clearing watchdog timer program is only at one part of the program This way is the best structure to enhance the watchdog timer function Example An operatio...

Page 85: ...ncy RTC timer Generates interrupts at real time intervals based on the selected clock source RTC function is only available in High_Clk code option IHRC_RTC Green mode wakeup function T0 can be green...

Page 86: ...ad Write R W R W R W R W R W After reset 0 0 0 0 0 Bit 0 T0TB RTC clock source control bit 0 Disable RTC T0 clock source from Fcpu 1 Enable RTC Bit 6 4 T0RATE 2 0 T0 internal clock select bits 000 fcp...

Page 87: ...initial value 256 T0 interrupt interval time input clock 256 10ms 4MHz 4 64 256 10 2 4 106 4 64 100 64H The basic timer table interval time of T0 T0RATE T0CLOCK High speed mode Fcpu 4MHz 4 Low speed m...

Page 88: ...s disabled B0BCLR FT0IRQ T0 interrupt request flag is cleared Set T0 timer rate MOV A 0xxx0000b The T0 rate control bits exist in bit4 bit6 of T0M The value is from x000xxxxb x111xxxxb B0MOV T0M A T0...

Page 89: ...le up counting timer Generates interrupts at specific time intervals based on the selected clock frequency Fcpu T1 Rate Fcpu 2 Fcpu 256 T1ENB CPUM0 1 T1C 16 Bit Binary Up Counting Counter T1 Time Out...

Page 90: ...l value 65536 T1 interrupt interval time input clock Example To set 10ms interval time for T1 interrupt High clock is external 4MHz Fcpu Fosc 4 Select T1RATE 010 Fcpu 64 T1C initial value 65536 T1 int...

Page 91: ...V A T1CH Read T1CH first and T1C low byte data exported to T1CL B0MOV A T1CL Read T1CL data from buffer Note Read T1CH first when reading T1C 16 bit buffer Example Writing and setting T1C 16 bit buffe...

Page 92: ...mer B0BCLR FT1IEN T1 interrupt function is disabled B0BCLR FT1IRQ T1 interrupt request flag is cleared Set T1 timer rate MOV A 0xxx0000b The T1 rate control bits exist in bit4 bit6 of T1M The value is...

Page 93: ...t interrupt service TC1 overflow time is 0xFF to 0X00 normally Under PWM mode TC1 overflow is decided by PWM cycle controlled by ALOAD1 and TC1OUT bits The main purposes of the TC1 timer is as followi...

Page 94: ...ol bit Only valid when PWM1OUT 0 0 Disable P5 3 is I O function 1 Enable P5 3 is output TC1OUT signal Bit 2 ALOAD1 Auto reload control bit Only valid when PWM1OUT 0 0 Disable TC1 auto reload function...

Page 95: ...256 count 1 0 1 64 0x00 0x3F xx000000b xx111111b Overflow per 64 count 1 1 0 32 0x00 0x1F xxx00000b xxx11111b Overflow per 32 count 1 1 1 16 0x00 0x0F xxxx0000b xxxx1111b Overflow per 16 count 1 256 0...

Page 96: ...Read Write W W W W W W W W After reset 0 0 0 0 0 0 0 0 The equation of TC1R initial value is as following TC1R initial value N TC1 interrupt interval time input clock N is TC1 overflow boundary numbe...

Page 97: ...as following 1 2 3 4 1 2 3 4 TC1 Overflow Clock TC1OUT Buzzer Output Clock Example Setup TC1OUT output from TC1 to TC1OUT P5 3 The external high speed clock is 4MHz Fcpu Fosc 4 1MIPS The TC1OUT frequ...

Page 98: ...SET FTC1CKS Select TC1 external clock source Set TC1 timer auto load mode B0BCLR FALOAD1 Enable TC1 auto reload function or B0BSET FALOAD1 Disable TC1 auto reload function Set TC1 interrupt interval t...

Page 99: ...en the counter reaches zero the PWM output is forced high The low to high ratio duty of the PWM1 output is TC1R 256 64 32 16 ALOAD1 TC1OUT PWM duty range TC1C valid value TC1R valid bits value MAX PWM...

Page 100: ...M DUTY In PWM mode the frequency of TC1IRQ is depended on PWM duty range From following diagram the TC1IRQ frequency is related with PWM duty TC1C Value PWM1 Output Duty Range 0 255 PWM1 Output Duty R...

Page 101: ...MOV TC1M A Set the TC1 rate to Fcpu 4 MOV A 30 Set the PWM duty to 30 256 B0MOV TC1C A B0MOV TC1R A B0BCLR FTC1OUT Set duty range as 0 256 255 256 B0BCLR FALOAD1 B0BSET FPWM1OUT Enable PWM1 output to...

Page 102: ...l output logic Low If TC1C is changed in certain period the PWM duty will change immediately If TC1R is fixed all the time the PWM waveform is also the same TC1C overflow and TC1IRQ set TC1C TC1R 0xFF...

Page 103: ...outputs correct duty In period 4 the new TC1R value is smaller than the old TC1R value If setting new TC1R is before PWM output low system is getting TC1C TC1R result and making PWM output low In the...

Page 104: ...9V CM1OEN CM1EN CM1EN CM1REF CM1N CM1O CM1P Comparator 0 Comparator 1 Comparator Reference Voltage CM0OUT Flag CM1IRQ CM1IEN Comparator 1 Interrupt CM1OUT Flag Comparator 0 Pin assignment CM0P Compara...

Page 105: ...omparator Internal Logic CMnN CMnO GPIO CMnP GPIO Comparator Comparator Internal Logic Internal Reference Voltage CMnEN 1 CMnOEN 1 CMnREF 0 CMnEN 1 CMnOEN 1 CMnREF 1 CMnEN 1 CMnOEN 0 CMnREF 0 CMnEN 1...

Page 106: ...arator interrupt request and it is cleared by program 0 No comparator interrupt request 1 Comparator interrupt request occurs when CM0P voltage or comparator 0 reference voltage is larger than CM0N vo...

Page 107: ...m 0 No comparator interrupt request 1 Comparator interrupt request occurs when CM1P voltage or comparator 1 reference voltage is larger than CM1N voltage Bit 4 CM1OEN Comparator 1 output pin control b...

Page 108: ...y 2 0V Example Use 2 ch comparators to detect battery status The battery voltage less than 2 2V is low battery status The battery voltage less than 2 0V is no battery status This case is polling CMnOU...

Page 109: ...O LTD Page 109 Version 1 5 JMP LowBat Is low battery status go to low battery routine JMP NoBat Is no battery status go to no battery routine Low battery process LowBat JMP Main Return to main loop No...

Page 110: ...r clock source is only from Fhosc system high clock source eg IHRC_8M 4MHz or 455KHz crystal If Fhosc is 4MHz the IR counter clock rate is 4MHz IR timer only generate IR output and no interrupt functi...

Page 111: ...arry signal output control bit 0 Disable IROUT pin is output low status 1 Enable IROUT pin outputs IR carry signal Note IR carry output condition is IREN 1 and CREN 1 If CREN 1 and IREN 0 the IROUT pi...

Page 112: ...tored in 1 st buffer Until IR overflow occurs the new value moves to real IRR buffer 0CDH Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 IRR IRR7 IRR6 IRR5 IRR4 IRR3 IRR2 IRR1 IRR0 Read Write W W W W...

Page 113: ...RD2 IRD1 IRD0 Read Write W W W W W W W W After reset 0 0 0 0 0 0 0 0 The equation of IRD initial value is as following IRD initial value IRR 256 IRR 1 IR duty Example Set IRD for 38KHz IR and duty is...

Page 114: ...TPUT OPERATION SEQUENCE Set IRC and IRR for IR cycle MOV A IRCYCVAL IRC IRR value for IR cycle MOV IRC A MOV IRR A Set IRD for IR duty MOV A IRDUTYVAL IRD value for IR duty MOV IRD A Enable IR output...

Page 115: ...n such as transmit receive clock rate data transfer direction SIO clock idle status and clock control phase and starting this circuit This SIO circuit will transmit or receive 8 bit data automatically...

Page 116: ...3 bit2 bit1 bit0 SCK idle status Low The transfer first bit MSB SCK data transfer edge Falling edge 0 1 1 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 SCK idle status High The transfer first bit MSB SCK da...

Page 117: ...SENB select CPOL and CPHA bits These bits control SIO pins mode 11 3 SIOM MODE REGISTER SIOM initial value 0000 0000 0B4H Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 SIOM SENB START SRATE1 SRATE0...

Page 118: ...in structure controlled by P1OC register 11 4 SIOB DATA BUFFER SIOB initial value 0000 0000 0B6H Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 SIOB SIOB7 SIOB6 SIOB5 SIOB4 SIOB3 SIOB2 SIOB1 SIOB0 Re...

Page 119: ...IOR is designed for the SIO counter to reload the counted value when end of counting It is like a post scaler of SIO clock source and let SIO has more flexible to setting SCK range Users can set the S...

Page 120: ...n parity bit End of Transfer interrupt 12 2 UART OPERATION The UART RX and TX pins are shared with GPIO When UART enables RXDEN 1 TXDEN 1 the UART shared pins transfers to UART purpose and disable GPI...

Page 121: ...starting The start bit is a simple format which is high to low edge change and the duration is one bit period The start bit is easily recognized by the receiver 8 bit Data The data format is 8 bit len...

Page 122: ...it0 Start bit7 Stop Gap Idle Status Idle Status The First Data Byte Low Byte The Second Data Byte High Byte 2 Byte Transfer Format without Parity Bit The UART supports interrupt function RXIEN TXIEN a...

Page 123: ...control bit 0 UART RX parity bit format is even parity 1 UART RX parity bit format is odd parity Bit 2 URXPC UART RX parity bit checking status bit 0 UART RX parity bit checking is error 1 UART RX pa...

Page 124: ...PCS 2 0 000b 001b UART Baud Rate Fhosc 2 PreScaler Divider 1 16 Pre scaler UPCS 2 0 010b 111b UART Baud Rate Fhosc 2 PreScaler Divider 16 Baud Rate Fhosc 16MHz Fhosc 8MHz Fhosc 4MHz UPCS 2 0 UDIV 4 0...

Page 125: ...R W R W R W R W After Reset 0 0 0 0 0 0 0 0 Bit 7 0 URTXD2 UART transmitted data buffer byte 2 URRXD1 initial value 0000 0000 0A9H Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 URRXD1 URXD17 URXD16...

Page 126: ...M 1 XOR M A M A xor M 1 N XOR A I A A xor I 1 SWAP M A b3 b0 b7 b4 M b7 b4 b3 b0 1 P SWAPM M M b3 b0 b7 b4 M b7 b4 b3 b0 1 N R RRC M A RRC M 1 O RRCM M M RRC M 1 N C RLC M A RLC M 1 E RLCM M M RLC M...

Page 127: ...port input leakage current Ilekg Pull up resistor disable Vin Vdd 2 uA I O output source current IoH Vop Vdd 0 5V 8 10 mA sink current IoL Vop Vss 0 5V 8 12 INTn trigger pulse width Tint0 INT0 interru...

Page 128: ...interface GPIO interface and EV chip module EV chip module Emulate comparator function The schematic of SN8P26L38 EV kit is as following CON1 JP10 ICE interface connected to SN8ICE2K JP1 EV Kit power...

Page 129: ...are shared with P2 GPIO pins In ICE environment the comparator pins isn t connected with GPIO pin The Comparator emulation is from the SN8P26L34 EV chip of SN8P26L38 EV kit For comparator emulation i...

Page 130: ...3 46 DIP46 D0 8 7 D1 DIP4 4 45 DIP45 D2 10 9 D3 DIP5 5 44 DIP44 D4 12 11 D5 DIP6 6 43 DIP43 D6 14 13 D7 DIP7 7 42 DIP42 VPP 16 15 VDD DIP8 8 41 DIP41 RST 18 17 HLS DIP9 9 40 DIP40 ALSB PDB 20 19 DIP10...

Page 131: ...SN8P26L38F EZ Writer Connector OTP IC JP3 Pin Assignment Number Name Number Pin Number Pin Number Pin Number Pin 1 VDD 27 48 VDD 21 42 VDD 2 GND 1 26 VSS 20 43 VSS 3 CLK 40 P5 0 34 P5 0 4 CE 5 PGM 10...

Page 132: ...bit MCU for order or obtain information This definition is only for Blank OTP MCU 17 2 MARKING INDETIFICATION SYSTEM Title SONiX 8 bit MCU Production ROM Type P OTP A MASK Material B PB Free Package...

Page 133: ...e SN8P26L38FB OTP 26L38 LQFP 0 70 PB Free Package SN8P26L38PG OTP 26L38 PDIP 0 70 Green Package SN8P26L38FG OTP 26L38 LQFP 0 70 Green Package S8P26L38W OTP 26L38 Wafer 0 70 SN8P26L38H OTP 26L38 Dice 0...

Page 134: ...DIP 48 PIN SYMBOLS MIN NOR MAX MIN NOR MAX inch mm A 0 220 5 588 A1 0 015 0 381 A2 0 150 0 155 0 160 3 810 3 937 4 064 D 2 400 2 450 2 550 60 960 62 230 64 770 E 0 600 15 240 E1 0 540 0 545 0 550 13 7...

Page 135: ...MBOLS MIN NOR MAX MIN NOR MAX inch mm A 0 063 1 6 A1 0 002 0 006 0 05 0 15 A2 0 053 0 057 1 35 1 45 c1 0 004 0 006 0 09 0 16 D 0 354 BSC 9 00 BSC D1 0 276 BSC 7 00 BSC E 0 354 BSC 9 00 BSC E1 0 276 BS...

Page 136: ...butors harmless against all claims cost damages and expenses and reasonable attorney fees arising out of directly or indirectly any claim of personal injury or death associated with such unintended or...

Reviews: