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

📄 lpc935init.c

📁 基于 PLC935单片机的三相漏电检测系统
💻 C
字号:
#include"reg935.h"
#include"UserDef.h"

/****************************************/
/*            CPU   初始化子程序            */
/****************************************/
void Lpc935Init(void)
{
	AUXR1 = 0x00;
	
//时钟的设置
	TRIM |= 0x3F;
	DIVM = 0x00;	            //CCLK = Fosc

//端口设置
	P0M1=0xDF;		            //P0.5 设置为推挽输出状态,其余为输入状态
	P0M2=0x20;
	P1M1=0xBC;		            //P1.0/P1.1 设置为准双向状态,P1.2/P1.3/P1.6 设置为开漏输出,
	P1M2=0x4C;		            //其余为输入状态
	P2M1=0xFF;                  //P2.0 设置为开漏输出,其余为输入状态
	P2M2=0x01;

//------------------------
//	ADINS=0xF7;		  	        //1111 0111, 选择除AD03 外所有channel
	ADMODA=0x01;		        //0000 0001, 选择转换工作模式,单次转换模式
	ADMODB=0x60; 		        //500Khz < ADC CLK < 3.3Mh,二分频,6M/2 =3M, 0010 0000 = 0x20	 12M/4 = 3M  0110 0000 = 0x60
	ADCON0=0x00;		        //选择转换触发模式,立即启动,不中断,0000 0101
	ADCON1=0x00;
	EADEE=0;			        //ADC/EEPROM中断不使能


// RTC 设置
	IEN0 = 0xC0; 				//使能RTC中断,使能EA中断	 *为什么在IEN0中已经将EWDRT = 1,下面还要重复什么意思?*
	EWDRT = 1;					//允许看门狗/时钟中断 (WDT用作看门狗定时器,作用?为何又没有WDL) 因为看门狗中断和RTC共用一个中断向量,
	                            //所以要将看门狗定时功能开启,但不需要看门狗功能,将看们狗停止运行。
	WDCON = 0xE0; 				//关闭看门狗中断
	RTCH = RTC_RELOAD_H;
	RTCL = RTC_RELOAD_L; 		//CCLK=6MHz , 1s 中断1次时,RTC的定时值
	RTCCON = 0x63; 				//开启RTC模块

//------------------------
	PCONA = 0x25;               // 将不用的模块内部始终禁止
	
//------------------------
	TMOD = 0x11;			    //设定T0为方式1,T1为方式1,定时器状态,由TR0和TR1起停
	TH0 = TIME_10ms_H;		    //设定定时时间为10ms
	TL0 = TIME_10ms_L;

//UART 设置	
	//TH1 = 0xf3;
	//TL1 = 0xf3;				//波特率为4800
	//PCON = 0x80;			    //波特率倍增
	
	SSTAT = 0x00;			    //双缓冲器禁止
	SCON = 0x40;			    //串行口方式1
	BRGCON = 0x00;		        //还是BRGCON = 0X02???难道是为了下面BRGR可以写时间常数?因为当BRGEN=1是,不可以写时间常数。
	BRGR1 = 0x13;		        //波特率为2400, 6MHz/2400 = x + 16 --> x = 0x09B4  12MHz/2400-16 = 0x1378
	BRGR0 = 0x78;
	BRGCON = 0x03;		        //启动波特率发生器
	REN = 1;				    //启动接收

 	//IT0 = 0;					//外部中断0为电平触发
    IT1 = 1;		            //外部中断1为下降沿触发
	//ES = 1;
	EX1 = 1;   

	ET0 = 1;				    //T0中断使能
	TR0 = 1;
										   
	EA=1;	
	}

⌨️ 快捷键说明

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