3 4 PIC

Similar documents
untitled

,, ( ) 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 (

untitled

卒 業 研 究 報 告

前付(念).indd

3 1EEPROMElectrically Erasable PROM PROMProgrammable ROM 2 EEPROM 3

スライド 1

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

スライド 1

Microsoft PowerPoint - 工学ゼミⅢLED1回_2018

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

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

スライド 1

PowerPoint プレゼンテーション

Microsoft Word - 4章.doc

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

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

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

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

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

PowerPoint プレゼンテーション

Microsoft Word - テキスト.docx

スライド 1

PowerPoint プレゼンテーション

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

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

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

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

<4D F736F F D C835E838A EA993AE90A78CE CC8A4A94AD2E646F63>

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

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

序文

PowerPoint プレゼンテーション

DVIOUT-soturon

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

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

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

#include "uart.h" // #define RTC8583 0xA0 // RTC address #define CTRL 0x00 // RTC register notation START/STOP #defin

1 8 Z80 Z GBA ASIC 2 WINDOWS C 1

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

卒 業 研 究 報 告

USB モジュール

PIC

DS30292A-J-page 2 Preliminary 2000 Microchip Technology Inc. PIC16F876/

#define HOUR 0x04 #define DAY 0x05 #define WEEKDAY 0x06 #define MONTH 0x07 #define YEAR 0x08 #define CKOUT 0x0D #define CTRLT 0x0E // CLKOUT // TIMER

Arduino UNO IS Report No. Report Medical Information System Laboratory

Taro11-表紙と目次.PDF

PIC16C7X日本語データシート

AutomaticTelegraphKeyProject.c

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

(Making the electronic circuit with use of micro-processor)

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

thesis.dvi

PIC

PIC12C5XX日本語データシート

NAND FF,,

PIN S 5 K 0 K 1 K 2 K 3 K 4 V DD V 0 V 1 V 2 V SS OSC SEG 32 SEG 31 SEG 30 SEG 29 SEG 28 SEG 27 SEG 26 SEG 25 SEG 24 SEG 23 SEG 22 SEG 21 SEG 20 SEG 1

TOS7200 CD-ROM DUT PC 1.0X p.15 NEMA Vac/10 A [85-AA-0003] m : CEE7/7 : 250Vac/10 A [85-AA-0005] : GB1002 : 250Vac/10A [ ] 2016

CPU VS-RC003 RobovieMaker for VS-RC003

ESP32-KEY-KIT-R1 (ESP-WROOM-32 ) Copyright c 2

untitled

土地改良523号.indd

untitled

2

Microsoft Word - PIC-P14マニュアル.doc

ESP8266-CORE-R Copyrig

NL-22/NL-32取扱説明書_操作編

kuchi_robo.c - TeraPad

PLC HMI High flexibility Simple networking Easy to use 190 HMI 2

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


untitled

S5U1C8F360T1 Manual (S1C8F360 DEMO Board)

SE-800 INSTRUCTION BOOK

VR-509DN

(search: ) [1] ( ) 2 (linear search) (sequential search) 1

2

(1)基礎の設計に関する基本事項

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

C言語によるPIC(16F88)プログラミング実習テキスト

Timers_JP.fm

01DVR7000D

P0001-P0008-›ºflÅŠpB5.qxd

スライド 1

VR-306B

スライド 1

PMW-PZ1

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

2


h1_h4.ai

AFO AFO 4 2.3AFO 5 3 AFO 3.1 AFO

i /..12 / / /...22 /

ProVisionaire Control V3.0セットアップガイド

a.fm

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

森林航測72号

oaks32r_m32102

(1) BLUETOOTH HT-CT660


Transcription:

PIC 16 2 9

3 4 PIC 5 7 4-1 4-2 4-3 4-4 4-5 4-6 4-7 4-8 4-9 7 7 7 0 7 0 7 11 13 14 15 19 5-1 5-2 5-3 19 19 19 5-4 20 5-5 20 5-6 22 5-7 23 5-8 25 5-9 26 5-10 27 29 6-1 29 6-2 29 6-3 29 1

6-4 IC 30 6-5 31 6-6 33 6-7 34 6-8 35 43 44 45 2

PIC 3

PIC16F628 PIC16F873 4

PIC PIC Peripheral Interface Controller PIC CPU ROM RAM / PIC 3 PIC16F628 16F873 14 PIC16F628 16F873 A/D PIC MPLAB PIC PIC AKI PIC PIC MPLAB PIC PIC PIC PIC PIC 3.1 PIC 5

3.1 PIC 6

4-1. PIC 1 0 4-2. 1 4 7 LED 99 0 4-3. 7 LED 4 LED LED PIC LED 4-4. 0 0 PIC 0 4-5. 0 0 OPTION OPTION RESET OPTION 4.1 7

4.1 OPTION bit7 RBPU bit0 INTEDG T0CS T0SE PSA PS2 PS1 PS0 OPTION RBPU bit7 PORT B 1 0 INTEDG bit6 INT 1 0 T0CS bit5 0 1 T0CKI 0 T0SE bit4 0 1 0 PSA bit3 1 WDT 0 0 PS2 PS1 PS0 bit2 0 PS2-0 0 WDT 000 1 2 1 1 001 1 4 1 2 010 1 8 1 4 011 1 16 1 8 100 1 32 1 16 8

PS2-0 0 WDT 101 1 64 1 32 110 1 128 1 64 111 1 256 1 128 0 0 0 255 0 0 OPTION 4 4 0 1 0 4 0 0 PIC CPU 4 1 0 CPU 4 CPU 4 0 INTCON INTCON 4.2 9

4.2 INTCON bit7 bit0 GIE EEIE T0IE INTE RBIE RTIF INTF RBIF INTCON GIE bit7 1 0 EEIE bit6 EEPROM 1 EEPROM 0 T0IE bit5 0 1 0 INTE bit4 PORT B INT 1 PORT B 0 RBIE bit3 PORT B 1 PORT B 0 RTIF bit2 0 1 1 0 0 INTF bit1 PORT B INT 1 PORT B 1 0 0 10

RBIF bit0 PORT B 1 PORT B 1 0 0 4-6. 7 7 LED 7 1 LED 10mA 7 70mA 4.3 7 7 LED 4.3 R1 0.7V R1 2.3V 4.3 7 100 7 LED 7 70mA R1 0.7mA R1 2. 3 0. 7 v ma 3. 29 k 3. 3 k R 1 LED 2V 7 LED 11

1 V 10 ma 0. 1 k 100 BCD 4.4 BCD BCD BCD 7 LED LED BCD 1 4.4 BCD BCD 7 LED BCD HIGH PIC OPTION RBPU bit7 0 PIC RA4 RA5 12

4-7. 4.5 4.5 13

4-8. 7 4.5cm 4.6 4.7 14

4-9. 4.8 BCD 7 LED 00 00 BCD 0 7 7 LED 0 4.9 4.10 7 LED 10 1 4.11 0 1 1 10 1 0 9 10 0 5 15

10 BCD-SW 1 BCD-SW 7 LED Yes 00 No No Yes ON 7 LED Yes No 4.8 No Yes 16

7 LED 10 BCD-SW PORTB 10 BCD-SW 10 10 LED 1 BCD-SW 1 BCD-SW 1 1 LED 10 BCD-SW 10 LED 1 BCD-SW No 1 LED Yes RETURN RETURN 4.9 4.10 2 3 17

0 0 No 0 Yes 0 9 1 0 No 0 No 1 0 Yes 0 Yes 0 5 1 0 N0 0 No 0 Yes Yes 9 1 0 No 0 Yes No 0 0 Yes 0 No Yes 0 1 RETFIE 4.11 4 18

5-1. 5-2. 9 5-3. 1 2 8bit 16bit 16bit 40bit 5.1 0 0 0 0 0 0 0 0 8bit 5.2 1 C2 C1 C0 0 1 D4 D3 D2 D1 D0 1 0 0 0 0 5.3 19

5-4. 5.1 8bit 16bit 2 5.2 0 5.3 1 3bit 1 1 2bit 5bit 5bit 32 16bit 2 2 2 5-5. 9 PIC 1 1 9 9 3 3 6 5.4 20

1 2 3 1 2 3 5.4 5.4 LED 9 LED 10 LED 5.5 RB0 RB4 LED RA0 RA3 RA5 RB5 RB7 RC6 LED LED LED 21

5-6. 5.5 22

5-7. 2 LED PIC 5.6 5.7 23

5.8 5.9 5.10 24

5-8. 0.3 0.3 No Yes LED 0.3 5.11 25

5-9. 0 1 37.9kHz 0 1 37.9kHz 37.9kHz 1 37.9kHz 26 1 13 0 13 1 600 600 26 23 1 0 23 1 600 1 PIC 4kHz PIC 4 1 1 1 4kHz 4 1 5.12 1 5.12 1 600 PIC 600 PIC 0.5% 26

5-10. 5.12 27

28

6-1. 0 6-2. 6-3. 6.1 Q1 Q2 Q3 Q4 OFF OFF OFF OFF ON OFF OFF ON ( ) OFF ON ON OFF ( ) OFF OFF ON ON 6.1 Q1 Q4 ON 29

Q2 Q3 ON Q3 Q4 ON Q1 Q3 Q2 Q4 ON OFF 6-4. IC IC IC TA7291P 20V 0.4A 2.0A 6.2 IC 6.2 30

6.2 PIC 6 2 4 6.1 1(5PIN) 2(6PIN) 1(2PIN) 2(10PIN) LOW LOW HIGHT LOW HIGHT LOW ( ) LOW HIGHT LOW HIGHT ( ) HIGHT HIGHT LOW LOW 6.1 6-5. SPS-443-1 38kHz 6.3 1 0 1 50% 0 6.3 PIC 6.4 31

6.4 0 High Low PIC Low 0 1 Low High PIC High 1 6.4 SPS-433-1 4.7V 5.3V IN 4 LED PIC 4.7 F 6.5 32

6-6. 6.5 33

6-7. 6.6 34

35 6-8. 6.7 600 300 600 600 600 600 600 600 600 600 600 600 300 6.7 6.7 300 100 3

100 300 100 6.8 6.9 6.8 6.9 36

1 PWM PWM PIC 0 0 16 0 2 2 0 15 0 16 HIGH LOW 0 6.10 HIGH LOW 15 0 6.11 37

Yes 100 No No Yes 200 No Yes 600 No 2 Yes 6.10 1 38

Yes No Yes 1 0 No 1 0 Yes No 6.11 2 39

0 1 No Yes 1 1 2 No Yes 1 1 RETURN 6.12 3 40

0 T0IF 0 1 0 Yes No DUTY1 0 No 1 DUTY2 0 16 DUTY1 DUTY2 1 2 No 2 RETFIE 6.13 4 41

6.14 6.15 6.14 6.15 42

0 1 2 IC 2 2 PIC PIC 43

PIC PIC PIC PIC PIC CQ PIC 44

A254 45

1 ;******************************************************************: ; ;****************************************************************** ; LIST P=PIC16F873 INCLUDE "P16F873.INC" ;******************************************* SDATA EQU 20H CNT1 EQU 21H CNT2 EQU 22H CNT3 EQU 23H CNT4 EQU 24H BITCNT EQU 25H WCNT EQU 26H W6CNT EQU 27H WORK EQU 28H KEYDT EQU 29H WCNT2 EQU 3AH DEVICE SET 080H ORG 0 ;****************************************** MAIN PORT_INI Loop CLRF CLRF BSF PORTA PORTB KEYSCAN LEED SEND SEND PORTB,0 1

2 TIME60M BCF PORTB,0 BSF PORTB,1 TIME60M BCF PORTB,1 BSF PORTB,2 TIME60M BCF PORTB,2 BSF PORTB,4 TIME60M BCF PORTB,4 BSF PORTB,3 TIME60M BCF PORTB,3 LOOP ;******************************************* PORT_INI BSF STATUS,RP0 H'07' ADCON1 H'07' TRISC H'00' TRISB H'00' TRISA BCF OPTION_REG,7 BCF STATUS,RP0 CLRF PORTA CLRF PORTB RETURN

;******************************************* KEYSCAN LEFT H'08' PORTC LEFT1 BTFSS PORTC,0 LEFT2 TIM10M BTFSC PORTC,0 SIG11 LEFT2 BTFSS PORTC,1 LEFT3 TIM10M BTFSC PORTC,1 SIG12 LEFT3 BTFSS PORTC,2 CENTER TIM10M BTFSC PORTC,2 SIG13 CENTER CENT1 BTFSS BTFSC CENT2 BTFSS BTFSC CENT3 BTFSS H'10' PORTC PORTC,0 CENT2 TIM10M PORTC,0 SIG21 PORTC,1 CENT3 TIM10M PORTC,1 SIG22 PORTC,2 RIGHT 3

4 TIM10M BTFSC PORTC,2 SIG23 RIGHT H'20' PORTC RIGHT1 BTFSS PORTC,0 RIGHT2 TIM10M BTFSC PORTC,0 SIG31 RIGHT2 BTFSS PORTC,1 RIGHT3 TIM10M BTFSC PORTC,1 SIG32 RIGHT3 BTFSS PORTC,2 KEYSCAN TIM10M BTFSC PORTC,2 SIG33 KEYSCAN ;**************************************************** TIM10M TIME5M TIME5M RETURN ;******************************************************* SIG11 BSF PORTA,0 H'14'

RETURN KEYDT SIG12 BSF PORTA,3 H'08' KEYDT RETURN SIG13 BSF PORTB,5 H'0E' KEYDT RETURN SIG21 BSF PORTA,1 H'04' KEYDT RETURN SIG22 BSF PORTC,6 H'0A' KEYDT RETURN SIG23 BSF PORTB,6 H'10' KEYDT RETURN SIG31 BSF PORTA,2 H'06' KEYDT RETURN SIG32 BSF PORTA,5 H'0C' KEYDT 5

6 RETURN SIG33 BSF PORTB,7 H'12' KEYDT RETURN ;************************************************************** LEED 8 BITCNT LDLP BIT0 DECFSZ BITCNT,F LDLP RETURN ;*************************************************** SEND BIT1 ;**************************************************** 3 BITCNT DCODE RLF KEYDT,F BTFSS STATUS,C BIT0 BTFSC STATUS,C BIT1 DECFSZ BITCNT,F DCODE BIT0 BIT1 ;******************************************************** 5 BITCNT

7 KEYCODE RLF KEYDT,F BTFSS STATUS,C BIT0 BTFSC STATUS,C BIT1 DECFSZ BITCNT,F KEYCODE RLF KEYDT,F BIT1 ;*********************************************************** 4 BITCNT TARIL BIT0 DECFSZ BITCNT,F TARIL RETURN ;**************************************************************** BIT0 BCF PORTC, 7 ;***************************************************************** H 0C W6CNT BT01LP H 0F WCNT BT00LP DECFSZ WCNT,F BT00LP DECFSZ W6CNT,F BT01LP RETURN

;******************************************* ;******************************************* BIT1 H 17 W6CNT ;********************************************* BTLOOP BSF PORTC,7 ;************************************************** BCF PORTC,7 ;***************************************************** DECFSZ W6CNT,F 8

9 BTLOOP RETURN ;*************************************************** WAIT H 0A CNT3 WTLP3 H 63 CNT2 WTLP2 H 64 CNT1 WTLP1 DECFSZ CNT1,F WTLP1 DECFSZ CNT2,F WTLP2 DECFSZ CNT3,F WTLP3 RETURN ;******************************** TIME100 H 09 CNT1 T_LP1 TIME10 DECFSZ CNT1,F T_LP1 RETURN TIME10 H 07 CNT2 T_LP2 DECFSZ CNT2,F

RETURN TIME1M T_LP3 DECFSZ RETURN TIME5M T_LP4 DECFSZ RETURN T_LP2 H 0A CNT3 TIME100 CNT3,F T_LP3 H 38 CNT4 TIME100 CNT4,F T_LP4 TIME60M TIME60 DECFSZ RETURN H'0C' WCNT2 TIME5M WCNT2,F TIME60 END 10

2 ;************************************************************** ; ;************************************************************** LIST P=PIC16F628 INCLUDE "P16F628.INC" ;************************* DUTY1 EQU 20H DUTY2 EQU 21H DYWRK1 EQU 22H DYWRK2 EQU 23H WIDTH EQU 24H W_TEMP EQU 25H ST_TMP EQU 26H RDATA1 EQU 27H RDATA2 EQU 28H CNT1 EQU 29H CNT2 EQU 2AH BITCNT EQU 2BH SPD1 EQU 2CH SPD2 EQU 2DH DIR1 EQU 2EH DIR2 EQU 2FH WORK EQU 30H ZNS EQU 31H STOPF EQU 32H TURN EQU 33H DEVICE SET H'00' ;*************************** ORG 0 START 1

2 ORG 4 T0ISR ;****************************** START BCF STATUS,RP0 H 07' CMCON BSF STATUS,RP0 H'13' TRISA CLRF TRISB H 88 OPTION_REG BCF STATUS,RP0 CLRF PORTA CLRF PORTB ;********************************** H 10 WIDTH DUTY1 DUTY2 DYWRK1 DYWRK2 CLRF TMR0 BSF INTCON,T0IE CLRF STOPF CLRF TURN BCF PORTA, 2 ;*********************************** MAIN2 CLRF TURN BSF INTCON,GIE MAIN ;************ BCF STATUS,RP0

BTFSS PORTA, 4 LOOP2 WAIT100 BTFSC PORTA, 4 LOOP H'0C' BSF PORTB, 2 PORTA BSF PORTB, 3 LOOP2 BTFSC PORTA,0 MTR1UP BTFSS PORTA,0 MTR1DWN ;************************************* BTFSC PORTA,1 MTR2UP BTFSS PORTA,1 MTR2DWN MAIN ;************************************* MTR1UP ; H 10 SUBWF DUTY1,W BTFSS STATUS,C INCF DUTY1,F RETURN MTR1DWN 1 SUBWF DUTY1,W BTFSC STATUS,C DECF DUTY1,F 3

4 RETURN ;************************************* MTR2UP H 10 SUBWF DUTY2,W BTFSS STATUS,C INCF DUTY2,F RETURN MTR2DWN 1 SUBWF DUTY2,W BTFSC STATUS,C DECF DUTY2,F RETURN ;*************************************** T0ISR W_TEMP SWAPF STATUS,W ST_TMP BCF INTCON,T0IF DECFSZ WIDTH,F DTY1CNT ;***************************************** DTYCLR H 10 WIDTH MOVF DUTY1,W DYWRK1 BSF PORTB,6 MOVF DUTY2,W DYWRK2 BSF PORTB,4 POPRTN ;*****************************************

DTY1CNT MOVF BTFSC DECFSZ DTY1Z BCF DTY2CNT MOVF BTFSC DECFSZ DTY2Z BCF POPRTN SWAPF SWAPF SWAPF RETFIE DYWRK1,W STATUS,Z DTY1Z DYWRK1,F DTY2CNT PORTB,6 DYWRK2,W STATUS,Z DTY2Z DYWRK2,F POPRTN PORTB,4 ST_TMP,W STATUS W_TEMP,F W_TEMP,W ;**** REMOCON MODE LOOP BCF STATUS,RP0 BTFSS PORTA, 4 LOOP WAIT100 BTFSS PORTA, 4 LOOP LOOPA BCF INTCON,GIE STRTBIT ANDLW H'FF' BTFSS STATUS, Z 5

WHICH MOVF WORK,W RDATA1 LOOPB BCF STATUS,RP0 BTFSS PORTA, 4 LOOPB WAIT100 BTFSS PORTA, 4 LOOPB STRTBIT ANDLW H'FF' BTFSS STATUS, Z LOOP MOVF WORK,W RDATA2 SUBWF RDATA1,W BTFSS STATUS,Z MAIN2 RCVED MOVF RDATA1,W ANDLW H'E0' BTFSS STATUS,C LOOP ;********************************************** BCF PORTB, 2 CLRF PORTA BCF PORTB, 3 BCF STATUS,C RRF RDATA1,F MOVF RDATA1,W ANDLW H'0F' ADDWF PCL,F KEY00 KEY01 6

7 KEY02 KEY03 KEY04 KEY05 KEY06 KEY07 KEY08 KEY00 ;*************************************** MAIN2 WHICH BTFSS TURN,0 MAIN2 LOOP ; ;********************************************* ;****** GO STRAIGHT KEY01 KEY011 CLRF STOPF H'FF' TURN H'50' PORTB H'3C' SPD1 KEY011A DECFSZ SPD1 KEY011A H'FF' SPD1 CLRF STOPF LOOP

;***** TURN TO THE LEFT KEY00 KEY00A CLRF STOPF H'FF' TURN BSF PORTA,3 H'48' PORTB BSF PORTB,3 H'05' SPD1 KEY0AA DECFSZ SPD1 KEY0AA BCF PORTB,3 BCF PORTA,3 LOOP ;***** TURN TO THE RIGHT KEY02 KEY02A CLRF STOPF H'FF' TURN BSF PORTA,2 8

9 H'14' PORTB BSF PORTB,2 H'05' SPD1 KEY2AA DECFSZ SPD1 KEY2AA BCF PORTB,2 BCF PORTA,2 LOOP ;**** LEFT WINKER KEY03 CLRF STOPF H'FF' TURN BSF PORTB,3 H'40' SPD1 KEY03A BCF PORTB,3 BSF PORTB,3

10 DECFSZ SPD1 KEY03A BCF PORTB,3 LOOP ;**** STOP KEY04 H'FF' TURN H'00' PORTB BSF PORTA,2 BSF PORTA,3 H'3C' SPD1 KEY044 DECFSZ SPD1 KEY044 BCF PORTA,2 BCF PORTA,3 H'02' SUBWF STOPF, W BTFSC STATUS, Z KEY045 INCF STOPF, F LOOP KEY045 CLRF STOPF CLRF TURN MAIN2 ;**** RIGHT WINKER

11 KEY05 CLRF STOPF H'FF' TURN BSF PORTB,2 H'40' SPD1 KEY05A BCF PORTB,2 BSF PORTB,2 DECFSZ SPD1 KEY05A BCF PORTB,2 LOOP ;**** BACK TO THE LEFT KEY06 KEY06A CLRF STOPF H'FF' TURN BSF PORTA,3 H'88' PORTB BSF PORTB,3 H'05' SPD1 KEY6AA

12 H'A8' PORTB H'88' PORTB DECFSZ SPD1 KEY6AA BCF PORTB,3 BCF PORTA,3 LOOP ;**** BACK TO THE STRAIGHT KEY07 KEY071 CLRF STOPF H'FF' TURN BSF PORTA,2 BSF PORTA,3 H'A0' PORTB H'3C' SPD1 KEY71A DECFSZ SPD1 KEY71A BCF PORTA,2 BCF PORTA,3 LOOP

;**** BACK TO THE RIGHT KEY08 KEY08A CLRF STOPF H'FF' TURN BSF PORTA,2 H'24' PORTB BSF PORTB,2 H'05' SPD1 KEY8AA H'A4' PORTB H'24' PORTB DECFSZ SPD1 KEY8AA BCF PORTB,2 BCF PORTA,2 LOOP STRTBIT WAIT100 WAIT100 13

14 BCF STATUS,RP0 BTFSS PORTA, 4 RETLW H'FF' ;******************************************** CLRF WORK 3 BITCNT CDLP WAIT600 BTFSS PORTA,4 BCF STATUS,C BTFSC PORTA,4 BSF STATUS,C RLF WORK,F DECFSZ BITCNT,F CDLP ;*********************************************** WAIT600 BTFSC PORTA,4 RETLW H'FF' WAIT600 BTFSS PORTA,4 RETLW H'FF' ;************************************************* 5 BITCNT DTLP WAIT600 BTFSS PORTA,4 BCF STATUS,C BTFSC PORTA,4 BSF STATUS,C RLF WORK,F DECFSZ BITCNT,F DTLP

15 ;*************************************************** WAIT600 BTFSS PORTA,4 RETLW H'FF' WAIT600 BTFSC PORTA,4 RETLW H'FF' WAIT600 BTFSC PORTA,4 RETLW H'FF' ;******************************************************** RETLW H'00' WAIT300 H'43' CNT1 LP1 DECFSZ CNT1,F LP1 WAIT100 H'20' CNT1 LP2 DECFSZ CNT1,F LP2 RETURN WAIT600 H'02' CNT1 LP3 H'65' CNT2 LP4 DECFSZ CNT2,F

DECFSZ RETURN LP4 CNT1,F LP3 LP5 LP6 DECFSZ DECFSZ RETURN H'07' CNT1 H'F0' CNT2 CNT2,F LP6 CNT1,F LP5 END 16