スライド 1

Similar documents
スライド 1

PowerPoint プレゼンテーション

スライド 1

スライド 1

スライド 1

untitled

スライド 1

PowerPoint プレゼンテーション

Taro11-…e…L…X…g.jtd

3 1EEPROMElectrically Erasable PROM PROMProgrammable ROM 2 EEPROM 3

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018

,, ( ) 5 ma ( ) 5V V 5 6 A B C D E F G H I J , LED LED, LED, 7 LED,, 7 LED ( ) V LED VCC 5V 7 LED VCC f g f a g b a b c e d e d c dp dp VCC (

Microsoft Word - 4章.doc

スライド 1

Microsoft PowerPoint - 第8α章.ppt [互換モード]

Microsoft Word - 工学ゼミ3_テキスト

untitled

余白 : 上下 25.4mm, 左右 19mm (Word2012 での やや狭い 設定 ) マイコンプログラミング演習 I レポート 1 実験日 提出日 回路構築 /LED を用いた I/O 制御 [16pt] 班員と担当責任者第 0 班レポート作成

も 常に 2 つのコイルに電圧を印加する 2 層励磁方式や 1 つのコイルと 2 つのコイルに交互に電圧を印 2

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

前付(念).indd

正転時とは反対に回転する これが逆転である 図 2(d) の様に 4 つのスイッチ全てが OFF の場合 DC モータには電流が流れず 停止する ただし 元々 DC モータが回転していた場合は 惰性でしばらく回転を続ける 図 2(e) の様に SW2 と SW4 を ON SW1 と SW3 を O

3 4 PIC

実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3 ずつインクリメントします MPLAB を使って MPASM アセンブラのソース ファイルをアセンブルします MPLAB とソース ファイルは配布し

Microsoft Word - 工学ゼミ3_テキスト

1.1 ラベル ラベルはカラム 1 から始まらなければならない ラベルの後にはコロン スペース タブ 改行が続いてよい ラベルはアルファベットかアンダーバーで始まり 英数字 アンダーバー クエスチョンマークを含んでよい ラベルは 32 文字までである デフォルトではこれらは大文字と小文字を区別するが

BSF PORTA BCF PORTA MOVLWB MOVLWB MOVLWB MOVLWB , E=1, E=0 8 ビット 行表示 ディスプレイ制御 表示クリア エントリーモード CALLDSP MAIN BCF PORTA,3 R

PowerPoint プレゼンテーション

Microsoft Word - PIC-USBマイコンボード_v1-02@WEB公開用資料.docx

Microsoft Word - テキスト.docx

BANK1 MOVLW b' ' PIC16F648A独自 MOVWF CMCON コンパレータ OFF BCF INTCON,PEIE 周辺割り込み OFF PIC16F648A独自 MOVLW B' ' RB2/TX, RB1/RX PIC16F648A独自 MOVW

Microsoft Word - 組込みプログラミング2018テキスト

64 松尾邦昭 2. 無線送受信装置 SANWA 製のラジコン送受信装置は, その機能性の豊富さと価格の安さを理由に多くのラジコン ファンに愛用されており, 今回使用した VG6000は, チャンネル数が6チャンネルあり, ヘリコプター制御用に設計 開発され使用されているものだが, 我々はこれをロボ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

Microsoft Word - マイコンを用いた信号# doc

2. アーキテクチャ 概 要 PIC16F8x ファミリは 命 令 語 長 14bit の RISC[1]で 命 令 は35 種 類 である 1 命 令 は4クロックで 実 行 されるが 実 際 にはパイプライン 処 理 [2]されている ノイマン 型 コンピュータ[3]と 違 いプログラムとデータ

PIC

PowerPoint プレゼンテーション

PIC (, 2, 3 ) PIC ( 1, 2, 3 ) 1 2 (, 2 ) PIC ( 1, 2 ) 2.1 (p.34) define #define (define ) (p.61) 1 30 (RD 7 /P SP 7 ) 32 (V DD ) IC

PowerPoint プレゼンテーション

DSP5Dアップグレードガイド

1. 購入物品リスト 電子部品名 用途 規格 単価 数量 合計 購入先 PIC16F84A-20/P PIC16F 秋月電子通商 カーボン抵抗 1/4W R0,R1 10kΩ 秋月電子通商 カーボン抵抗 1/4W R2,R2 追加分 300Ω 秋月

SAC (Jap).indd

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

卒 業 研 究 報 告

から付与します さらに, ゼロプレッシャー ICソケットの空き部分を使って, タイマー ICである555の動作チェックができます ユニバーサル基板の一部に555 用の発振回路を構成しています 555をソケットに差し込んで電源スイッチを入れると,ICが良品の場合は LEDが点滅します LEDが点滅しな

PIC18 Istructios PIC16, PIC x Microchip Techology Icorporated. All Rights Reserved. PICmicro PIC18 52

本日の内容 導入 回路の作製 回路図から配線図へ ブレッドボードを使った試作回路の作製 マイコンへのプログラム書き込み GPIOの実験

1. ST-LINK Utility のダウンロード Windows7 PC にインストールする場合について説明します 1.1. STMicroelectronics のサイト STMicroelectronics のサイトを開きます ここに ST-LINK と入力して検索します ( 右側の虫眼鏡を

USB モジュール

PA-S500 取扱説明書

ここをクリックしてダウンロードする ダウンロードした zip ファイルを解凍する とインストーラが現れます インストーラを 起動してインストールを開始しましょう イ ンストーラの [ Next > ] ボタンを押してい けばインストールできます ライセンスの画面では I accept the ter

表 信号端子 端子名 入出力 機能 DTR 出力 COM ポート DTR (Data Terminal Ready Control Output / Handshake Signal) RXD 入力 COM ポート RXD (Receiving Asynchronous Data Input) TX

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

製åfi†æ¡‹åƒ–.xlsx

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

5

DS30430C-J2-page 2 : 1998 Microchip Technology Inc.

ZVH_VIEWER

< F31312D8CA48B8695F18D908F FF28F918CB48D F>

AKI-PIC16F877A開発キット (Ver1

<4D F736F F F696E74202D F4B87555F A838B B F5F91E63189F12E >

回路 : Vdd GND 回路図と呼べるようなものではありません オシレータは外部 ( セラミック発振子 ) なので GP4 と GP5 は使えません 四角の枠内はモジュールなので ここから VDD GND TX RX の4 本をつなぐだけです 測定端子 (GP0) は 1MΩの抵抗と 2MΩの半固

<4D F736F F D208A4A94AD8AC28BAB82CC8D5C927A8EE88F878F912E646F63>

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

monologue Sound Librarian 取扱説明書

スライド 1

スライド 1

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

Microsoft Word - XPC4ソフトマニュアル.doc

ex04_2012.ppt

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x

認証システムのパスワード変更方法

Microsoft Word - VB.doc

:30 18:00 9:30 12:00 13:00 17:00

1. はじめに 本書は スプリット演算器 MFS2 用コンフィギュレータソフトウェア の取扱方法 操作手順 注意事項などを説明したものです Windows の操作や用語を理解している方を前提にしています Windows の操作や用語については それぞれのマニュアルを参照してください 1.1. MFS

RsMulti の取扱説明 「RS232C で直接接続する(LAN を使用しない場合)」

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

Microsoft PowerPoint - RL78G1E_スタータキットデモ手順_2012_1119修正版.pptx

prologue Sound Librarian 取扱説明書

monologue Sound Librarian 取扱説明書

Microsoft PowerPoint - Portable Power Supply 01.pptx

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

PIC

デジタル回路入門

TWE-Lite R 取扱説明書

スライド 1

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア

WLX302 取扱説明書

スライド 1

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

Microsoft Word - he70_update_new_j.doc

SOULNOTE D-1/D-2 ドライバー / ファームウェア設定方法 2018 年 11 月 21 日 D-1/D-1N/D-2 ドライバー / ファームウェア設定方法 SOULNOTE D-1/D-1N/D-2 のドライバー / ファームウェアの設定方法です ドライバー : D-1/D-1N/

Transcription:

6.LED( 発光ダイオード ) の制御を学ぼう 本稿の Web ページ http://www.cmplx.cse.nagoya-u.ac.jp/~furuhashi/education/pic/index.html 1

5V R 4 SW 1 R 3 R 2 SW 2 SW 3 PIC16F84A 1 RA2 RA1 18 2 RA3 RA0 17 3 RA4 OSC1 16 4 MCLR OSC2 15 5 Vss VDD 14 6 RB0 RB7 13 7 RB1 RB6 12 8 RB2 RB5 11 9 RB3 RB4 10 R 7 R 6 R 5 本マイコン回路製作の詳細は第 0 章を参照してください. LED 1 LED 2 LED 3 2

; LED control program INCLUDE"p16F84A.inc" list p=16f84a このソースファイルを打ち込んで下さい. シミュレータで動作確認が終わったら,PIC マイコンにプログラムの書き込みを行い, 動作確認をして下さい. CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF MEM1 EQU 0x0C ORG 0 GOTO START ORG 4 これはスイッチを閉じると LED が消灯し, スイッチを開くと LED が点灯するプログラムです. START ;Port B Setting BSF STATUS,RP0 ;Selection of Bank 1 MOVLW B'00000111' MOVWF TRISB ;RB0-2 -> Input Port, RB3-7 -> Output Port BCF STATUS,RP0 ;Selection of Bank 0 STEP1 MOVF PORTB,0 ;(RB)->(W) ANDLW B'00000111' ;(W) and 00000111 -> (W) MOVWF MEM1 ;(W) -> (MEM1) MOVF MEM1,0 ;(MEM1) -> (W) MOVWF PORTB ;Output to Port B GOTO STEP1 ;Repetition of Processing END 3

SW 1, SW 2, SW 3 の入力をシミュレートするには Debugger Stimulus New Workbook として Pin/SFR の列のセルを左クリックしてプルダウンメニューより RB0, RB1, RB2 を選ぶ. それぞれの Action を例えば Set High, Set Low, Set High と設定し, それぞれの行の先頭の Fire ボタンを押す.F7 ボタンを押しながらステップ実行をすると MOVF PORTB, 0 の命令を実行した段階で,W レジスタに 00000101 が入力される. ( 詳細は第 0 章を参照してください.) 4

8 データバス制御信号RA4~RA0 RB7~RB0 1024 14 ビット プログラムメモリ ( フラッシュメモリ ) 13 プログラムカウンタ (PC) 14 命令レジスタ 8レベルスタック 13ビット 5 直接アドレス ファイルレジスタ 8 ビット 7 MUX 68 7 間接アドレス FSR レジスタ STATUS レジスタ 8 MUX 命令デコーダコントローラ ALU 8 W レジスタ 入出力ポート PIC16F84A の構成 5

Data Sheet の REGISTER FILE MAP より 本章のポイント 入出力レジスタ PORTA PORTB の利用です. アドレス ( 番地 ) 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0Ah 0Bh 0Ch バンク 0 バンク 1 間接アドレス TMR0 PCL STATUS FSR PORTA PORTB EEDATA EEADR PCLATH INTCON 汎用ファイルレジスタ 間接アドレス OPTION PCL STATUS FSR TRISA TRISB EECON1 EECON2 PCLATH INTCON 汎用ファイルレジスタ アドレス ( 番地 ) 80h 81h 82h 83h 84h 85h 86h 87h 88h 89h 8Ah 8Bh 8Ch 4Fh CFh 6

; LED control program INCLUDE"p16F84A.inc" list p=16f84a CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF MEM1 EQU 0x0C START ORG 0 GOTO START ORG 4 ;Port B Setting BSF STATUS, RP0 ;Selection of Bank 1 MOVLW B'00000111' MOVWF TRISB BCF STATUS,RP0 ;Selection of Bank 0 STEP1 MOVF PORTB,0 ;(RB)->(W) ANDLW B'00000111' ;(W) and 00000111 -> (W) BSF f, b Bit Set f の略です. MOVWF MEM1 ;(W) -> (MEM1) RLF MEM1,1 ;Rotate ファイル Left(MEM1) f のビット -> (MEM1) bを 1 にします. MOVF MEM1,0 ;(MEM1) Sheetの-> STATUS (W) REGISTERによると MOVWF PORTB ;Output IRP to Port RP1 B RP0 TO GOTO STEP1 ;Repetition of Processing PD Z DC C END ファイルレジスタのアドレスは, バンクという概念で管理されています. RP0 (STATUS レジスタの第 5ビット ) を1 とすることでバンク1を選択できます. STATUS レジスタの各ビットには,Data と名前がつけられています. 7

; LED control program INCLUDE"p16F84A.inc" list p=16f84a CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF MEM1 EQU 0x0C START ORG 0 GOTO START ORG 4 ;Port B Setting BSF STATUS,RP0 ;Selection of Bank 1 MOVLW B'00000111' MOVWF TRISB ;RB0-2 -> Input Port, RB3-7 -> Output Port BCF STATUS,RP0 ;Selection RB7 of 出力ポート Bank 0 STEP1 MOVF PORTB,0 ;(RB)->(W) RB5 出力ポート ANDLW B'00000111' ;(W) and 00000111 -> (W) RB4 出力ポート MOVWF MEM1 ;(W) -> (MEM1) RLF MEM1,1 ;Rotate RB3 Left(MEM1) 出力ポート -> (MEM1) RLF MEM1,1 ;Rotate RB2 Left(MEM1) 入力ポート -> (MEM1) RB1 入力ポート MOVF MEM1,0 ;(MEM1) RB0 -> 入力ポート (W) MOVWF PORTB ;Output to Port B GOTO STEP1 ;Repetition of Processing END バンク 1 にある TRISB レジスタに 00000111 を書き込むと, 入出力用の PORTB を RB6 出力ポート と設定できます. 8

18 10 RA1 RA0 OSC1 OSC2 RA2 RA3 RA4 MCLR Vdd RB7 RB6 PIC16F84A CY8C 24123 Vss RB0 RB1 RB5 RB2 RB4 RB3 1 9 PIC16F84A の外観とピン配置 9

PIC16F84A 6 RB0 RB7 18 V + 7 RB1 RB6 12 8 RB2 RB5 11 9 RB3 RB4 10 例えば,PORTBの第 0ビットRB0を入力ポートに指定すると, 図のように, ここに電圧計がつながることと同じになる. 10

S 1 5V R 1 5V = 1 V = 1[V] PIC16F84A PORTBレジスタは V + *******1 となる. 6 RB0 RB7 13 7 RB1 RB6 12 8 RB2 RB5 11 9 RB3 RB4 10 スイッチオフ 11

S 1 R 1 0 V = 0 PIC16F84 V = 0[V] PORTBレジスタは V + *******0 となる. 6 RB0 RB7 13 7 RB1 RB6 12 5V 8 RB2 RB5 11 9 RB3 RB4 10 スイッチオン 12

PIC16F84A 6 RB0 RB7 13 7 RB1 RB6 12 + V 8 RB2 RB5 11 9 RB3 RB4 10 同様に,PORTBの第 1ビットRB1を入力ポートに指定すると, 図のように, ここに電圧計がつながることと同じになる. 13

S 2 5V R 2 5V = 1 PIC16F84A + V PORTB レジスタは ******1* 6 RB0 となる. RB7 13 7 RB1 RB6 12 8 RB2 RB5 11 9 RB3 RB4 10 スイッチオフ 14

S 2 5V R 2 0V = 0 PIC16F84A + V PORTB レジスタは ******0* 6 RB0 となる. RB7 13 7 RB1 RB6 12 8 RB2 RB5 11 9 RB3 RB4 10 スイッチオン 15

例えば,PORTBの第 4ビットRB4を出力ポートに指定すると, 図のように, ここに5Vの電源, もしくはグランドがつながる. PIC16F84A 6 RB0 RB7 13 7 RB1 RB6 12 8 RB2 RB5 11 9 RB3 RB4 10 5V 16

PIC16F84A PORTB レジスタが ***0**** 6 RB0 RB7 13 であると 7 RB1 RB6 12 8 RB2 RB5 11 9 RB3 RB4 10 0 = 0 V 5V 消灯 17

PIC16F84A PORTB レジスタが ***1**** 6 RB0 RB7 13 であると 7 RB1 RB6 12 8 RB2 RB5 11 9 RB3 RB4 10 1 = 5 V 5V 点灯 18

; LED control program INCLUDE"p16F84A.inc" list p=16f84a CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF MEM1 EQU 0x0C START ORG 0 GOTO START ORG 4 BCF f, b Bit Clear f の略です. ファイル f のビットbを 0 にします. ;Port B Setting BSF STATUS, RP0 ;Selection of Bank 1 MOVLW B'00000111' MOVWF TRISB ;RB0-2 -> Input Port, RB3-7 -> Output Port す. BCF STATUS, RP0 ;Selection of Bank 0 RP0 を 0 にすると, バンク 0 を選択しま STEP1 MOVF PORTB,0 ;(RB)->(W) ANDLW B'00000111' ;(W) and 00000111 -> (W) MOVWF MEM1 ;(W) -> (MEM1) MOVF MEM1,0 ;(MEM1) -> (W) MOVWF PORTB ;Output to Port B GOTO STEP1 ;Repetition of Processing END PORTB レジスタの RB0-RB2 に入力信号が得られ, RB3-RB7 から信号を出力できます. 19

; LED control program INCLUDE"p16F84A.inc" list p=16f84a CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF MEM1 EQU 0x0C ORG 0 GOTO START ORG 4 PORTB レジスタの中身を W レジスタへ転送します. START ;Port B Setting BSF STATUS,RP0 ;Selection of Bank 1 MOVLW B'00000111' MOVWF TRISB ;RB0-2 に0とします -> Input Port,. RB3-7 -> Output Port BCF STATUS,RP0 ;Selection of Bank 0 STEP1 MOVF PORTB,0 ;(RB)->(W) ANDLW B'00000111' ;(W) and 00000111 -> (W) MOVWF MEM1 ;(W) -> (MEM1) RLF MEM1,1 ;Rotate Left(MEM1) 例 -> (MEM1) MOVF MEM1,0 ;(MEM1) -> (W) MOVWF PORTB ;Output to Port B GOTO STEP1 ;Repetition of Processing END Wレジスタの下位 3ビットの値を残し, 上位 5ビットについては強制的 入力情報のみを残すために, このような演算を行います. 10010110 AND 00000111 00000110 20

; LED control program INCLUDE"p16F84A.inc" list p=16f84a CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF MEM1 EQU 0x0C ORG 0 GOTO START ORG 4 START ;Port B Setting BSF STATUS,RP0 ;Selection of Bank 1 MOVLW B'00000111' MOVWF TRISB ;RB0-2 -> Input Port, RB3-7 -> Output Port BCF STATUS,RP0 ;Selection of Bank 0 STEP1 MOVF PORTB,0 ;(RB)->(W) ANDLW B'00000111' ;(W) and 00000111 -> (W) MOVWF MEM1 ;(W) -> (MEM1) RLF MEM1,1 ;Rotate タに転送します Left(MEM1) ->.(MEM1) MOVF MEM1,0 ;(MEM1) -> (W) MOVWF PORTB ;Output to Port B GOTO STEP1 ;Repetition of Processing END Wレジスタの中身をMEM1に転送して, これを,4ビット回転した後, Wレジスタに戻します. W レジスタの中身を PORTB レジス RB0,1,2の入力は4ビットシフトしてそれぞれRB4,5,6に出力されます. 21

PIC16F84A R 1 5V = 1 11 RB0 RB7 18 S 1 5V 12 RB1 RB6 17 13 RB2 RB5 16 14 RB3 RB4 15 5V = 1 スイッチオフ 点灯 22

PIC16F84A R 1 0 V = 0 11 RB0 RB7 18 S 1 5V 12 RB1 RB6 17 13 RB2 RB5 16 14 RB3 RB4 15 0 V = 0 スイッチオン 消灯 23

第 0 章で製作したマイコンの回路にプログラムの書き込みと実行を行ってください. ブレッドボード上のピンソケットに PICkit3 を差し込み, ブレッドボードの電源を入れてください.USB ケーブルでパソコンと PICkit3 を接続して, Programmer Select Programmer PICkit3 により以下のメッセージが出れば, 回路は正常に動いています. これらのメッセージが出れば OK 24

Project Make Programmer Program ( ツールバーの右端近くにある ) をクリックするとボード上のマイコンを実行できる. もしくはピンソケットからPICkit 3を引き抜くことでもマイコンを実行できる. 以下のような動作を確認してください. PIC16F84A 1 RA2 RA1 18 2 RA3 RA0 17 5V R 4 SW 1 R 3 R 2 3 RA4 OSC1 16 4 MCLR OSC2 15 5 Vss VDD 14 6 RB0 RB7 13 7 RB1 RB6 12 8 RB2 RB5 11 SW 2 スイッチオン SW 3 9 RB3 RB4 10 R 7 R 6 R 5 LED 1 LED 2 LED 3 スイッチオフ 点灯 消灯 点灯 25

; LED control program, modified version ; INCLUDE"p16F84A.inc" list p=16f84a このソースファイルを打ち込んで下さい. シミュレータで動作確認が終わったら,PIC マイコンにプログラムの書き込みを行い, 動作確認をして下さい. CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF ORG 0 GOTO START ORG 4 ; START ;Setting of Port RB BSF STATUS,RP0 ;Selection of Bank 1 MOVLW B'00000111' MOVWF TRISB ;RB0-2 -> Input Port, RB3-7 -> Output Port BCF STATUS,RP0 ;Selection of Bank 0 ; STEP1 BTFSS PORTB,0 ;Skip next line, if RB0 = 1 GOTO ST0 GOTO ST1 ST0 BSF PORTB,4 ;1 -> RB4 GOTO STEP2 ST1 BCF PORTB,4 ;0 -> RB4 これはスイッチを押すと LED が点灯するプログラムです. STEP2 GOTO STEP1 ;Repetition of Processing ; END 26

PIC16F84A R 1 5V = 1 11 RB0 RB7 18 S 1 5V 12 RB1 RB6 17 13 RB2 RB5 16 14 RB3 RB4 15 0 V = 0 スイッチオフ 消灯 27

PIC16F84A R 1 0 V = 0 11 RB0 RB7 18 S 1 5V 12 RB1 RB6 17 13 RB2 RB5 16 14 RB3 RB4 15 5V = 1 スイッチオン 点灯 28

演習問題 17 スイッチ S1 をオンにすると発光ダイオード LED1 が点灯し,S1 をオフにすると LED1 が消灯し,S2 をオンにすると LED2 が点灯し,S2 をオフにすると LED2 が消灯し,S3 をオンにすると LED3 が点灯し,S3 をオフにすると LED3 が消灯するプログラムを作成せよ. 演習問題 18 スイッチ S1 を押すと発光ダイオード LED1 が点灯し,S1 をオフにすると約 1 秒後に LED1 が消灯するプログラムを作成せよ. ヒント : 以下のような時間稼ぎサブルーチンを利用する. TIME1 EQU 0x10 TIME2 EQU 0x11 TIME3 EQU 0x12 CALL COUNT1 COUNT1 MOVLW 0x45 MOVWF TIME1 STEPM MOVWF TIME2 STEPM1 MOVWF TIME3 STEPM2 DECFSZ TIME3,1 GOTO STEPM2 DECFSZ TIME2,1 GOTO STEPM1 DECFSZ TIME1,1 GOTO STEPM RETURN 初めに TIME1,2,3 に 0x45 を入れる.TIME3 を一つずつ減らしていき,0 になったら,TIME2 を一つ減らして, TIME3 に 0x45 を入れて, 再び,TIME3 を一つずつ減らしていき,0 になったら,TIME2 を一つ減らして, TIME3 に 0x45 を入れて, 再び と, くり返し, やがて, TIME2 が 0 になったら,TIME1 を一つ減らして TIME2, 3 に 0x45 を入れて とくり返す.TIME1 が 0 になったら終了.0x45 = D 69 より全部で 69 69 69 回のくり返し演算を行う. DECFSZは1サイクル ( スキップ時は2サイクル ), GOTOは2サイクル. よって,69 回の繰り返しで約 69 3サイクルを要する.1サイクルはこのマイコンでは1µsであるので, このサブルーチンは 69 69 69 3サイクル 1µs 1 sec 29

演習問題 17 解答例 ; LED control program, modified version ; INCLUDE"p16F84A.inc" list p=16f84a CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF ORG 0 GOTO START ORG 4 START ;Setting of Port RB BSF STATUS,RP0 ;Selection of Bank 1 MOVLW B'00000111' MOVWF TRISB ;RB0-2 -> Input Port, RB3-7 -> Output Port BCF STATUS,RP0 ;Selection of Bank 0 ; STEP1 BTFSS PORTB,0 ;Skip next line, if RB0 = 1 GOTO STXX0 GOTO STXX1 STXX0 BSF PORTB,4 ;1 -> RB4 GOTO STEP2 STXX1 BCF PORTB,4 ;0 -> RB4 ( 次ページに続く ) 30

演習問題 17 つづき STEP2 BTFSS PORTB,1 ;Skip next line, if RB1 = 1 GOTO STX0X GOTO STX1X STX0X BSF PORTB,5 ;1 -> RB5 GOTO STEP3 STX1X BCF PORTB,5 ;0 -> RB5 STEP3 BTFSS PORTB,2 ;Skip next line, if RB2 = 1 GOTO ST0XX GOTO ST1XX ST0XX BSF PORTB,6 ;1 -> RB6 GOTO STEP4 ST1XX BCF PORTB,6 ;0 -> RB6 STEP4 GOTO STEP1 ;Repetition of Processing ; END 31

演習問題 18 解答例 ; LED control program, modified version ; INCLUDE"p16F84A.inc" list p=16f84a CONFIG _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF TIME1 EQU 0x10 TIME2 EQU 0x11 TIME3 EQU 0x12 ORG 0 GOTO START ORG 4 START ;Setting of Port RB BSF STATUS,RP0 ;Selection of Bank 1 MOVLW B'00000111' MOVWF TRISB ;RB0-2 -> Input Port, RB3-7 -> Output Port BCF STATUS,RP0 ;Selection of Bank 0 ;Main Routine STEP1 BTFSS PORTB,0 ;Skip next line, if RB0 = 1 CALL ONRTN BCF PORTB,4 ;0 -> RB4 GOTO STEP1 ;Repetition of Processing 32

演習問題 18 つづき ;Sub Routine 1 ONRTN BSF PORTB,4 ;1 -> RB4 BTFSS PORTB,0 ;Skip next line, if RB0 = 1 GOTO ONRTN CALL COUNT1 RETURN ;Sub Routine for Time Consuming for 1 second COUNT1 MOVLW 0x02 MOVWF TIME1 STEPM MOVWF TIME2 STEPM1 MOVWF TIME3 STEPM2 DECFSZ TIME3,1 GOTO STEPM2 DECFSZ TIME2,1 GOTO STEPM1 DECFSZ TIME1,1 GOTO STEPM RETURN END 33

2004 年 8 月 34