#freeze 閲覧総計:&counter(); (本日:&counter(today); 昨日:&counter(yesterday);)~ ~ 後関氏の「電子工作の実験室」ページには、CCS C言語によるPICプログラミング~ のサンプルソースが多数掲載されています。~ http://picfun.com/ctechframe.html~ CCS C言語で書かれたソースを「MikroC」に書き換える際のポイントを~ 紹介します。~ ~ ~ **入出力ピンの制御方法 [#k3a4436f] http://picfun.com/c06.html ***出力【変数レジスタとして制御する方法】 [#dd5b9c34] http://picfun.com/c06.html の1例目 /** * CCS C → MikroC書き換え例題1 * LEDの点滅 *【変数レジスタとして制御する方法】 * * PIC 16F84A * 発信器 10MHz * 言語 MikroC v2.1 * Device Flags: _CP_OFF _PWRTE_ON _WDT_OFF _HS_OSC * * PortB 0:LED */ //MikroCではCCS Cの#記述部が不要 //#device PIC16F84 //#use delay(clock=10000000) //#byte port_b=6 void main(){ TRISB = 0; //set all output while(1){ //endless PORTB = 0xff; //all led on 0と1が逆 Delay_ms(500); //wait 0.5sec PORTB = 0; //all led off 0と1が逆 Delay_ms(500); } } ★この情報は役に立ちましたか? #vote(はい[8],普通[1],いいえ[4]) ~ ***出力【ビット制御関数による制御方法】 [#x02bbe6c] http://picfun.com/c06.html の2例目 /** * CCS C → MikroC書き換え例題2 * LEDの点滅 *【ビット制御関数による制御方法】 */ //MikroCではCCS Cの#記述部が不要 //#include <16f84.h> //#use delay(clock=10000000) void main(){ TRISB = 0; //set all output while(1){ //endless loop PORTB.F0 = 1; //led on Delay_ms(500); PORTB.F0 = 0; //led off Delay_ms(500); } } ★この情報は役に立ちましたか? #vote(はい[1],普通[0],いいえ[0]) ~ ***入力【変数レジスタとして制御する方法】 [#qea5869a] http://picfun.com/c06.html の3例目 /** * CCS C → MikroC書き換え例題3 * スイッチ入力 LED点灯 *【変数レジスタとして入力する方法】 */ //MikroCではCCS Cの#記述部が不要 //#device PIC16F84 //#byte port_a=5 //#byte port_b=6 void main(){ TRISA = 0xff; //set all input TRISB = 0; //set all output while(1){ //endless PORTB = PORTA; } } ★この情報は役に立ちましたか? #vote(はい[0],普通[0],いいえ[0]) ~ ***入力【ビット制御関数による制御方法】 [#l8c54e51] http://picfun.com/c06.html の4例目 /** * CCS C → MikroC書き換え例題4 * スイッチ入力 LED点灯 *【ビット制御関数により入力する方法】 */ //MikroCではCCS Cの#記述部が不要 //#include <16f84.h> void main(){ TRISA = 0xff; TRISB = 0; //MikroCではCCS Cの#記述部が不要 //#use fast_io(a) //#use fast_io(b) while(1){ //endless PORTB.F0 = PORTA.F0; } } ★この情報は役に立ちましたか? #vote(はい[2],普通[0],いいえ[0])