電子工作のためのPIC活用ガイドブック」 正誤表

 技術評論社    ISBN4-7741-0921-5
  423頁   \2,380+税 CD-ROM付

  誤りがありましたら是非メールでお知らせ下さい。 

ページ 章・節 行数    正 誤 内 容 更新月日
まえがき 16行目  誤  世界市場では現在100億個以上が
       正  世界市場では現在10億個以上が
2001年
6月16日
P22
 図1.4
図中の3ピン  誤  TOCLKI
          正  T0CKI
7月12日
P31 
 図2.5



命令のアーキテクチャでジャンプ命令の図の命令コードの部分が4ビットになっていた。正解は3ビット
4月1日
P32 構造(c) 13行目  誤   つまり0〜255までの
       正   つまり0〜255または-128〜+127までの
4月1日
P36   4行目   誤   次の命令の実行直後にPCLATHからPCHに
       正   PCLへの書き込みを行う命令の実行時に同時に
            PCLATHからPCHに
4月1日
P38  
 リスト
リスト1、5行目 誤   Set Page
           正   Set Bank
リスト3行目    誤   MOVWF  TRISA  ;PortA is all output
           正   MOVWF  TRISA  ;set PORTA
2003/12/28

4月1日
P39
 リスト
リストの6行目  誤  BTFSS  FSR,5
           正  BTFSS  FSR,6
9月1日
P41  
 図2.13
図中の0A番地と8A番地    誤   PCLATCH
                    正   PCLATH
4月1日
P44   colum Aの2行目  誤  それが有効になるのは次の命令の実行
         正  それが有効になるのは次にPCLに書き込みを行う
             命令の実行
4月1日
P44   colum Aのりストのラベル   誤  SUB_1
               正  SUB_P1   
2003年
2月11日
P52
 
下から4行目  誤  PCONレジスタにある
          正  STATUSレジスタにある
2002年
9月15日
P53 
 図3.8
規定電圧   誤  規定電圧(1.5V±0.3V)
         正  規定電圧(4.5V以上)
4月1日
P71 
 図3.22
プルアップ文字   誤  Week Pull-Up
             正  Weak Pull-Up
5月15日
P72 
 図3.23
プルアップ文字   誤  Week Pull-Up
             正  Weak Pull-Up
5月15日
P72  表3.8 RB0/INTの備考に追記    プルアップ抵抗内蔵 5月15日
P79 
 図3.26
図の修正
   誤 
   正
4月15日
P79   下から3行目、2行目
    誤  「_CONFIG」
    正  「_ _CONFIG」  (アンダーバーが2個)
4月15日
P85
f:レジスタファイルアドレスの(例)
    誤   INCR  COUNTER,F
    正   INCF  COUNTER,F
4月18日
P89
  表4.3
10進数の使用例の欄    誤  D"100'
                  正  D'100'  
7月17日
P91  表 表の1行目   誤   Cysle
          正   Cycle   以下のページのすべて同様
7月4日
P93  表 表の中     誤    ADDWF f,d
          正    ANDWF f,d
5月17日
P97 CLRWの機械語
  誤  00 0001 0000 0011
  正  00 0001 0xxx xxxx
2001年
5月16日
P100 表 3行目   誤 skip if f<d>=0
       正 skip if f<b>=0
4行目   誤 skip if f<d>=1
       正 skip if f<b>=1
11月2日
P101 BCFの機械語
  誤 00 00bb bfff ffff
  正 01 00bb bfff ffff
BSFの機械語
  誤 00 01bb bfff ffff
  正 01 01bb bfff ffff
2001年
5月16日
P102
   C
リストC     誤    MOVF   DATA.W
          正    MOVF   DATA,W (コンマ)
7月6日
P106 表の中
    誤   CALL  adr
    正   CALL  k
4月18日
P125
  表4.9
使用例の1行目
    誤     if  (x=25)
    正     if (x==25)
2002年
3月23日
P141  7行目    誤  #OUTPUT_LOW(pin)
        正   OUTPUT_LOW(pin)
11月3日
P151 @TMR0カウンタ本体
  誤  最小入力パルス幅 = (クロックサイクル)+20nsec
                  =420nsec周期=2.38MHz
  正  最小入力パルス幅 = 2×((クロックサイクル/2)+20nsec)
                  =440nsec周期=2.27MHz
2003年
5月17日
P152 1行目     誤  68      正 E8
4、5行目
    誤   RTS   0 :入力の選択
         RTE   0 :TMR0のカウントエッジ
    正   T0CS  1 :入力の選択
         T0SE   0 :TMR0のカウントエッジ
7月4日

4月20日
P152 7行目
    誤   PS1-3
    正   PS0-2
2002年
5月5日
P153 図5.14   RB0ゲート信号  → RA4ゲート信号 に修正
図5.15   RB0の接続削除、吹き出しも削除
本文下から3行目から
  誤  PORTBのRB0で行っています。RB0だけ・・・・
  正  PORTAのRA4で行っています。RA4だけ・・・
最下行 (つまりRB0だけは・・・問題ないこと) の部分削除
2001年
2月9日
P154 リスト5.13 2行目と6行目
  誤   PORTB,0
  正   PORTA,RA4
2001年
2月9日
P161
 表5.7
関数の書式  誤  GET_TIMER_1( )        SET_TIMER_1(value)
          正  GET_TIMER1( )         SET_TIMER1(value)             
4月4日
P162
 リスト5.14
input (PIN_C7)を使うと0と判定出来ないのでリストを下記に変更し
ソフトウェアフラグflagで判定するように変更

#include  <16c73.h>
#use  delay(CLOCK=10000000)     //10MHz

static int flag;         //追加
#int_timer1
intval()  {
  if(flag==0) {
    output_high(PIN_C7);   //LED off
    flag = 1;
  }
  else {
    output_low(PIN_C7);   //LED on
    flag = 0;
  }
}
2001年
5月4日
P172
 下から6行目
電圧の単位が間違っていました。
誤)最小測定電圧→3/256〜5/256V (約12μV〜20μV)(8ビットのとき)
         3/1024〜5/1024V (約3μV〜5μV)(10ビットのとき)

正)最小測定電圧→3/256〜5/256V (約12mV〜20mV)(8ビットのとき)
         3/1024〜5/1024V (約3mV〜5mV)(10ビットのとき)
2001年
5月1日
P174
 図5.25
ADCON1の内容更新
2001年
9月24日
P175
  表5.12
誤  PCFGxが1001の場合  DDAAAADD
正                   DDAAAAAA                     
9月7日
P177
   リスト5.17
9行目  誤 BSF     STATUS,RP0   ;Set Page 1
      正 BSF     STATUS,RP0   ;Set Bank 1

14行目  誤 BCF     STATUS,RP0   ;Set Page 0
      正 BCF     STATUS,RP0   ;Set Bank 0
2003年
2月24日
P177
   リスト5.17
15行目   誤  MOVLW  010H
        正  MOVLW  080H
9月5日
P178
   リスト5.17
最終行   誤  RETURN        ;37+2=39*0.4uec
       正   RETURN        ;37+2=39*0.4μsec
2002年
7月9日
P184 上から15行目   誤  PCHLレジスタの3つを
            正  PCLATHレジスタの3つを
2003年
5月15日
P188
   リスト5.19
最下行   誤  (GLAOBAL)
       正   (GLOBAL)   
2001年
11月16日
P188
  表5.15の注
誤   INT_CP1
正   INT_CCP1
2002年
8月23日
P190
  リスト5.20
下から5行目   誤 enable_interrupts(RTCC_ZERO);
           正 enable_interrupts(INT_RTCC);
2002年
7月31日
P193
 表5.16
表の2行目   誤    P1R1
          正    PIR1
表の5行目   誤    020H
          正    01AH
5月21日

7月4日
P204 
 リスト5.22
3行目     誤  // PIC16F84 is target PIC and drive a LCD.
         正  // PIC16F84 is target PIC.
4月1日
P207
2行目     誤  同時にPSPSIFもONと
         正  同時にPSPIFもONと
2002年
4月13日
P215
  表5.21
表の右端欄
   誤    5.5
   正    6.5   (2箇所あります)
2001年
3月29日
P240
  5行目
5行目   誤  http://www-us.*******/#speciication
       正  http://www-us.*******/#specification
10月25日
P262
  表6.1
表の2行目  誤  _BADRAM
         正  _ _BADRAM  (アンダーバーが2個です)
7月4日
P263
  表6.1
#DEFINEの書式欄   誤   define 略     (#抜け)
               正   #define 
7月17日
P264  
 擬似命令
CONFIG    誤  【_CONFIG】
         正  【__CONFIG】 (アンダーバーが2個)
文章、リストの中も同様にアンダーバー2個必要
4月1日
P275  
 リスト6.1
ラベル位置  誤         CODE
                    FILTER
                    GLOBAL  FILTER
         正  FILTER
                    CODE
                    GLOBAL  FILTER
4月1日
P276  
 リスト6.3
インデント   誤         LIST   P=16C73A
            #INCLUDE "PIC16C73A.INC"
         正          LIST  P=16C73A
                    #INCLUDE "PIC16C73A.INC"
4月1日
P278 
 リスト6.4
ラベル     誤  START   CLRW
                     OPTION
             MAIN    MOVF  PORTB,W
         正  START   CLRW
             -------
             MAIN    MOVF  PORTB,W 
4月1日
P302
  図6.25
誤  入力命令のシミュレーションはModifyの窓から行う
正  入力命令のシミュレーションはAsynchronous Stimulusの窓で行う
2002年
9月6日
P309
 表6.6
誤   抵抗 2kΩ×5個
正   抵抗 2kΩ×4個
     抵抗 1.5kΩ×1個    (2kを1個 1.5kに変更)
6月20日
P314
 7行目
誤   PICEE b:sample.obj<ret>
正   PICEE b:sample.hex<ret>
2001年
12月21日
P336   液晶表示器の制御方法 の2行目
         誤  SEIKO社
         正  SUNLIKE社
5月15日
P337 
 表7.4
表下部    誤  SEIKO社カタログより
         正  SUNLIKE社カタログより
            (http://www.lcd-modules.com.tw/)
 液晶表示器の制御内容の説明書は下記からダウンロードできます。
この中のMSM6562B-1が該当します。
http://www.oki.co.jp/semi/japanese/products/dis_chara.htm  
5月15日


1月19日
P340
  表7.7
(2) Control Commandの一覧表の最下欄 Busy Flag削除 11月26日
P343
 表7.8
R6  誤  抵抗           30kΩ 1/4W  1  10
    正  半固定可変抵抗   30kΩB      1  85  
6月18日
P354
 図7.14
PIC品名   誤   PIC16F873
        正   PIC16C73
             (F873でも同じ機能は実現できるが一部変更要)
4月1日
P357
  図7.16
(2)SRAM書き込み手順フロー図の枠外コメントで
    RC3・・・  と  RC5・・・ の部分はひと箱ずつ下にずらす。
9月5日
P370
 図7.21
J1のピンの入れ替え
     1 ←→ 3   2 ←→ 4 を入れ替える
5月21日
P373
上から4行目
    誤   特にBmodeは上位4ビット・・・   (lcd_lib(上位) と lcd2_lib(下位)
                              がCD-ROMに添付されていますが
正   特にBmodeは下位4ビット・・・       上位と下位の使い方で2種類用意
リスト7.8  8行目                  しました。)
    誤   #define Bmode 0x0F          
    正   #define Bmode 0xF0
12月18日
P374 解説 4行目
    誤   #define Bmode 0x0F       CD-ROMのLCD01.Cも修正必要
    正   #define Bmode 0xF0
下から2行目
    誤    ポートBの下位4ビットは入力モード・・・・
    正    ポートBの上位4ビットは入力モード・・・・   
12月18日
P391 表7.17
  コード02  誤 モータ2速度ダウン
          正 モータ1速度ダウン
2002年
3月17日
P405
 図7.35
C3の耐圧  誤  220μF10V
        正  220μF16V
Q1、Q2の矢印の向きが反対です。Q3が正しい向きです。 
2001年
3月3日
P406
 表7.22
削除    取りつけパネル 7月11日
P419
 は 行
誤  ハーバードアーキテクチャ・・・・・・22
正  ハーバードアーキテクチャ・・・・・・26
2002年
12月4日
P422  (4) PICライタ   誤   Easy-PIC   Epw.zop
         正   Easy-PIC   Epw.zip 
4月1日
巻末 著者略歴   誤   Email  gokan@bekkoame.ne.jp
         正   Email  gokan@m2.ocv.ne.jp
10月25日
CD-ROM
7−1章
ondo2.asmの一部修正
  UPPER をすべて UPERに変更(5ヶ所)
   (MPLABのバージョンアップでUPPERが予約語になってしまったため)   
2002年
5月21日
CD-ROM
 7−4章
lcd_lib.c、lcd2_lib.cにdelay_ms(15)への変更とdelay_ms(5)、delay_ms(1);の追加

        void lcd_init(){
        delay_ms(15);
        lcd_incmd(0x30); //8bit mode set
        delay_ms(5);
        lcd_incmd(0x30); //8bit mode set
        delay_ms(1);
        lcd_incmd(0x30); //8bit mode set

LCD01.Cの下記変更
(上位4ビットを使うとき)
    誤   #define Bmode 0x0F
     正   #define Bmode 0xF0
(下位4ビットを使うとき)
    誤    #include <lcd_lib.c>
    正    #include <lcd2_lib.c>
11月3日






12月18日
2001年
 3月23日
CDROM
 7−5章
赤外線送信機のプログラムリスト修正(remotetx.asm)
最後にあるタイマー関連のサブルーチンがクロック10MHz用
となっていました。 クロック4MHz用にするため下記修正が必要。
(ただ、修正しなくても送信機は正常動作します)
  TIME100
     MOVLW  9H → 8H
  TIME10
     MOVLW  7H → 2H
  TIME5M
     MOVLW  38H → 31H
2001年
 9月9日
CD-ROM
MPLAB説明書
MPASM.PDF のファイルが壊れていて全部が読めません。
これは同じ場所にある33014G.PDFと同じ内容ですのでそちらをご覧下さい。
2001年
2月9日