| Electronic Components Datasheet Search |
|
HT56R668 Datasheet(PDF) 15 Page - Holtek Semiconductor Inc |
|
|
|||||||||||||||||||||||||||||
HT56R668 Datasheet(HTML) 15 Page - Holtek Semiconductor Inc |
|
15 / 104 page ![]() HT56R67/HT56R668/HT56C668/HT56R678/HT56C678/HT56R688 Rev. 1.20 15 February 22, 2010 Program Counter During program execution, the Program Counter is used to keep track of the address of the next instruction to be executed. It is automatically incremented by one each time an instruction is executed except for instructions, such as ²JMP² or ²CALL² that demand a jump to a non-consecutive Program Memory address. It must be noted that only the lower 8 bits, known as the Program Counter Low Register, are directly addressable. When executing instructions requiring jumps to non-consecutive addresses such as a jump instruction, a subroutine call, interrupt or reset, etc., the microcontroller manages program control by loading the required address into the Program Counter. For condi- tional skip instructions, once the condition has been met, the next instruction, which has already been fetched during the present instruction execution, is dis- carded and a dummy cycle takes its place while the cor- rect instruction is obtained. The lower byte of the Program Counter, known as the Program Counter Low register or PCL, is available for program control and is a readable and writable register. By transferring data directly into this register, a short pro- gram jump can be executed directly, however, as only this low byte is available for manipulation, the jumps are limited to the present page of memory, that is 256 loca- tions. When such program jumps are executed it should also be noted that a dummy cycle will be inserted. The lower byte of the Program Counter is fully accessi- ble under program control. Manipulating the PCL might cause program branching, so an extra cycle is needed to pre-fetch. Further information on the PCL register can be found in the Special Function Register section. Mode Program Counter Bits b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 Initial Reset 000000 0000000000 External Interrupt 0 000000 0000000100 External Interrupt 1 000000 0000001000 Timer/Event Counter 0 Overflow 000000 0000001100 Timer/Event Counter 1 Overflow 000000 0000010000 SPI/I 2C Interrupt 000000 0000010100 Multi-Function Interrupt 000000 0000011000 Skip Program Counter + 2 Loading PCL PC15 PC14 PC13 PC12 PC11 PC10 PC9 PC8 @7 @6 @5 @4 @3 @2 @1 @0 Jump, Call Branch BP.7 BP.6 BP.5 #12 #11 #10 #9 #8 #7 #6 #5 #4 #3 #2 #1 #0 Return from Subroutine S15 S14 S13 S12 S11 S10 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0 Program Counter Note: PC15~PC8: Current Program Counter bits @7~@0: PCL bits #12~#0: Instruction code address bits S15~S0: Stack register bits For the HT56R688, the Program Counter is 16 bits wide, i.e. from b15~b0. For the HT56R67/HT56R678/HT56C678, the Program Counter is 15 bits wide, i.e. from b14~b0. For the HT56R668/HT56C668, the Program Counter is 14 bits wide, i.e. from b13~b0, therefore the b12 column in the table is not applicable. BP.7, BP.6, BP.5: Bank pointer bits 1 3 1 2 8 7 0 P r o g r a m C o u n t e r B P . 5 B a n k P o i n t e r ( B P ) B P . 6 1 4 B P . 7 1 5 |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |