プログラムの開発手順 1.プログラム設計(仕様の決定) 2.コーディング(ソースファイルの作成) 3.アセンブル(オブジェクトファイル

Slides:



Advertisements
Similar presentations
1 B10 CPU を作る 1 日目 解説 TA 高田正法
Advertisements

2.5 プログラムの構成要素 (1)文字セット ① ASCII ( American Standard Code for Interchange ) JIS コードと同じ ② EBCDIC ( Extended Binary Coded Decimal for Information Code ) 1.
CPU設計と パイプライン.
富山大学 公開講座 2008 「QRコードを作ろう!」 ~ QRコードを作ろう! ~.
電気電子工学実験ⅢA コンピュータ応用 (2週目) 補足資料.
マイコン入門実践教育プロセス説明 第4システム部 ES443 塩島秀樹.
計算機システムⅡ 主記憶装置とALU,レジスタの制御
Handel-C基礎 および 7セグとマウスのハンドリング
テープ(メモリ)と状態で何をするか決める
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第2週目
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
2012年度 計算機システム演習 第4回 白幡 晃一.
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
計算機システムⅡ 命令セットアーキテクチャ
4.2.2 4to1セレクタ.
  【事例演習6】  数式インタプリタ      解 説     “インタプリタの基本的な仕組み”.
プログラムはなぜ動くのか.
計算機基礎Ⅱ,Ⅲ (指導書 pp. 76~94) 改訂:佐竹 純二 (作成:岡本 吉央).
補数 n:桁数、b:基数 bの補数 bn-x 253(10進数)の10の補数は、 =747
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
割り込み.
情報電子工学演習V(ハードウェア実技演習) PICマイコンによる光学式テルミンの製作
割り込み.
PIC制御による赤外線障害物 自動回避走行車
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
勉強会その3    2016/5/1 10 8分35秒 データの表現 演算.
演習課題の進め方 1.製作内容の決定 2.部品の配置を決める (回路図を描く) 3.処理の流れをフローチャートに表す
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第3週目
マイコンによるLEDの点灯制御 T22R003 川原 岳斗.
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
アルゴリズムとプログラミング (Algorithms and Programming)
TA 高田正法 B10 CPUを作る 3日目 SPIMの改造 TA 高田正法
情報電子工学演習Ⅴ(ハードウェア実技演習) PICマイコンによる光学式テルミンの製作
ディジタル回路の設計と CADによるシステム設計
計算機構成 第2回 ALUと組み合わせ回路の記述
Ibaraki Univ. Dept of Electrical & Electronic Eng.
9. 演算回路 五島 正裕.
コンピュータアーキテクチャ 第 7 回.
コンピュータアーキテクチャ 第 7 回.
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
情報電子工学演習Ⅴ(ハードウェア実技演習) PICマイコンによる光学式テルミンの製作
コンピュータアーキテクチャ 第 10 回.
ディジタル回路 9. 演算回路 五島 正裕.
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
  第3章 論理回路  コンピュータでは,データを2進数の0と1で表現している.この2つの値,すなわち,2値で扱われるデータを論理データという.論理データの計算・判断・記憶は論理回路により実現される.  コンピュータのハードウェアは,基本的に論理回路で作られている。              論理積回路.
カラス撃退装置 ~カラスもたじたじ~ 8班 班長 藤井将之     梅田陽平     大村泰史     藤井秀徳.
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 4 回.
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
コンピュータアーキテクチャ 第 3 回.
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 5 回.
計算機アーキテクチャ1 (計算機構成論(再)) 第二回 命令の種類と形式
コンピュータアーキテクチャ 第 4 回.
9. 演算回路 五島 正裕.
プロセッサ設計支援ツールを用いた 独自プロセッサの設計
コンピュータアーキテクチャ 第 3 回.
コンピュータアーキテクチャ 第 5 回.
ca-9. 数の扱い (コンピュータアーキテクチャとプロセッサ)
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
情報システム基盤学基礎1 コンピュータアーキテクチャ編
岡村耕二 ビット誤りと訂正演習 岡村耕二 情報ネットワーク.
JavaScript    プログラミング入門 2-3 式と演算子 2006/10/12 神津 健太.
2009年8月18日,新潟大学 「情報」と「ものづくり」 の実践教育3 下保敏和,佐藤亮一.
情報処理 ADコンバータの基礎 アナログ電圧値をディジタル・データとして取 り込む
Presentation transcript:

プログラムの開発手順 1.プログラム設計(仕様の決定) 2.コーディング(ソースファイルの作成) 3.アセンブル(オブジェクトファイル      → ヘキサファイルの作成) 4.シミュレーション(誤りの検出) 5.PICライタを使用してマイコンにプログラムを   書き込む 6.テスト MPLAB を活用

アセンブラ命令語 ■ バイト処理命令; バイト(8ビット)の値を処理 1)加算 (UAはユーザが設けたデータ格納レジスタ) ■ バイト処理命令; バイト(8ビット)の値を処理  1)加算  (UAはユーザが設けたデータ格納レジスタ) ADDWF UA, 0 ; W = W+UA ADDWF UA, 1 ; UA = W+UA (0とすると加算結果をWレジスタに保存)  2)論理積       ANDWF UA, 0 ; W = W & UA 3)値をゼロクリア       CLRF UA ; UA=0 CLRW ; W=0

4)値(0, 1)の反転    COMF UA , 1 ; UA = UA ^ 0xFF 5)値を1減らす DECF UA , 1 ; UA = UA-1 6)値を1減らし、0になったら次の命令をスキップ    DECFSZ UA, 1 ; UA = UA –1 IF (UA==0) SKIP GOTO KURIKAESHI ;  RETURN ; サブルーチンから戻る

7)値を1増やす INC UA, 1 ; UA = UA + 1 8)値を1増やし、0になったら次命令をスキップ    INCFSZ UA, 1 ; UA = UA +1 ; IF (UA==0) SKIP; 9)論理和    IORWF UA, 1 ; UA = W | UA 10)データの移動(コピー)    MOVF UA, 0 ; W = UA (UAの値をWへ)    MOVWF UA ; UA = W (Wの値をUAへ)

11)何もしない   NOP 12)1ビット左シフト    RLF UA, 1 ; UA=‘01000000 ’, C=1(キャリー)             とすると、           UA=‘10000001’, C=0 になる 13)1ビット右シフト    RRF UA, 1 ; UA=‘01000000 ’, C=1(キャリー)            とすると、           UA=‘10100000’, C=0 になる

14)減算   SUBWF UA, 1 ; UA = UA – W 15)上位4ビットと下位4ビットの値を入れ替え    SWAPF UA, 1 ; UA=‘01010000 ’とすると、           UA=‘00000101’ 16)排他的論理和   XORWF UA, 1 ; UA = UA ^ W

BCF INTCON, 7 ; INTCONレジスタの7ビット をゼロ 2)あるビットを1にセットする ■ ビット処理命令  1)あるビットをゼロにする    BCF INTCON, 7  ; INTCONレジスタの7ビット               をゼロ  2)あるビットを1にセットする    BSF STATUS, 5 ; STATUSレジスタの5ビット               を1にする * INTCONやSTATUSレジスタは「特殊レジスタ」。  予め機能が定められている。 1-ゼロ 0-ゼロではない IRP RP1 RP0 TO RD Z DC C bit8 bit1 1-桁上り,桁下りあり 0-なし Statusレジスタの機能

3)ビット検査命令   BTFSC UA, 3 ; UAの3ビットを調べ、ゼロ(クリア)           だったら、次の命令をスキップ   BTFSS UA, 3 ; UAの3ビットを調べ、1(セット)

■ リテラル命令; 定数を伴う演算 1)加算   ADDLW 34H  ;W = W + 34H 2)論理積   ANDLW 45H ; W = W & 45H 3)論理和   IORLW 56H ; W = W | 56H 4)定数の読出し(移動)   MOVLW 78H ; W = 78H * Hが付いている場合は値が16進数表記

5)減算  SUBLW 89H ; W = 89H – W 6)排他的論理和  XORLW 9AH ; W = W ^ 9AH ■ CPU動作モード設定・解除  1)ウォッチドックタイマクリア   CLRWDT  2)スリープモード設定   SLEEP

■ ジャンプ命令  1)サブルーチンの呼び出し    CALL SUB1 ;サブルーチンSUB1を呼び出し *サブルーチンSUB1内のRETURN命令が実行されると、    CALLの次に記述した命令が実行される。   2) 指定ラベルへジャンプ    GOTO SAKURA ; ラベルSAKURAやジャンプ  3)サブルーチンから戻る    RETURN    RETLW k (Wにkを格納して戻る) RETFIE (割込み利用の場合)

演習課題の進め方 1.製作内容の決定 2.部品の配置を決める (回路図を描く) 3.処理の流れをフローチャートに表す 4.プログラム作成&アセンブル   (HEXファイルの生成) 5.PICマイコンへの書込み 6.回路組立&動作検証

例)グラスを傾けると下から順にLEDが  点灯し,10秒後に“?”マークを描く 1秒後 10秒後

センサ→RA5 7→RA2 6→RA1 8→RA3 9→RB0 5→RA0 4→RA7 3→RB6 2→RB5 1→RB4 イメージ) 9→RB0 5→RA0 7 8 6 9 4→RA7 5 4 3 3→RB6 2 1 2→RB5 「使用可能な近い端子は何処?」 1→RB4 LEDとセンサの配置

ポート単位でLEDとセンサの配置をまとめる ポートA: RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 4 センサ 8 7 6 5 ポートB: RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 3 2 1 9 LED1のみを点灯させる時のデータは、  ポートA: 1111 1111 ポートB: 1110 1111 ※点灯させる箇所を「0」にする