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

📄 dac.c

📁 PIC单片机的一些资料 学习单片机的朋友欢迎下载一定有用的哦
💻 C
字号:
/*********************************************
 example program for PIC download board
 16F877A @3.6864MHz
 test DAC(TLC5615)
 www.mcufan.com
*********************************************/
#include	<pic.h>
#include	<pic1687x.h>
/*volatile 	unsigned 	char 	data; */
#define 	PORTCIT(adr,bit)  ((unsigned)(&adr)*8+(bit))	/*绝对寻址位操作指令*/
static	bit PORTC_0 @ PORTCIT(PORTC,0); 
__CONFIG(WDTDIS & HS & LVPDIS & DEBUGDIS);
/*spi初始化子程序*/
void		SPIINIT()
{
	PIR1=0;		
	SSPCON=0x32;			/* SSPEN=1;CKP=0 , FOSC/64 */
	SSPSTAT=0xC0;
	TRISC=0x00;			/*SDO引脚为输出,SCK引脚为输出*/
}
/*系统各输入输出口初始化子程序*/
void		initial()
{
TRISC=0x00;			/*A口设置为输出*/
	INTCON=0x00;			/*关闭所有中断*/
	PORTC_0=1;				/*CS送高电平,*/
}
/*SPI发送子程序*/
void 		SPIDAC(unsigned char byte)
{
	SSPBUF=byte;			/*启动发送*/
	do
	{
;
	}while(SSPIF==0);		/*等待发送完毕*/
SSPIF=0;				/*清除SSPIF标志*/
	byte=SSPBUF;	
}

main()
{	
	unsigned int data=512;
	unsigned char data_h,data_l;
	
	initial();
	SPIINIT();
	PORTC_0=0;  // clear RC0 
		data=data<<2;
		data_l = data & 0xFF;
		data_h = (data & 0xFF00)>>8;
		SPIDAC(data_h);	
		SPIDAC(data_l);	
		
		PORTC_0=1;  // set RC0 
	while(1)
	{
		;
	}
	
}

⌨️ 快捷键说明

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