PIC16F1789 & MPUトレーナー 7 / LCD モジュールに何かを表示する

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.69-76
 f:id:ti-nspire:20170316155316p:plain:h315


main.c

#include "mcc_generated_files/mcc.h"
#include "lcd.h"

#define PUSH_SW0	RA3
#define PUSH_SW1	RB7
#define PUSH_SW2	RE3

volatile int msCnt = 0;
void delay_ms(int cnt) {
	msCnt = cnt;
	while(msCnt);
}

void main(void) {
	SYSTEM_Initialize();

	INTERRUPT_GlobalInterruptEnable();
	INTERRUPT_PeripheralInterruptEnable();

	LcdInit(); // LCD を初期化
	LcdDisplayMode(1, 0, 0); // (表示 on/off, カーソル表示 on/off, カーソル位置文字点滅 on/off)

	while(1) {
		LcdXy(0, 0); LcdPuts((char *)"Push any button!");
		
		LcdXy(0, 1); LcdPuts((char *)"SW");
		LcdXy(9, 1); LcdPuts((char *)"pushed");
		LcdXy(5, 1); if(!PUSH_SW0) {LcdPuts((char *)"0");}
		LcdXy(5, 1); if( PUSH_SW0) {LcdPuts((char *)" ");}
		LcdXy(4, 1); if(!PUSH_SW1) {LcdPuts((char *)"1");}
		LcdXy(4, 1); if( PUSH_SW1) {LcdPuts((char *)" ");}
		LcdXy(3, 1); if(!PUSH_SW2) {LcdPuts((char *)"2");}
		LcdXy(3, 1); if( PUSH_SW2) {LcdPuts((char *)" ");}
	}
}

//ほかのコマンド
//LcdCls() でクリアスクリーン
//LcdPutc((char c) で 1 文字表示