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

📄 pca_pwm.c

📁 C8051实现PWM波形驱动程序
💻 C
字号:
#include<c8051f120.h>
#include<absacc.h>
#define uchar unsigned char 
#define C_ADD XBYTE[0x7100]
#define D_ADD XBYTE[0x7000]
/*------------------------------------------------------------------------------------------
**函数名:ADBusInit
**功能:外部地址数据总线初始化函数
**参数:无
返回:void 
 ----------------------------------------------------------------------------------------*/
void ADBusInit(){
   uchar  old_SFRPAGE;
   old_SFRPAGE=SFRPAGE;
   SFRPAGE=EMI0_PAGE;//SFRPAGE为0
   EMI0CF=0x24;//00100100B,外部存储器配置 端口P4---P7,复用方式,不带块选择的分片方式
   EMI0TC=0x6d; //外部存储器时须控制 地址建立和保持时间占用一个SYSCLK周期 /WR和/RD占用12个SYSCLK周期
   SFRPAGE=old_SFRPAGE;
   }
/*------------------------------------------------------------------------------------------
**函数名:PortInit
**功能:端口初始化函数
**参数:无
返回:void 
 ----------------------------------------------------------------------------------------*/
 void PortInit(){
   uchar  old_SFRPAGE;
   old_SFRPAGE=SFRPAGE;
   ADBusInit();
   WDTCN=0xde;
   WDTCN=0xad;
   SFRPGCN=0x01;//允许自动切换
   SFRPAGE= CONFIG_PAGE;
   P1MDOUT=0x08;
   P4MDOUT=0xff;
   P5MDOUT=0xff;
   P6MDOUT=0xff;//推挽输出
   P7MDOUT=0xff;
   XBR0=0x08;
   XBR2 = 0x42;
   OSCICN = 0x82;
   SFRPAGE=old_SFRPAGE;
}


void PCA_Init(){
   uchar  old_SFRPAGE;
   old_SFRPAGE=SFRPAGE;
   SFRPAGE= PCA0_PAGE;
   PCA0CPM0=0x42;
   PCA0MD=0x00;
   PCA0CPL0=50;
   PCA0CPH0=50;
   CR=1;
   SFRPAGE=old_SFRPAGE;
   }


void main(){
   uchar y=0;
   PortInit();
   PCA_Init();
   
	 
}

⌨️ 快捷键说明

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