SONIX reserves the right to make change without further notice to any products herein to improve reliability, function or design. SONIX does not
assume any liability arising out of the application or use of any product or circuit described herein; neither does it convey any license under its patent
rights nor the rights of others. SONIX products are not designed, intended, or authorized 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 product
could create a situation where personal injury or death may occur. Should Buyer purchase or use SONIX products for any such unintended or
unauthorized application. Buyer shall indemnify and hold SONIX and its officers, employees, subsidiaries, affiliates and distributors 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 unauthorized use even if such claim alleges that SONIX was negligent regarding the design or manufacture of
Page 1
SONIX products are not designed, intended, or authorized 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 product could create a situation where personal injury or death may occur.
VER 1.0 Feb. 2012 First issue. VER 1.1 Apr. 2012 Add features selection table and migration section. VER 1.2 Jan. 2013 Modify 32KHz oscillator to match capacitor in external high-speed oscillator section. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 2...
No limitation. support Fosc/1 and Fosc/2. SN8P2511 is compatible to SN8P2501B. SN8P2501B code can transfer to SN8P2511 directly. Program the original SN8 of SN8P2501B into SN8P2511 directly with declare SN8P2511 chip name in source code and re-compile again. Version 1.2 SONiX TECHNOLOGY CO., LTD...
The Interrupt vector is the head of interrupt service routine when any interrupt occurring. The General purpose area is main program area including main loop, sub-routines and data table. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 10...
Example: Defining Reset Vector ; 0000H START ; Jump to user program address. … START: ; 0010H, The head of user program. … ; User program … ENDP ; End of program Version 1.2 SONiX TECHNOLOGY CO., LTD Page 11...
RETI ; End of interrupt service routine … START: ; The head of user program. … ; User program … START ; End of user program … ENDP ; End of program Version 1.2 SONiX TECHNOLOGY CO., LTD Page 12...
Page 13
; End of program. Note: It is easy to understand the rules of SONIX program from demo programs given above. These points are as following: 1. The address 0000H is a “JMP” instruction to make the program starts from the beginning.
Y register must be added one. The following INC_YZ macro shows a simple method to process Y and Z registers automatically. Example: INC_YZ macro. INC_YZ MACRO INCMS ; Z+1 ; Not overflow INCMS ; Y+1 ; Not overflow ENDM Version 1.2 SONiX TECHNOLOGY CO., LTD Page 14...
Page 15
; To lookup data. If BUF = 0, data is 0x0035 ; If BUF = 1, data is 0x5105 ; If BUF = 2, data is 0x2012 … TABLE1: 0035H ; To define a word (16 bits) data. 5105H 2012H … Version 1.2 SONiX TECHNOLOGY CO., LTD Page 15...
; ACC = 3, jump to A3POINT SONIX provides a macro for safe jump table function. This macro will check the ROM boundary and move the jump table to the right position automatically. The side effect of this macro maybe wastes some ROM size.
Page 17
; ACC = 1, jump to A1POINT 0X0102 A2POINT ; ACC = 2, jump to A2POINT 0X0103 A3POINT ; ACC = 3, jump to A3POINT 0X0104 A4POINT ; ACC = 4, jump to A4POINT Version 1.2 SONiX TECHNOLOGY CO., LTD Page 17...
; If Not jump to checksum calculate CHECKSUM_END ; If Yes checksum calculated is done. Y_ADD_1: INCMS ; Increase Y ; Jump to checksum calculate CHECKSUM_END: … … END_USER_CODE: ; Label of program end Version 1.2 SONiX TECHNOLOGY CO., LTD Page 18...
System Register “ 0FFh End of Bank 0 The 48-byte general purpose RAM is separated into Bank 0. Sonix provides “Bank 0” type instructions (e.g. b0mov, b0add, b0bts1, b0bset…) to control Bank 0 RAM directly. 2.2.1 SYSTEM REGISTER 2.2.1.1 SYSTEM REGISTER TABLE...
All of register names had been declared in SN8ASM assembler. One-bit name had been declared in SN8ASM assembler with “F” prefix code. “b0bset”, “b0bclr”, ”bset”, ”bclr” instructions are only available to the “R/W” registers. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 20...
“PUSH”, “POP” save and load ACC, PFLAG data into buffers. Example: Protect ACC and working registers. INT_SERVICE: PUSH ; Save ACC and PFLAG to buffers. … … ; Load ACC and PFLAG from buffers. RETI ; Exit interrupt service vector Version 1.2 SONiX TECHNOLOGY CO., LTD Page 21...
1 = The result of an arithmetic/logic/branch operation is zero. 0 = The result of an arithmetic/logic/branch operation is not zero. Note: Refer to instruction set table for detailed information of C, DC and Z flags. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 22...
INCS BUF0 C0STEP ; Jump to C0STEP if ACC is not zero. … … C0STEP: INCMS instruction: INCMS BUF0 C0STEP ; Jump to C0STEP if BUF0 is not zero. … … C0STEP: Version 1.2 SONiX TECHNOLOGY CO., LTD Page 23...
Page 24
; If ACC = 0, jump to A0POINT A1POINT ; ACC = 1, jump to A1POINT A2POINT ; ACC = 2, jump to A2POINT A3POINT ; ACC = 3, jump to A3POINT … … Version 1.2 SONiX TECHNOLOGY CO., LTD Page 24...
Bit 2 Bit 1 Bit 0 RBIT7 RBIT6 RBIT5 RBIT4 RBIT3 RBIT2 RBIT1 RBIT0 Read/Write After reset Note: Please refer to the “LOOK-UP TABLE DESCRIPTION” about R register look-up table application. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 25...
; To clear Y register to access RAM bank 0. B0MOV Z, #12H ; To set an immediate data 12H into Z register. B0MOV A, @YZ ; Use data pointer @YZ reads a data from RAM location ; 012H into ACC. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 26...
1 = Enable. Please refer to the interrupt chapter. Example: Stack pointer (STKP) reset, we strongly recommended to clear the stack pointers in the beginning of the program. A, #00000011B B0MOV STKP, A Version 1.2 SONiX TECHNOLOGY CO., LTD Page 27...
(PC) to the program counter registers. The Stack-Restore operation is as the following table. STKP Register Stack Buffer Stack Level Description STKPB1 STKPB0 High Byte Low Byte STK3H STK3L STK2H STK2L STK1H STK1L STK0H STK0L Free Free Version 1.2 SONiX TECHNOLOGY CO., LTD Page 28...
Fcpu is limited below Fosc/1 and Fosc/2. The fast Fcpu rate is Fosc/4. If noise filter disable, the Fosc/1 and Fosc/2 options are released. In high noisy environment, enable noise filter, enable watchdog timer and select a good LVD level can make whole system work well and avoid error event occurrence. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 29...
High Detect Low Detect Watchdog Overflow Watchdog Normal Run Watchdog Reset Watchdog Stop System Normal Run System Status System Stop Power On External Watchdog Delay Time Reset Delay Reset Delay Time Time Version 1.2 SONiX TECHNOLOGY CO., LTD Page 30...
(e.g. EFT interference or external loading changed). The brown out reset would make the system not work well or executing program error. System Work Well Area System Work Error Area Brown Out Reset Diagram Version 1.2 SONiX TECHNOLOGY CO., LTD Page 31...
The dead-band definition is the system minimum operating voltage above the system reset voltage. 3.6 LOW VOLTAGE DETECTOR (LVD) LVD Detect Voltage Power Power is below LVD Detect Voltage and System Reset. System Normal Run System Status System Stop Power On Delay Time Version 1.2 SONiX TECHNOLOGY CO., LTD Page 32...
Page 33
8-Bit Micro-Controller 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 system is reset. The LVD detect level is different by each MCU.
IC”. These three reset structures use external reset signal and control to make sure the MCU be reset under power dropping and under dead-band. The external reset information is described in the next section. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 34...
The reset signal is slower than VDD power up timing, and system occurs a power on signal from the timing difference. Note: The reset circuit is no any protection against unusual power or brown out reset. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 35...
PNP transistor outputs high voltage and MCU operates normally. When VDD is below “Vz + 0.7V”, the C terminal of the PNP transistor outputs low voltage and MCU is in reset mode. Decide the reset detect voltage by zener specification. Select the right zener voltage to conform the application. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 36...
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 application and system requirement to select suitable reset IC. The reset circuit can improve all power variation. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 37...
Fcpu: Instruction cycle. SONIX provides a “Noise Filter” controlled by code option. In high noisy situation, the noise filter can isolate noise outside and protect system works well. The minimum Fcpu of high clock is limited at Fhosc/4 when noise filter enable.
32KHz oscillator is the RTC clock source to supply a accurately real time clock rate. 4.4.1 HIGH_CLK CODE OPTION For difference clock functions, Sonix provides multi-type system high clock options controlled by “High_CLK” code option. The High_CLK code option defines the system oscillator types including IHRC_16M, IHRC_RTC, RC, 32K X’tal, 12M X’tal and 4M X’tal.
Note: Connect the Crystal/Ceramic and C as near as possible to the XIN/XOUT/VSS pins of micro-controller. Connect the R and C as near as possible to the VDD pin of micro-controller. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 40...
; oscillator called power down mode (sleep mode). Note: The internal low-speed clock can’t be turned off individually. It is controlled by CPUM0, CPUM1 (32K, watchdog disable) bits of OSCM register. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 41...
; Output Fcpu toggle signal in low-speed clock mode. B0BCLR P0.0 ; Measure the Fcpu frequency by oscilloscope. Note: Do not measure the RC frequency directly from XIN; the probe impendence will affect the RC frequency. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 42...
External Reset Pin Reset Timing Reset pin falling edge trigger system reset. External Reset Pin Reset pin returns to high status. External Reset Flag Oscillator Tcfg Tost Tosp Fcpu (Instruction Cycle) System is under reset status. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 43...
Page 44
Green Mode Wake-up Timing Edge trigger system wake-up. Wake-up Pin Falling Edge Wake-up Pin Rising Edge Timer overflow. Timer 0xFD 0xFE 0xFF 0x00 0x01 0x02 Oscillator Fcpu (Instruction Cycle) System inserts into green mode. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 44...
Page 45
The RC type oscillator’s start-up time is faster than crystal type oscillator. RC Oscillator Tost Ceramic/Resonator Tost Crystal Tost Low Speed Crystal (32K, 455K) Tost Version 1.2 SONiX TECHNOLOGY CO., LTD Page 45...
Note: If the system is in normal mode, to set STPHX=1 to disable the high clock oscillator. The system is under no system clock condition. This condition makes the system stay as power down mode, and can be wake-up by P0, P1 level change trigger. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 47...
PWN and buzzer output functions active in green mode, but the timer can’t wake-up the system as overflow. Note: Sonix provides “GreenMode” macro to control green mode operation. It is necessary to use “GreenMode” macro to control system inserting green mode.
SN8P2511 8-Bit Micro-Controller 5.6 OPERATING MODE CONTROL MACRO Sonix provides operating mode control macros to switch system operating mode easily. Macro Length Description SleepMode 1-word The system insets into Sleep Mode (Power Down Mode). GreenMode 3-word The system inserts into Green Mode.
The wakeup time is as the following. The wakeup time = 1/Fhosc *32 = 2 us (Fhosc = 16MHz) Note: The high clock start-up time is depended on the VDD and oscillator type of high clock. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 50...
0 = Disable global interrupt. 1 = Enable global interrupt. Example: Set global interrupt control bit (GIE). B0BSET FGIE ; Enable GIE Note: The GIE bit must enable during all interrupt operation. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 53...
Example: Store ACC and PAFLG data by PUSH, POP instructions when interrupt service routine executed. START INT_SERVICE START: … INT_SERVICE: PUSH ; Save ACC and PFLAG to buffers. … … ; Load ACC and PFLAG from buffers. RETI ; Exit interrupt service vector … ENDP Version 1.2 SONiX TECHNOLOGY CO., LTD Page 54...
A, #64H B0MOV T0C, A ; Reset T0C. … ; T0 interrupt service routine … EXIT_INT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Version 1.2 SONiX TECHNOLOGY CO., LTD Page 56...
Page 57
EXIT_INT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Note: We strongly recommend to clear T0IRQ must be used b0bclr or bclr instructions. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 57...
EXIT_INT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Note: We strongly recommend to clear TC0IRQ must be used b0bclr or bclr instructions. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 58...
; Jump to exit of IRQ B0BTS0 FTC0IRQ ; Check TC0IRQ INTTC0 ; Jump to TC0 interrupt service routine INT_EXIT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Version 1.2 SONiX TECHNOLOGY CO., LTD Page 59...
; Set all ports to be output mode. B0MOV P0M, A B0MOV P2M,A B0MOV P5M, A B0BCLR P2M.0 ; Set P2.0 to be input mode. B0BSET P2M.0 ; Set P2.0 to be output mode. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 61...
Note: P1.1 is input only pin and without pull-up resister. The P1UR.1 is undefined. Example: I/O Pull up Register A, #0FFH ; Enable Port0, 2, 5 Pull-up register, B0MOV P0UR, A B0MOV P2UR,A B0MOV P5UR, A Version 1.2 SONiX TECHNOLOGY CO., LTD Page 62...
Example: Write one bit data to output port. ; Set P2.0 and P1.3 to be “1”. B0BSET P2.0 B0BSET P1.3 ; Set P2.0 and P1.3 to be “0”. B0BCLR P2.0 B0BCLR P1.3 Version 1.2 SONiX TECHNOLOGY CO., LTD Page 64...
1 = Enable TC0 timer. Note: When TC0CKS=1, TC0 became an external event counter and TC0RATE is useless. No more P0.0 interrupt request will be raised. (P0.0IRQ will be always 0). Version 1.2 SONiX TECHNOLOGY CO., LTD Page 73...
PWM exchanges to low status. PWM outputs high status. PWM exchanges to high status. TC0R TC0R 0x00 0x01 0x02 TC0R 0xFD 0xFE 0xFF 0x00 0x01 0x02 TC0C PWM Output One complete cycle of PWM. Next cycle. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 77...
Page 78
GPIO mode (output high). High impendence (floating) PWM Output PWM0OUT=0. PWM0OUT=1. PWM0OUT=1. The pin exchanges to output PWM0OUT=0. The pin exchanges mode and outputs PWM signal automatically. to last GPIO mode (input). Version 1.2 SONiX TECHNOLOGY CO., LTD Page 78...
Note: 1. “M” is system register or RAM. If “M” is system registers then “N” = 0, otherwise “N” = 1. 2. If branch condition is true then “S = 1”, otherwise “S = 0”. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 81...
Low voltage reset/indicator level. Fcpu = 1 MHz, Vdet2 0C ~ + 70C External oscillator (32KHz) Capacitor selection for crystal oscillator in 32KHz match capacitor “ ” These parameters are for design reference, not tested. Version 1.2 SONiX TECHNOLOGY CO., LTD Page 82...
The Graphs in this section are for design guidance, not tested or guaranteed. In some graphs, the data presented are outside specified operating range. This is for information only and devices are guaranteed to operate properly only within the specified range (0℃~+70℃ curves are for design reference). Version 1.2 SONiX TECHNOLOGY CO., LTD Page 83...
Writer: MPIII writer. Writer transition board: SN8P2511. 11.1 SN8P2511/2501A/B/C EV-KIT SONIX provides SN8P2511 MCU which includes PWM analog function. The EV-KIT provides LVD configuration to emulation. To emulate the function must be through EV-KIT. SN8P2511/2501A/B/C EV-KIT PCB Outline: ...
SN8P2511/2501A/B/C EV-KIT schematic: 11.2 ICE AND EV-KIT APPLICATION NOTIC 1. SN8ICE2K Plus II power switch must be turned off before you connect the SN8P2511/2501A/B/C EV-KIT to SN8ICE2K Plus II. 2. Connect EV-KIT JP6/CON1 to ICE JP3/CON1. 3. Turn on SN8ICE2K Plus 2 power switch to start emulation.
SN8P2511 8-Bit Micro-Controller 12.2 PROGRAMMING PIN MAPPING: Programming Pin Information of SN8P2511 Chip Name SN8P2511P/S(DIP/SOP) SN8P2511X(SSOP) Writer Connector IC and JP3 48-pin text tool Pin Assignment JP1/JP2 JP1/JP2 Pin Number Pin Name Pin Number Pin Name Pin Number Pin Number...
Marking Definition 13.1 INTRODUCTION There are many different types in Sonix 8-bit MCU production line. This note listed the production definition of all 8-bit MCU for order or obtain information. This definition is only for Blank OTP MCU. 13.2 MARKING INDETIFICATION SYSTEM SN8 X PART No.
Need help?
Do you have a question about the SN8P2511 and is the answer not in the manual?
Questions and answers