のコーナーのCDC - Basic Demo の
ボタンでLEDの点灯・消灯 で作ったソフトを流用して作成しました。
パソコン側ソフト:pic-pc.zip
ダウンロード
PIC側ソフト:rs232c-pic-pc.zip
ダウンロード
/*
概要:RS232C通信-コマンドでLED点滅
対象PIC :PIC16F88
クロック :内蔵8MHz
コンパイラ:mikroC Version: 8.2.0.0
電源:5V
コンフィグレーションフラグ:
_CP_OFF _CCP1_RB3 _DEBUG_OFF _WRT_ENABLE_OFF
_CPD_OFF _LVP_OFF _BODEN_OFF _MCLR_OFF _PWRTE_ON
_WDT_OFF _INTRC_IO _IESO_ON__CFG2 _FCMEN_ON__CFG2
*/
void main() {
unsigned short int com;
PORTA = 0b00000000; //PortBの中初期化
PORTB = 0b00000000; //PortBの中初期化
OSCCON = 0b01110000; //8MHzを指定
ANSEL = 0b00000000; //すべてデジタルポート
TRISA = 0b00000000;
TRISB = 0b00000100; //B2/RXを入力に,B5/TXを出力
Usart_Init(9600); //通信速度の設定
do {
if (Usart_Data_Ready()) {
com = Usart_Read(); //受信データの読込
}
switch(com) {
case 'a':
PORTA.F0 = 1; //RB5 ON
break;
case 'b':
PORTA.F0 = 0; //RB5 OFF
break;
}
} while(1);
}
/*
概要:取り合えすRS232C通信
対象PIC :PIC16F88
クロック :内蔵8MHz
コンパイラ:mikroC Version: 8.2.0.0
電源:5V
コンフィグレーションフラグ:
_CP_OFF _CCP1_RB3 _DEBUG_OFF _WRT_ENABLE_OFF
_CPD_OFF _LVP_OFF _BODEN_OFF _MCLR_OFF _PWRTE_ON
_WDT_OFF _INTRC_IO _IESO_ON__CFG2 _FCMEN_ON__CFG2
*/
void main() {
PORTA = 0b00000000; //PortBの中初期化
PORTB = 0b00000000; //PortBの中初期化
OSCCON = 0b01110000; //8MHzを指定
ANSEL = 0b00000000; //すべてデジタルポート
TRISA = 0b00000000;
TRISB = 0b00000100; //B2/RXを入力に,B5/TXを出力
Usart_Init(9600); //通信速度の設定
do {
Usart_Write('a'); //RS232C通信でPCへ送信
} while(1);
}
/*
概要:A/D変換値を液晶ディスプレイ(LCD)に表示 データ4bit接続
対象PIC :PIC16F88
クロック :内蔵8MHz
コンパイラ:mikroC Version: 8.2.0.0
Led :RA0
電源:5V
コンフィグレーションフラグ:
* _CP_OFF _CCP1_RB3 _DEBUG_OFF _WRT_ENABLE_OFF
* _CPD_OFF _LVP_OFF _BODEN_OFF _MCLR_OFF _PWRTE_ON
* _WDT_OFF _INTRC_IO _IESO_ON__CFG2 _FCMEN_ON__CFG2
*/
void main() {
PORTA = 0b00000000; //PORTAの初期化
PORTB = 0b00000000; //PORTBの初期化
OSCCON = 0b01110000; //内臓クロック8MHzに設定
// A/D利用PORTの設定 // ANALOG=1, DIGITAL=0
ANSEL = 0b00000000; //全てデジタル使用
TRISA = 0b00000000; //PORTA 全て出力に設定
do {
//RA0 のLDEを点滅させる
PORTA.F0 = 1;
Delay_ms(1000);
PORTA.F0 = 0;
Delay_ms(1000);
} while(1);
}
/*
概要:A/D変換値を液晶ディスプレイ(LCD)に表示 データ4bit接続
対象PIC :PIC16F88
クロック :内蔵8MHz
コンパイラ:mikroC Version: 8.2.0.0
LCD制御 :R/W:RB0 RS:RB2 E:RB3
LCDデータ:DB4:RB4 DB5:RB5 DB6:RB6 DB7:RB7
電源:5V
コンフィグレーションフラグ:
_CP_OFF _CCP1_RB3 _DEBUG_OFF _WRT_ENABLE_OFF
_CPD_OFF _LVP_OFF _BODEN_OFF _MCLR_OFF _PWRTE_ON
_WDT_OFF _INTRC_IO _IESO_ON__CFG2 _FCMEN_ON__CFG2
*/
void main()
{
PORTA = 0b00000000; //PORTAの初期化
PORTB = 0b00000000; //PORTBの初期化
OSCCON = 0b01110000; //内臓クロック8MHzに設定
// A/D利用PORTの設定 // ANALOG=1, DIGITAL=0 //
ANSEL = 0b00000000; //全てデジタル使用
//PORTの設定 0:出力 1:入力
TRISA = 0b00000000; //PORTA 全て出力に設定
TRISB = 0b00000000; //PORTB 全て出力に設定
//マイコンの初期化終わり
Lcd_Config(&PORTB,2,3,0,7,6,5,4); //LCDのピン接続設定
Lcd_Init(&PORTB); //LCD初期化
Lcd_Cmd(LCD_CURSOR_OFF); //カーソル非表示
Lcd_Out(1, 1, "hello sc1602bslb");//LCD上段文字列表示
Lcd_Out(2, 1, "pic16f88"); //LCD下段文字列表示
}