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

📄 stc12.h

📁 DES算法
💻 H
字号:
/* 看门狗定时器寄存器 */
sfr  WDT_CONTR = 0xe1;  //看门狗定时器控制寄存器
/* ISP_IAP_EEPROM 寄存器 */
sfr ISP_DATA  = 0xe2;      //ISP/IAP Flash数据寄存器
sfr ISP_ADDRH = 0xe3;     //ISP/IAP Flash地址高字节
sfr ISP_ADDRL = 0xe4;     //ISP/IAP Flash地址低字节
sfr ISP_CMD   = 0xe5;     //ISP/IAP Flash命令寄存器
sfr ISP_TRIG  = 0xe6;      //ISP/IAP Flash命令触发器
sfr ISP_CONTR = 0xe7;     //ISP/IAP控制寄存器
/* 时钟分频控制寄存器 */
sfr CLK_DIV  = 0xc7;      //时钟分频控制寄存器
/* I/O 端口模式设定寄存器 */
sfr P0M0  = 0x93;         //P0口工作模式寄存器0
sfr P0M1  = 0x94;         //P0口工作模式寄存器1
sfr P1M0  = 0x91;         //P1口工作模式寄存器0
sfr P1M1  = 0x92;         //P1口工作模式寄存器1
sfr P2M0  = 0x95;         //P2口工作模式寄存器0
sfr P2M1  = 0x96;         //P2口工作模式寄存器1
sfr P3M0  = 0xb1;         //P3口工作模式寄存器0
sfr P3M1  = 0xb2;         //P3口工作模式寄存器1

/* SPI 寄存器 */
sfr SPSTAT  = 0x84;        //SPI状态寄存器,本寄存器不支持位操作
sfr SPCTL   = 0x85;        //SPI控制寄存器
sfr SPDAT   = 0x86;        //SPI数据寄存器

/* ADC 寄存器 */
sfr ADC_CONTR  = 0xc5;    //ADC控制寄存器, 本寄存器不支持位操作
sfr ADC_DATA   = 0xc6;     //ADC转换结果高8位寄存器
sfr ADC_LOW2   = 0xbe;    //ADC转换结果低2位寄存器

/* PCA 寄存器 */
sfr CCON   = 0xD8;    //PCA控制寄存器
sbit CF    = CCON^7;    //PCA计数器溢出(CH,CL由FFFFH变为0000H)标志
sbit CR    = CCON^6;    //PCA计数器计数允许控制位
sbit CCF3  = CCON^3;    //PCA模块3中断标志
sbit CCF2  = CCON^2;    //PCA模块2中断标志
sbit CCF1  = CCON^1;    //PCA模块1中断标志
sbit CCF0  = CCON^0;    //PCA模块0中断标志
sfr CMOD   = 0xD9;    //PCA工作模式寄存器
sfr CCAPM0 = 0xDA;    //PAC模块0的工作模式寄存器
sfr CCAPM1 = 0xDB;    //PAC模块1的工作模式寄存器
sfr CCAPM2 = 0xDC;    //PAC模块2的工作模式寄存器
sfr CCAPM3 = 0xDD;    //PAC模块3的工作模式寄存器

sfr CL     = 0xE9;      //PCA计数器低8位
sfr CCAP0L = 0xEA;     //PAC模块0捕捉/比较寄存器低8位
sfr CCAP1L = 0xEB;     //PAC模块1捕捉/比较寄存器低8位
sfr CCAP2L = 0xEC;     //PAC模块2捕捉/比较寄存器低8位
sfr CCAP3L = 0xED;     //PAC模块3捕捉/比较寄存器低8位

sfr CH     = 0xF9;      //PCA计数器高8位
sfr CCAP0H = 0xFA;     //PAC模块0捕捉/比较寄存器高8位
sfr CCAP1H = 0xFB;     //PAC模块1捕捉/比较寄存器高8位
sfr CCAP2H = 0xFC;     //PAC模块2捕捉/比较寄存器高8位
sfr CCAP3H = 0xFD;     //PAC模块3捕捉/比较寄存器高8位

sfr PCA_PWM0 = 0xF2;   //PCA模块0 PWM寄存器
sfr PCA_PWM1 = 0xF3;   //PCA模块1 PWM寄存器
sfr PCA_PWM2 = 0xF4;   //PCA模块2 PWM寄存器
sfr PCA_PWM3 = 0xF5;   //PCA模块3 PWM寄存器

/* 以上是STC12C5410AD单片机新增或修改的特殊功能寄存器 */

/*--------------------------------------------------------------------------
REG51F.H
Header file for 8xC31/51, 80C51Fx, 80C51Rx+
Copyright (c) 1988-1999 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
Modification according to DataSheet from April 1999
 - SFR's AUXR and AUXR1 added for 80C51Rx+ derivatives
--------------------------------------------------------------------------*/
/*  字节寄存器  */
sfr P0    = 0x80;           	//P0口寄存器
sfr P1    = 0x90;           	//P1口寄存器
sfr P2     = 0xA0;          	//P2口寄存器
sfr P3     = 0xB0;          	//P3口寄存器
sbit T1    = P3^5;        		//定时器1外部输入
sbit T0    = P3^4;        		//定时器0外部输入
sbit INT1  = P3^3;        		//外部中断1
sbit INT0  = P3^2;        		//外部中断0
sbit TXD   = P3^1;        	//串行输入通道
sbit RXD   = P3^0;        	//串行输出通道
sfr PSW    = 0xD0;          	//程序状态字寄存器
sbit CY    = PSW^7;      	//进位标志位
sbit AC    = PSW^6;       	//辅助进位标志位
sbit F0    = PSW^5;       	//用户标志位0
sbit RS1   = PSW^4;       	//工作寄存器组选择控制位
sbit RS0   = PSW^3;       	//工作寄存器组选择控制位
sbit OV    = PSW^2;       	//溢出标志位
sbit F1    = PSW^1;       	//用户标志位1
sbit P     = PSW^0;       	//奇偶标志位
sfr ACC    = 0xE0;          	//累加器
sfr B = 0xF0; 			       	//B 寄存器
sfr SP    = 0x81;           	//堆栈指针寄存器
sfr DPL  = 0x82;           	//数据指针0低字节
sfr DPH  = 0x83;           	//数据指针0高字节
sfr PCON  = 0x87;          	//电源控制寄存器
sfr TCON  = 0x88;			//定时/计数控制寄存器
sbit TF1   = TCON^7;			//定时器1溢出中断标志
sbit TR1   = TCON^6;			//定时器1运行控制位
sbit TF0   = TCON^5;			//定时器0溢出中断标志
sbit TR0   = TCON^4;			//定时器0运行控制位
sbit IE1   = TCON^3;			//外部中断1请求标志
sbit IT1   = TCON^2;			//选择外部中断请求1为边沿触发方式的控制位
sbit IE0   = TCON^1;   		//外部中断0请求标志
sbit IT0   = TCON^0;   		//选择外部中断请求0为边沿触发方式的控制位
sfr TMOD  = 0x89;         	//定时/计数模式控制寄存器
sfr TL0   = 0x8A;           	//定时/计数器0低字节
sfr TL1   = 0x8B;           	//定时/计数器1低字节
sfr TH0   = 0x8C;           	//定时/计数器0高字节
sfr TH1   = 0x8D;           	//定时/计数器1高字节
sfr IE     = 0xA8;          	//中断允许寄存器
sbit EA    = IE^7;        		//总中断允许位 
sbit EPCA_LVD = IE^6;      	//PCA和低电压检测共享的中断控制位
sbit EADC_SPI = IE^5;     	//ADC/SPI中断允许控制位
sbit ES    = IE^4;        		//串行中断允许位
sbit ET1   = IE^3;        		//定时器1溢出中断允许位
sbit EX1   = IE^2;        	//外部中断1允许位
sbit ET0   = IE^1;        		//定时器0溢出中断允许位
sbit EX0   = IE^0;        	//外部中断0允许位
sfr IP     = 0xB8;          	//中断优先级寄存器
sbit PPCA_LVD    = IP^6; 	// PCA/低电压检测中断优先级控制位
sbit PADC_SPI    = IP^5;     // ADC/SPI中断优先级控制位
sbit PS    = IP^4;        		//决定串行中断优先级
sbit PT1   = IP^3;        		//决定定时器1中断优先级
sbit PX1   = IP^2;        		//决定外部中断1优先级
sbit PT0   = IP^1;        		//决定定时器0中断优先级
sbit PX0   = IP^0;        		//决定外部中断0优先级
sfr SCON = 0x98;           	//串行口控制寄存器
sbit SM0   = SCON^7; 	    //串行口工作方式设定控制位0(与FE功能复用)
sbit FE   = SCON^7;
sbit SM1   = SCON^6;   	    //串行口工作方式设定控制位1
sbit SM2   = SCON^5;   	    //UART的SM2设定
sbit REN   = SCON^4;   	    //接收允许位
sbit TB8   = SCON^3;   	    //发送数据的第九位
sbit RB8   = SCON^2;   	    //接收数据的第九位
sbit TI    = SCON^1;   	    //发送中断标志
sbit RI    = SCON^0;   	    //接收中断标志
sfr SBUF  = 0x99;           	//串口数据缓冲器

/*  比80C51多出来的寄存器 */
sfr AUXR   = 0x8E;      //辅助寄存器
sfr IPH    = 0xB7;        //中断优先级高位寄存器

/* PCA 引脚 */
sbit CEX3 = P2^4;
sbit CEX2 = P2^0;
sbit CEX1 = P3^5;
sbit CEX0 = P3^7;
sbit ECI  = P3^4;

⌨️ 快捷键说明

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