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

📄 main control.txt

📁 单片机的同步/异步通信
💻 TXT
字号:
#include	<pic.h>
/*该程序实现单片机双机同步通信功能,是主控发送部分。程序上电后显示
*相应的字符,表示系统正常工作。发送完毕后显示发送的数据*/
unsigned		char		tran[8];		/*定义一个数组存储发送数据*/
unsigned		char		k,data;	/*定义通用寄存器*/
const  		char		table[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff};
/*不带小数点的的显示段码表*/
/*spi显示初始化子程序*/
void		SPIINIT()
{
;详细程序语句请参考本章8.5节
}
/*给发送数组赋初值子程序 */
void		fuzhi()
{
	for(k=0;k<8;k++){
		tran[k]=k;
	}					/*发送0~7八个数据*/
}
/*SCI部件初始化子程序*/
void		sciint()
{
	SPBRG=200 ;		/*将传输的波特率设为约9600位/秒*/
	TXSTA=0X90;		/*选择主控方式*/
	RCSTA=0X80;		/*允许同步串行口工作*/
	TRISC6=1;
	TRISC7=1;			/*将RC6、RC7设置为输入方式,对外部呈高阻状态*/
}	
/*SPI传送数据子程序*/
void  	SPILED(data)
{
	;详细程序语句请参考本章8.5节
}
/*显示子程序,显示8位数*/
void		display()
{
	RA5=0;			    /*准备锁存*/
	for(k=0;k<8;k++){
		data=tran[k];
		data=table[data];	/*查得显示的段码*/
		SPILED(data);	/*发送显示段码*/
	}
	RA5=1;				/*最后给一个锁存信号,代表显示任务完成*/ 	
}
/*显示子程序,显示8位数*/
void		display1()
{
	RA5=0;				/*准备锁存*/
	for(k=0;k<8;k++){
		data=0xf9;		/*显示"1"表示系统正常工作*/
		SPILED(data);	/*发送显示段码*/
	}
	RA5=1;				/*最后给一个锁存信号,代表显示任务完成*/ 	
}
/*主程序*/
main()
{
	SPIINIT();				/*spi显示初始化*/
	fuzhi();					/*给发送数组赋发送初值*/
	sciint();					/*SCI部件初始化*/
	di();					/*中断禁止*/
	TXEN=1;				/*发送允许*/
	display1();				/*显示相应的字符,表示系统正常*/
while(1){
for(k=0;k<8;k++){	
			TXREG=tran[k];/*发出一个字符*/
while(1){
				if(TXIF==1)	break;
	}				/*等待上一个数据写入完成*/
      	}
		display();			/*显示发送的数据*/
   }							/*循环发送*/
}

⌨️ 快捷键说明

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