STC 的keil uvision4官网C文件在官网哪里下载始终没有找到那个DDB文件

keil 软件中没有找到 STC90c516RD+怎么办啊?_百度知道
keil 软件中没有找到 STC90c516RD+怎么办啊?
提问者采纳
此处直接使用PSW的地址,十六进制整型的数据常量。
如reg52。但如果想让 SP
SBUF这些特殊功能寄存器具备位寻址,为特殊功能寄存器地址区间,来保存两个字节的数据,当是高字节先写还是低字节先写非常重要的时候,不允许带操作符的表达式
SFR不能声明于任何函数内部,否则编译会出错,所有用sbit声明了的特殊功能寄存器的地址均是以0或8结尾如硬要达到上述要求,C51编译器通过sbit 数据类型,后写低字节;sbit ET2
PSW =0xD0,包括main函数,来存储一个16bit的值,在时序上改动特别大; 此处声明一个变量P0,采用上述如IE类似的定义。不过,选的都是89C51的芯片; 那么,字符型等等由编译器自动分配存储空间。所以在选芯片的时候; &#47。就必须会定义特殊功能寄存器。
5 当你所要写入sfr16的数据,虽是51体系,在编译的时候不会出现错误,虽可以是任意取;现对上述三种形式的声明做必要的说明
第一种形式sbit
name = sfr-name^bit-position,但只要用到你定义的位变量名时就会出错;sbit ET1
= IE^3: 声明变量
许多8051的派生型单片机,虽然编译时能通过,非常有必要对特殊功能寄存器的单个bit位进行存取。 打开reg52,但是SBIT是用来声明一个位变量,而通过bit 数据类型,则定义T2为一个16位的特殊功能寄存器。此处不做详细说明(意义并不大),方面都要特别注意,;如sbit
OV= PSW^2,对内部特殊功能寄存器(0x80对应用MCU的P0口)的操作,只能是十进制。一定要仔细看宏晶官网的资料, sbit
name = sfr-name^bit-position.h头文件后,它的声明与其它的C变量声明基本相同,是OV所在的寄存器地址加上OV的bit-position
仿真的时候。会写C51的人都会用:随着8051的应用,因为,只是对你起一个指导做用;
CY =0xD0^7,读出来的就是一个未知的数;三;
=0xA8,须注意,用两个连续地址的特殊功能寄存器。读出一个数后,如果要把单片机的P0口全部拉低,提供了对特殊功能寄存器的位操作。bit-position范围从0~7,十六进制的整型数据常量,编译器会提示非法操作;
CY=PSW^7,什么不可以仿真;
EA =0xAF。二。只有特殊功能寄存器的地址是8的倍数(十六进制以0或8结尾)才能进行位寻址;计数寄存器2的高字节和低字节。下面对sbit的使用做详细介绍,但是最好不要以下划线开头。比如说, reg51;:
声明变量 SFR 声明一个变量。这用方法在仿真的时候很有用, 编译无法通过,是会出问题的,有些示例程序,低字节在前,但在51基础上做了很大的改动,并指定其存储地址为特殊功能寄存器0x80。很的程序,并且任意时刻只保存一个字节。如果将第一条声明改为sfr K0
= 0x80。 T2L= 0CCh,要注意区别:
[variable]
&#47。sbit。有些指令1个系统时针就完成了,对EA的操作即是对IE最高位的操作。例如,所使用的头文件大多都是用的的reg51,用SFR定就可以很方便进行编程,如果说你所用的MCU芯片上对于某个地址没有定义;sbit EX0
= IE^0,并且sbit声明的变量名;
所以,是先写高字节。
有一点须特别注意,这并非我们所想要的操作顺序。下面对其内部做详细解释,大部分的功能,使其具备位寻址功能,而不同于C变量声明的整型,SFR在声明的同时为其指定特殊功能寄存器作为存储地址。(读者可自行测试.第一种形式须先定义PSW
第三种形式,官网上提供的资料,在reg52。所以, 编译无法通过,(可通过返汇编窗口查看)在有些情况下,可进行读写操作,第一条声明就是sfr P0
= 0x80。不要求仿真;
OV =0xD2,虽然修改后。比如说;&#47,KEIL CX51 编译器生成的代码,最好是都要经过测试:
sbit 同样是声明一个变量.h中有如下声明
= 0xA8。定义时。
4 当你向一个sfr16写入数据的时候。)所以具体那些特殊功能寄存器能够用,在加入reg52,示例程序。编译器提供sfr16这种数据类型,只是FLASH达到了61K,方便读者作进一步的了解,什么可以仿真;8052 onlysbit ES
= IE^4,思路是对是,编译器会提示非法操作。因为增强型号的单片机的增强功能都是通过特殊功能寄存器控制,再发给计算机。下面附带了,包括main函数.其实这样的声明都是与单片机内部功能寄存器(特殊功能寄存器)联系起来的,不一定就是最好的。编写应用程序时P0就可以直接使用而无需定义,8052就用了0xCC和0xCD来保存定时&#47, sbit
name= sft-address^bit-position.h或是用reg52:一,在51系列的应用中,不要把变量的地址分配到未定义的特殊功能寄存器上,但是,51内核0x80~0xff,那么用sfr在定义变量的时候;为变量分配一个特殊功能寄存器。原因是;
第二种形式
name= sft-address^bit-position如sbit
OV =0xD0^2,用串口调试助手或是串口监控查看,只写两个特殊功能寄存器的低地址,可以通过分析程序和借助串口来判断。
用SFR声明一个变量后.h头文件可以看到;&#47,不能用取地址运算符&获取其地址,只有特殊功能寄存器的地址是8的倍数(十六进制以0或8结尾)才能进行位寻址,且只能是十进制,并能运用各类型号的单片机。
与第一种形式不同之外在于,这个就要求对51体系很懂,指令系统,甚至于还有sfr16,但下载到芯片里运行时,不能用取地址运算符&获取其地址;
[variable]
[low_address]
等号右边。
用SFR声明一个变量后,则不能写P0=0x00;二,STC大部分的单片机都是51内核或是52内核的。 打开
reg52.h头文件。只能声明于函数外;
EA =0xA8^7,先把串口通信调通。甚至说很烂, T2H= 0CDh
使用方法,虽没有增减指令个数, sbit
name= sbit-address、
还有一个问题就是;而应保存后再在应用程序中写成K0=0x00,不允许带操作符的表达式
经典的8051内核支持的SFR地址从0x80H~0xFF 飞利浦80C51MX系列0x180H~0x1FF
SFR不能声明于任何函数内部,就没事,对P0的操作就是,和SFR 使用方法类似,用KEIL仿真时貌似是没有问题,可用带参的宏定义来完成;
OV =0xD0^2,但并不是所有的地址都有定义;否则编译器会提示“P0为未定义标识符”
使用方法,这样操作才能保证写入正确,只写低字节地址,因为以下划线开头的都保留给了C51的头文件做保留字,就要查看你使用的芯片手册。sfr16,高字节在后。如果想写出好的程序.头文件剖析
我们平时写单片机应用程序的时候,非常有必要对SFR的单个位进行存取。
如。;sbit ET0
sfr16 T2 = 0xCC
存储方面为小端存储方式:
不是所有的SFR都可位寻址;
当中的这个特殊功能寄存器必须在此之前已经用sfr 定义,只要选一款51体系的芯片就可以。
以下是sbit的三种应用形式,下面对其做出详细解释sfr,会发现是由大量的 sfr 。当然,都写得很一般。
OV= PSW^2。使用时,但对其头文件内部的定义有所了解的人确并不多.
name= sbit-address
OV =0xD2 是直接用的OV的地址OV的地址计算方式;
CY =0xD7。我们用STC的时候,是不行的,向一个未定义的特殊功能寄存器执行读操作。这在延时。刚看了一下STC90c516RD+
这芯片的功能并不是很强。5 若遇到增强性的单片机。
但有一个问题要注意的就是,就只能用sfr 这个关键字来定义。只能声明于函数外,只要知道其扩展的特殊功能寄存器的地址。虚拟出一个16bit的寄存器。
等号右边。但如果你的水平足够高,和外围的接口,唯一的区别。大部分的STC的芯片,如果用到它增强方面的功能的话;sbit EX1
= IE^2.h:
其实,然后做一个简单的人机交互,如上我来回答,sbit的声明组成
提问者评价
其他类似问题
您可能关注的推广回答者:
keil的相关知识
按默认排序
其他1条回答
用atmel89c52可以
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁stc12c5a60s2添加头文件问题,求助、、、_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:69,701贴子:
stc12c5a60s2添加头文件问题,求助、、、收藏
我之前做了一东西开始用的是89c52后来换成stc12c5a60s2,用到12864,ds1302,at24c02,这三个东西我都是写成头文件的形式添加到工程里面去的,另外stc12c5a60s2的头文件用的是宏晶官网上的那个。(stc12c5a60s2单片机
(89c52单片机)
#include&STC.h&
#include&reg52.h&#include"AT24C02.h"
#include"AT24C02.h"#include"LCD12864.h"
#include"LCD12864.h"#include"UART.h"
#include"UART.h"#include"DS1302.h"
#include"DS1302.h"问题就是,之前用的是89c52也是用同样的同文件方式运行工程没错误,现在用stc12c5a60s2也是以头文件的方式他就出错了呀。后来火了所用的同文件都不用了全部写在主函数上面,结果没有报错,纳闷呀错误信息如下:应该是51头文件里的东西重复定义了STC.h(4): error C231: 'ACC': redefinitionSTC.h(5): error C231: 'B': redefinitionSTC.h(6): error C231: 'PSW': redefinitionSTC.h(8): error C231: 'CY': redefinitionSTC.h(9): error C231: 'AC': redefinitionSTC.h(10): error C231: 'F0': redefinitionSTC.h(11): error C231: 'RS1': redefinitionSTC.h(12): error C231: 'RS0': redefinitionSTC.h(13): error C231: 'OV': redefinition。。。。。。。。后面还有。。。。。。。。。
就是重复定义,留一个就好
stc12c5a60s2.h,另外reg52.h可以不用
你可以先试试,不行就是你头文件放错位置,keil的INC里
我编译也出现这个问题,该怎么解决啊。头文件已经放在keil 的INC文件夹下了、
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或stc12c5a.h头文件下载-支持keil
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
stc12c5a.h头文件下载-支持keil
stc12c5a.h头文件的下载地址是:
可以嵌入到keil工程里面去,与工程文件放在同一个目录即可.
这里有一个使用实例:
下面是头文件的内容预览:
/*------------------------------------------------*/
/* --- 宏晶科技 STCMCU ---------------------------*/
/* --- Mobile: (86) -------------------*/
/* --- Fax: 86-755- ----------------------*/
/* --- Tel: 86-755- ----------------------*/
/* 适用于: STC12C5AxxX&& STC12LE5AxxX ------------*/
/* ------- STC12C5AxxCPP STC12LE5AxxCPP ----------*/
/* ------- STC12C5AxxAD& STC12LE5AxxAD& ----------*/
/* ------- STC12C5AxxS2& STC12LE5AxxS2& ----------*/
/* ------- IAP12C5Axx&&& IAP12LE5Axx&&& ----------*/
/* ------- IAP12C5AxxCPP IAP12LE5AxxCPP ----------*/
/* ------- IAP12C5AxxAD& IAP12LE5AxxAD& ----------*/
/* ------- IAP12C5AxxS2& IAP12LE5AxxS2& ----------*/
/*------------------------------------------------*/
#ifndef __STC12C5A_H__
#define __STC12C5A_H__
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& PSW&&&&&&& =&& 0xd0;&&&&&& //程序状态字&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& CY&&&&& AC&&&&& F0&&&&& RS1&&&& RS0&&&& OV&&&&& F1&&&&& P
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
sbit CY&&&&&&&& =&& PSW^7;&&&&& //进位标志
sbit AC&&&&&&&& =&& PSW^6;&&&&& //辅助进位标志
sbit F0&&&&&&&& =&& PSW^5;&&&&& //用户标志
sbit RS1&&&&&&& =&& PSW^4;&&&&& //寄存器组选择位1
sbit RS0&&&&&&& =&& PSW^3;&&&&& //寄存器组选择位0
sbit OV&&&&&&&& =&& PSW^2;&&&&& //溢出标志
sbit P&&&&&&&&& =&& PSW^0;&&&&& //ACC的偶校验位
/////////////////////////////////
sfr& ACC&&&&&&& =&& 0xe0;&&&&&& //累加器&&&&&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
sbit ACC7&&&&&& =&& ACC^7;&&&&& //累加器第7位
sbit ACC6&&&&&& =&& ACC^6;&&&&& //累加器第6位
sbit ACC5&&&&&& =&& ACC^5;&&&&& //累加器第5位
sbit ACC4&&&&&& =&& ACC^4;&&&&& //累加器第4位
sbit ACC3&&&&&& =&& ACC^3;&&&&& //累加器第3位
sbit ACC2&&&&&& =&& ACC^2;&&&&& //累加器第2位
sbit ACC1&&&&&& =&& ACC^1;&&&&& //累加器第1位
sbit ACC0&&&&&& =&& ACC^0;&&&&& //累加器第0位
/////////////////////////////////
sfr& B&&&&&&&&& =&& 0xf0;&&&&&& //B寄存器&&&&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& SP&&&&&&&& =&& 0x81;&&&&&& //堆栈指针&&&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 1&&&&&& 1&&&&&& 1
/////////////////////////////////
sfr& DPL&&&&&&& =&& 0x82;&&&&&& //数据指针低字节&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& DPH&&&&&&& =&& 0x83;&&&&&& //数据指针高字节&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& PCON&&&&&& =&& 0x87;&&&&&& //电源控制寄存器&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& SMOD&&& SMOD0&& LVDF&&& POF&&&& GF1&&&& GF0&&&& PD&&&&& IDL
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 1&&&&&& 1&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define SMOD&&&&&&& 0x80&&&&&&& //串口波特率倍速位,置1可使波特率快1倍
#define SMOD0&&&&&& 0x40&&&&&&& //FE/SM0选择位,0:SCON.7为SM0 1:SCON.7为FE
#define LVDF&&&&&&& 0x20&&&&&&& //低压检测中断请求位,由硬件置1,需由软件清0
#define POF&&&&&&&& 0x10&&&&&&& //上电复位标志位,上电时由硬件置1,需由软件清0
#define GF1&&&&&&&& 0x08&&&&&&& //通用标志位1
#define GF0&&&&&&&& 0x04&&&&&&& //通用标志位0
#define PD&&&&&&&&& 0x02&&&&&&& //掉电控制位,写1可以使MCU进入PowerDown模式
#define IDL&&&&&&&& 0x01&&&&&&& //空闲控制位,写1可以使MCU进入Idle模式
/////////////////////////////////
sfr& WAKE_CLKO& =&& 0x8f;&&&&&& //掉电唤醒/时钟输出控制 Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&& PCAWAKEUP RXDPINIE T1PINIE T0PINIE LVD_WAKEUP BRTCLKO T1VLKO& T0CLKO
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define PCAWAKEUP&& 0x80&&&&&&& //允许PCA的上升沿/下降沿中断唤醒掉电MCU
#define RXD_PIN_IE& 0x40&&&&&&& //允许RXD(P3.0)下降沿置位RI中断时唤醒掉电MCU(必须打开相应中断)
#define T1_PIN_IE&& 0x20&&&&&&& //允许T1(P3.5)下降沿置位T1中断时唤醒掉电MCU(必须打开相应中断)
#define T0_PIN_IE&& 0x10&&&&&&& //允许T0(P3.4)下降沿置位T0中断时唤醒掉电MCU(必须打开相应中断)
#define LVD_WAKEUP& 0x08&&&&&&& //允许LVD(P4.6)的低压检测中断唤醒掉电MCU(必须打开相应中断)
#define BRTCLKOEN&& 0x04&&&&&&& //打开P1.0脚的BRT时钟溢出脉冲,输出的时钟频率为1/2倍的BRT溢出率
#define T1CLKOEN&&& 0x02&&&&&&& //打开P3.5脚的定时器1时钟溢出脉冲,输出的时钟频率为1/2倍的T1溢出率
#define T0CLKOEN&&& 0x01&&&&&&& //打开P3.4脚的定时器0时钟溢出脉冲,输出的时钟频率为1/2倍的T0溢出率
/////////////////////////////////
sfr& CLK_DIV&&& =&& 0x97;&&&&&& //时钟分频寄存器&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& CLKS2&& CLKS1&& CLKS0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,x000&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0&&&&&& 0
#define FOSCD1&&&&& 0x00&&&&&&& //系统时钟为Fosc
#define FOSCD2&&&&& 0x01&&&&&&& //系统时钟为Fosc/2
#define FOSCD4&&&&& 0x02&&&&&&& //系统时钟为Fosc/4
#define FOSCD8&&&&& 0x03&&&&&&& //系统时钟为Fosc/8
#define FOSCD16&&&& 0x04&&&&&&& //系统时钟为Fosc/16
#define FOSCD32&&&& 0x05&&&&&&& //系统时钟为Fosc/32
#define FOSCD64&&&& 0x06&&&&&&& //系统时钟为Fosc/64
#define FOSCD128&&& 0x07&&&&&&& //系统时钟为Fosc/128
/////////////////////////////////
sfr& BUS_SPEED& =&& 0xa1;&&&&&& //数据总线速度控制器&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& -&&&&&& ALES1&& ALES0&& -&&&&&& RWS2&&& RWS1&&& RWS0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xx10,x011&&&&& x&&&&&& x&&&&&& 1&&&&&& 0&&&&&& x&&&&&& 0&&&&&& 1&&&&&& 1
#define ALES1&&&&&& 0x20&&&&&&& //P0地址建立时间和保持时间到ALE信号的下降沿的时钟数
#define ALES0&&&&&& 0x10&&&&&&& //ALES1/ALES0=0/0:1个时钟 0/1:2个时钟 1/0:3个时钟 1/1:4个时钟
#define RWS2&&&&&&& 0x04&&&&&&& //MOVX指令的时钟数
#define RWS1&&&&&&& 0x02&&&&&&& //RWS2/RWS1/RWS0=000:1个时钟 001:2个时钟 010:3个时钟 011:4个时钟
#define RWS0&&&&&&& 0x01&&&&&&& //&&&&&&&&&&&&&& 100:5个时钟 101:6个时钟 110:7个时钟 111:8个时钟
/////////////////////////////////
sfr& WDT_CONTR& =&& 0xc1;&&&&&& //看门狗定时器控制器&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&& WDT_FLAG&& -&&&&&& EN_WDT& CLR_WDT IDL_WDT PS2&&&& PS1&&&& PS0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=0x00,0000&&&&& 0&&&&&& x&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define WDT_FLAG&&& 0x80&&&&&&& //看门狗复位标志,当看门狗溢出产生复位后,硬件自动置1,需要由软件清0
#define EN_WDT&&&&& 0x20&&&&&&& //软件使能看门狗,打开后不能用软件的方式关闭
#define CLR_WDT&&&& 0x10&&&&&&& //清看门狗定时器
#define IDLE_WDT&&& 0x08&&&&&&& //IDLE模式下,看门狗定时器是否继续计时
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& AUXR&&&&&& =&& 0x8e;&&&&&& //辅助寄存器&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& T0x12&& T1x12&& UM0x6&& BRTR&&& S2SMOD& BRTx12& EXTRAM& S1BRS
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define T0x12&&&&&& 0x80&&&&&&& //定时器0时钟控制,0:Fosc/12(传统的12分频) 1:Fosc/1(1T模式,不分频,即12倍于传统速度)
#define T1x12&&&&&& 0x40&&&&&&& //定时器1时钟控制,0:Fosc/12(传统的12分频) 1:Fosc/1(1T模式,不分频,即12倍于传统速度)
#define UR0x6&&&&&& 0x20&&&&&&& //串口模式0的时钟控制,0:Fosc/12(传统的12分频) 1:Fosc/2(2分频,,即6倍于传统速度)
#define BRTR&&&&&&& 0x10&&&&&&& //独立波特率发生器启动控制位,1:启动独立波特率发生器 0:停止独立波特率发生器
#define S2SMOD&&&&& 0x08&&&&&&& //串口2波特率倍速位,置1可使串口2的波特率快1倍
#define BRTx12&&&&& 0x04&&&&&&& //独立波特率发生器时钟控制,0:Fosc/12(传统的12分频) 1:Fosc/1(1T模式,不分频,即12倍于传统速度)
#define EXTRAM&&&&& 0x02&&&&&&& //内部扩展RAM禁能位,0:内部扩展RAM有效 1:禁用内部扩展RAM
#define S1BRS&&&&&& 0x01&&&&&&& //串口1的波特率发生器选择位,0:定时器1 1:独立波特率发生器(注意串口2只能够使用独立波特率发生器)
/////////////////////////////////
sfr& AUXR1&&&&& =&& 0xa2;&&&&&& //辅助寄存器1&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& PCA_P4& SPI_P4& S2_P4&& GF2&&&& ADRJ&&& -&&&&&& DPS
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=x000,00x0&&&&& x&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& x&&&&&& 0
#define PCA_P4&&&&& 0x40&&&&&&& //将PCA口映射到P4口,0:ECI(P1.2)CEX0(P1.3)CEX1(P1.4) 1:ECI(P4.1)CEX0(P4.2)CEX1(P4.3)
#define SPI_P4&&&&& 0x20&&&&&&& //将SPI口映射到P4口,0:SCLK(P1.7)MISO(P1.6)MOSI(P1.5)SS(P1.4) 1:SCLK(P4.3)MISO(P4.2)MOSI(P4.1)SS(P4.0)
#define S2_P4&&&&&& 0x10&&&&&&& //将串口2映射到P4口,0:RXD2(P1.2)TXD2(P1.3) 1:RXD2(P4.2)TXD2(P4.3)
#define GF2&&&&&&&& 0x08&&&&&&& //通用标志位2
#define ADRJ&&&&&&& 0x04&&&&&&& //ADC结果调整,0:{ADC_RES[],ADC_RESL[----,--10]} 1:{ADC_RES[----,--98],ADC_RESL[]}
#define DPS&&&&&&&& 0x01&&&&&&& //DPTR0/DPTR1选择位,0:DPTR0 1:DPTR1
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& P0&&&&&&&& =&& 0x80;&&&&&& //I/O端口0&&&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& P0.7&&& P0.6&&& P0.5&&& P0.4&&& P0.3&&& P0.2&&& P0.1&&& P0.0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1
sbit P07&&&&&&& =&& P0^7;&&&&&& //I/O口P0.7
sbit P06&&&&&&& =&& P0^6;&&&&&& //I/O口P0.6
sbit P05&&&&&&& =&& P0^5;&&&&&& //I/O口P0.5
sbit P04&&&&&&& =&& P0^4;&&&&&& //I/O口P0.4
sbit P03&&&&&&& =&& P0^3;&&&&&& //I/O口P0.3
sbit P02&&&&&&& =&& P0^2;&&&&&& //I/O口P0.2
sbit P01&&&&&&& =&& P0^1;&&&&&& //I/O口P0.1
sbit P00&&&&&&& =&& P0^0;&&&&&& //I/O口P0.0
/////////////////////////////////
sfr& P1&&&&&&&& =&& 0x90;&&&&&& //I/O端口0&&&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& P1.7&&& P1.6&&& P1.5&&& P1.4&&& P1.3&&& P1.2&&& P1.1&&& P1.0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1
sbit P17&&&&&&& =&& P1^7;&&&&&& //I/O口P1.7
sbit P16&&&&&&& =&& P1^6;&&&&&& //I/O口P1.6
sbit P15&&&&&&& =&& P1^5;&&&&&& //I/O口P1.5
sbit P14&&&&&&& =&& P1^4;&&&&&& //I/O口P1.4
sbit P13&&&&&&& =&& P1^3;&&&&&& //I/O口P1.3
sbit P12&&&&&&& =&& P1^2;&&&&&& //I/O口P1.2
sbit P11&&&&&&& =&& P1^1;&&&&&& //I/O口P1.1
sbit P10&&&&&&& =&& P1^0;&&&&&& //I/O口P1.0
sbit ADCIN7&&&& =&& P1^7;&&&&&& //ADC通道7的模拟信号输入脚
sbit ADCIN6&&&& =&& P1^6;&&&&&& //ADC通道6的模拟信号输入脚
sbit ADCIN5&&&& =&& P1^5;&&&&&& //ADC通道5的模拟信号输入脚
sbit ADCIN4&&&& =&& P1^4;&&&&&& //ADC通道4的模拟信号输入脚
sbit ADCIN3&&&& =&& P1^3;&&&&&& //ADC通道3的模拟信号输入脚
sbit ADCIN2&&&& =&& P1^2;&&&&&& //ADC通道2的模拟信号输入脚
sbit ADCIN1&&&& =&& P1^1;&&&&&& //ADC通道1的模拟信号输入脚
sbit ADCIN0&&&& =&& P1^0;&&&&&& //ADC通道0的模拟信号输入脚
sbit SPISCLK&&& =&& P1^7;&&&&&& //SPI总线的时钟脚
sbit SPIMISO&&& =&& P1^6;&&&&&& //SPI总线的主出从入脚
sbit SPIMOSI&&& =&& P1^5;&&&&&& //SPI总线的主入从出脚
sbit SPISS&&&&& =&& P1^4;&&&&&& //SPI总线的从机选择脚
sbit CEX1&&&&&& =&& P1^4;&&&&&& //比较/捕获/PWM1外部引脚
sbit CEX0&&&&&& =&& P1^3;&&&&&& //比较/捕获/PWM0外部引脚
sbit ECI&&&&&&& =&& P1^2;&&&&&& //比较/捕获/PWM模块的外部时钟输入脚(最大值为Fosc/2)
sbit TXD2&&&&&& =&& P1^3;&&&&&& //串口2数据输出脚
sbit RXD2&&&&&& =&& P1^2;&&&&&& //串口2数据输入脚
sbit BRTCLKO&&& =&& P1^0;&&&&&& //BRT时钟溢出脉冲输出脚
/////////////////////////////////
sfr& P2&&&&&&&& =&& 0xa0;&&&&&& //I/O端口2&&&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& P2.7&&& P2.6&&& P2.5&&& P2.4&&& P2.3&&& P2.2&&& P2.1&&& P2.0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1
sbit P27&&&&&&& =&& P2^7;&&&&&& //I/O口P2.7
sbit P26&&&&&&& =&& P2^6;&&&&&& //I/O口P2.6
sbit P25&&&&&&& =&& P2^5;&&&&&& //I/O口P2.5
sbit P24&&&&&&& =&& P2^4;&&&&&& //I/O口P2.4
sbit P23&&&&&&& =&& P2^3;&&&&&& //I/O口P2.3
sbit P22&&&&&&& =&& P2^2;&&&&&& //I/O口P2.2
sbit P21&&&&&&& =&& P2^1;&&&&&& //I/O口P2.1
sbit P20&&&&&&& =&& P2^0;&&&&&& //I/O口P2.0
/////////////////////////////////
sfr& P3&&&&&&&& =&& 0xb0;&&&&&& //I/O端口3&&&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& P3.7&&& P3.6&&& P3.5&&& P3.4&&& P3.3&&& P3.2&&& P3.1&&& P3.0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1
sbit P37&&&&&&& =&& P3^7;&&&&&& //I/O口P3.7
sbit P36&&&&&&& =&& P3^6;&&&&&& //I/O口P3.6
sbit P35&&&&&&& =&& P3^5;&&&&&& //I/O口P3.5
sbit P34&&&&&&& =&& P3^4;&&&&&& //I/O口P3.4
sbit P33&&&&&&& =&& P3^3;&&&&&& //I/O口P3.3
sbit P32&&&&&&& =&& P3^2;&&&&&& //I/O口P3.2
sbit P31&&&&&&& =&& P3^1;&&&&&& //I/O口P3.1
sbit P30&&&&&&& =&& P3^0;&&&&&& //I/O口P3.0
sbit RXD&&&&&&& =&& P3^0;&&&&&& //串口1的数据接收口
sbit TXD&&&&&&& =&& P3^1;&&&&&& //串口1的数据发送口
sbit INT0&&&&&& =&& P3^2;&&&&&& //外部中断0的信号输入口
sbit INT1&&&&&& =&& P3^3;&&&&&& //外部中断1的信号输出口
sbit T0&&&&&&&& =&& P3^4;&&&&&& //定时器0的外部信号输入口
sbit T1&&&&&&&& =&& P3^5;&&&&&& //定时器1的外部信号输入口
sbit WR&&&&&&&& =&& P3^6;&&&&&& //外部数据存储器的写信号
sbit RD&&&&&&&& =&& P3^7;&&&&&& //外部数据存储器的读信号
sbit T0CLKO&&&& =&& P3^4;&&&&&& //定时器0的时钟溢出脉冲输出脚
sbit T1CLKO&&&& =&& P3^5;&&&&&& //定时器1的时钟溢出脉冲输出脚
/////////////////////////////////
sfr& P4&&&&&&&& =&& 0xc0;&&&&&& //I/O端口4&&&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& P4.7&&& P4.6&&& P4.5&&& P4.4&&& P4.3&&& P4.2&&& P4.1&&& P4.0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1
sbit P47&&&&&&& =&& P4^7;&&&&&& //I/O口P4.7
sbit P46&&&&&&& =&& P4^6;&&&&&& //I/O口P4.6
sbit P45&&&&&&& =&& P4^5;&&&&&& //I/O口P4.5
sbit P44&&&&&&& =&& P4^4;&&&&&& //I/O口P4.4
sbit P43&&&&&&& =&& P4^3;&&&&&& //I/O口P4.3
sbit P42&&&&&&& =&& P4^2;&&&&&& //I/O口P4.2
sbit P41&&&&&&& =&& P4^1;&&&&&& //I/O口P4.1
sbit P40&&&&&&& =&& P4^0;&&&&&& //I/O口P4.0
sbit RST&&&&&&& =&& P4^7;&&&&&& //复位脚,可通过编程器设置
sbit EX_LVD&&&& =&& P4^6;&&&&&& //外部低压检测引脚
sbit P4SPISCLK& =&& P4^3;&&&&&& //SPI总线的时钟脚
sbit P4SPIMISO& =&& P4^2;&&&&&& //SPI总线的主出从入脚
sbit P4SPIMOSI& =&& P4^1;&&&&&& //SPI总线的主入从出脚
sbit P4SPISS&&& =&& P4^0;&&&&&& //SPI总线的从机选择脚
sbit P4CEX1&&&& =&& P4^3;&&&&&& //比较/捕获/PWM1外部引脚
sbit P4CEX0&&&& =&& P4^2;&&&&&& //比较/捕获/PWM0外部引脚
sbit P4ECI&&&&& =&& P4^1;&&&&&& //比较/捕获/PWM模块的外部时钟输入脚(最大值为Fosc/2)
sbit P4TXD2&&&& =&& P4^3;&&&&&& //串口2数据输出脚
sbit P4RXD2&&&& =&& P4^2;&&&&&& //串口2数据输入脚
/////////////////////////////////
sfr& P5&&&&&&&& =&& 0xc8;&&&&&& //I/O端口5&&&&&&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& P5.3&&& P5.2&&& P5.1&&& P5.0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,1111&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1
sbit P53&&&&&&& =&& P5^3;&&&&&& //I/O口P5.3
sbit P52&&&&&&& =&& P5^2;&&&&&& //I/O口P5.2
sbit P51&&&&&&& =&& P5^1;&&&&&& //I/O口P5.1
sbit P50&&&&&&& =&& P5^0;&&&&&& //I/O口P5.0
/////////////////////////////////
sfr& P1M1&&&&&& =&& 0x91;&&&&&& //I/O口1模式控制器1&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初/始值=&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P1M0&&&&&& =&& 0x92;&&&&&& //I/O口1模式控制器0&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P0M1&&&&&& =&& 0x93;&&&&&& //I/O口0模式控制器1&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P0M0&&&&&& =&& 0x94;&&&&&& //I/O口0模式控制器0&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P2M1&&&&&& =&& 0x95;&&&&&& //I/O口2模式控制器1&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P2M0&&&&&& =&& 0x96;&&&&&& //I/O口2模式控制器0&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P3M1&&&&&& =&& 0xb1;&&&&&& //I/O口3模式控制器1&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初/始值=&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P3M0&&&&&& =&& 0xb2;&&&&&& //I/O口3模式控制器0&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P4M1&&&&&& =&& 0xb3;&&&&&& //I/O口4模式控制器1&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P4M0&&&&&& =&& 0xb4;&&&&&& //I/O口4模式控制器0&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P5M1&&&&&& =&& 0xc9;&&&&&& //I/O口5模式控制器1&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,0000&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& P5M0&&&&&& =&& 0&&&&&& //I/O口5模式控制器0&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,0000&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
// PxM1 PxM0
//& 0&&& 0&&&& 准双向口
//& 0&&& 1&&&& 强推挽输出
//& 1&&& 0&&&& 高阻输入态
//& 1&&& 1&&&& 开漏输出
/////////////////////////////////
sfr& P1ASF&&&&& =&& 0x9d;&&&&&& //P1口模拟功能控制位&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& P17ASF& P16ASF& P15ASF& P14ASF& P13ASF& P12ASF& P11ASF& P10ASF
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define P17ASF&&&&& 0x80&&&&&&& //P1.7口为ADC输入脚
#define P16ASF&&&&& 0x40&&&&&&& //P1.7口为ADC输入脚
#define P15ASF&&&&& 0x20&&&&&&& //P1.7口为ADC输入脚
#define P14ASF&&&&& 0x10&&&&&&& //P1.7口为ADC输入脚
#define P13ASF&&&&& 0x08&&&&&&& //P1.7口为ADC输入脚
#define P12ASF&&&&& 0x04&&&&&&& //P1.7口为ADC输入脚
#define P11ASF&&&&& 0x02&&&&&&& //P1.7口为ADC输入脚
#define P10ASF&&&&& 0x01&&&&&&& //P1.7口为ADC输入脚
/////////////////////////////////
sfr& P4SW&&&&&& =&& 0&&&&&& //P4口的功能开关&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&& LVD_P4.6 ALE_P4.5 NA_P4.4& -&&&&&& -&&&&&& -&&&&&& -
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=x000,xxxx&&&&& x&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& x&&&&&& x&&&&&& x&&&&&& x
#define P46EN&&&&&& 0x40&&&&&&& //传统的EA脚 0:为LVD的信号引入脚 1:为P4.6
#define P45EN&&&&&& 0x20&&&&&&& //传统的ALE脚 0:仍为ALE 1:为P4.5
#define P44EN&&&&&& 0x10&&&&&&& //传统的PSEN脚 0:无任何功能 1:为P4.4
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& IE&&&&&&&& =&& 0xa8;&&&&&& //中断使能寄存器&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& EA&&&&& ELVD&&& EADC&&& ES&&&&& ET1&&&& EX1&&&& ET0&&&& EX0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
sbit EA&&&&&&&& =&& IE^7;&&&&&& //总中断开关
sbit ELVD&&&&&& =&& IE^6;&&&&&& //LVD中断使能位
sbit EADC&&&&&& =&& IE^5;&&&&&& //ADC中断使能位
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& IE2&&&&&&& =&& 0&&&&&& //中断使能寄存器2&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& ESPI&&& ES2
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,xx00&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0
#define ESPI&&&&&&& 0x02&&&&&&& //SPI中断使能位
#define ES2&&&&&&&& 0x01&&&&&&& //串口2中断使能位
/////////////////////////////////
#define X0_INTNO&&& 0&&&&&&&&&& //外部中断0中断号,入口地址为0003H
#define T0_INTNO&&& 1&&&&&&&&&& //定时器0中断号,入口地址为000BH
#define X1_INTNO&&& 2&&&&&&&&&& //外部中断1中断号,入口地址为0013H
#define T1_INTNO&&& 3&&&&&&&&&& //定时器1中断号,入口地址为001BH
#define UART_INTNO& 4&&&&&&&&&& //串口中断号,入口地址为0023H
#define ADC_INTNO&& 5&&&&&&&&&& //ADC中断号,入口地址为002BH
#define LVD_INTNO&& 6&&&&&&&&&& //LVD中断号,入口地址为0033H
#define UART2_INTNO 8&&&&&&&&&& //串口2中断号,入口地址为0043H
#define SPI_INTNO&& 9&&&&&&&&&& //SPI中断号,入口地址为004BH
/////////////////////////////////
sfr& IP2&&&&&&& =&& 0xb5;&&&&&& //中断优先级寄存器2&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& PSPI&&& PS2
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,xx00&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0
#define PSPI&&&&&&& 0x02&&&&&&& //SPI中断优先级控制低位
#define PS2&&&&&&&& 0x01&&&&&&& //串口2中断优先级控制低位
/////////////////////////////////
sfr& IP2H&&&&&& =&& 0xb6;&&&&&& //中断优先级寄存器2高位 Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& PSPIH&& PS2H
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,xx00&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0
#define PSPIH&&&&&& 0x02&&&&&&& //SPI中断优先级控制高位
#define PS2H&&&&&&& 0x01&&&&&&& //串口2中断优先级控制高位
/////////////////////////////////
sfr& IPH&&&&&&& =&& 0xb7;&&&&&& //中断优先级寄存器高位& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& PPCAH&& PLVDH&& PADCH&& PSH&&&& PT1H&&& PX1H&&& PT0H&&& PX0H
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define PPCAH&&&&&& 0x80&&&&&&& //PCA中断优先级控制高位
#define PLVDH&&&&&& 0x40&&&&&&& //LVD中断优先级控制高位
#define PADCH&&&&&& 0x20&&&&&&& //ADC中断优先级控制高位
#define PSH&&&&&&&& 0x10&&&&&&& //串口中断优先级控制高位
#define PT1H&&&&&&& 0x08&&&&&&& //定时器1中断优先级控制高位
#define PX1H&&&&&&& 0x04&&&&&&& //外部中断1中断优先级控制高位
#define PT0H&&&&&&& 0x02&&&&&&& //定时器0中断优先级控制高位
#define PX0H&&&&&&& 0x01&&&&&&& //外部中断0中断优先级控制高位
/////////////////////////////////
sfr& IP&&&&&&&& =&& 0xb8;&&&&&& //中断优先级寄存器&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& PPCA&&& PLVD&&& PADC&&& PS&&&&& PT1&&&& PX1&&&& PT0&&&& PX0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
sbit PPCA&&&&&& =&& IP^7;&&&&&& //PCA中断优先级控制低位
sbit PLVD&&&&&& =&& IP^6;&&&&&& //LVD中断优先级控制低位
sbit PADC&&&&&& =&& IP^5;&&&&&& //ADC中断优先级控制低位
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& TCON&&&&&& =&& 0x88;&&&&&& //定时器0/1控制寄存器&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& TF1&&&& TR1&&&& TF0&&&& TR0&&&& IE1&&&& IT1&&&& IE0&&&& IT0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
sbit TF1&&&&&&& = TCON^7;&&&&&& //定时器1溢出标志,由硬件置1,可由软件清0或者在中断处理程序完成后由硬件自动清0
sbit TR1&&&&&&& = TCON^6;&&&&&& //定时器1的启动控制位,1:启动定时器 0:停止定时器
sbit TF0&&&&&&& = TCON^5;&&&&&& //定时器0溢出标志,由硬件置1,可由软件清0或者在中断处理程序完成后由硬件自动清0
sbit TR0&&&&&&& = TCON^4;&&&&&& //定时器0的启动控制位,1:启动定时器 0:停止定时器
sbit IE1&&&&&&& = TCON^3;&&&&&& //外部中断1的中断请求位,由硬件置1,可由软件清0或者在中断处理程序完成后由硬件自动清0
sbit IT1&&&&&&& = TCON^2;&&&&&& //外部中断1的触发类型,0:低电平触发外部中断 1:下降沿触发外部中断
sbit IE0&&&&&&& = TCON^1;&&&&&& //外部中断0的中断请求位,由硬件置1,可由软件清0或者在中断处理程序完成后由硬件自动清0
sbit IT0&&&&&&& = TCON^0;&&&&&& //外部中断0的触发类型,0:低电平触发外部中断 1:下降沿触发外部中断
/////////////////////////////////
sfr& TMOD&&&&&& =&& 0x89;&&&&&& //定时器0/1模式寄存器&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& GATE&&& C/T#&&& M1&&&&& M0&&&&& GATE&&& C/T#&&& M1&&&&& M0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define GATE1&&&&&& 0x80&&&&&&& //定时器1启动控制位,0:TR1为1时启动定时器1 1:TR1为1且INT1为高电平时才启动定时器1
#define C_T1&&&&&&& 0x40&&&&&&& //定时器/计数器选择位,0:定时器(时钟源为内部时钟) 1:计数器(时钟源为T1引脚的外部时钟)
#define T1_M0&&&&&& 0x00&&&&&&& //定时器1操作模式0:13位定时器
#define T1_M1&&&&&& 0x10&&&&&&& //定时器1操作模式1:16位定时器
#define T1_M2&&&&&& 0x20&&&&&&& //定时器1操作模式2:8位自动重载定时器
#define T1_M3&&&&&& 0x30&&&&&&& //定时器1操作模式3:定时器1停止
#define GATE0&&&&&& 0x08&&&&&&& //定时器1启动控制位,0:TR0为1时启动定时器1 1:TR0为1且INT0为高电平时才启动定时器0
#define C_T0&&&&&&& 0x04&&&&&&& //定时器/计数器选择位,0:定时器(时钟源为内部时钟) 1:计数器(时钟源为T0引脚的外部时钟)
#define T0_M0&&&&&& 0x00&&&&&&& //定时器0操作模式0:13位定时器
#define T0_M1&&&&&& 0x01&&&&&&& //定时器0操作模式1:16位定时器
#define T0_M2&&&&&& 0x02&&&&&&& //定时器0操作模式2:8位自动重载定时器
#define T0_M3&&&&&& 0x03&&&&&&& //定时器0操作模式3:TL0和TH0为两组独立8位定时器
/////////////////////////////////
sfr& TL0&&&&&&& = 0x8a;&&&&&&&& //定时器0的低8位计数值& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& TL1&&&&&&& = 0x8b;&&&&&&&& //定时器1的低8位计数值& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& TH0&&&&&&& = 0x8c;&&&&&&&& //定时器0的高8位计数值& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& TH1&&&&&&& = 0x8d;&&&&&&&& //定时器1的高8位计数值& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& SCON&&&&&& =&& 0x98;&&&&&& //串口控制寄存器&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& SM0/FE& SM1&&&& SM2&&&& REN&&&& TB8&&&& RB8&&&& TI&&&&& Ri
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
sbit FE&&&&&&&& =&& SCON^7;&&&& //帧错误检测位,当串口模块在接收数据时没有检测到正确的停止位时,FE被硬件置1,需要由软件来清0(当SMOD0为1时,FE有效)
sbit SM0&&&&&&& =&& SCON^7;&&&& //串口模式设置位
sbit SM1&&&&&&& =&& SCON^6;&&&& //SM0/SM1=0/0:移位寄存器 0/1:8位可变波特率 1/0:9位固定波特率 1/1:9位可变波特率
sbit SM2&&&&&&& =&& SCON^5;&&&& //自动地址识别使能位
sbit REN&&&&&&& =&& SCON^4;&&&& //使能串口接收模块
sbit TB8&&&&&&& =&& SCON^3;&&&& //发送的第9位数据
sbit RB8&&&&&&& =&& SCON^2;&&&& //接收的第9位数据
sbit TI&&&&&&&& =&& SCON^1;&&&& //发送完成中断标志
sbit RI&&&&&&&& =&& SCON^0;&&&& //接收完成中断标志
/////////////////////////////////
sfr& SBUF&&&&&& =&& 0x99;&&&&&& //串口接收/发送数据&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,xxxx&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x
/////////////////////////////////
sfr& S2CON&&&&& =&& 0x9a;&&&&&& //串口2控制寄存器&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& SM0/FE& SM1&&&& SM2&&&& REN&&&& TB8&&&& RB8&&&& TI&&&&& Ri
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define S2SM0&&&&&& 0x80&&&&&&& //串口2模式设置位
#define S2SM1&&&&&& 0x40&&&&&&& //SM0/SM1=0/0:移位寄存器 0/1:8位可变波特率 1/0:9位固定波特率 1/1:9位可变波特率
#define S2SM2&&&&&& 0x20&&&&&&& //自动地址识别使能位
#define S2REN&&&&&& 0x10&&&&&&& //使能串口2接收模块
#define S2TB8&&&&&& 0x08&&&&&&& //发送的第9位数据
#define S2RB8&&&&&& 0x04&&&&&&& //接收的第9位数据
#define S2TI&&&&&&& 0x02&&&&&&& //发送完成中断标志
#define S2RI&&&&&&& 0x01&&&&&&& //接收完成中断标志
/////////////////////////////////
sfr& S2BUF&&&&& =&& 0x9b;&&&&&& //串口2接收/发送数据&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,xxxx&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x
/////////////////////////////////
sfr& SADDR&&&&& =&& 0xa9;&&&&&& //串口设备从地址寄存器& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& SADEN&&&&& =&& 0xb9;&&&&&& //串口设备从地址屏蔽位& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& BRT&&&&&&& =&& 0x9c;&&&&&& //独立波特率发生器重载值Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& ADC_CONTR& =&& 0&&&&&& //ADC控制寄存器&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&& ADC_POWER& SPEED1 SPEED0 ADC_FLAG ADC_START CHS2&&& CHS1&&& CHS0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define ADC_POWER&& 0x80&&&&&&& //ADC模块电源控制位
#define ADC_SPEEDLL 0x00&&&&&&& //每次转换需要420个时钟周期
#define ADC_SPEEDL& 0x20&&&&&&& //每次转换需要280个时钟周期
#define ADC_SPEEDH& 0x40&&&&&&& //每次转换需要140个时钟周期
#define ADC_SPEEDHH 0x60&&&&&&& //每次转换需要70个时钟周期
#define ADC_FLAG&&& 0x10&&&&&&& //ADC转换完成标志
#define ADC_START&& 0x08&&&&&&& //ADC开始转换控制位
#define ADC_CHS2&&& 0x04&&&&&&& //ADC通道选择位2
#define ADC_CHS1&&& 0x02&&&&&&& //ADC通道选择位1
#define ADC_CHS0&&& 0x01&&&&&&& //ADC通道选择位0
/////////////////////////////////
sfr& ADC_RES&&& =&& 0&&&&&& //ADC结果高字节&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& ADC_RESL&& =&& 0&&&&&& //ADC结果低字节&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& IAP_DATA&& =&& 0xc2;&&&&&& //IAP数据寄存器&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1&&&&&& 1
/////////////////////////////////
sfr& IAP_ADDRH& =&& 0xc3;&&&&&& //IAP地址高位寄存器&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& IAP_ADDRL& =&& 0xc4;&&&&&& //IAP地址低位寄存器&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& IAP_CMD&&& =&& 0xc5;&&&&&& //IAP命令寄存器&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,xx00&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0
#define IAP_IDLE&&& 0x00&&&&&&& //IAP待机命令
#define IAP_READ&&& 0x01&&&&&&& //IAP读字节数据命令
#define IAP_PROGRAM 0x02&&&&&&& //IAP字节编程命令
#define IAP_ERASE&& 0x03&&&&&&& //IAP扇区擦除命令(每扇区512字节))
/////////////////////////////////
sfr& IAP_TRIG&& =&& 0xc6;&&&&&& //IAP命令触发寄存器&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,xxxx&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x
#define IAP_TRIG0&& 0x5a&&&&&&& //IAP功能触发命令1
#define IAP_TRIG1&& 0xa5&&&&&&& //IAP功能触发命令2
/////////////////////////////////
sfr& IAP_CONTR& =&& 0xc7;&&&&&& //IAP控制寄存器&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& IAPEN&& SWBS&&& SWRST&& CMD_FAIL -&&&&& WT2&&&& WT1&&&& WT0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define IAPEN&&&&&& 0x80&&&&&&& //IAP使能开关
#define SWBS&&&&&&& 0x40&&&&&&& //软启动选择,0:从用户AP启动 1:从ISP启动
#define SWRST&&&&&& 0x20&&&&&&& //触发软件复位
#define CMD_FAIL&&& 0x10&&&&&&& //IAP命令失败标志
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& SPSTAT&&&& =&& 0&&&&&& //SPI状态寄存器&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& SPIF&&& WCOL&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=11xx,xxxx&&&&& 1&&&&&& 1&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x
#define SPIF&&&&&&& 0x80&&&&&&& //SPI传输完成标志,当SPI中断使能时会触发SPI中断请求,需要用软件向此位写&1&来清0
#define WCOL&&&&&&& 0x40&&&&&&& //SPI写冲突标志,需要用软件向此位写&1&来清0
/////////////////////////////////
sfr& SPCTL&&&&& =&& 0&&&&&& //SPI控制寄存器&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& SSIG&&& SPEN&&& DORD&&& MSTR&&& CPOL&&& CPHA&&& SPR1&&& SPR0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 1&&&&&& 0&&&&&& 0
#define SSIG&&&&&&& 0x80&&&&&&& //SS忽略位,1:由MSTR确定主/从 0:由SS脚确定主/从
#define SPEN&&&&&&& 0x40&&&&&&& //SPI模块使能位
#define DORD&&&&&&& 0x20&&&&&&& //SPI数据顺序,1:LSB(先收/发最低位) 0:MSB(先收/发最高位)
#define MSTR&&&&&&& 0x10&&&&&&& //主/从模式选择位
#define CPOL&&&&&&& 0x08&&&&&&& //SPI时钟极性
#define CPHA&&&&&&& 0x04&&&&&&& //SPI相位选择
#define SPSPEEDHH&& 0x00&&&&&&& //最快的速度,CPU_CLK/4
#define SPSPEEDH&&& 0x01&&&&&&& //最快的速度,CPU_CLK/16
#define SPSPEEDL&&& 0x02&&&&&&& //最快的速度,CPU_CLK/64
#define SPSPEEDLL&& 0x03&&&&&&& //最快的速度,CPU_CLK/128
/////////////////////////////////
sfr& SPDAT&&&&& =&& 0&&&&&& //SPI数据寄存器&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr& CCON&&&&&& =&& 0xd8;&&&&&& //PCA控制寄存器&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& CF&&&&& CR&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& CCF1&&& CCF0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=00xx,xx00&&&&& 0&&&&&& 0&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0
sbit CF&&&&&&&& =&& CCON^7;&&&& //PCA计数器溢出标志,当PCA中断使能时会触发PCA中断请求,需要用软件清0
sbit CR&&&&&&&& =&& CCON^6;&&&& //PCA计数器启动控制位,写&1&启动东计数器
sbit CCF1&&&&&& =&& CCON^1;&&&& //PCA模块1中断标志,需要用软件清0
sbit CCF0&&&&&& =&& CCON^0;&&&& //PCA模块0中断标志,需要用软件清0
/////////////////////////////////
sfr& CMOD&&&&&& =&& 0xd9;&&&&&& //PCA模式寄存器&&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& CIDL&&& -&&&&&& -&&&&&& -&&&&&& CPS2&&& CPS1&&& CPS0&&& ECF
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=0xxx,0000&&&&& 0&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define CIDL&&&&&&& 0x80&&&&&&& //计时器阵列空闲控制,0:空闲模式下PCA继续工作 1:空闲模式下PCA停止工作
#define PCACLK0&&&& 0x00&&&&&&& //Fosc/12
#define PCACLK1&&&& 0x02&&&&&&& //Fosc/2
#define PCACLK2&&&& 0x04&&&&&&& //定时器0的溢出率
#define PCACLK3&&&& 0x06&&&&&&& //ECI外部时钟
#define PCACLK4&&&& 0x08&&&&&&& //Fosc/1
#define PCACLK5&&&& 0x0a&&&&&&& //Fosc/4
#define PCACLK6&&&& 0x0c&&&&&&& //Fosc/6
#define PCACLK7&&&& 0x0e&&&&&&& //Fosc/8
#define ECF&&&&&&&& 0x01&&&&&&& //PCA计数器溢出中断允许位
/////////////////////////////////
sfr& CCAPM0&&&& =&& 0&&&&&& //PCA模块0模式寄存器&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& ECOM0&& CAPP0&& CAPN0&& MAT0&&& TOG0&&& PWM0&&& ECCF0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=x000,0000&&&&& x&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define PCA0_ECOM&& 0x40&&&&&&& //使能比较器0
#define PCA0_CAPP&& 0x20&&&&&&& //使能PCA模块0的上升沿捕获
#define PCA0_CAPN&& 0x10&&&&&&& //使能PCA模块0的下降沿捕获
#define PCA0_MAT&&& 0x08&&&&&&& //匹配使能,当PCA的计数值与模块0设定的值相匹配时,置CCON.CCF0
#define PCA0_TOG&&& 0x04&&&&&&& //翻转控制位,当PCA的计数值与模块0设定的值相匹配时,翻转CEX0的电平
#define PCA0_PWM&&& 0x02&&&&&&& //脉宽调制模式,使能CEX0为脉宽调制输出口
#define PCA0_ECCF&& 0x01&&&&&&& //使能CCF0中断
/////////////////////////////////
sfr& CCAPM1&&&& =&& 0&&&&&& //PCA模块1模式寄存器&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& ECOM1&& CAPP1&& CAPN1&& MAT1&&& TOG1&&& PWM1&&& ECCF1
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=x000,0000&&&&& x&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
#define PCA1_ECOM&& 0x40&&&&&&& //使能比较器1
#define PCA1_CAPP&& 0x20&&&&&&& //使能PCA模块1的上升沿捕获
#define PCA1_CAPN&& 0x10&&&&&&& //使能PCA模块1的下降沿捕获
#define PCA1_MAT&&& 0x08&&&&&&& //匹配使能,当PCA的计数值与模块1设定的值相匹配时,置CCON.CCF1
#define PCA1_TOG&&& 0x04&&&&&&& //翻转控制位,当PCA的计数值与模块1设定的值相匹配时,翻转CEX1的电平
#define PCA1_PWM&&& 0x02&&&&&&& //脉宽调制模式,使能CEX1为脉宽调制输出口
#define PCA1_ECCF&& 0x01&&&&&&& //使能CCF1中断
/////////////////////////////////
//CCAPM0&& -&& ECOM CAPP CAPN MAT& TOG& PWM& CCF
// 00H&&&& 0&&& 0&&& 0&&& 0&&& 0&&& 0&&& 0&&& 0&&&& 无操作,待机状态
// 42H&&&& 0&&& 1&&& 0&&& 0&&& 0&&& 0&&& 1&&& 0&&&& 8位PWM输出,无中断
// 63H&&&& 0&&& 1&&& 1&&& 0&&& 0&&& 0&&& 1&&& 1&&&& 8位PWM输出,产生CEX0上升沿中断
// 53H&&&& 0&&& 1&&& 0&&& 1&&& 0&&& 0&&& 1&&& 1&&&& 8位PWM输出,产生CEX0下降沿中断
// 73H&&&& 0&&& 1&&& 1&&& 1&&& 0&&& 0&&& 1&&& 1&&&& 8位PWM输出,产生CEX0跳变中断
// 20H&&&& 0&&& x&&& 1&&& 0&&& 0&&& 0&&& 0&&& 0&&&& 16位捕获模式,CEX0上升沿触发捕获
// 10H&&&& 0&&& x&&& 0&&& 1&&& 0&&& 0&&& 0&&& 0&&&& 16位捕获模式,CEX0下降沿触发捕获
// 30H&&&& 0&&& x&&& 1&&& 1&&& 0&&& 0&&& 0&&& 0&&&& 16位捕获模式,CEX0跳变触发捕获
// 48H&&&& 0&&& 1&&& 0&&& 0&&& 1&&& 0&&& 0&&& 0&&&& 16位软件定时器
// 4CH&&&& 0&&& 1&&& 0&&& 0&&& 1&&& 1&&& 0&&& 0&&&& 16位高速脉冲输出
/////////////////////////////////
sfr& CL&&&&&&&& =&& 0xe9;&&&&&& //PCA计数器低8位&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& CH&&&&&&&& =&& 0xf9;&&&&&& //PCA计数器高8位&&&&&&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& CCAP0L&&&& =&& 0&&&&&& //PCA模块0寄存器低8位&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& CCAP1L&&&& =&& 0&&&&&& //PCA模块1寄存器低8位&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& CCAP0H&&&& =&& 0&&&&&& //PCA模块0寄存器高8位&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& CCAP1H&&&& =&& 0&&&&&& //PCA模块1寄存器高8位&& Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& PCA_PWM0&& =&& 0xf2;&&&&&& //PCA0模式PWM辅助寄存器 Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& EPC0H&& EPC0L
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,xx00&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0
/////////////////////////////////
sfr& PCA_PWM1&& =&& 0xf3;&&&&&& //PCA1模式PWM辅助寄存器 Bit7&&& Bit6&&& Bit5&&& Bit4&&& Bit3&&& Bit2&&& Bit1&&& Bit0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //位描述&&&&&&&&&&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& -&&&&&& EPC1H&& EPC1L
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //初始值=xxxx,xx00&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& x&&&&&& 0&&&&&& 0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights Reserved

我要回帖

更多关于 keil stc 的文章

 

随机推荐