"PIC18F4620

P

planet69

Guest
私は仕事に問題を取得PIC18F4620ことだ。
私は
、 テストプログラムの内部発振器の8MHzのPLL付きのセットを使用していただが有効。
私はすべての100ľs割り込みタイマ2に設定します。
ちょうどそれをテストするため、私を切り替えるにrb0、RC0を、RD0を設定した。これは
、 最初の電源投入時に働いたが
、 後続の試行に失敗しました。

してください
。 役立ちます。私は構¥成の設定が間違っていると思う。もMPLABシミュレータ'コア- E0001引用:フローエラーをスタック失敗した命令から0x00004e'で発生したレジスタ構¥成CCSを使用
コード:
INTRC_IO、NOFCMEN、NOIESO、PUTの、電圧低下、BORV43、NOWDT、WDT1、CCP2C1、NOPBADEN、LPT1OSC、NOMCLR、STVREN、NOLVP、NOXINST、NODEBUG、NOPROTECT、NOCPB、NOCPD、NOWRT、NOWRTC、NOWRTB、NOWRTD、NOEBTR、NOEBTRB
OSCTUNE = 0b01000000; / /内部PLL

= 0b01110000 / / OSCCON; / /オシレーター内部8MHzの選択

IRCF2 = 1;

IRCF1 = 1;

IRCF0 = 1;

= 0b11011100 / / RCON; / /ボル有効になって優先順位の割り込み

IPEN = 1;

SBOREN = 1;

= 0b00000000 / / STKPTR;

/ /ステータス= 0b00000000;

/ / = 0b00000000 EECON1;ADCON0 = 0b00000000;

ADCON1 = 0b00001111; / /すべてのA / Dポート、デジタルのように設定

ADCON2 = 0b00000000;

TRISA = 0b00000000; / /すべての出力

TRISB = 0b00000000; / /すべての出力

TRISC = 0b00000000; / /すべての出力

TRISD = 0b00000000; / /すべての出力

TRISE = 0b00000000; / /すべての出力

ポルタ= 0b00000000; / /初期化するポートのデフォルトの出力状態

ポートB = 0b00000000;

PORTC = 0b00000000;

PORTD = 0b11111111;

ポルト= 0b00000111;T0CON = 0b01001000; / /割り当てられていないプリスケール、TMRO停止すると、8ビット

T1CON = 0b01000000;

T2CON = 0b00000000;

T3CON = 0b00000000;CCP2CON = 0b00000000;

CCP1CON = 0b00000000;

= 0b00000000 / / PWM1CON; / /

= 0b00000000 / / ECCP1AS;

/ / SSPSTAT = 0b00000000;

SSPCON1 = 0b00000000;

/ / SSPCON2 = 0b00000000;

TXSTA = 0b00000000;

RCSTAレジスタ= 0b00000000;

BAUDCON = 0b00000000;

= 0b00000111 / / CMCON;

= 0b00000000 / / CVRCON;

= 0b00000101 / / HLVDCON;

= 0b00000000 / / WDTCON;INTCON = 0b10000000; / /ハイ&無効に低い優先順位は、割り込みを無効にTMR0の割り込みを有効にする

INTCON2 = 0b10000000; / /ポートBのプルアップを無効にする、TMR0、低優先順位の設定

INTCON3 = 0b00000000;

/ / = 0b00000000 PIR1;

/ / PIR2 = 0b00000000;

PIE1 = 0b00000010; / /割り込みTMR2を有効にする

/ / PIE2 = 0b00000000;

IPR1 = 0b00000010; / / TMR2優先度の高い割り込み

/ / IPR2 = 0b00000000;
PR2の= 199; / / 1000ľsを初期化

T2CON = 0b00000001; / / 1:1 postscale、1:4プリスケール

TMR2ON = 1;

 
プロジェクトのこんにちは、イムを使用して18F4620、今、ここに私のinitです。コードは、完璧に動作します:
コード:

= 0b01110000 / / OSCCON;

= 1 / / PLLEN;内部のオシレーター(8 * 4 = 32MHz時)の/ /コメントを解除

/ /中(!IOFS);内部oscilaotr周波数/ /待って安定させるため

/ /ポートB

ポートB =は0x00;

LATB =は0x00;

TRISB =は0x00; / /のRb0 .. RB7 - 出力

/ /ポートC

PORTC =値0x36;

LATC =値0x36;

TRISC = 0xc0から/ / RC0を..『RC5 - 出力、RC6の.. RC7を - 入力

/ /ポートD

PORTD =は0x00;

latdの=は0x00;

TRISD =は0x00;

/ /ポートE

ポルト=は0x00;

=は0x00後半;

TRISE = 0x08を/ / RE0 .. RE2 - 出力、RE3 - 入力

/ /お試し版

CMCON = 0b00110110;

/ /ポート

ポルタ=は0x00;

大腿=は0x00;

TRISA = 0x83の; / / RA2 .. RA6 - 出力、RA0 .. RA1、RA7 - 入力

delay_us(10);

#のasm

MOVF CMCON、F

#endasm

/ /タイマ0 / / equel間隔でTSLの光学式センサーのdiscretを読み取るために使用

T0CON = 0b11000110; / / 1:128 prescaller、ステップ= 10.7us @は48MHzで,8 -ビットを有効、オーバーフロー= 2730.7問い合わせ

/ /タイマ1 / /停止

/ /タイマ2 / /停止

/ /タイマ3 / /停止

/ / CCP1 / /無効

/ / CCP2 / /無効

/ / MSSPは/ /無効

/ / EUSART

/ /#を使用しrs232(ボー= 128000、パリティ=度、xmitを= PIN_C6、rcv = PIN_C7、ビット= 8)

/ / ADCの

ADCON0 = 0b00000001;

ADCON1 = 0b00001101;

ADCON2 = 0b10010110;

/ / Vrefの

CVRCON = 0b10001000;

/ / HLVD / /無効
 
私はそれが非常に翌日の作業だ。
がどのように些細ないくつかミスをすることができます驚くべきことだ。私の愚かな現実。
おかげでとにかく!

 

Welcome to EDABoard.com

Sponsor

Back
Top