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.
Modify “ELECTRICAL CHARACTERICS” chapter operating temperature from 0~70℃ to VER 1.4 Sep. 2012 -20~85℃ and others. VER 1.5 Jun. 2013 1. Modify PROGRAMMING PIN MAPPING content. 2. VLCD and VDD pin have to short together. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 2...
POWER ON RESET ......................... 39 WATCHDOG RESET ........................39 BROWN OUT RESET ........................39 THE SYSTEM OPERATING VOLTAGE ..................40 LOW VOLTAGE DETECTOR (LVD) .................... 40 BROWN OUT RESET IMPROVEMENT ..................42 Version 1.5 SONiX TECHNOLOGY CO., LTD Page 3...
Page 4
I/O PORT DATA REGISTER ......................75 TIMERS ..............................76 WATCHDOG TIMER ........................76 T0 8- ........................78 BIT BASIC TIMER 8.2.1 OVERVIEW ..........................78 8.2.2 T0 Timer Operation ........................79 8.2.3 T0M MODE REGISTER ......................80 Version 1.5 SONiX TECHNOLOGY CO., LTD Page 4...
Page 5
PROGRAMMING TOOL 14.3 PROGRAMMING PIN MAPPING: ....................114 MARKING DEFINITION ....................... 115 15.1 INTRODUCTION .......................... 115 15.2 MARKING INDETIFICATION SYSTEM ..................115 15.3 MARKING EXAMPLE ......................... 115 15.4 DATECODE SYSTEM ........................116 Version 1.5 SONiX TECHNOLOGY CO., LTD Page 5...
Page 6
SN8P2318 Series C-type LCD, RFC 8-Bit Micro-Controller PACKAGE INFORMATION ......................117 16.1 LQFP 64 PIN ..........................117 16.2 LQFP 48 PIN ..........................118 Version 1.5 SONiX TECHNOLOGY CO., LTD Page 6...
Specific Output Function Control Bit LCD SEG shared pin structure: Pull-Up Resistor LCD SEG Control PnUR Register IO Input Bus Output Output Bus Latch LCD Segment LCD Segment Signal Generator Signal Version 1.5 SONiX TECHNOLOGY CO., LTD Page 11...
Page 12
Pin Name Oscillator Code Option Description 32K X’tal LXOUT Oscillator output pin. Flosc signal output pin to measure RC frequency for adjusting RC parameters. Low_Clk Code Option 32K X’tal Driver Flosc signal Version 1.5 SONiX TECHNOLOGY CO., LTD Page 12...
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.5 SONiX TECHNOLOGY CO., LTD Page 13...
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.5 SONiX TECHNOLOGY CO., LTD Page 14...
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.5 SONiX TECHNOLOGY CO., LTD Page 15...
Page 16
; 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.5 SONiX TECHNOLOGY CO., LTD Page 17...
Page 18
; 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.5 SONiX TECHNOLOGY CO., LTD Page 18...
; 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 20
; 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.5 SONiX TECHNOLOGY CO., LTD Page 20...
; 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.5 SONiX TECHNOLOGY CO., LTD Page 21...
“ 0FFh End of Bank 0 The 128-byte general purpose RAM is in Bank 0. Sonix provides “Bank 0” type instructions (e.g. b0mov, b0add, b0bts1, b0bset…) to control Bank 0 RAM in non-zero RAM bank condition directly. 2.2.1 SYSTEM REGISTER 2.2.1.1...
Page 24
2. All of register names had been declared in SN8ASM assembler. 3. One-bit name had been declared in SN8ASM assembler with “F” prefix code. 4. “b0bset”, “b0bclr”, ”bset”, ”bclr” instructions are only available to the “R/W” registers. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 24...
“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.5 SONiX TECHNOLOGY CO., LTD Page 25...
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.5 SONiX TECHNOLOGY CO., LTD Page 26...
If the ACC is equal to the immediate data or memory, the PC will add 2 steps to skip next instruction. CMPRS A, #12H ; To skip, if ACC = 12H. C0STEP ; Else jump to C0STEP. … … C0STEP: Version 1.5 SONiX TECHNOLOGY CO., LTD Page 27...
Page 28
DECS BUF0 C0STEP ; Jump to C0STEP if ACC is not zero. … … C0STEP: DECMS instruction: DECMS BUF0 C0STEP ; Jump to C0STEP if BUF0 is not zero. … … C0STEP: Version 1.5 SONiX TECHNOLOGY CO., LTD Page 28...
Page 29
; 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.5 SONiX TECHNOLOGY CO., LTD Page 29...
; Clear @HL to be zero ; L – 1, if L = 0, finish the routine DECMS CLR_HL_BUF ; Not zero END_CLR: ; End of clear general purpose data memory area of bank 0 … … Version 1.5 SONiX TECHNOLOGY CO., LTD Page 30...
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.5 SONiX TECHNOLOGY CO., LTD Page 31...
; 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.5 SONiX TECHNOLOGY CO., LTD Page 32...
Fcpu means instruction cycle of normal mode (high clock). In slow mode, the system clock source is external low speed 32KHz oscillator connected to LXIN/LXOUT pins. The Fcpu of slow mode isn’t controlled by Fcpu code option and fixed Flosc/4. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 36...
Note: When code option High_Clk = PLL_16M / Low_Clk = 32K X’tal and watchdog = Enable / Always_On, the system is unused with sleep mode (support green mode ). Version 1.5 SONiX TECHNOLOGY CO., LTD Page 37...
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.5 SONiX TECHNOLOGY CO., LTD Page 38...
(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.5 SONiX TECHNOLOGY CO., LTD Page 39...
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.5 SONiX TECHNOLOGY CO., LTD Page 40...
Page 41
C-type LCD, RFC 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.5 SONiX TECHNOLOGY CO., LTD Page 42...
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.5 SONiX TECHNOLOGY CO., LTD Page 43...
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.5 SONiX TECHNOLOGY CO., LTD Page 44...
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.5 SONiX TECHNOLOGY CO., LTD Page 45...
The system high-speed clock has internal and external two-type. The external high-speed clock includes 4MHz, 12MHz, crystal/ceramic and RC type. The internal high-speed clock is internal PLL 16MHz oscillator. These high-speed oscillators are selected by “High_Clk” code option. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 46...
C-type LCD, RFC 8-Bit Micro-Controller 4.3.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 PLL_16M, RC, 12M X’tal and 4M X’tal.
10pF 10pF Note: Connect the Crystal/Ceramic and C as near as possible to the LXIN/LXOUT/VSS pins of micro-controller. Connect the C as near as possible to the VSS pin of micro-controller. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 48...
Note: Do not measure the RC frequency directly from XIN pin of external high-speed RC mode and LXIN pin of external low-speed RC mode; the probe impendence will affect the RC frequency. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 49...
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.5 SONiX TECHNOLOGY CO., LTD Page 54...
LCD, PWM and RFC 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.
SN8P2318 Series C-type LCD, RFC 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 total wakeup time = 1 ms + oscillator start-up time The wake-up time of the external low-speed crystal type oscillator is as the following. The Wakeup time (32K_X’tal) = 1/Flosc * (2 +256) + low clock start-up time Version 1.5 SONiX TECHNOLOGY CO., LTD Page 57...
Page 58
+256) = 0.52 sec (32KHz crystal) The total wakeup time = 0.52 sec + oscillator start-up time Note: The high clock start-up time is depended on the VDD and oscillator type of high clock. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 58...
T0IRQ CMnM Enable T0 Time Out 2-Bit TC0IRQ TC0 Time Out Gating Global Interrupt Request Signal T1IRQ Latchs T1 Time Out Note: The GIE bit must enable during all interrupt operation. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 60...
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.5 SONiX TECHNOLOGY CO., LTD Page 63...
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.5 SONiX TECHNOLOGY CO., LTD Page 64...
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.5 SONiX TECHNOLOGY CO., LTD Page 67...
A, #64H B0MOV TC0C, A ; Reset TC0C. … ; TC0 interrupt service routine … EXIT_INT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Version 1.5 SONiX TECHNOLOGY CO., LTD Page 68...
; Save pulse width. B0MOV A, T1CH B0MOV T1CHBUF, A T1CH T1CL … ; T1 interrupt service routine … EXIT_INT: ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Version 1.5 SONiX TECHNOLOGY CO., LTD Page 69...
B0BTS0 FT1IRQ ; Check T1IRQ INTT1 ; Jump to T1 interrupt service routine … … INT_EXIT: … ; Pop routine to load ACC and PFLAG from buffers. RETI ; Exit interrupt vector Version 1.5 SONiX TECHNOLOGY CO., LTD Page 70...
A, #0FFH ; Set all ports to be output mode. B0MOV P0M, A B0MOV P1M,A B0BCLR P1M.0 ; Set P1.0 to be input mode. B0BSET P1M.0 ; Set P1.0 to be output mode. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 72...
Page 73
… B0BCLR P2M.0 ; Set P2.0 to input mode. B0BCLR P3M.0 ; Set P3.0 to input mode. ;Disable P2.0~P2.7 and P3.0~P3.7 GPIO function. B0BCLR FPSEG2 ; Set PSEG[2:0]=000b B0BCLR FPSEG1 B0BCLR FPSEG0 Version 1.5 SONiX TECHNOLOGY CO., LTD Page 73...
Note: P0.3 is input only pin and without pull-up resister. The P0UR.3 is undefined. Example: I/O Pull up Register A, #0FFH ; Enable Port0, 1 Pull-up register, B0MOV P0UR, A B0MOV P1UR,A Version 1.5 SONiX TECHNOLOGY CO., LTD Page 74...
; Write data FFH to all Port. B0MOV P0, A B0MOV P1, A Example: Write one bit data to output port. ; Set P1.0 to be “1”. B0BSET P1.0 ; Set P1.0 to be “0”. B0BCLR P1.0 Version 1.5 SONiX TECHNOLOGY CO., LTD Page 75...
T0C 8-Bit Binary Up Counting Counter (T0 timer overflow.) Ext. 32K ÷ 64 (LXIN, LXOUT) CPUM0,1 Note: In RTC mode, the T0 interval time is fixed at 0.5 sec and T0C is 256 counts. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 78...
TC0C5 TC0C4 TC0C3 TC0C2 TC0C1 TC0C0 Read/Write After reset The equation of TC0C initial value is as following. TC0C initial value = 256 - (TC0 interrupt interval time * TC0 clock rate) Version 1.5 SONiX TECHNOLOGY CO., LTD Page 84...
The cycle measurement is using rising edge to start and stop T1 16-bit counter. If set CPTStart bit at high or low pulse duration, the capture timer will measure next cycle until the rising edge occurrence. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 93...
T1 stops counting. CPTStart = 0 Un-know T1 16-bit Counter Data 0x???? T1 is counting. “n” is the period of (256-n) cycle of input signals. Read it by program through T1CH, T1CL 0x0000 registers. Initialization Version 1.5 SONiX TECHNOLOGY CO., LTD Page 94...
Read T1 event counter buffer sequence is to read T1VCL first, and then read T1VCH. Write T1 event counter buffer sequence is to write T1VCH first, and then write T1VCL. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 95...
RFCOUT pin: RFC output pin is shared with GPIO controlled by RFCOUT bit. RFC output pin outputs RFC oscillating signal through RFC oscillator generator processing. The signal also inputs to T1 capture timer. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 98...
RFC converting result. The RFC clock can be T1 clock source to measure RFC converting value by frequency measurement and pulse width measurement. The RFC clock also can output to RFCOUT pin (P1.6) when RFCOUT =1. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 99...
2. RFCM.4 must be set as “1” by program through MOV/B0MOV instruction because the bit is write only type. 3. RFCM.5 must be set as “0” by program through MOV/B0MOV instruction because the bit is write only type. 4. We strongly recommend controlling RFCM register through MOV/B0MOV instructions. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 100...
; Clear COM1=1 of SEG 1. … A, #0 ; Switch to RAM bank 0. B0MOV RBANK, A Note: Access RAM data of bank 0 (system registers and user define RAM 0x0000~0x007F) is using “B0xxx” instructions. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 105...
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.5 SONiX TECHNOLOGY CO., LTD Page 107...
Vdet0 Low voltage reset level. 25 LVD Voltage Vdet1 Low voltage reset/indicator level. 25 Vdet2 Low voltage reset/indicator level. 25 “ ” These parameters are for design reference, not tested. Version 1.5 SONiX TECHNOLOGY CO., LTD Page 108...
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 (-40℃~+85℃ curves are for design reference). Version 1.5 SONiX TECHNOLOGY CO., LTD Page 109...
Writer transition board: SN8P2318 13.1 SN8P2318 EV-KIT SONIX provides SN8P2318 MCU which includes LCD and RFC functions. These functions aren’t built in SN8ICE2K Plus 2. To emulate the functions must be through SN8P2318 real chip. The real chip provides an EV-KIT to achieve LCD and RFC functions emulations.
2. Connect EV-KIT’s JP1/JP2 to ICE’s JP3/CON1. 3. Turn on SN8ICE2K Plus 2 power switch to start emulation. 4. If the power indicator (LED D1) doesn’t light, the EV-kit occurs some mistakes. Please contact SONIX’s agent for maintain service. 5. It is necessary to connect 16MHz crystal in ICE for IHRC_16M mode emulation. SN8ICE2K Plus 2 doesn’t support over 8-mips instruction cycle, but real chip does 6.
Marking Definition 15.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. 15.2 MARKING INDETIFICATION SYSTEM SN8 X PART No.
Need help?
Do you have a question about the SN8P2308 and is the answer not in the manual?
Questions and answers