init.c

来自「占空比测量」· C语言 代码 · 共 54 行

C
54
字号
/*********************************************************************/
//系统时钟、端口、AD、DA、TIMER、PCA初始化
/*********************************************************************/
#include<C8051F000.h>
#include<define.h>
void SYSCLK_Init()
{
	OSCICN=OSCICN|0x03;							//启用内部晶振16MHZ
}
void PORT_Init()
{
	XBR0=0x10;									//连接CEX0、CEX1
	XBR1=0x00;
	XBR2=0x40;
	PRT0CF=0xFF;								//PO推挽输出
}
/*void ADC_Init()
{
	ADC0CN=0x05;								//ADC0禁止定时器3触发左对齐
	REF0CN=0x07;								//允许温度传感器工作
	AMX0SL|=0x00;								//选择通道0作为AD输入
	ADC0CF=0x80;								//分频系数(为16〕与增益(为2)设置
	EIE2|=0x02;									//允许ADC中断
}
void DAC0_Init()
{
	DAC0CN=0x84;								//DAC允许,左对齐方式
}
void Timer3_Init(unsigned int counts)
{
	TMR3CN=0x02;								//停止定时器3,清除TF3,系统时钟为时基
	TMR3RL=~counts+1;							//赋初值 
	TMR3=TMR3RL;
	EIE2&=!0x01;								//关T3中断
	TMR3CN|=0x04;								//启动T3
}*/
void PCA_Init()
{
	
	PCA0MD=0x02;								//CPU等待时PCA0正常工作;系统时钟的1/4为计数脉冲源溢出中断禁止
	PCA0CPM0=0x02;								//模块0:8位脉宽调制方式、脉宽调制允许、电平切换匹配中断禁止
	PCA0CPM1=0x02;								//模块1
//	EIE1|=0x08;									//允许PCA0中断
	CR=0;										//关PCA0
}
void space_rate(unsigned char space)			//占空比设定	
{
	PCA0CPL0=space;								
	PCA0CPH0=space;							
	PCA0CPL1=space;								
	PCA0CPH1=space;								

}

⌨️ 快捷键说明

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