LED回路 工作部屋 > PIC16F886 2Kワードを超えたページ間の移動 | 【最終更新日:2011/6/21】 |
2Kワードを超えたページ間の移動 |
2Kワードを超えてPage間を移動する場合、プログラム記述中でジャンプするPageにあったPCLATHの3Bitと4Bitを変更する必要がある。 Page間を移動して、LEDが1秒間隔で点滅するプログラム例 Call で Page2 へ移動する場合 Main ;PCLAHをPage2に設定 bsf PCLATH,3 bcf PCLATH,4 call LED_Set ;Page2へ移動 bcf PCLATH,3 ;@ bcf PCLATH,4 ;@ goto Main2 org 0x800 LED_Set bsf LED1 bsf LED2 call Wait ;1sec待ち bcf LED1 bcf LED2 call Wait ;1sec待ち return goto で Page2 へ移動する場合 Main ;PCLAHをPage2に設定 bsf PCLATH,3 bcf PCLATH,4 goto LED_Set ;Page2へ移動 goto Main org 0x800 LED_Set bsf LED1 bsf LED2 call Wait ;1sec待ち bcf LED1 bcf LED2 call Wait ;1sec待ち bcf PCLATH,3 ;@ bcf PCLATH,4 ;@ goto Main ;@ |
主に使用するレジスタ | ||||||||
Bank0 | ||||||||
PCL | Program Counter(PC) Least Significant Byte | |||||||
PCLATH | - | - | - | Bit4 | Bit3 | Upper bit of the PC |
レジスタの説明 | |
PCLATH |
Bit3、Bit4でページ移動 <4:3> 00 = Page1 01 = Page2 10 = Page3 11 = Page4 |