STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx

上传人:b****7 文档编号:8692484 上传时间:2023-02-01 格式:DOCX 页数:11 大小:18.56KB
下载 相关 举报
STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx_第1页
第1页 / 共11页
STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx_第2页
第2页 / 共11页
STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx_第3页
第3页 / 共11页
STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx_第4页
第4页 / 共11页
STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx

《STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx》由会员分享,可在线阅读,更多相关《STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx(11页珍藏版)》请在冰豆网上搜索。

STC12C5A系列单片机头文件下载后把后缀改成h就能用.docx

STC12C5A系列单片机头文件下载后把后缀改成h就能用

//--------------------------------------------------------------------------------

//新一代1T8051系列单片机内核特殊功能寄存器C51CoreSFRs

//76543210ResetValue

sfrACC=0xE0;//Accumulator0000,0000

sfrB=0xF0;//BRegister0000,0000

sfrPSW=0xD0;//ProgramStatusWordCYACF0RS1RS0OVF1P0000,0000

//-----------------------------------

sbitCY=PSW^7;

sbitAC=PSW^6;

sbitF0=PSW^5;

sbitRS1=PSW^4;

sbitRS0=PSW^3;

sbitOV=PSW^2;

sbitP=PSW^0;

//-----------------------------------

sfrSP=0x81;//StackPointer0000,0111

sfrDPL=0x82;//DataPointerLowByte0000,0000

sfrDPH=0x83;//DataPointerHighByte0000,0000

//--------------------------------------------------------------------------------

//新一代1T8051系列单片机系统管理特殊功能寄存器

//76543210ResetValue

sfrPCON=0x87;//PowerControlSMODSMOD0LVDFPOFGF1GF0PDIDL0001,0000

//76543210ResetValue

sfrAUXR=0x8E;//AuxiliaryRegisterT0x12T1x12UART_M0x6BRTRS2SMODBRTx12EXTRAMS1BRS0000,0000

//-----------------------------------

sfrAUXR1=0xA2;//AuxiliaryRegister1-PCA_P4SPI_P4S2_P4GF2ADRJ-DPS0000,0000

/*

PCA_P4:

0,缺省PCA在P1口

1,PCA/PWM从P1口切换到P4口:

ECI从P1.2切换到P4.1口,

PCA0/PWM0从P1.3切换到P4.2口

PCA1/PWM1从P1.4切换到P4.3口

SPI_P4:

0,缺省SPI在P1口

1,SPI从P1口切换到P4口:

SPICLK从P1.7切换到P4.3口

MISO从P1.6切换到P4.2口

MOSI从P1.5切换到P4.1口

SS从P1.4切换到P4.0口

S2_P4:

0,缺省UART2在P1口

1,UART2从P1口切换到P4口:

TxD2从P1.3切换到P4.3口

RxD2从P1.2切换到P4.2口

GF2:

通用标志位

ADRJ:

0,10位A/D转换结果的高8位放在ADC_RES寄存器,低2位放在ADC_RESL寄存器

1,10位A/D转换结果的最高2位放在ADC_RES寄存器的低2位,低8位放在ADC_RESL寄存器

DPS:

0,使用缺省数据指针DPTR0

1,使用另一个数据指针DPTR1

*/

//-----------------------------------

sfrWAKE_CLKO=0x8F;//附加的SFRWAK1_CLKO

/*

76543210ResetValue

PCAWAKEUPRXD_PIN_IET1_PIN_IET0_PIN_IELVD_WAKE_T1CLKOT0CLKO0000,0000B

b7-PCAWAKEUP:

PCA中断可唤醒powerdown。

b6-RXD_PIN_IE:

当P3.0(RXD)下降沿置位RI时可唤醒powerdown(必须打开相应中断)。

b5-T1_PIN_IE:

当T1脚下降沿置位T1中断标志时可唤醒powerdown(必须打开相应中断)。

b4-T0_PIN_IE:

当T0脚下降沿置位T0中断标志时可唤醒powerdown(必须打开相应中断)。

b3-LVD_WAKE:

当CMPIN脚低电平置位LVD中断标志时可唤醒powerdown(必须打开相应中断)。

b2-

b1-T1CLKO:

允许T1CKO(P3.5)脚输出T1溢出脉冲,Fck1=1/2T1溢出率

b0-T0CLKO:

允许T0CKO(P3.4)脚输出T0溢出脉冲,Fck0=1/2T1溢出率

*/

//-----------------------------------

sfrCLK_DIV=0x97;//ClockDivder-----CLKS2CLKS1CLKS0xxxx,x000

//-----------------------------------

sfrBUS_SPEED=0xA1;//Stretchregister--ALES1ALES0-RWS2RWS1RWS0xx10,x011

/*

ALES1andALES0:

00:

TheP0addresssetuptimeandholdtimetoALEnegativeedgeisoneclockcycle

01:

TheP0addresssetuptimeandholdtimetoALEnegativeedgeistwoclockcycles.

10:

TheP0addresssetuptimeandholdtimetoALEnegativeedgeisthreeclockcycles.(default)

11:

TheP0addresssetuptimeandholdtimetoALEnegativeedgeisfourclockcycles.

RWS2,RWS1,RWS0:

000:

TheMOVXread/writepulseis1clockcycle.

001:

TheMOVXread/writepulseis2clockcycles.

010:

TheMOVXread/writepulseis3clockcycles.

011:

TheMOVXread/writepulseis4clockcycles.(default)

100:

TheMOVXread/writepulseis5clockcycles.

101:

TheMOVXread/writepulseis6clockcycles.

110:

TheMOVXread/writepulseis7clockcycles.

111:

TheMOVXread/writepulseis8clockcycles.

*/

//--------------------------------------------------------------------------------

//新一代1T8051系列单片机中断特殊功能寄存器

//有的中断控制、中断标志位散布在其它特殊功能寄存器中,这些位在位地址中定义

//其中有的位无位寻址能力,请参阅新一代1T8051系列单片机中文指南

//76543210ResetValue

sfrIE=0xA8;//中断控制寄存器EAELVDEADCESET1EX1ET0EX00x00,0000

//-----------------------

sbitEA=IE^7;

sbitELVD=IE^6;//低压监测中断允许位

sbitEADC=IE^5;//ADC中断允许位

sbitES=IE^4;

sbitET1=IE^3;

sbitEX1=IE^2;

sbitET0=IE^1;

sbitEX0=IE^0;

//-----------------------

sfrIE2=0xAF;//AuxiliaryInterrupt------ESPIES20000,0000B

//-----------------------

//76543210ResetValue

sfrIP=0xB8;//中断优先级低位PPCAPLVDPADCPSPT1PX1PT0PX00000,0000

//--------

sbitPPCA=IP^7;//PCA模块中断优先级

sbitPLVD=IP^6;//低压监测中断优先级

sbitPADC=IP^5;//ADC中断优先级

sbitPS=IP^4;

sbitPT1=IP^3;

sbitPX1=IP^2;

sbitPT0=IP^1;

sbitPX0=IP^0;

//-----------------------

//76543210ResetValue

sfrIPH=0xB7;//中断优先级高位PPCAHPLVDHPADCHPSHPT1HPX1HPT0HPX0H0000,0000

sfrIP2=0xB5;//------PSPIPS2xxxx,xx00

sfrIPH2=0xB6;//------PSPIHPS2Hxxxx,xx00

//-----------------------

//新一代1T8051系列单片机I/O口特殊功能寄存器

//76543210ResetValue

sfrP0=0x80;//8bitPort0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.01111,1111

sfrP0M0=0x94;//0000,0000

sfrP0M1=0x93;//0000,0000

sfrP1=0x90;//8bitPort1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.01111,1111

sfrP1M0=0x92;//0000,0000

sfrP1M1=0x91;//0000,0000

sfrP1ASF=0x9D;//P1analogspecialfunction

sfrP2=0xA0;//8bitPort2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.01111,1111

sfrP2M0=0x96;//0000,0000

sfrP2M1=0x95;//0000,0000

sfrP3=0xB0;//8bitPort3P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.01111,1111

sfrP3M0=0xB2;//0000,0000

sfrP3M1=0xB1;//0000,0000

sfrP4=0xC0;//8bitPort4P4.7P4.6P4.5P4.4P4.3P4.2P4.1P4.01111,1111

sfrP4M0=0xB4;//0000,0000

sfrP4M1=0xB3;//0000,0000

//76543210ResetValue

sfrP4SW=0xBB;//Port-4switch-LVD_P4.6ALE_P4.5NA_P4.4----x000,xxxx

sfrP5=0xC8;//8bitPort5----P5.3P5.2P5.1P5.0xxxx,1111

sfrP5M0=0xCA;//0000,0000

sfrP5M1=0xC9;//0000,0000

//--------------------------------------------------------------------------------

//新一代1T8051系列单片机定时器特殊功能寄存器

//76543210ResetValue

sfrTCON=0x88;//T0/T1ControlTF1TR1TF0TR0IE1IT1IE0IT00000,0000

//-----------------------------------

sbitTF1=TCON^7;

sbitTR1=TCON^6;

sbitTF0=TCON^5;

sbitTR0=TCON^4;

sbitIE1=TCON^3;

sbitIT1=TCON^2;

sbitIE0=TCON^1;

sbitIT0=TCON^0;

//-----------------------------------

sfrTMOD=0x89;//T0/T1ModesGATE1C/T1M1_1M1_0GATE0C/T0M0_1M0_00000,0000

sfrTL0=0x8A;//T0LowByte0000,0000

sfrTH0=0x8C;//T0HighByte0000,0000

sfrTL1=0x8B;//T1LowByte0000,0000

sfrTH1=0x8D;//T1HighByte0000,0000

//--------------------------------------------------------------------------------

//新一代1T8051系列单片机串行口特殊功能寄存器

//76543210ResetValue

sfrSCON=0x98;//SerialControlSM0/FESM1SM2RENTB8RB8TIRI0000,0000

//-----------------------------------

sbitSM0=SCON^7;//SM0/FE

sbitSM1=SCON^6;

sbitSM2=SCON^5;

sbitREN=SCON^4;

sbitTB8=SCON^3;

sbitRB8=SCON^2;

sbitTI=SCON^1;

sbitRI=SCON^0;

//-----------------------------------

sfrSBUF=0x99;//SerialDataBufferxxxx,xxxx

sfrSADEN=0xB9;//SlaveAddressMask0000,0000

sfrSADDR=0xA9;//SlaveAddress0000,0000

//-----------------------------------

//76543210ResetValue

sfrS2CON=0x9A;//S2ControlS2SM0S2SM1S2SM2S2RENS2TB8S2RB8S2TIS2RI00000000B

sfrS2BUF=0x9B;//S2SerialBufferxxxx,xxxx

sfrBRT=0x9C;//S2Baud-RateTimer0000,0000

//--------------------------------------------------------------------------------

//新一代1T8051系列单片机看门狗定时器特殊功能寄存器

sfrWDT_CONTR=0xC1;//Watch-Dog-TimerControlregister

//76543210ResetValue

//WDT_FLAG-EN_WDTCLR_WDTIDLE_WDTPS2PS1PS0xx00,0000

//-----------------------

//--------------------------------------------------------------------------------

//新一代1T8051系列单片机PCA/PWM特殊功能寄存器

//76543210ResetValue

sfrCCON=0xD8;//PCA控制寄存器。

CFCR----CCF1CCF000xx,xx00

//-----------------------

sbitCF=CCON^7;//PCA计数器溢出标志,由硬件或软件置位,必须由软件清0。

sbitCR=CCON^6;//1:

允许PCA计数器计数,必须由软件清0。

//-

//-

sbitCCF1=CCON^1;//PCA模块1中断标志,由硬件置位,必须由软件清0。

sbitCCF0=CCON^0;//PCA模块0中断标志,由硬件置位,必须由软件清0。

//-----------------------

sfrCMOD=0xD9;//PCA工作模式寄存器。

CIDL---CPS2CPS1CPS0ECF0xxx,x000

/*

CIDL:

idle状态时PCA计数器是否继续计数,0:

继续计数,1:

停止计数。

CPS2:

PCA计数器脉冲源选择位2。

CPS1:

PCA计数器脉冲源选择位1。

CPS0:

PCA计数器脉冲源选择位0。

CPS2CPS1CPS0

000系统时钟频率fosc/12。

001系统时钟频率fosc/2。

010Timer0溢出。

011由ECI/P3.4脚输入的外部时钟,最大fosc/2。

100系统时钟频率,Fosc/1

101系统时钟频率/4,Fosc/4

110系统时钟频率/6,Fosc/6

111系统时钟频率/8,Fosc/8

ECF:

PCA计数器溢出中断允许位,1--允许CF(CCON.7)产生中断。

*/

//-----------------------

sfrCL=0xE9;//PCA计数器低位0000,0000

sfrCH=0xF9;//PCA计数器高位0000,0000

//-----------------------

//76543210ResetValue

sfrCCAPM0=0xDA;//PCA模块0PWM寄存器-ECOM0CAPP0CAPN0MAT0TOG0PWM0ECCF0x000,0000

sfrCCAPM1=0xDB;//PCA模块1PWM寄存器-ECOM1CAPP1CAPN1MAT1TOG1PWM1ECCF1x000,0000

//ECOMn=1:

允许比较功能。

//CAPPn=1:

允许上升沿触发捕捉功能。

//CAPNn=1:

允许下降沿触发捕捉功能。

//MATn=1:

当匹配情况发生时,允许CCON中的CCFn置位。

//TOGn=1:

当匹配情况发生时,CEXn将翻转。

//PWMn=1:

将CEXn设置为PWM输出。

//ECCFn=1:

允许CCON中的CCFn触发中断。

//ECOMnCAPPnCAPNnMATnTOGnPWMnECCFn

//00000000x00未启用任何功能。

//x10000x0x2116位CEXn上升沿触发捕捉功能。

//x01000x0x1116位CEXn下降沿触发捕捉功能。

//x11000x0x3116位CEXn边沿(上、下沿)触发捕捉功能。

//100100x0x4916位软件定时器。

//100110x0x4d16位高速脉冲输出。

//10000100x428位PWM。

//ECOMnCAPPnCAPNnMATnTOGnPWMnECCFn

//00000000x00无此操作

//10000100x42普通8位PWM,无中断

//11000110x63PWM输出由低变高可产生中断

//10100110x53PWM输出由高变低可产生中断

//11100110x73PWM输出由低变高或由高变低都可产生中断

//-----------------------

sfrCCAP0L=0xEA;//PCA模块0的捕捉/比较寄存器低8位。

0000,0000

sfrCCAP0H=0xFA;//PCA模块0的捕捉/比较寄存器高8位。

0000,0000

sfrCCAP1L=0xEB;//PCA模块1的捕捉/比较寄存器低8位。

0000,0000

sfrCCAP1H=0xFB;//PCA模块1的捕捉/比较寄存器高8位。

0000,0000

//-----------------------

//76543210ResetValue

sfrPCA_PWM0=0xF2;//PCA模块0PWM寄存器。

------EPC0HEPC0Lxxxx,xx00

sfrPCA_PWM1=0xF3;//PCA模块1PWM寄

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1