Holtek HT45F0005A Manual

Induction cooker flash mcu
Table of Contents

Advertisement

Quick Links

Induction Cooker Flash MCU
HT45F0005A
Revision: V1.00
Date: March 15, 2024

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the HT45F0005A and is the answer not in the manual?

Questions and answers

Summary of Contents for Holtek HT45F0005A

  • Page 1 Induction Cooker Flash MCU HT45F0005A Revision: V1.00 Date: March 15, 2024...
  • Page 2: Table Of Contents

    HT45F0005A Induction Cooker Flash MCU Table of Contents Features ......................... 7 CPU Features ..........................7 Peripheral Features ........................7 General Description ....................8 Block Diagram ....................... 9 Pin Assignment ....................10 Pin Description ....................10 Absolute Maximum Ratings ................13 D.C. Characteristics .................... 13 Operating Voltage Characteristics ....................13...
  • Page 3 HT45F0005A Induction Cooker Flash MCU On-Chip Debug Support – OCDS ....................30 Data Memory ....................... 30 Structure ............................30 Data Memory Addressing ......................31 General Purpose Data Memory ....................31 Special Purpose Data Memory ....................31 Special Function Register Description ............. 33 Indirect Addressing Registers – IAR0, IAR1, IAR2 ..............33 Memory Pointers –...
  • Page 4 HT45F0005A Induction Cooker Flash MCU Input/Output Ports ....................62 Pull-high Resistors ........................63 Port A Wake-up ...........................63 I/O Port Control Registers ......................63 Pin-shared Functions ........................64 I/O Pin Structures ........................69 READ PORT Function.........................70 Programming Considerations ......................71 Timer/Event Counters ..................71 Configuring the Timer/Event Counter Input Clock Source ............73 Timer/Event Counter Register Description ..................74...
  • Page 5 HT45F0005A Induction Cooker Flash MCU Comparators ..................... 124 Comparator Registers .......................125 Comparator Input Offset Calibration Function (n=0, m=5; n=1~5, m=4) ........130 Valley Detection Function ......................130 Operational Amplifier ..................131 Operational Amplifier Operation ....................131 Input Voltage Range ........................133 Input Offset Calibration ......................133 Pulse Width Modulator ..................
  • Page 6 HT45F0005A Induction Cooker Flash MCU Bit Operations ...........................155 Table Read Operations ......................155 Other Operations ........................155 Instruction Set Summary ................. 156 Table Conventions ........................156 Extended Instruction Set ......................158 Instruction Definition ..................160 Extended Instruction Definition ....................170 Package Information ..................179 20-pin SOP (300mil) Outline Dimensions .................180 Rev.
  • Page 7: Features

    HT45F0005A Induction Cooker Flash MCU Features CPU Features • Operating voltage =16MHz: 3.3V~5.5V ♦ • Up to 0.25μs instruction cycle with 16MHz system clock at V • Power down and wake-up functions to reduce power consumption • Oscillator types Internal High Speed 16MHz RC – HIRC ♦...
  • Page 8: General Description

    HT45F0005A Induction Cooker Flash MCU General Description The device is a Flash Memory type 8-bit high performance RISC architecture microcontroller especially designed for induction cooker applications. For memory features, the Flash Memory offers users the convenience of multi-programming features. Other memory includes an area of RAM Data Memory as well as an area of true EEPROM memory for storage of non-volatile data such as serial numbers, calibration data etc.
  • Page 9: Block Diagram

    HT45F0005A Induction Cooker Flash MCU Block Diagram Interrupt Port A PA0~PA7 Controller 4K × 16 512 × 8 Driver Reset Stack EEPROM Pin-Shared Port B Timers Circuit 128 × 8 8-Level PB0~PB4 Function Driver Watchdog LVD/LVR Timer Port C PC0~PC3...
  • Page 10: Pin Assignment

    2. The OCDSDA and OCDSCK pins are supplied for the OCDS dedicated pins and as such only available for the HT45V0005A device which is the OCDS EV chip for the HT45F0005A device. Pin Description The function of each pin is listed in the following table, however the details behind how each pin is configured is contained in other sections of the datasheet.
  • Page 11 HT45F0005A Induction Cooker Flash MCU Pin Name Function Descriptions PAPU General purpose I/O. Register enabled pull-up PAWU CMOS and wake-up PAS2 PA4/C2VO/VREF/AN4 C2VO PAS2 — CMOS Comparator 2 output (before debounce) VREF PAS2 — A/D converter external reference voltage input PAS2 —...
  • Page 12 HT45F0005A Induction Cooker Flash MCU Pin Name Function Descriptions PBPU CMOS General purpose I/O. Register enabled pull-up PBS2 PBS2 NMOS I C clock line PB4/SCL/PWMO/C0VO/ PWMO PBS2 — CMOS PWM output OPINN1/AN3 C0VO PBS2 — CMOS Comparator 0 output (before debounce)
  • Page 13: Absolute Maximum Ratings

    HT45F0005A Induction Cooker Flash MCU Absolute Maximum Ratings Supply Voltage ......................V -0.3V to 6.0V Input Voltage ..................... V -0.3V to V +0.3V Storage Temperature ..................... -60°C to 150°C Operating Temperature ....................-40°C to 85°C Total ............................-80mA Total ............................80mA Total Power Dissipation ......................
  • Page 14: Standby Current Characteristics

    HT45F0005A Induction Cooker Flash MCU Standby Current Characteristics Ta=25°C Test Conditions Symbol Standby Mode Min. Typ. Max. Unit Conditions 3.3V — μA SLEEP Mode WDT on — μA 3.3V — μA IDLE0 Mode – LIRC — μA 3.3V — 0.80 1.20...
  • Page 15: Operating Frequency Characteristic Curve

    HT45F0005A Induction Cooker Flash MCU Operating Frequency Characteristic Curve System Operating Frequency 16MHz 3.3V 5.5V Operating Voltage System Start Up Time Characteristics Ta=25°C Test Conditions Symbol Parameter Min. Typ. Max. Unit Conditions — /64, f — — System Start-up Time...
  • Page 16: Memory Electrical Characteristics

    HT45F0005A Induction Cooker Flash MCU Test Conditions Symbol Parameter Min. Typ. Max. Unit Conditions Input Leakage Current or V — — ±1 μA LEAK TCn Input Pin Minimum Pulse Width — — — — Note: The R internal pull high resistance value is calculated by connecting to ground and enabling the input pin with a pull-high resistor and then measuring the pin current at the specified supply voltage level.
  • Page 17: Reference Voltage Characteristics

    HT45F0005A Induction Cooker Flash MCU Test Conditions Symbol Parameter Min. Typ. Max. Unit Conditions LVD enable, voltage select LVDIN — -10% 1.23 +10% pin=1.23V — LVD enable, voltage select 2.2V — LVD enable, voltage select 2.4V Low Voltage Detection —...
  • Page 18: Comparator Electrical Characteristics

    HT45F0005A Induction Cooker Flash MCU Test Conditions Symbol Parameter Min. Typ. Max. Unit Conditions 3.3V~ Clock Period — — 10.0 μs ADCK 5.5V A/D Converter On-to-Start Time — — — — μs ON2ST Sampling Time — — — — ADCK Conversion Time —...
  • Page 19 HT45F0005A Induction Cooker Flash MCU Test Conditions Symbol Parameter Min. Typ. Max. Unit Conditions Hysteresis disable, debounce disable — μs (1~47) (1~47) Hysteresis disable, debounce enable, CMP0 Interrupt Response — ×t ×t μs DBDL DBDL — C0DBC[5:0]=000001B~101111B Time +0.8 +1.5 Hysteresis disable, debounce enable, 48×t...
  • Page 20: Operational Amplifier Electrical Characteristics

    HT45F0005A Induction Cooker Flash MCU Operational Amplifier Electrical Characteristics Ta=25°C Test Conditions Symbol Parameter Min. Typ. Max. Unit Conditions Additional Current for Operational No load — μA Amplifier Enable Without calibration — (OPOOF[5:0]=100000B) Input Offset Voltage With calibration — Common Mode Voltage Range —...
  • Page 21: I 2 C Electrical Characteristics

    HT45F0005A Induction Cooker Flash MCU C Electrical Characteristics Ta=25°C Test Conditions Symbol Parameter Min. Typ. Max. Unit Conditions No clock debounce — — C Standard Mode (100kHz) f — 2 system clock debounce — — Frequency (Note) 4 system clock debounce —...
  • Page 22: Power-On Reset Characteristics

    Time System Architecture A key factor in the high-performance features of the Holtek range of microcontrollers is attributed to their internal system architecture. The device takes advantage of the usual features found within RISC microcontrollers providing increased speed of operation and enhanced performance. The...
  • Page 23: Program Counter

    HT45F0005A Induction Cooker Flash MCU (System Clock) Phase Clock T1 Phase Clock T2 Phase Clock T3 Phase Clock T4 Program Counter PC+1 PC+2 Fetch Inst. (PC) Pipelining Execute Inst. (PC-1) Fetch Inst. (PC+1) Execute Inst. (PC) Fetch Inst. (PC+2) Execute Inst. (PC+1) System Clocking and Pipelining Fetch Inst.
  • Page 24: Stack

    HT45F0005A Induction Cooker Flash MCU the high byte register. Reading the low byte register, PCRL, will read the low byte data of the current program execution address, and place the high byte data of the program counter into the 8-bit PCRH buffer.
  • Page 25 HT45F0005A Induction Cooker Flash MCU If the stack is full and an enabled interrupt takes place, the interrupt request flag will be recorded but the acknowledge signal will be inhibited. When the Stack Pointer is decremented, by RET or RETI, the interrupt will be serviced.
  • Page 26: Arithmetic And Logic Unit - Alu

    HT45F0005A Induction Cooker Flash MCU Arithmetic and Logic Unit – ALU The arithmetic-logic unit or ALU is a critical area of the microcontroller that carries out arithmetic and logic operations of the instruction set. Connected to the main microcontroller data bus, the ALU receives related instruction codes and performs the required arithmetic or logical operations after which the result will be placed in the specified register.
  • Page 27: Special Vectors

    HT45F0005A Induction Cooker Flash MCU 000H Initialisation Vector 004H Interrupt Vectors 03CH n00H Look-up Table nFFH 0FFFH 16 bits Program Memory Structure Special Vectors Within the Program Memory, certain locations are reserved for the reset and interrupts. The location 000H is reserved for use by the device reset for program initialisation. After a device reset is initiated, the program will jump to this location and begin execution.
  • Page 28 HT45F0005A Induction Cooker Flash MCU Table Program Example The following example shows how the table pointer and table data is defined and retrieved from the microcontroller. This example uses raw table data located in the Program Memory which is stored there using the ORG statement.
  • Page 29: In Circuit Programming - Icp

    The provision of Flash type Program Memory provides the user with a means of convenient and easy upgrades and modifications to their programs on the same device. As an additional convenience, Holtek has provided a means of programming the microcontroller in- circuit using a 4-pin interface. This provides manufacturers with the possibility of manufacturing their circuit boards complete with a programmed or un-programmed microcontroller, and then programming or upgrading the program at a later stage.
  • Page 30: On-Chip Debug Support - Ocds

    Induction Cooker Flash MCU On-Chip Debug Support – OCDS There is an EV chip named HT45V0005A which is used to emulate the HT45F0005A device. The EV chip device also provides an “On-Chip Debug” function to debug the real MCU device during the development process.
  • Page 31: Data Memory Addressing

    HT45F0005A Induction Cooker Flash MCU Special Purpose Data Memory (Sector 0 ~ Sector 1) General Purpose Data Memory (Sector 0 ~ Sector 3) Sector 0 Sector 1 Sector 2 Sector 3 Data Memory Structure Data Memory Addressing For the device that supports the extended instructions, there is no Bank Pointer for Data Memory.
  • Page 32 HT45F0005A Induction Cooker Flash MCU Sector 0 Sector 1 Sector 0 Sector 1 IAR0 SADOH CMP0C0 IAR1 CMP0C1 MP1L CMP0DB MFI2 MP1H CMP0DLY MFI3 CMP1C0 CMP1C1 TBLP C1DA TBLH CMP2C0 TBHP CMP2C1 STATUS C2DA CMP3C0 IAR2 CMP3C1 MP2L C3DA MP2H...
  • Page 33: Special Function Register Description

    HT45F0005A Induction Cooker Flash MCU Special Function Register Description Most of the Special Function Register details will be described in the relevant functional section; however several registers require a separate description in this section. Indirect Addressing Registers – IAR0, IAR1, IAR2 The Indirect Addressing Registers, IAR0, IAR1 and IAR2, although having their locations in normal RAM register space, do not actually physically exist as normal registers.
  • Page 34: Accumulator - Acc

    HT45F0005A Induction Cooker Flash MCU Example 2 data .section ‘data’ adres1 db ? adres2 db ? adres3 db ? adres4 db ? block db ? code .section at 0 ‘code’ org 00h start: mov a, 04h ; setup size of block...
  • Page 35: Program Counter Low Register - Pcl

    HT45F0005A Induction Cooker Flash MCU Program Counter Low Register – PCL To provide additional program control functions, the low byte of the Program Counter is made accessible to programmers by locating it within the Special Purpose area of the Data Memory. By manipulating this register, direct jumps to other program locations are easily implemented.
  • Page 36: Eeprom Data Memory

    HT45F0005A Induction Cooker Flash MCU In addition, on entering an interrupt sequence or executing a subroutine call, the status register will not be pushed onto the stack automatically. If the contents of the status register are important and if the subroutine can corrupt the status register, precautions must be taken to correctly save it.
  • Page 37: Eeprom Data Memory Structure

    HT45F0005A Induction Cooker Flash MCU EEPROM Data Memory Structure The EEPROM Data Memory capacity is 128×8 bits for the device. Unlike the Program Memory and RAM Data Memory, the EEPROM Data Memory is not directly mapped into memory space and is therefore not directly addressable in the same way as the other types of memory.
  • Page 38 HT45F0005A Induction Cooker Flash MCU Bit 6 EREN: Data EEPROM erase enable 0: Disable 1: Enable This bit is used to enable Data EEPROM erase function and must be set high before Data EEPROM erase operations are carried out. This bit will be automatically reset to zero by hardware after the erase cycle has finished.
  • Page 39: Read Operation From The Eeprom

    HT45F0005A Induction Cooker Flash MCU Read Operation from the EEPROM Reading data from the EEPROM can be implemented by two modes for this device, byte read mode or page read mode, which is controlled by the EEPROM operation mode selection bit, MODE, in the EEC register.
  • Page 40: Write Operation To The Eeprom

    HT45F0005A Induction Cooker Flash MCU For page erase operations the start address of the desired EEPROM page should first be placed in the EEA register and the dummy data to be written should be placed in the EED register. The maximum data length for a page is 16 bytes.
  • Page 41: Write Protection

    HT45F0005A Induction Cooker Flash MCU write enable control bit, namely WREN, is changed from “1” to “0”, the internal page buffer will also be cleared. Note that when the WREN bit is changed from “0” to “1”, the internal page buffer will not be cleared.
  • Page 42: Programming Considerations

    HT45F0005A Induction Cooker Flash MCU Programming Considerations Care must be taken that data is not inadvertently written to the EEPROM. Protection can be enhanced by ensuring that the Write Enable bit is normally cleared to zero when not writing. Also the Memory Pointer high byte register, MP1H or MP2H, could be normally cleared to zero as this would inhibit access to Sector 1 where the EEPROM control register exists.
  • Page 43 HT45F0005A Induction Cooker Flash MCU JMP BACK MOV A, EED ; move read data to register MOV READ_DATA, A PAGE_READ_FINISH: CLR IAR1 ; disable EEPROM read function CLR MP1H Erasing a Data Page to the EEPROM − polling method MOV A, 040H ; setup memory pointer low byte MP1L MOV MP1L, A ; MP1 points to EEC register MOV A, 01H ; setup memory pointer high byte MP1H MOV MP1H, A SET IAR1.4 ; set MODE bit, select page operation mode MOV A, EEPROM_ADRES ; user defined address MOV EEA, A ; ~~~~ The data length can be up to 16 bytes (Start) ~~~~ CALL WRITE_BUF CALL WRITE_BUF JMP Erase_START ; ~~~~ The data length can be up to 16 bytes (End) ~~~~...
  • Page 44 HT45F0005A Induction Cooker Flash MCU Writing a Data Byte to the EEPROM – polling method MOV A, 040H ; setup memory pointer low byte MP1L MOV MP1L, A ; MP1 points to EEC register MOV A, 01H ; setup memory pointer high byte MP1H MOV MP1H, A CLR IAR1.4 ; clear MODE bit, select byte operation mode MOV A, EEPROM_ADRES ; user defined address MOV EEA, A MOV A, EEPROM_DATA ; user defined data MOV EED, A CLR EMI SET IAR1.3 ; set WREN bit, enable write operations SET IAR1.2 ; start Write Cycle – set WR bit – executed immediately ; after setting WREN bit SET EMI BACK: SZ IAR1.2 ; check for write cycle end...
  • Page 45: Oscillators

    HT45F0005A Induction Cooker Flash MCU Oscillators Various oscillator options offer the user a wide range of functions according to their various application requirements. The flexible features of the oscillator functions ensure that the best optimisation can be achieved in terms of speed and power saving. Oscillator selections and operation are selected through the application program by using some control registers.
  • Page 46: Internal High Speed Rc Oscillator - Hirc

    As Holtek has provided the device with both high and low speed clock sources and the means to switch between them dynamically, users can optimise the operation of their microcontroller to achieve the best performance/power ratio.
  • Page 47: System Operation Modes

    HT45F0005A Induction Cooker Flash MCU High Speed Oscillator HIRC IDLE0 Prescaler SLEEP HIRCEN Low Speed Oscillator CKS2~CKS0 LIRC IDLE2 SLEEP LIRC Prescaler Timers CLKSEL[1:0] Device Clock Configurations Note: When the system clock source f is switched to f from f...
  • Page 48: Control Registers

    HT45F0005A Induction Cooker Flash MCU FAST Mode This is one of the main operating modes where the microcontroller has all of its functions operational and where the system clock is provided the high speed oscillator. This mode operates allowing the microcontroller to operate normally with a clock source from the HIRC high speed oscillator.
  • Page 49 HT45F0005A Induction Cooker Flash MCU • SCC Register Name CKS2 CKS1 CKS0 — — — FHIDEN FSIDEN — — — — — — Bit 7~5 CKS2~CKS0: System clock selection 000: f 001: f 010: f 011: f 100: f 101: f...
  • Page 50: Operating Mode Switching

    HT45F0005A Induction Cooker Flash MCU Operating Mode Switching The device can switch between operating modes dynamically allowing the user to select the best performance/power ratio for the present task in hand. In this way microcontroller operations that do not require high performance can be executed using slower clocks thus requiring less operating current and prolonging battery life in portable applications.
  • Page 51 HT45F0005A Induction Cooker Flash MCU FAST Mode CKS2~CKS0=111 SLOW Mode FHIDEN=0, FSIDEN=0 HALT instruction is executed SLEEP Mode FHIDEN=0, FSIDEN=1 HALT instruction is executed IDLE0 Mode FHIDEN=1, FSIDEN=1 HALT instruction is executed IDLE1 Mode FHIDEN=1, FSIDEN=0 HALT instruction is executed...
  • Page 52 HT45F0005A Induction Cooker Flash MCU Entering the SLEEP Mode There is only one way for the device to enter the SLEEP Mode and that is to execute the “HALT” instruction in the application program with both the FHIDEN and FSIDEN bits in the SCC register equal to “0”.
  • Page 53: Standby Current Considerations

    HT45F0005A Induction Cooker Flash MCU • The I/O ports will maintain their present conditions. • In the status register, the Power Down flag, PDF, will be set and the Watchdog time-out flag, TO, will be cleared. • The WDT will be cleared and resume counting as the WDT function is always enabled.
  • Page 54: Watchdog Timer

    HT45F0005A Induction Cooker Flash MCU Watchdog Timer The Watchdog Timer is provided to prevent program malfunctions or sequences from jumping to unknown locations, due to certain uncontrollable external events such as electrical noise. Watchdog Timer Clock Source The Watchdog Timer clock source is provided by the internal clock, f...
  • Page 55: Watchdog Timer Operation

    HT45F0005A Induction Cooker Flash MCU Bit 0 WRF: WDT Control register software reset flag 0: Not occurred 1: Occurred This bit is set high by the WDT Control register software reset and cleared by the application program. Note that this bit can only be cleared to zero by the application program.
  • Page 56: Reset And Initialisation

    HT45F0005A Induction Cooker Flash MCU Reset and Initialisation A reset function is a fundamental part of any microcontroller ensuring that the device can be set to some predetermined condition irrespective of outside parameters. The most important reset condition is after power is first applied to the microcontroller. In this case, internal circuitry will ensure that the microcontroller, after a short delay, will be in a well-defined state and ready to execute the first program instruction.
  • Page 57 HT45F0005A Induction Cooker Flash MCU RSTD Internal Reset Low Voltage Reset Timing Chart • Low Voltage Reset Registers The LVRC and TLVRC registers are used to control the Low Voltage Reset function. Register Name LVRC LVS7 LVS6 LVS5 LVS4 LVS3...
  • Page 58 HT45F0005A Induction Cooker Flash MCU • RSTFC Register Name — — — — — LVRF — — — — — — — — — — “x”: Unknown Bit 7~3 Unimplemented, read as “0” LVRF: LVR function reset flag Bit 2...
  • Page 59: Reset Initial Conditions

    HT45F0005A Induction Cooker Flash MCU Reset Initial Conditions The different types of reset described affect the reset flags in different ways. These flags, known as PDF and TO are located in the status register and are controlled by various microcontroller operations, such as the SLEEP or IDLE Mode function or Watchdog Timer.
  • Page 60 HT45F0005A Induction Cooker Flash MCU Power On WDT Time-out WDT Time-out Register Reset (Normal Operation) (IDLE/SLEEP) - - - 1 1 1 1 1 - - - 1 1 1 1 1 - - - u u u u u...
  • Page 61 HT45F0005A Induction Cooker Flash MCU Power On WDT Time-out WDT Time-out Register Reset (Normal Operation) (IDLE/SLEEP) CMP0DLY - - 0 0 0 0 0 0 - - 0 0 0 0 0 0 - - u u u u u u...
  • Page 62: Input/Output Ports

    “-” stands for unimplemented Input/Output Ports Holtek microcontrollers offer considerable flexibility on their I/O ports. With the input or output designation of every pin fully under user program control, pull-high selections for all ports and wake-up selections on certain pins, the user is provided with an I/O structure to meet the needs of a wide range of application possibilities.
  • Page 63: Pull-High Resistors

    HT45F0005A Induction Cooker Flash MCU Pull-high Resistors Many product applications require pull-high resistors for their switch inputs usually requiring the use of an external resistor. To eliminate the need for these external resistors, all I/O pins, when configured as a digital input have the capability of being connected to an internal pull-high resistor.
  • Page 64: Pin-Shared Functions

    HT45F0005A Induction Cooker Flash MCU However, it should be noted that the program will in fact only read the status of the output data latch and not the actual logic status of the output pin when the IECM is set to “0”.
  • Page 65 HT45F0005A Induction Cooker Flash MCU Register Name PCS0 — PCS06 PCS05 PCS04 — PCS02 PCS01 PCS00 PCS1 — PCS16 PCS15 PCS14 — PCS12 PCS11 PCS10 — IFS4 IFS3 IFS2 IFS1 IFS0 Pin-shared Function Selection Register List • PAS0 Register Name —...
  • Page 66 HT45F0005A Induction Cooker Flash MCU • PAS2 Register Name — PAS26 PAS25 PAS24 — PAS22 PAS21 PAS20 — — — — Bit 7 Unimplemented, read as “0” Bit 6~4 PAS26~PAS24: PA5 pin-shared function selection 000: PA5 001: Reserved 010: CP1N 011: AN7 100: CP1N &...
  • Page 67 HT45F0005A Induction Cooker Flash MCU Bit 6~4 PBS06~PBS04: PB1 pin-shared function selection 000: PB1/TC1 001: SDA 010: PCK 011: C1VO 100: C3VO 101: AN12 110: CP5N 111: PB1/TC1 Bit 3 Unimplemented, read as “0” Bit 2~0 PBS02~PBS00: PB0 pin-shared function selection...
  • Page 68 HT45F0005A Induction Cooker Flash MCU • PCS0 Register Name — PCS06 PCS05 PCS04 — PCS02 PCS01 PCS00 — — — — Bit 7 Unimplemented, read as “0” Bit 6~4 PCS06~PCS04: PC1 pin-shared function selection 000: PC1 001: C1VOD 010: PCK...
  • Page 69: I/O Pin Structures

    HT45F0005A Induction Cooker Flash MCU • IFS Register Name — IFS4 IFS3 IFS2 IFS1 IFS0 — — Bit 7 Unimplemented, read as “0” Bit 6~5 D6~D5: Reserved, must be fixed at “0” Bit 4 IFS4: TC1 input source pin selection...
  • Page 70: Read Port Function

    HT45F0005A Induction Cooker Flash MCU READ PORT Function The READ PORT function is used to manage the reading of the output data from the data latch or I/O pin, which is specially designed for the IEC 60730 self-diagnostic test on the I/O function and A/D paths.
  • Page 71: Programming Considerations

    HT45F0005A Induction Cooker Flash MCU Digital Output Function READ PORT function enabled, A/D Converter AN0 Pin-shared path switched on automatically AN13 External analog input channel selection A/D Channel Input Path Internally Connection Programming Considerations Within the user program, one of the first things to consider is port initialisation. After a reset, all of the I/O data and port control registers will be set high.
  • Page 72 HT45F0005A Induction Cooker Flash MCU CLKSEL[1:0] T0PSC2~ T0PSC0 Prescaler Data bus T0M1 Reload 8-bit Timer/Event Counter T0M0 Preload Register C0VOD T0EG T0ECS Pulse Width 8-bit Timer/Event Overflow to T0M1~T0M0 Measurement Counter (TMR0) Interrupt Mode Control T0ON Note: The C0VOD is sourced from the Comparator 0 output (after debounce).
  • Page 73: Configuring The Timer/Event Counter Input Clock Source

    HT45F0005A Induction Cooker Flash MCU T3PSC2~ CLKSEL[1:0] T3PSC0 Prescaler Data bus T3M1 Reload 8-bit Timer/Event T3M0 C0VOD Counter Preload Register C0INT00INT T3EG T3ECS Pulse Width 8-bit Timer/Event Overflow to Interrupt T3M1~T3M0 Measurement Counter (TMR3) Mode Control T3ON T3M1 PPGOUT PPGRTG...
  • Page 74: Timer/Event Counter Register Description

    HT45F0005A Induction Cooker Flash MCU CLKSEL[1:0] PSCEN 7-stage prescaler T0PSC2~T0PSC0 8-1 MUX T1PSC2~T1PSC0 8-1 MUX T2PSC2~T2PSC0 8-1 MUX T3PSC2~T3PSC0 8-1 MUX Prescaler • PSCR Register Name — — — — — PSCEN CLKSEL1 CLKSEL0 — — — — — —...
  • Page 75 D7~D0: Timer/Event Counter n preload register bit 7 ~ bit 0 Timer/Event Counter Control Registers – TMR0C, TMR1C, TMR2C, TMR3C0/TMR3C1 The flexible features of the Holtek microcontroller Timer/Event Counters enable them to operate in several different modes, the options of which are determined by the contents of their respective control registers.
  • Page 76 HT45F0005A Induction Cooker Flash MCU In addition, the T3RSEN bit in the TMR3C1 register is only available for the Timer/Event Counter 3 and related to the PPG retrigger function mode configuration. • TMR0C Register Name T0M1 T0M0 T0ECS T0ON T0EG...
  • Page 77 HT45F0005A Induction Cooker Flash MCU Bit 4 T1ON: Timer/Event Counter 1 counting enable control 0: Disable 1: Enable T1EG: Timer/Event Counter 1 active edge selection Bit 3 In Event Counter Mode: 0: Count on rising edge 1: Count on falling edge...
  • Page 78 HT45F0005A Induction Cooker Flash MCU • TMR3C0 Register Name T3M1 T3M0 T3ECS T3ON T3EG T3PSC2 T3PSC1 T3PSC0 Bit 7~6 T3M1~T3M0: Timer/Event Counter 3 operation mode selection 00: PPG retrigger function mode 01: Event counter mode 10: Timer mode 11: Pulse width measurement mode...
  • Page 79: Timer/Event Counter Operating Modes

    HT45F0005A Induction Cooker Flash MCU Timer/Event Counter Operating Modes The Timer/Event Counters can operate in different operating modes, any in the timer mode, the event counter mode, the pulse width measurement mode, the PPG non-retrigger function mode or the PPG retrigger function mode. The operating mode is selected using the TnM1~TnM0 bits in the TMRnC register or the T3M1~T3M0 bits in the TMR3C0 register.
  • Page 80 HT45F0005A Induction Cooker Flash MCU continue counting. The interrupt can be disabled by ensuring that the Timer/Event Counter 0/1/3 interrupt enable bit in the corresponding interrupt control register is reset to zero. It should be noted that in the event counter mode, even if the microcontroller is in the SLEEP or...
  • Page 81 HT45F0005A Induction Cooker Flash MCU It should be noted that in this mode the Timer/Event Counter 0/1/3 is controlled by logical transitions on the TC0 pin or C0VOD signal, the TC1 pin, and the C0VOD signal and not by the logic level.
  • Page 82: I/O Interfacing

    HT45F0005A Induction Cooker Flash MCU T3RSEN CMP0 Hardware Trigger PPG T3ON Timer Overflow Timer Overflow 0xFF Timer 3 Count 0x00 Timer Hardware Trigger PPG PPG output (Active high) : By S/W : By H/W : Timer reload : PPG retrigger...
  • Page 83: Timer/Event Counter Program Example

    HT45F0005A Induction Cooker Flash MCU When the Timer/Event Counter is read, or if data is written to the preload register, the clock is inhibited to avoid errors, however as this may result in a counting error, this should be taken into account by the programmer.
  • Page 84: Analog To Digital Converter

    HT45F0005A Induction Cooker Flash MCU Analog to Digital Converter The need to interface to real world analog signals is a common requirement for many electronic systems. However, to properly process these signals by a microcontroller, they must first be converted into digital signals by A/D converters. By integrating the A/D conversion electronic circuitry into the microcontroller, the need for external components is reduced significantly with the corresponding follow-on benefits of lower costs and reduced component space requirements.
  • Page 85: A/D Converter Register Description

    HT45F0005A Induction Cooker Flash MCU A/D Converter Register Description Overall operation of the A/D converter is controlled using a series of registers. A read only register pair exists to store the A/D converter data 12-bit value. The remain two control registers which setup the operating conditions and control function of the A/D converter.
  • Page 86 HT45F0005A Induction Cooker Flash MCU • SADC0 Register Name START ADBZ ADCEN ADRFS SACS3 SACS2 SACS1 SACS0 Bit 7 START: Start the A/D conversion 0→1→0: Start A/D conversion This bit is used to initiate an A/D conversion process. The bit is normally low but if set high and then cleared low again, the A/D converter will initiate a conversion process.
  • Page 87: A/D Converter Reference Voltage

    HT45F0005A Induction Cooker Flash MCU Bit 4~3 SAVRS1~SAVRS0: A/D converter reference voltage selection 00: External VREF pin input 01: Internal A/D converter power, V 1x: External VREF pin input These bits are used to select the A/D converter reference voltage. When the internal A/D converter power is selected as the reference voltage, the hardware will automatically disconnect the external VREF input.
  • Page 88: A/D Converter Clock Source

    HT45F0005A Induction Cooker Flash MCU The SAINS2~SAINS0 bits in the SADC1 register are used to determine whether the analog signal to be converted comes from an external channel input or internal analog signal. The SACS3~SACS0 bits in the SADC0 register are used to determine which external channel input is selected to be converted.
  • Page 89: A/D Conversion Rate And Timing Diagram

    HT45F0005A Induction Cooker Flash MCU A/D Conversion Rate and Timing Diagram A complete A/D conversion contains two parts, data sampling and data conversion. The data sampling which is defined as t takes 4 A/D conversion clock cycles and the data conversion takes 12 A/D converter clock cycles.
  • Page 90: Programming Considerations

    HT45F0005A Induction Cooker Flash MCU • Step 5 If the A/D input signal is selected to come from the internal analog signal by configuring the SAINS2~SAINS0 and the external channel analog signal input will be automatically switched off regardless of the SACS3~SACS0 bits value. After this step, go to Step 6.
  • Page 91: A/D Converter Programming Examples

    HT45F0005A Induction Cooker Flash MCU 1.5 LSB FFFH FFEH FFDH A/D Conversion Result 0.5 LSB 4096 4093 4094 4095 4096 Analog Input Voltage Ideal A/D Conversion Function A/D Converter Programming Examples The following two programming examples illustrate how to setup and implement an A/D conversion.
  • Page 92 HT45F0005A Induction Cooker Flash MCU Example 2: using the interrupt method to detect the end of conversion clr ADE ; disable ADC interrupt mov a,0Bh ; select f /8 as A/D clock and A/D input signal ; comes from external channel mov SADC1,a ; select VDD as A/D reference voltage source...
  • Page 93: I 2 C Interface

    HT45F0005A Induction Cooker Flash MCU C Interface The I C interface is used to communicate with external peripheral devices such as sensors, EEPROM memory etc. Originally developed by Philips, it is a two line low speed serial interface for synchronous serial data transfer. The advantage of only two lines for communication, relatively simple communication protocol and the ability to accommodate multiple devices on the same bus has made it an extremely popular interface type for many applications.
  • Page 94: C Registers

    HT45F0005A Induction Cooker Flash MCU START signal from Master Send slave address and R/W bit from Master Acknowledge from slave Send data byte from Master Acknowledge from slave STOP signal from Master C Interface Operation The IICDEB1 and IICDEB0 bits determine the debounce time of the I C interface.
  • Page 95 HT45F0005A Induction Cooker Flash MCU C Data Register The IICD register is used to store the data being transmitted and received. Before these devices write data to the I C bus, the actual data to be transmitted must be placed in the IICD register. After the data is received from the I C bus, these devices can read it from the IICD register.
  • Page 96 HT45F0005A Induction Cooker Flash MCU Bit 1 IICEN: I C enable control 0: Disable 1: Enable The bit is the overall on/off control for the I C interface. When the IICEN bit is cleared to zero to disable the I...
  • Page 97: I 2 C Bus Communication

    HT45F0005A Induction Cooker Flash MCU Bit 1 IAMWU: I C address match wake-up control 0: Disable 1: Enable This bit should be set to 1 to enable the I C address match wake-up from the SLEEP or IDLE Mode. If the IAMWU bit has been set before entering either the SLEEP or...
  • Page 98 HT45F0005A Induction Cooker Flash MCU Start Configure the pin-shared I/O ports to I C function Set IICEN Write Slave Address to IICA C Bus Interrupt ? CLR IICE SET IICE Poll IICF to decide Wait for Interrupt when to go to I...
  • Page 99 HT45F0005A Induction Cooker Flash MCU C Bus Slave Address Acknowledge Signal After the master has transmitted a calling address, any slave device on the I C bus, whose own internal address matches the calling address, must generate an acknowledge signal. The acknowledge signal will inform the master that a slave device has accepted its calling address.
  • Page 100: C Time-Out Control

    HT45F0005A Induction Cooker Flash MCU Start IICTOF=1? SET IICTOEN HAAS=1? CLR IICTOF HTX=1? SRW=1? RETI Read from IICD to CLR HTX release SCL Line SET HTX CLR TXAK RETI Write data to IICD to Dummy read from IICD release SCL Line...
  • Page 101 HT45F0005A Induction Cooker Flash MCU When an I C time-out counter overflow occurs, the counter will stop and the IICTOEN bit will be cleared to zero and the IICTOF bit will be set high to indicate that a time-out condition has occurred.
  • Page 102: Programmable Pulse Generator - Ppg

    HT45F0005A Induction Cooker Flash MCU Programmable Pulse Generator – PPG The device includes a Programmable Pulse Generator, PPG, which privdes a 9-bit PPG output channel. The PPG has a programmable period of 512×T, where T is 1/f or 2/f for an output pulse width.
  • Page 103: Programmable Pulse Generator Registers

    HT45F0005A Induction Cooker Flash MCU The PPG consists of a PPG control circuit, a PPGTIMER counter, a PPG counter and a PPG output control. The PPG counter consists of a 9-bit up-counter timer, two sets of 9-bit counter preload data registers and two sets of 9-bit counter approach registers.
  • Page 104 HT45F0005A Induction Cooker Flash MCU • PPGC0 Register Name PRSEN OVCEN — C5PSPEN C3PSPEN C2PSPEN C1PSPEN — — Bit 7 PST: PPG software trigger bit 0: Stop PPG 1: Restart PPG The PST is a software trigger bit, if this bit is set to “1” the PPG counter will start counting and this bit will be cleared to zero when a PPG counter overflow occurs or when the PPG counter stop counting.
  • Page 105 HT45F0005A Induction Cooker Flash MCU Bit 1 C2PSPEN: Stop the PPG counter using the C2VOD falling edge trigger input enable control 0: Disable 1: Enable When stopping the PPG counter using the C2VOD trigger input is disabled, the PPG module output can be stopped by the software control bit, PST, only. When stopping...
  • Page 106 HT45F0005A Induction Cooker Flash MCU • PPGC2 Register Name — — — PPGDEC3 PPGDEC2 PPGDEC1 PPGDEC0 — — — — — — Bit 7~5 Unimplemented, read as “0” Bit 4 DVS: PPGTA reverse voltage increment period selection 0: Every 8/f 1: Every 16/f When the C1VOD signal is low and PPGDEC[3:0]≠0000, the PPGTA is...
  • Page 107 HT45F0005A Induction Cooker Flash MCU This bit is only valid when PPGSAMD=0. Since the pulse width approach operation is controlled by hardware when PPGSAMD=1, a software write is invalid. PPGSAEN PPGSAMD Software Write Hardware Write Read “x”: Don’t care Bit 6...
  • Page 108 HT45F0005A Induction Cooker Flash MCU • PPGATC1 Register Name PPGHTMD — — PPGCNT1 PPGCNT0 PPGSA2 PPGSA1 PPGSA0 — — — — Bit 7 PPGHTMD: PPGTIMER counter trigger source selection in the hardware approach mode 0: C4VOD rising 1: PPGTON Bit 6~5 Unimplemented, read as “0”...
  • Page 109 HT45F0005A Induction Cooker Flash MCU Bit 1~0 PPGASA1~PPGASA0: PPGTA approach value change selection – change N value 00: Unchanged 01: Unchanged 10: +1 11: -1 Note: 1. When PPGSA[2:0]=000/111, the PPGSA[2:0] bits will not increase or decrease according to PPGASA[1:0] and will be fixed to at 000 or 111.
  • Page 110 HT45F0005A Induction Cooker Flash MCU • PPGTEX Register Name — PPGTD8 — PPGTB8 — PPGTC8 — PPGTA8 — — — — — — — — “x”: Unknown Bit 7 Unimplemented, read as “0” PPGTD8: PPG counter approach register D bit 8...
  • Page 111: Writing Data To Ppgta~Ppgtd & Ppgtex Register Description

    HT45F0005A Induction Cooker Flash MCU Bit 1~0 PPGTPSC1~PPGTPSC0: PPGTIMER prescaler rate selection 00: f /128 01: f /256 10: f /512 11: f /1024 • PPGTMR1 Register Name Bit 7~0 D7~D0: PPGTIMER preload register T1 bit 7 ~ bit 0 •...
  • Page 112: Non-Retrigger Function

    HT45F0005A Induction Cooker Flash MCU Non-retrigger Function The PPG unit has a non-retrigger function to inhibit further PPG triggers. The PPG will be non- triggered by one of the following conditions: • PPG is active • During the non-retrigger period which starts counting once the PPG has stopped. Only available...
  • Page 113: Ppg Synchronised With Clock Description

    HT45F0005A Induction Cooker Flash MCU The PPG output waveforms, after the non-retrigger and retrigger functions are used, are shown below. PPGOUT Non-retrigger Timer (Timer/Event Counter 2) Re-trigger Timer (Timer/Event Counter 3) PPGOUT (New) (A) PPG is not triggered because it is in the non-triggered period.
  • Page 114: To Start The Ppg Operation

    HT45F0005A Induction Cooker Flash MCU Example 2: Since the first trigger type is a rising edge after the PPG starts, the PPG counter is triggered by a rising edge until the PPG stops. PPG Clock Start Trigger PPG Pulse < 0.5×t...
  • Page 115: The Methods To Start Ppg Output

    HT45F0005A Induction Cooker Flash MCU The Methods to Start PPG Output The methods to start PPG output, which can be divided into software starting and hardware starting. There are three kinds of hardware starting signals, namely synchronization signal starting signal (C0INT00INT) and TM timer timing start signal (PPGRTG).
  • Page 116 HT45F0005A Induction Cooker Flash MCU The CnPSPEN bits are the PPG stopping enable or disable bits using the CnVOD(n=1/2/3/5) trigger input. If these bits are enabled, the PPG timer stopping input can be triggered by a CnVOD(n=1/2/3/5) falling edge. The PRSEN bit will be cleared to zero by a CnVOD(n=1/2/3/5) falling edge, no matter whether the PPG is in an active period or not.
  • Page 117: Ppg Load Register Function

    HT45F0005A Induction Cooker Flash MCU • n=5: CnVOD CnPSPEN OVCEN PRSEN PPGDIS 0/↑/1/↓ 0/↑/1/ 0→0 floating u→0 1→0 floating ↓ 0→0 u→0 floating 1→0 floating “x”: Don’t care; “u”: Unchanged OVCEN = x OVCEN = 0 OVCEN = 1 CnPSPEN...
  • Page 118: Reverse Voltage Protection Adjustment Function

    HT45F0005A Induction Cooker Flash MCU Hardware Setting Set the CnRLEN(n=1/3/5) bit to “1”. When the CnVOD signal changes from high to low, it will generate a falling edge trigger signal and the PPG output signal will be changed from the original PPGTA to PPGTB.
  • Page 119 HT45F0005A Induction Cooker Flash MCU Step 1. Set the PPG trigger times and the approach value by configuring the PPGACNT[1:0] and PPGASA[2:0] bits the PPGATC1 register respectively. Step 2. Select after how many times to adjust the PPG trigger times and the approach value by setting the PPGTIMES[2:0] bits in PPGATC2 register.
  • Page 120 HT45F0005A Induction Cooker Flash MCU In the t1~t2 interval, when PPGTA is equal to PPGTC, the PPGACF bit will be set to 1 by the hardware. Note that the PPGACF bit can be cleared by the software, but it cannot set high by the software. When PPGACF=1, the software does not clear this bit to zero, it also can be automatically clear to zero by the hardware when the next C4VOD rising edge or PPGTON bit changes from 0 to 1 occurs.
  • Page 121 HT45F0005A Induction Cooker Flash MCU Step 9. If the PPGATCD interrupt is used, the interrupt control registers must be correctly configured to ensure the PPGATCD interrupt function is active. The master interrupt control bit, EMI, the PPGATCD interrupt control bit, PPGATCDE, and associated Multi-function interrupt enable bit must be set high in advance.
  • Page 122 HT45F0005A Induction Cooker Flash MCU Signals/ C0INT00INT C4VOD PPGSAEN PPGADJF PPGTMMD[1:0] PPGTON PPGTA[8:0] PPGTC[8:0] PPGTD[8:0] PPGACF PPGADF Bits        t2~t3          t3~t0   Note: 1. If the PPGTC/PPGTD is larger than PPGTA, the PPGTA increases to approach PPGTC/PPGTD. When the PPGTC/PPGTD minus PPGTA is less than PPGSA, the PPGTA will add the PPGSA value after PPG being triggered.
  • Page 123 HT45F0005A Induction Cooker Flash MCU Zero crossing Zero crossing Zero crossing by Software by Software by Software CMP4DA Code C4VOD PPGTON PPGADJF PPGTMMD[1:0] PPGTIMER PPGTMR1 PPGTMR2 PPGTMR3 PPGTMR1 PPGTMR2 PPGTMR3 Counter PPGTC PPGTC (New) PPGTD (New) PPGTA PPGTD PPGTA (New)
  • Page 124: Comparators

    HT45F0005A Induction Cooker Flash MCU Comparators The device has six integrated comparators, known as CMP0~CMP5. Five of the comparators, CMP1~CMP5, which have a D/A converter, are used for over voltage protection functions, which provide protection mechanisms or generate output signals for different applications, such as over voltage detection, surge voltage detection, over current detection (valley detection) and zero crossing detection.
  • Page 125: Comparator Registers

    HT45F0005A Induction Cooker Flash MCU Comparator Registers The overall operation of the internal comparators is controlled using a series of registers. Register Name CMP0C0 C0CMPOP C0COFM C0COF5 C0COF4 C0COF3 C0COF2 C0COF1 C0COF0 CMP0C1 C0EN C0HYSON1 C0HYSON0 TRGMOD C0VOINV INTS C0CRS1...
  • Page 126 HT45F0005A Induction Cooker Flash MCU Bit 2 INTS: INT00 source selection 0: PPGIN 1: C0VO Bit 1~0 C0CRS1~C0CRS0: Comparator 0 offset voltage calibration reference input selection 00: Comparator 0 negative input is selected 01: Comparator 0 positive input is selected...
  • Page 127 HT45F0005A Induction Cooker Flash MCU • CMPnC0 Register (n=1~5) Name CnCMPOP CnCOFM CnCRS CnCOF4 CnCOF3 CnCOF2 CnCOF1 CnCOF0 Bit 7 CnCMPOP: Comparator n digital output 0: Positive input voltage < negative input voltage 1: Positive input voltage > negative input voltage...
  • Page 128 HT45F0005A Induction Cooker Flash MCU • CMPnC1 Register – (n=1~3, 5) Name CnEN CnHYSON1 CnHYSON0 CnVOD CnVOINV CnDB2 CnDB1 CnDB0 Bit 7 CnEN: Comparator n enable control 0: Disable 1: Enable If this bit is cleared to “0”, the Comparator n and D/A Converter n will be switched off and no power will be consumed.
  • Page 129 HT45F0005A Induction Cooker Flash MCU Bit 3~2 C2CTL1~C2CTL0: Comparator 2 input selection 00: Select DAC2 as negative input and CP2P as positive input 01: Select CP2N as negative input and DAC2 as positive input 1x: Select CP2N as negative input and CP2P as positive input Bit 1 Unimplemented, read as “0”...
  • Page 130: Comparator Input Offset Calibration Function (N=0, M=5; N=1~5, M=4)

    HT45F0005A Induction Cooker Flash MCU Comparator Input Offset Calibration Function (n=0, m=5; n=1~5, m=4) The comparator n includes an input offset calibration function. The calibrated data is stored in the CnCOF[m:0] bits. The CnCOFM is the calibration mode control bit and the CnCRS or C0CRS[1:0] is used to indicate the input reference voltage source in the calibration mode.
  • Page 131: Operational Amplifier

    HT45F0005A Induction Cooker Flash MCU C3DA CP3N C0VO C0DBC[5:0] INT0S C3CMP0P C3DB C3VOD C3LEBD C3LD[5:0] CMP3INT (C3IS=0) CMP3INT (C3IS=1) Note: It is recommended to change the C3IS and C3LEBEN bit settings between two PPG triggers (within the PPG active+non-retrigger duration) to avoid unpredictable states of comparator 3 output.
  • Page 132 HT45F0005A Induction Cooker Flash MCU Operational Amplifier Registers The internal Operational Amplifier normal operation and input offset voltage calibration function are controlled by three registers. The OPS register is used to control the switches on or off. The OPC register is used to control the OPAMP function enable or disable and select the gain. The OPO bit together with the OPOCAL register are used in the offset calibration procedure.
  • Page 133: Input Voltage Range

    HT45F0005A Induction Cooker Flash MCU • OPS Register Name — — — OPS4 OPS3 OPS2 OPS1 OPS0 — — — — — — Bit 7~5 Unimplemented, read as “0” Bit 4 OPS4: OPAMP switch S4 on/off control 0: Off 1: On...
  • Page 134: Pulse Width Modulator

    HT45F0005A Induction Cooker Flash MCU Step 1. Set OPOOFM=1 and OPORSP=1, the OPAMP is now under offset calibration mode. To make sure V as minimal as possible after calibration, the input reference voltage in calibration should be the same as the input DC operating voltage in normal mode operation.
  • Page 135: Pwm Operation

    HT45F0005A Induction Cooker Flash MCU • PWMC Register Name PWMEN1 PWMEN0 — — — PWMPSC2 PWMPSC1 PWMPSC0 — — — — — — Bit 7~6 PWMEN1~PWMEN0: PWM enable control 00: Disable, output low 01: Disable, output high 1x: Enable Note that after the PWMEN[1:0] bits are enabled, the first PWM modulation cycle period and duty may not match the expected waveform.
  • Page 136 HT45F0005A Induction Cooker Flash MCU overall PWM cycle frequency is f /256. However, when in the (6+2) mode the PWM modulation frequency will be f /64. (6+2) Bits PWM Mode Modulation A (6+2) bits mode PWM cycle is divided into four modulation cycles, which are named as Modulation cycle 0 ~ Modulation cycle 3.
  • Page 137: Peripheral Clock Output

    HT45F0005A Induction Cooker Flash MCU Peripheral Clock Output The Peripheral Clock Output allows the device to supply external hardware with a clock signal synchronised to the microcontroller clock. PCKEN Prescaler 0000 0001 0010 0011 Output 0100 Polarity Control 0101 /2048...
  • Page 138: Cyclic Redundancy Check - Crc

    HT45F0005A Induction Cooker Flash MCU Bit 6 PCKD: PCK output control 0: Inactive 1: Active This bit is used to control the PCK output active or inactive. If this bit is cleared to zero, the PCK output status is determined by the PCKPOL bit.
  • Page 139: Crc Operation

    HT45F0005A Induction Cooker Flash MCU Register Name CRCDL CRCDH CRC Register List • CRCCR Register Name — — — — — — — POLY — — — — — — — — — — — — — — Bit 7~1 Unimplemented, read as “0”...
  • Page 140 HT45F0005A Induction Cooker Flash MCU CRC Computation Each write operation to the CRCIN register creates a combination of the previous CRC value stored in the CRCDH and CRCDL registers and the new data input. The CRC unit calculates the CRC data register value is based on byte by byte.
  • Page 141: Low Voltage Detector - Lvd

    HT45F0005A Induction Cooker Flash MCU 4. Write the table data low byte into the CRCIN register and execute the CRC calculation with the current CRCSUM value. Then a new CRCSUM result will be obtained and stored in the CRC checksum register pair, CRCDH and CRCDL.
  • Page 142: Lvd Operation

    HT45F0005A Induction Cooker Flash MCU Note that the Bandgap circuit is enabled when the LVD or LVR function is enabled or when the VBGEN bit is set high. VLVD2~VLVD0: LVD voltage selection Bit 2~0 000: V ≤1.23V LVDIN 001: 2.2V 010: 2.4V...
  • Page 143: Interrupts

    HT45F0005A Induction Cooker Flash MCU Interrupts Interrupts are an important part of any microcontroller system. When an internal function such as a Timer or an A/D converter requires microcontroller attention, their corresponding interrupt will enforce a temporary suspension of the main program allowing the microcontroller to direct attention to their respective needs.
  • Page 144 HT45F0005A Induction Cooker Flash MCU Each register contains a number of enable bits to enable or disable individual registers as well as interrupt flags to indicate the presence of an interrupt request. The naming convention of these follows a specific pattern. First is listed an abbreviated interrupt type, then the (optional) number of that interrupt followed by either an “E”...
  • Page 145 HT45F0005A Induction Cooker Flash MCU Bit 2 CP1E: Comparator 1 interrupt control 0: Disable 1: Enable Bit 1 CP4E: Comparator 4 interrupt control 0: Disable 1: Enable Bit 0 EMI: Global interrupt control 0: Disable 1: Enable • INTC1 Register...
  • Page 146 HT45F0005A Induction Cooker Flash MCU Bit 4 LVF: LVD interrupt request flag 0: No request 1: Interrupt request Bit 3 DEE: Data EEPROM interrupt control 0: Disable 1: Enable Bit 2 CP5E: Comparator 5 interrupt control 0: Disable 1: Enable...
  • Page 147 HT45F0005A Induction Cooker Flash MCU • MFI0 Register Name — — CP0F PPGATCDF — — CP0E PPGATCDE — — — — — — — — Bit 7~6 Unimplemented, read as “0” Bit 5 CP0F: Comparator 0 interrupt request flag 0: No request...
  • Page 148 HT45F0005A Induction Cooker Flash MCU • MFI2 Register Name — — — — — — — — — — — — Bit 7~6 Unimplemented, read as “0” Bit 5 T3F: Timer/Event Counter 1 interrupt request flag 0: No request 1: Interrupt request Note that this bit must be cleared to zero by the application program when the interrupt is serviced.
  • Page 149: Interrupt Operation

    HT45F0005A Induction Cooker Flash MCU Interrupt Operation When the conditions for an interrupt event occur, such as a Timer/Event Counter n overflow or A/D conversion completion etc., the relevant interrupt request flag will be set. Whether the request flag actually generates a program jump to the relevant interrupt vector is determined by the condition of the interrupt enable bit.
  • Page 150: Cmp0 Int00 Interrupt

    HT45F0005A Induction Cooker Flash MCU the interrupt is enabled, the stack is not full and the comparator 1~5 inputs generate a comparator output transition, a subroutine call to the comparator 1~5 interrupt vectors, will take place. When the interrupt is serviced, the comparator 1~5 interrupt request flags, CP1F~CP5F, will be automatically reset and the EMI bit will be automatically cleared to disable other interrupts.
  • Page 151: Eeprom Interrupt

    HT45F0005A Induction Cooker Flash MCU EEPROM Interrupt An EEPROM interrupt request will take place when the EEPROM interrupt request flag, DEF, is set, which occurs when an EEPROM erase or write cycle ends. To allow the program to branch to its respective interrupt vector address, the global interrupt enable bit, EMI, and EEPROM interrupt enable bit, DEE, must first be set.
  • Page 152: Ppgatcd Interrupt

    HT45F0005A Induction Cooker Flash MCU PPGATCD Interrupt The PPGATCD interrupt is contained within the Multi-function interrupt. A PPGATCD interrupt request will take place when the PPGATCD interrupt request flag, PPGATCDF, is set, a situation that will occur when the PPGTA approaches PPGTC/PPGTD has completed. To allow the program...
  • Page 153: Application Circuits

    HT45F0005A Induction Cooker Flash MCU Application Circuits Rev. 1.00 March 15, 2024...
  • Page 154: Instruction Set

    In the case of Holtek microcontroller, a comprehensive and flexible set of over 60 instructions is provided to enable programmers to implement their application with the minimum of programming overheads.
  • Page 155: Logical And Rotate Operation

    The standard logical operations such as AND, OR, XOR and CPL all have their own instruction within the Holtek microcontroller instruction set. As with the case of most instructions involving data manipulation, data must pass through the Accumulator which may involve additional programming steps.
  • Page 156: Instruction Set Summary

    HT45F0005A Induction Cooker Flash MCU Instruction Set Summary The instructions related to the data memory access in the following table can be used when the desired data memory is located in Data Memory sector 0. Table Conventions x: Bits immediate data...
  • Page 157 HT45F0005A Induction Cooker Flash MCU Mnemonic Description Cycles Flag Affected Data Move MOV A,[m] Move Data Memory to ACC None MOV [m],A Move ACC to Data Memory Note None MOV A,x Move immediate data to ACC None Bit Operation CLR [m].i...
  • Page 158: Extended Instruction Set

    HT45F0005A Induction Cooker Flash MCU Extended Instruction Set The extended instructions are used to support the full range address access for the data memory. When the accessed data memory is located in any data memory sector except sector 0, the extended instruction can be used to directly access the data memory instead of using the indirect addressing access.
  • Page 159 HT45F0005A Induction Cooker Flash MCU Mnemonic Description Cycles Flag Affected Branch LSZ [m] Skip if Data Memory is zero Note None LSZA [m] Skip if Data Memory is zero with data movement to ACC Note None LSNZ [m] Skip if Data Memory is not zero...
  • Page 160: Instruction Definition

    HT45F0005A Induction Cooker Flash MCU Instruction Definition ADC A,[m] Add Data Memory to ACC with Carry Description The contents of the specified Data Memory, Accumulator and the carry flag are added. The result is stored in the Accumulator. Operation ACC ← ACC + [m] + C...
  • Page 161 HT45F0005A Induction Cooker Flash MCU ANDM A,[m] Logical AND ACC to Data Memory Description Data in the specified Data Memory and the Accumulator perform a bitwise logical AND operation. The result is stored in the Data Memory. Operation [m] ← ACC “AND” [m]...
  • Page 162 HT45F0005A Induction Cooker Flash MCU DAA [m] Decimal-Adjust ACC for addition with result in Data Memory Description Convert the contents of the Accumulator value to a BCD (Binary Coded Decimal) value resulting from the previous addition of two BCD variables. If the low nibble is greater than 9 or if AC flag is set, then a value of 6 will be added to the low nibble.
  • Page 163 HT45F0005A Induction Cooker Flash MCU JMP addr Jump unconditionally Description The contents of the Program Counter are replaced with the specified address. Program execution then continues from this new address. As this requires the insertion of a dummy instruction while the new address is loaded, it is a two cycle instruction.
  • Page 164 HT45F0005A Induction Cooker Flash MCU Return from subroutine Description The Program Counter is restored from the stack. Program execution continues at the restored address. Operation Program Counter ← Stack Affected flag(s) None RET A,x Return from subroutine and load immediate data to ACC...
  • Page 165 HT45F0005A Induction Cooker Flash MCU RLCA [m] Rotate Data Memory left through Carry with result in ACC Description Data in the specified Data Memory and the carry flag are rotated left by 1 bit. Bit 7 replaces the Carry bit and the original carry flag is rotated into the bit 0. The rotated result is stored in the Accumulator and the contents of the Data Memory remain unchanged.
  • Page 166 HT45F0005A Induction Cooker Flash MCU SBC A, x Subtract immediate data from ACC with Carry Description The immediate data and the complement of the carry flag are subtracted from the Accumulator. The result is stored in the Accumulator. Note that if the result of subtraction is negative, the C flag will be cleared to 0, otherwise if the result is positive or zero, the C flag will be set to 1.
  • Page 167 HT45F0005A Induction Cooker Flash MCU SIZ [m] Skip if increment Data Memory is 0 Description The contents of the specified Data Memory are first incremented by 1. If the result is 0, the following instruction is skipped. As this requires the insertion of a dummy instruction while the next instruction is fetched, it is a two cycle instruction.
  • Page 168 HT45F0005A Induction Cooker Flash MCU SUB A,x Subtract immediate data from ACC Description The immediate data specified by the code is subtracted from the contents of the Accumulator. The result is stored in the Accumulator. Note that if the result of subtraction is negative, the C flag will be cleared to 0, otherwise if the result is positive or zero, the C flag will be set to 1.
  • Page 169 HT45F0005A Induction Cooker Flash MCU TABRD [m] Read table (specific page) to TBLH and Data Memory Description The low byte of the program code (specific page) addressed by the table pointer (TBLP and TBHP) is moved to the specified Data Memory and the high byte moved to TBLH.
  • Page 170: Extended Instruction Definition

    HT45F0005A Induction Cooker Flash MCU Extended Instruction Definition The extended instructions are used to directly access the data stored in any data memory sections. LADC A,[m] Add Data Memory to ACC with Carry Description The contents of the specified Data Memory, Accumulator and the carry flag are added.
  • Page 171 HT45F0005A Induction Cooker Flash MCU LCLR [m] Clear Data Memory Description Each bit of the specified Data Memory is cleared to 0. Operation [m] ← 00H Affected flag(s) None LCLR [m].i Clear bit of Data Memory Description Bit i of the specified Data Memory is cleared to 0.
  • Page 172 HT45F0005A Induction Cooker Flash MCU LDECA [m] Decrement Data Memory with result in ACC Description Data in the specified Data Memory is decremented by 1. The result is stored in the Accumulator. The contents of the Data Memory remain unchanged.
  • Page 173 HT45F0005A Induction Cooker Flash MCU LRL [m] Rotate Data Memory left Description The contents of the specified Data Memory are rotated left by 1 bit with bit 7 rotated into bit 0. Operation [m].(i+1) ← [m].i; (i=0~6) [m].0 ← [m].7...
  • Page 174 HT45F0005A Induction Cooker Flash MCU LRRA [m] Rotate Data Memory right with result in ACC Description Data in the specified Data Memory is rotated right by 1 bit with bit 0 rotated into bit 7. The rotated result is stored in the Accumulator and the contents of the Data Memory remain unchanged.
  • Page 175 HT45F0005A Induction Cooker Flash MCU LSDZ [m] Skip if decrement Data Memory is 0 Description The contents of the specified Data Memory are first decremented by 1. If the result is 0 the following instruction is skipped. As this requires the insertion of a dummy instruction while the next instruction is fetched, it is a three cycle instruction.
  • Page 176 HT45F0005A Induction Cooker Flash MCU LSIZA [m] Skip if increment Data Memory is zero with result in ACC Description The contents of the specified Data Memory are first incremented by 1. If the result is 0, the following instruction is skipped. The result is stored in the Accumulator but the specified Data Memory contents remain unchanged.
  • Page 177 HT45F0005A Induction Cooker Flash MCU LSWAP [m] Swap nibbles of Data Memory Description The low-order and high-order nibbles of the specified Data Memory are interchanged. Operation [m].3~[m].0 ↔ [m].7~[m].4 Affected flag(s) None LSWAPA [m] Swap nibbles of Data Memory with result in ACC Description The low-order and high-order nibbles of the specified Data Memory are interchanged.
  • Page 178 HT45F0005A Induction Cooker Flash MCU LTABRDL [m] Read table (last page) to TBLH and Data Memory Description The low byte of the program code (last page) addressed by the table pointer (TBLP) is moved to the specified Data Memory and the high byte moved to TBLH.
  • Page 179: Package Information

    HT45F0005A Induction Cooker Flash MCU Package Information Note that the package information provided here is for consultation purposes only. As this information may be updated at regular intervals users are reminded to consult the Holtek website the latest version of the Package/Carton Information.
  • Page 180: 20-Pin Sop (300Mil) Outline Dimensions

    HT45F0005A Induction Cooker Flash MCU 20-pin SOP (300mil) Outline Dimensions Dimensions in inch Symbol Min. Nom. Max. 0.406 BSC 0.295 BSC 0.012 — 0.020 C’ 0.504 BSC — — 0.104 0.050 BSC 0.004 — 0.012 0.016 — 0.050 0.008 —...
  • Page 181 HOLTEK disclaims all liability arising from the information and its application. In addition, HOLTEK does not recommend the use of HOLTEK’s products where there is a risk of personal hazard due to malfunction or other reasons. HOLTEK hereby declares that it does not authorise the use of these products in life-saving, life-sustaining or safety critical components.

Table of Contents