📄 pca_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 + -