⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.bak

📁 基于NEC单片机的串口通信例程.................................
💻 BAK
字号:
#pragma SFR
#pragma NOP
#pragma EI
#pragma DI
#pragma interrupt INTCSI00 int_csi00

char count = 0x00;//Interrupt Counter
char RCV_DATA = 0x00;//Receivve data buffer

void main (void)
{
/*Serial Init for CSI*/

SAU0EN = 1;//enable serial array unit0
SPS0 = 0x0033;//serial clock 1MHz(fCLK/8)

SMR00 = 0x0021;//master, CSI, Buffer Empty Interrupt
SCR00 = 0xA007;//Transmit only clock:rise, data:precedure, MSB, 8bit data
SDR00 = 0x0800;//MCK/10 = 100KHz

//SS0 = 0x01;
/*Pin setting*/

PM1 = 0xFA;//P10_SCK00:Output, P11_SI00:Input P12_SO00:Output
P1.0 = 1;//patch
P1.2 = 1;//patch

/*Output setting*/
SO0 = 0x0F0F;//SO init level is High
SOE0 = 0x01;

/*Start Serial Channel 0*/
SS0 = 0x01;

/*Interrupt Setting*/
CSIMK00 = 0;//unmask interrupt
EI();

NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();

NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
NOP();
/*first data transmit*/
SIO00 =  0x55;

	while(1)	//wait for master's communication
	{
	NOP();
	}

}

__interrupt void int_csi00(void)
{
//char BFF00 = 0;
//a	if (count != 0)
//a	{
	RCV_DATA = SIO00;//嵟弶偺僶僢僼傽嬻偒妱傝崬傒偱側偗傟偽庴怣僨乕僞傪撉傒弌偟
//a	}
	count ++;
//	BFF00 = SSR00 & 0x20;
//	while (BFF00 == 0x20)
//	{
//	BFF00 = SSR00 & 0x40;
//	}//憲怣僶僢僼傽撪偵僨乕僞偑桳傞偐偳偆偐妋擣
	SIO00 = 0xaa;	//憲怣僶僢僼傽撪偵僨乕僞偑柍偗傟偽丄0xc3傪憲怣
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -