2013年1月20日日曜日

AD変換

・RA0に繋いだ可変抵抗器を回すと、LEDの点灯配置が変化する

回路図













参考画像
  
--以下ソースコード--
 #include <p16f1827.inc>
   __CONFIG _CONFIG1,_WDTE_OFF & _FOSC_INTOSC
   __CONFIG _CONFIG2,_LVP_OFF & _PLLEN_OFF
     org     00h
     bra     init
     org     04h
     banksel ADRESH
     movfw   ADRESH
     bsf     ADCON0,ADGO
     banksel PORTB
     movwf   PORTB
     retfie
init
     banksel ANSELB
     clrf    ANSELB
     banksel TRISB
     clrf    TRISB
     clrf    ADCON1
     bsf     ADCON0,ADON
     bsf     ADCON0,ADGO
     bsf     PIE1,ADIE
     movlw   B'11000000'
     movwf   INTCON
main
     bra     main
     end

--以上、ソースコード--
 
OS:windows, Software:MPLAB IDE v8.88, Writer:PICkit3

2012年12月28日金曜日

PWM

・PWMでのLED点滅(RB3(CCP1)、約2秒周期、デューティ比50%)

回路図(以前と同じ)













--以下、ソースコード--
#include <p16f1827.inc>
   __CONFIG _CONFIG1,_WDTE_OFF & _FOSC_INTOSC
   __CONFIG _CONFIG2,_LVP_OFF & _PLLEN_OFF
     org     00h
     banksel OSCCON
     movlw   B'00010000'
     movwf   OSCCON
     clrf    TRISB
     banksel T2CON
     movlw   B'00000111'
     movwf   T2CON
     movlw   B'11110011'
     movwf   PR2
     banksel CCP1CON
     movlw   B'00001100'
     movwf   CCP1CON
     movlw   B'01111010'
     movwf   CCPR1L
main
     bra     main

     end
--以上、ソースコード--

OS:windows, Software:MPLAB IDE v8.76, Writer:PICkit3

2011年11月24日木曜日

間接アドレス指定

・LED点滅(約1秒毎、挙動は前回と同じ)

回路図(前回と同じ)













--以下、ソースコード--
#include <p16f1827.inc>
       cblock  0x70
tbl

tbh
       endc

       org     00h
       bra     init

       org     04h
       bcf     INTCON,TMR0IF
       movfw   tbl
       movwf   FSR0L
       movfw   tbh
       movwf   FSR0H

       movfw   INDF0
       movwf   PORTB

       movlw   1
       addwf   tbl
       movlw   0
       addwfc  tbh

       movlw   LOW tb_end
       subwf   tbl,w
       btfss   STATUS,Z
       retfie

       movlw   HIGH tb_end
       subwf   tbh,w
       btfsc   STATUS,Z

       bra     init_r
       retfie
init_r

       movlw   LOW table
       movwf   tbl
       movlw   HIGH table
       movwf   tbh
       retfie

init
       banksel ANSELB
       clrf    ANSELB

       banksel TRISB
       clrf    TRISB

       movlw   B'00110011'
       movwf   OSCCON

       movlw   B'10100000'
       movwf   INTCON

       movlw   B'11010111'
       movwf   OPTION_REG

       movlw   LOW table
       movwf   tbl
       movlw   HIGH table
       movwf   tbh

       banksel PORTB
main
       bra     main

table
       dt      B'00000011'
       dt      B'00000110'
       dt      B'00001100'
       dt      B'00011000'
       dt      B'00110000'
       dt      B'01100000'
       dt      B'11000000'

       dt      B'10000001'
tb_end

       end
--以上、ソースコード--

OS:windows, Software:MPLAB IDE v8.76, Writer:PICkit3

2011年11月22日火曜日

TMR0割り込み(ローティト演算)

・LED点滅(約1秒毎)

回路図














参考画像



--以下、ソースコード--
#include <p16f1827.inc>
        org        00h
        bra        init

        org        04h
        bcf        INTCON,TMR0IF
        rlf        PORTB
        btfsc      STATUS,C
        bsf        PORTB,0
        retfie

init
        banksel    ANSELB
        clrf       ANSELB

        banksel    TRISB
        clrf       TRISB

        movlw      B'00110011'
        movwf      OSCCON

        movlw      B'10100000'
        movwf      INTCON

        movlw      B'11010111'
        movwf      OPTION_REG

        banksel    PORTB
        movlw      B'00000011'
        movwf      PORTB

main
        bra  main
        end
--以上、ソースコード--

参考動画
video
OS:windows, Software:MPLAB IDE v8.76, Writer:PICkit3

2011年11月7日月曜日

TMR0割り込み

・LED点滅(約1秒毎)

回路図(前回と同じ)


--以下、ソースコード--
#include <p16f1827.inc>
     org     00h
     goto    init
     org     04h
     bcf     INTCON,TMR0IF
     banksel PORTB
     movlw   B'11111111'
     xorwf   PORTB
     retfie
init
     banksel ANSELB
     clrf    ANSELB

     banksel TRISB
     clrf    TRISB

     movlw   B'00110011'
     movwf   OSCCON
     movlw   B'10100000'
     movwf   INTCON
     movlw   B'11010111'
     movwf   OPTION_REG
main
     goto    main
     end
--以上、ソースコード--

OS:windows, Software:MPLAB IDE v8.76, Writer:PICkit3

2011年9月19日月曜日

プログラムの書き込み

PIC16F1827へPICkit3を用いてプログラムを書き込む。
PIC16F1827とPICkit3間の配線は絶対に間違えないこと。


・「MPLAB IDE」を起動する。

・「Project」-「Open...」を選択し、前回保存した「LED01.mcp」を開く。













・PICkit3とジャンパワイヤ・抵抗器(10kΩ)を以下の回路図通りに配置・配線し、
PICkit3をPCに接続する。













・参考画像

















・「Programmer」-「Select Programmer」-「PICkit 3」を選択。

・「OK」
























・「Programmer」-「Setting...」を選択し、
「Power」タグ内「Power target circuit from PICkit 3」を有効にし、「OK」。




















・「OK」

























・「Programmer」-「Program」を選択し、PIC16F1827へプログラムを書き込む。

・以下のwindowが出た場合は、「はい」を選択。








・書き込み完了












・「Programmer」「Setting...」を選択し、
「Power」タグ内「Power target circuit from PICkit 3」を無効にし、「適用」。


・上で示した回路図に抵抗器(300Ω)とLEDを追加する。
LEDの足の長い方を抵抗器側にすること。

・参考画像


・再び、「Power target circuit from PICkit 3」を有効にし、
「適用」を選択すると、LEDの点灯を確認できる。



以上。
OS:windows, Software:MPLAB IDE v8.76, Writer:PICkit3

2011年9月16日金曜日

購入品一覧

前に示したプログラムを実験する為の購入品一覧。

・Pickit3
・PIC16F1827
・LED
・抵抗器(300Ω、10kΩ)
(10kΩはマイコン書き込み時に必要)
・プレッドボード
・ジャンパーワイヤー

以下に参考を示す。(秋月電子通商より)













以上。