找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2648|回复: 0
打印 上一主题 下一主题
收起左侧

stc8单片机汇编用头文件

[复制链接]
跳转到指定楼层
楼主
ID:751718 发表于 2020-5-14 15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. /**************************************************************************
  2. * 文件名称:STC8F.inc
  3. * 修订历史:
  4. * 修订日期:
  5. **************************************************************************/
  6. $SAVE
  7. $NOLIST
  8. /////////////////////////////////////////////////
  9. //STC8系列单片机:-1T8051/8K RAM/64K ROM/12位ADC/8组PWM/I2C/SPI/4串口
  10. //内核特殊功能寄存器
  11.                                           ACC         DATA    0E0H;  //累加器
  12.                                   B           DATA    0F0H;  //B寄存器
  13. ;------------------------------------------------------------------------
  14.                                   PSW         DATA    0D0H;  //程序状态字寄存器
  15.                                   CY          BIT    PSW.7;  
  16.                                   AC          BIT    PSW.6;
  17.                                   F0          BIT    PSW.5;
  18.                                   RS1         BIT    PSW.4;  //-工作寄存器选择位1
  19.                                   RS0         BIT    PSW.3;  //-工作寄存器选择位0
  20.                                           OV          BIT    PSW.2;
  21.                                   P           BIT    PSW.0;
  22. ;------------------------------------------------------------------------
  23.                                   SP          DATA     81H;  //堆栈指针
  24.                                           DPL         DATA     82H;  //数据指针(低字节)
  25.                                   DPH         DATA     83H;  //数据指针(高字节)
  26.                                   TA          DATA    0AEH;  //DPTR时序控制寄存器
  27.                                   DPS         DATA    0E3H;  //DPTR指针选择器
  28.                                   DPL1        DATA    0E4H;  //第二组数据指针(低字节)
  29.                                   DPH1        DATA    0E5H;  //第二组数据指针(高字节)
  30. ;-------------------I/O 口特殊功能寄存器---------------------------------
  31.                                   P0          DATA     80H;  //P0端口
  32.                                   P1          DATA     90H;  //P1端口
  33.                                   P2          DATA    0A0H;  //P2端口
  34.                                   P3          DATA    0B0H;  //P3端口
  35.                                   P4          DATA    0C0H;  //P4端口
  36.                                   P5          DATA    0C8H;  //P5端口
  37.                                   P6          DATA    0E8H;  //P6端口
  38.                                   P7          DATA    0F8H;  //P7端口
  39. ;------------------------------------------------------------------------
  40.                                   P0M0        DATA     94H;  //P0口配置寄存器0
  41.                                   P0M1        DATA     93H;  //P0口配置寄存器1
  42.                                   P1M0        DATA     92H;  //P1口配置寄存器0
  43.                                   P1M1        DATA     91H;  //P1口配置寄存器1
  44.                                   P2M0        DATA     96H;  //P2口配置寄存器0
  45.                                   P2M1        DATA     95H;  //P2口配置寄存器1
  46.                                   P3M0        DATA    0B2H;  //P3口配置寄存器0
  47.                                   P3M1        DATA    0B1H;  //P3口配置寄存器1
  48.                                   P4M0        DATA    0B4H;  //P4口配置寄存器0
  49.                                   P4M1        DATA    0B3H;  //P4口配置寄存器1
  50.                                   P5M0        DATA    0CAH;  //P5口配置寄存器0
  51.                                   P5M1        DATA    0C9H;  //P5口配置寄存器1
  52.                                   P6M0        DATA    0CCH;  //P6口配置寄存器0
  53.                                   P6M1        DATA    0CBH;  //P6口配置寄存器1
  54.                                   P7M0        DATA    0E2H;  //P7口配置寄存器0
  55.                                   P7M1        DATA    0E1H;  //P7口配置寄存器1
  56. ;-----------------------如下特殊功能寄存器位于扩展RAM区域----------------  
  57. ;访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写
  58.                                   P0PU        XDATA 0FE10H   //P0口上拉电阻控制寄存器
  59.                                   P1PU        XDATA 0FE11H   //P1口上拉电阻控制寄存器
  60.                                   P2PU        XDATA 0FE12H   //P2口上拉电阻控制寄存器
  61.                                   P3PU        XDATA 0FE13H   //P3口上拉电阻控制寄存器
  62.                                   P4PU        XDATA 0FE14H   //P4口上拉电阻控制寄存器
  63.                                   P5PU        XDATA 0FE15H   //P5口上拉电阻控制寄存器
  64.                                   P6PU        XDATA 0FE16H   //P6口上拉电阻控制寄存器
  65.                                   P7PU        XDATA 0FE17H   //P7口上拉电阻控制寄存器
  66. ;------------------------------------------------------------------------
  67.                                   P0NCS       XDATA 0FE18H   //P0口施密特触发控制寄存器
  68.                                   P1NCS       XDATA 0FE19H   //P1口施密特触发控制寄存器
  69.                                   P2NCS       XDATA 0FE1AH   //P2口施密特触发控制寄存器
  70.                                          P3NCS       XDATA 0FE1BH   //P3口施密特触发控制寄存器
  71.                                   P4NCS       XDATA 0FE1CH   //P4口施密特触发控制寄存器
  72.                                   P5NCS       XDATA 0FE1DH   //P5口施密特触发控制寄存器
  73.                                   P6NCS       XDATA 0FE1EH   //P6口施密特触发控制寄存器
  74.                                   P7NCS       XDATA 0FE1FH   //P7口施密特触发控制寄存器
  75. ;------------------------------------------------------------------------  
  76.                                 //系统管理特殊功能寄存器
  77.                                   PCON        DATA     87H;  //电源控制寄存器
  78.                                   SMOD        EQU      80H   //-串口1波特率控制位
  79.                                   SMOD0       EQU      40H   //-帧错误检测控制位
  80.                                   LVDF        EQU      20H   //-低压检测标志位
  81.                                   POF         EQU      10H   //-上电标志位
  82.                                   GF1         EQU      08H
  83.                                   GF0         EQU      04H
  84.                                   PD          EQU      02H   //-掉电模式控制位
  85.                                   IDL         EQU      01H   //-IDLE(空闲)模式控制位
  86. ;------------------------------------------------------------------------
  87.                                          AUXR        DATA     8EH    //辅助寄存器
  88.                                  T0x12        EQU     80H    //-定时器0速度控制位
  89.                                  T1x12        EQU     40H    //定时器1速度控制位
  90.                                  UART_M0x6    EQU     20H    //-串口1模式0的通讯速度控制位
  91.                                  T2R          EQU     10H    //-定时器2的运行控制位
  92.                                  T2_CT        EQU     08H    //-定时器0用作定时器或计数器控制位
  93.                                  T2x12        EQU     04H    //-定时器2速度控制位
  94.                                  EXTRAM       EQU     02H    //-扩展RAM访问控制位
  95.                                  S1ST2        EQU     01H    //-串口1波特率发射器选择位
  96. ;------------------------------------------------------------------------
  97.                                  AUXR2        DATA    97H;   //辅助寄存器2
  98.                                  TXLNRX       EQU     10H   //-串口1中继广播方式控制位
  99. ;------------------------------------------------------------------------
  100.                                  BUS_SPEED    DATA    0A1H;  //总线速度控制寄存器
  101.                                  P_SW1        DATA    0A2H;  //外设端口切换寄存器1
  102. ;------------------------------------------------------------------------
  103.                                  P_SW2        DATA    0BAH;  //外设端口切换寄存器2
  104.                                  EAXFR        EQU      80H
  105. ;------------------------------------------------------------------------
  106.                                  VOCTRL       DATA    0BBH;  //电压控制寄存器
  107.                                  RSTCFG       DATA    0FFH;  //复位配置寄存器
  108.                                  LVD2V0       EQU     00H      ;LVD@2.0V
  109.                                  LVD2V4       EQU     01H      ;LVD@2.4V
  110.                                  LVD2V7       EQU     02H      ;LVD@2.7V
  111.                                  LVD3V0       EQU     03H      ;LVD@3.0V
  112. ;------------------------------------------------------------------------   
  113. ;如下特殊功能寄存器位于扩展RAM区域
  114. ;访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写
  115.                                  CKSEL        XDATA 0FE00H  //时钟选择寄存器
  116.                                  CKDIV        XDATA 0FE01H  //时钟分频寄存器
  117.                                  IRC24MCR     XDATA 0FE02H  //内部24M振荡器控制寄存器
  118.                                  XOSCCR       XDATA 0FE03H  //外部晶振控制寄存器
  119.                                  IRC32KCR     XDATA 0FE04H  //内部32K振荡器控制寄存器
  120. ;------------------------------------------------------------------------       
  121.                                 //中断特殊功能寄存器
  122.                                  IE            DATA    0A8H  //中断允许寄存器
  123.                                  EA            BIT     IE.7  //-总中断允许控制位
  124.                                  ELVD          BIT     IE.6  //-低压检测中断允许位
  125.                                  EADC          BIT     IE.5  //-A/D转换中断允许位
  126.                                  ES            BIT     IE.4  //-串行口1中断允许位
  127.                                  ET1           BIT     IE.3  //-定时/计数器T1的溢出中断允许位
  128.                                  EX1           BIT     IE.2  //-外部中断1中断允许位
  129.                                  ET0           BIT     IE.1  //-定时/计数器T0的溢出中断允许位
  130.                                  EX0           BIT     IE.0  //-外部中断0中断允许位
  131. ;------------------------------------------------------------------------
  132.                                  IE2           DATA    0AFH  //中断允许寄存器2
  133.                                  ET4           EQU      40H  //-定时/计数器T4的溢出中断允许位
  134.                                  ET3           EQU      20H  //-定时/计数器T3的溢出中断允许位
  135.                                  ES4           EQU      10H  //-串行口4中断允许位
  136.                                  ES3           EQU      08H  //-串行口3中断允许位
  137.                                          ET2           EQU      04H  //定时/计数器T2的溢出中断允许位
  138.                                  ESPI          EQU      02H  //SPI中断允许位
  139.                                  ES2           EQU      01H  //串行口2中断允许位
  140. ;------------------------------------------------------------------------
  141.                                  IP            DATA    0B8H; //中断优先级控制寄存器
  142.                                  PPCA          BIT     IP.7; //-CCP/PCA中断优先级控制位
  143.                                  PLVD          BIT     IP.6; //-低压检测中断优先级控制位
  144.                                  PADC          BIT     IP.5; //-ADC中断优先级控制位
  145.                                  PS            BIT     IP.4; //-串口1中断优先级控制位
  146.                                  PT1           BIT     IP.3; //-定时器1中断优先级控制位
  147.                                  PX1           BIT     IP.2; //-外部中断1中断优先级控制位
  148.                                  PT0           BIT     IP.1; //-定时器0中断优先级控制位
  149.                                  PX0           BIT     IP.0; //-外部中断0中断优先级控制位
  150. ;------------------------------------------------------------------------
  151.                                          IP2           DATA    0B5H  //中断优先级控制寄存器2
  152.                                  PI2C          EQU     40H   //-I2C中断优先级控制位
  153.                                          PCMP        EQU     20H   //-比较器中断优先级控制位
  154.                                  PX4           EQU     10H   //-外部中断4中断优先级控制位
  155.                                  PPWMFD  EQU     08H   //-强型PWM异常检测中断优先级控制位
  156.                                  PPWM      EQU     04H   //-增强型PWM中断优先级控制位
  157.                                  PSPI          EQU     02H   //-SPI中断优先级控制位
  158.                                  PS2           EQU     01H   //-串口2中断优先级控制位
  159. ;------------------------------------------------------------------------
  160.                                  IPH           DATA    0B7H  //高中断优先级控制寄存器
  161.                                  PPCAH      EQU     80H   //-CCP/PCA中断优先级控制位
  162.                                  PLVDH      EQU     40H   //-低压检测中断优先级控制位
  163.                                  PADCH      EQU     20H   //-ADC中断优先级控制位
  164.                                  PSH           EQU     10H   //-串口1中断优先级控制位
  165.                                  PT1H         EQU     08H   //-定时器1中断优先级控制位
  166.                                  PX1H         EQU     04H   //-外部中断1中断优先级控制位
  167.                                  PT0H         EQU     02H   //-定时器0中断优先级控制位
  168.                                  PX0H         EQU     01H   //-外部中断0中断优先级控制位
  169. ;--------------------------------------------------------------------------
  170.                                  IP2H             DATA    0B6H; //高中断优先级控制寄存器2
  171.                                  PI2CH           EQU     40H   //-I2C中断优先级控制位
  172.                                  PCMPH         EQU     20H   //-比较器中断优先级控制位
  173.                                  PX4H            EQU     10H   //-外部中断4中断优先级控制位
  174.                                  PPWMFDH   EQU     08H   //-增强型PWM异常检测中断优先级控制位
  175.                                  PPWMH        EQU     04H   //-增强型PWM中断优先级控制位
  176.                                  PSPIH           EQU     02H   //-SPI中断优先级控制位
  177.                                  PS2H            EQU     01H   //-串口2中断优先级控制位
  178. ;---------------------------------------------------------------------------
  179. //                                     7    6    5    4    3     2       1       0      Reset Value
  180. //INT_CLKO:  中断与时钟输出控制寄存器  -   EX4  EX3  EX2   -   T2CLKO  T1CLKO  T0CLKO    0000,0000
  181.                                  INTCLKO       DATA    8FH; //中断与时钟输出控制寄存器
  182.                                  EX4              EQU     40H  //-外部中断4中断允许位
  183.                                  EX3              EQU     20H  //-外部中断3中断允许位
  184.                                  EX2              EQU     10H  //-外部中断2中断允许位
  185.                                  T2CLKO        EQU     04H  //-定时器2时钟输出控制
  186.                                  T1CLKO        EQU     02H  //-定时器1时钟输出控制
  187.                                  T0CLKO        EQU     01H  //-定时器0时钟输出控制
  188. ;----------------------------------------------------------------------------
  189. //                               7    6       5       4      3    2     1     0      Reset Value
  190. //AUXINTIF:  辅助中断标志寄存器  -  INT4IF  INT3IF  INT2IF   -   T4IF  T3IF  T2IF    0000,0000
  191.                                  AUXINTIF      DATA    0EFH; //扩展外部中断标志寄存器
  192.                                  INT4IF           EQU     40H  //-外部中断4中断请求标志
  193.                                  INT3IF           EQU     20H  //外部中断3中断请求标志
  194.                                  INT2IF           EQU     10H  //外部中断2中断请求标志
  195.                                  T4IF              EQU     04H  //-定时器4溢出中断标志
  196.                                  T3IF              EQU     02H  //-定时器3溢出中断标志
  197.                                  T2IF              EQU     01H  //-定时器2溢出中断标志
  198. ;-----------------------------------------------------------------------------       
  199.                                 //定时器特殊功能寄存器
  200.                                     TCON          DATA     88H; //定时器控制寄存器
  201.                                  TF1           BIT   TCON.7; //-T1溢出中断标志
  202.                                  TR1           BIT   TCON.6; //-定时器T1的运行控制位
  203.                                          TF0           BIT   TCON.5; //-T0溢出中断标志
  204.                                  TR0           BIT   TCON.4; //-定时器T0的运行控制位
  205.                                  IE1            BIT   TCON.3; //-外部中断1请求源(INT1/P3.3)标志
  206.                                  IT1            BIT   TCON.2; //-外部中断源1触发控制位
  207.                                  IE0            BIT   TCON.1; //-外部中断0请求源(INT0/P3.2)标志
  208.                                  IT0            BIT   TCON.0; //-外部中断源0触发控制位
  209. ;-----------------------------------------------------------------------------
  210.                                  TMOD          DATA     89H; //定时器模式寄存器
  211.                                  T1_GATE       EQU      80H  //-控制定时器
  212.                                  T1_CT           EQU      40H  //-控制定时器1用作定时器或计数器
  213.                                  T1_M1          EQU      20H  //定时器定时器/计数器1模式选择1
  214.                                  T1_M0          EQU      10H  //定时器定时器/计数器1模式选择0
  215.                                  T0_GATE       EQU      08H  //-控制定时器0
  216.                                  T0_CT           EQU      04H  //-控制定时器0用作定时器或计数器
  217.                                  T0_M1          EQU      02H  //定时器定时器/计数器0模式选择1
  218.                                  T0_M0          EQU      01H  //定时器定时器/计数器0模式选择0
  219. ;-----------------------------------------------------------------------------
  220.                                  TL0           DATA     8AH; //定时器0低8位寄存器
  221.                                  TL1           DATA     8BH; //定时器1低8位寄存器
  222.                                  TH0           DATA     8CH; //定时器0高8位寄存器
  223.                                  TH1           DATA     8DH; //定时器1高8位寄存器
  224. ;------------------------------------------------------------------------------
  225.                                  T4T3M         DATA    0D1H; //定时器4/3控制寄存器
  226.                                  T4R                EQU      80H  //-定时器4的运行控制位
  227.                                  T4_CT             EQU      40H  //-控制定时器4用作定时器或计数器
  228.                                  T4x12             EQU      20H  //-定时器4速度控制位
  229.                                  T4CLKO          EQU      10H  //-定时器4时钟输出控制
  230.                                  T3R                 EQU      08H  //-定时器3的运行控制位
  231.                                  T3_CT             EQU      04H  //-控制定时器3用作定时器或计数器
  232.                                  T3x12             EQU      02H  //-定时器3速度控制位
  233.                                  T3CLKO          EQU      01H  //-定时器3时钟输出控制
  234. ;-----------------------------------------------------------------------------
  235.                                  T4H           DATA    0D2H; //定时器4高字节
  236.                                  T4L            DATA    0D3H; //定时器4低字节
  237.                                  T3H           DATA    0D4H; //定时器3高字节
  238.                                  T3L            DATA    0D5H; //定时器3低字节
  239.                                  T2H           DATA    0D6H; //定时器2高字节
  240.                                  T2L            DATA    0D7H; //定时器2低字节
  241.                                  TH4           DATA    0D2H;
  242.                                  TL4            DATA    0D3H;
  243.                                  TH3           DATA    0D4H;
  244.                                  TL3            DATA    0D5H;
  245.                                  TH2           DATA    0D6H;
  246.                                  TL2            DATA    0D7H;
  247. ;------------------------------------------------------------------------------
  248.                                  WKTCL         DATA    0AAH; //掉电唤醒定时器低字节
  249.                                  WKTCH         DATA    0ABH; //掉电唤醒定时器高字节
  250.                                          WKTEN         EQU     80H  //-掉电唤醒定时器的使能控制位
  251. ;------------------------------------------------------------------------
  252.                                        WDT_CONTR     DATA    0C1H; //看门狗控制寄存器
  253.                                  WDT_FLAG      EQU      80H  //-看门狗溢出标志
  254.                                            EN_WDT        EQU      20H  //-看门狗使能位
  255.                                   CLR_WDT       EQU      10H  //-看门狗定时器清零
  256.                                    IDL_WDT       EQU      08H  //-IDLE模式时的看门狗控制位
  257. ;-------------------------------------------------------------------------------       
  258.                                 //串行口特殊功能寄存器
  259.                                       SCON          DATA     98H; //串口1控制寄存器
  260.                                  SM0           BIT   SCON.7; //-串口1的通信工作模式控制0
  261.                                  SM1           BIT   SCON.6; //-串口1的通信工作模式控制1
  262.                                  SM2           BIT   SCON.5; //-允许模式2或模式3多机通信控制位
  263.                                  REN            BIT   SCON.4; //-允许/禁止串口接收控制位
  264.                                  TB8            BIT   SCON.3; //-当串口1使用模式2或模式3时,TB8为要发送的第9位数据
  265.                                  RB8            BIT   SCON.2; //-当串口1使用模式2或模式3时,RB8为接收到的第9位数据
  266.                                  TI               BIT   SCON.1; //-串口1发送中断请求标志位
  267.                                  RI              BIT   SCON.0; //-串口1接收中断请求标志位
  268. ;-------------------------------------------------------------------------------
  269.                                       SBUF          DATA     99H; //串口1数据寄存器
  270. ;-------------------------------------------------------------------------------
  271.                                         S2CON          DATA     9AH; //串口2控制寄存器
  272.                                         S2SM0          EQU      80H  //-串口2的通信工作模式控制位
  273.                                  S2ST4           EQU      40H
  274.                                  S2SM2         EQU      20H  //-允许串口2在模式1时允许多机通信控制位
  275.                                  S2REN          EQU      10H  //-串口2允许/禁止串口接收控制位
  276.                                  S2TB8           EQU      08H  //-当串口2使用模式1时,S2TB8为要发送的第9位数据
  277.                                  S2RB8          EQU      04H  //-当串口2使用模式1时,S2RB8为接收到的第9位数据
  278.                                  S2TI              EQU      02H  //-串口2发送中断请求标志位
  279.                                  S2RI             EQU      01H  //-串口2接收中断请求标志位
  280. ;------------------------------------------------------------------------------
  281.                                 S2BUF         DATA     9BH; //串口2数据寄存器
  282. ;-------------------------------------------------------------------------------
  283.                                          S3CON         DATA    0ACH; //串口3控制寄存器
  284.                                  S3SM0         EQU      80H  //-串口3的通信工作模式控制位
  285.                                  S3ST4          EQU      40H
  286.                                  S3SM2         EQU      20H  //-允许串口3在模式1时允许多机通信控制位
  287.                                  S3REN         EQU      10H  //-串口3允许/禁止串口接收控制位
  288.                                           S3TB8         EQU      08H  //-当串口3使用模式1时,S3TB8为要发送的第9位数据
  289.                                  S3RB8         EQU      04H  //-当串口3使用模式1时,S3RB8为接收到的第9位数据
  290.                                  S3TI            EQU      02H  //-串口3发送中断请求标志位
  291.                                  S3RI            EQU      01H  //-串口3接收中断请求标志位
  292. ;--------------------------------------------------------------------------------
  293.                                  S3BUF         DATA    0ADH; //串口3数据寄存器
  294. ;--------------------------------------------------------------------------------
  295.                                  S4CON         DATA     84H; //串口4控制寄存器
  296.                                  S4SM0          EQU      80H  //-串口4的通信工作模式控制位
  297.                                  S4ST4           EQU      40H  //-选择串口4的波特率发生器
  298.                                  S4SM2         EQU      20H  //-允许串口4在模式1时允许多机通信控制位
  299.                                  S4REN          EQU      10H  //-串口4允许/禁止串口接收控制位
  300.                                  S4TB8          EQU      08H  //-当串口4使用模式1时,S3TB8为要发送的第9位数据
  301.                                  S4RB8         EQU      04H  //-当串口4使用模式1时,S3RB8为接收到的第9位数据
  302.                                  S4TI            EQU      02H  //-串口4发送中断请求标志位
  303.                                  S4RI            EQU      01H  //-串口4接收中断请求标志位
  304. ;--------------------------------------------------------------------------------
  305.                                  S4BUF         DATA     85H; //串口4数据寄存器
  306.                                  SADDR         DATA    0A9H; //串口1从机地址寄存器
  307.                                  SADEN         DATA    0B9H; //串口1从机地址屏蔽寄存器
  308. ;--------------------------------------------------------------------------------       
  309.                                 //ADC 特殊功能寄存器
  310.                                  ADC_CONTR     DATA    0BCH; //ADC控制寄存器
  311.                                  ADC_POWER     EQU      80H  //-ADC电源控制位
  312.                                  ADC_START       EQU      40H  //-ADC转换启动控制位
  313.                                  ADC_FLAG        EQU      20H  //-ADC转换完成中断请求标志
  314. ;------------------------------------------------------------------------
  315.                                  ADC_RES           DATA    0BDH  //ADC转换结果高位寄存器
  316.                                  ADC_RESL         DATA    0BEH  //ADC转换结果低位寄存器
  317.                                  ADCCFG            DATA    0DEH  //ADC配置寄存器
  318.                                  ADC_RESFMT    EQU     20H   //-ADC转换结果格式控制位
  319. ;--------------------------------------------------------------------------------       
  320.                                 //SPI 特殊功能寄存器
  321.                                  SPSTAT        DATA    0CDH; //SPI状态寄存器
  322.                                  SPIF             EQU      80H  //-SPI中断标志位
  323.                                  WCOL          EQU      40H  //-SPI写冲突标志位
  324.                                  SPCTL          DATA     0CEH; //SPI控制寄存器
  325.                                  SSIG            EQU      80H  //-SS引脚功能控制位
  326.                                  SPEN           EQU      40H  //-SPI使能控制位
  327.                                  DORD          EQU      20H  //-SPI数据位发送/接收的顺序
  328.                                  MSTR          EQU      10H  //-器件主/从模式选择位
  329.                                  CPOL          EQU      08H  //-SPI时钟极性控制
  330.                                  CPHA          EQU      04H  //-SPI时钟相位控制
  331.                                  SPDAT         DATA    0CFH; //数据寄存器
  332. ;--------------------------------------------------------------------------------       
  333.                                 //IAP/ISP 特殊功能寄存器
  334.                                  IAP_DATA        DATA    0C2H; //IAP数据寄存器
  335.                                  IAP_ADDRH     DATA    0C3H; //IAP高地址寄存器
  336.                                  IAP_ADDRL     DATA    0C4H; //IAP低地址寄存器
  337. ;------------------------------------------------------------------------
  338.                                  IAP_CMD       DATA    0C5H; //IAP命令寄存器
  339.                                  IAP_IDL         EQU      00H  //IAP_空操作
  340.                                  IAP_READ      EQU      01H  //IAP_读
  341.                                  IAP_WRITE     EQU      02H  //IAP_写
  342.                                  IAP_ERASE     EQU      03H  //IAP_擦除
  343. ;------------------------------------------------------------------------
  344.                                  IAP_TRIG         DATA    0C6H; //IAP触发寄存器
  345.                                  IAP_CONTR     DATA    0C7H; //IAP控制寄存器
  346.                                  IAPEN              EQU      80H  //-EEPROM操作使能控制位
  347.                                  SWBS              EQU      40H  //-软件复位选择控制位
  348.                                  SWRST            EQU      20H  //-软件复位控制位
  349.                                  CMD_FAIL       EQU      10H  //-EEPROM操作失败状态位
  350.                                  ISP_DATA        DATA    0C2H; //ISP数据寄存器
  351.                                  ISP_ADDRH     DATA    0C3H; //ISP高地址寄存器
  352.                                  ISP_ADDRL      DATA    0C4H; //ISP低地址寄存器
  353.                                  ISP_CMD         DATA    0C5H; //ISP命令寄存器
  354.                                  ISP_TRIG         DATA    0C6H; //ISP触发寄存器
  355.                                  ISP_CONTR     DATA    0C7H; //ISP控制寄存器
  356. ;------------------------------------------------------------------------------       
  357.                                 //比较器特殊功能寄存器
  358.                                  CMPCR1          DATA    0E6H; //比较器控制寄存器1
  359.                                  CMPEN           EQU      80H  //-比较器模块使能位
  360.                                  CMPIF             EQU      40H  //-比较器中断标志位
  361.                                  PIE                  EQU      20H  //-比较器上升沿中断使能位
  362.                                  NIE                 EQU      10H  //-比较器下降沿中断使能位
  363.                                  PIS                 EQU      08H  //-比较器的正极选择位
  364.                                  NIS                EQU      04H  //-比较器的负极选择位
  365.                                  CMPOE          EQU      02H  //-比较器结果输出控制位
  366.                                  CMPRES        EQU      01H  //-比较器的比较结果
  367. ;------------------------------------------------------------------------
  368.                                  CMPCR2         DATA     0E7H; //比较器控制寄存器2
  369.                                  INVCMPO       EQU      80H  //-比较器结果输出控制
  370.                                  DISFLT            EQU      40H  //-模拟滤波功能控制
  371. ;-------------------------------------------------------------------------------       
  372.                                 //PCA/PWM 特殊功能寄存器
  373.                                  CCON          DATA    0D8H  //PCA控制寄存器
  374.                                  CF               BIT   CCON.7  //-PCA计数器溢出中断标志
  375.                                  CR               BIT   CCON.6  //-PCA计数器允许控制位
  376.                                  CCF3           BIT   CCON.3  //-PCA模块3中断请求标志
  377.                                  CCF2           BIT   CCON.2  //-PCA模块2中断请求标志
  378.                                  CCF1           BIT   CCON.1  //-PCA模块1中断请求标志
  379.                                  CCF0           BIT   CCON.0  //-PCA模块0中断请求标志
  380. ;-------------------------------------------------------------------------------
  381.                                       CMOD          DATA    0D9H  //PCA模式寄存器
  382.                                  CIDL          EQU      80H  //-空闲模式下是否停止PCA计数
  383.                                  ECF           EQU      01H  //PCA计数器溢出中断允许位
  384. ;------------------------------------------------------------------------
  385.                                           CL            DATA    0E9H; //PCA计数器低字节
  386.                                  CH            DATA    0F9H; //PCA计数器高字节
  387. ;-------------------------------------------------------------------------------
  388.                                  CCAPM0        DATA    0DAH; //PCA模块0模式控制寄存器
  389.                                  ECOM0          EQU      40H  //允许PCA模块0的比较功能
  390.                                  CCAPP0         EQU      20H  //允许PCA模块0进行上升沿捕获
  391.                                  CCAPN0        EQU      10H  //允许PCA模块0进行下降沿捕获
  392.                                  MAT0           EQU      08H  //允许PCA模块0的匹配功能
  393.                                  TOG0           EQU      04H  //允许PCA模块0的高速脉冲输出功能
  394.                                  PWM0          EQU      02H  //允许PCA模块0的脉宽调制输出功能
  395.                                  ECCF0          EQU      01H  //允许PCA模块0的匹配/捕获中断
  396. ;------------------------------------------------------------------------
  397.                                        CCAPM1        DATA    0DBH; //PCA模块1模式控制寄存器
  398.                                  ECOM1         EQU      40H  //允许PCA模块1的比较功能
  399.                                  CCAPP1        EQU      20H  //允许PCA模块1进行上升沿捕获
  400.                                  CCAPN1        EQU      10H  //允许PCA模块1进行下降沿捕获
  401.                                  MAT1           EQU      08H  //允许PCA模块1的匹配功能
  402.                                  TOG1           EQU      04H  //允许PCA模块1的高速脉冲输出功能
  403.                                  PWM1          EQU      02H  //允许PCA模块1的脉宽调制输出功能
  404.                                  ECCF1          EQU      01H  //允许PCA模块1的匹配/捕获中断
  405. ;------------------------------------------------------------------------
  406.                                        CCAPM2        DATA    0DCH; //PCA模块2模式控制寄存器
  407.                                  ECOM2         EQU      40H  //允许PCA模块2的比较功能
  408.                                  CCAPP2        EQU      20H  //允许PCA模块2进行上升沿捕获
  409.                                  CCAPN2        EQU      10H  //允许PCA模块2进行下降沿捕获
  410.                                  MAT2           EQU      08H  //允许PCA模块2的匹配功能
  411.                                  TOG2            EQU      04H  //允许PCA模块2的高速脉冲输出功能
  412.                                  PWM2          EQU      02H  //允许PCA模块2的脉宽调制输出功能
  413.                                  ECCF2          EQU      01H  //允许PCA模块2的匹配/捕获中断
  414. ;------------------------------------------------------------------------
  415.                                  CCAPM3        DATA    0DDH; //PCA模块3模式控制寄存器
  416.                                  ECOM3         EQU      40H  //-允许PCA模块3的比较功能
  417.                                  CCAPP3        EQU      20H  //-允许PCA模块3进行上升沿捕获
  418.                                  CCAPN3        EQU      10H  //-允许PCA模块3进行下降沿捕获
  419.                                  MAT3          EQU      08H  //-允许PCA模块3的匹配功能
  420.                                  TOG3          EQU      04H  //-允许PCA模块3的高速脉冲输出功能
  421.                                  PWM3          EQU      02H  //-允许PCA模块3的脉宽调制输出功能
  422.                                  ECCF3         EQU      01H  //-允许PCA模块3的匹配/捕获中断
  423. ;------------------------------------------------------------------------
  424.                                  CCAP0L        DATA    0EAH  //PCA模块0低字节
  425.                                  CCAP1L        DATA    0EBH  //PCA模块1低字节
  426.                                  CCAP2L        DATA    0ECH  //PCA模块2低字节
  427.                                  CCAP3L        DATA    0EDH  //PCA模块3低字节
  428.                                  CCAP0H        DATA    0FAH  //PCA模块0高字节
  429.                                  CCAP1H        DATA    0FBH  //PCA模块1高字节
  430.                                  CCAP2H        DATA    0FCH  //PCA模块2高字节
  431.                                  CCAP3H        DATA    0FDH  //PCA模块3高字节
  432.                                  PCA_PWM0      DATA    0F2H  //PCA0的PWM模式寄存器
  433.                                  PCA_PWM1      DATA    0F3H  //PCA1的PWM模式寄存器
  434.                                  PCA_PWM2      DATA    0F4H  //PCA2的PWM模式寄存器
  435.                                  PCA_PWM3      DATA    0F5H  //PCA3的PWM模式寄存器
  436.                                
  437. ;--------------------增强型PWM波形发生器特殊功能寄存器------------------------------------
  438.                              PWMCFG        DATA    0F1H; //PWM计数器
  439.                                  CBIF          EQU      80H  //-增强型PWM计数器中断请求标志
  440.                                  ETADC         EQU      40H  //-PWM是否与ADC关联
  441. ;------------------------------------------------------------------------
  442.                                  PWMIF         DATA    0F6H; //增强型PWM中断标志寄存器
  443.                                  C7IF          EQU      80H  //增强型PWM通道7中断请求标志(需要软件清零)
  444.                                  C6IF          EQU      40H  //增强型PWM通道6中断请求标志(需要软件清零)
  445.                                  C5IF          EQU      20H  //增强型PWM通道5中断请求标志(需要软件清零)
  446.                                  C4IF          EQU      10H  //增强型PWM通道4中断请求标志(需要软件清零)
  447.                              C3IF          EQU      08H  //增强型PWM通道3中断请求标志(需要软件清零)
  448.                                  C2IF          EQU      04H  //增强型PWM通道2中断请求标志(需要软件清零)
  449.                                  C1IF          EQU      02H  //增强型PWM通道1中断请求标志(需要软件清零)
  450.                                  C0IF          EQU      01H  //增强型PWM通道0中断请求标志(需要软件清零)
  451. ;------------------------------------------------------------------------
  452.                                  PWMFDCR       DATA    0F7H; //PWM异常检测控制寄存器
  453.                                  INVCMP        EQU      80H  //-比较器器结果异常信号处理
  454.                                  INVIO         EQU      40H  //-外部端口P3.5异常信号处理
  455.                                  ENFD          EQU      20H  //-PWM外部异常检测控制位
  456.                                  FLTFLIO       EQU      10H  //-发生PWM外部异常时对PWM输出口控制位
  457.                                  EFDI          EQU      08H  //-PWM异常检测中断使能位
  458.                                  FDCMP         EQU      04H  //-比较器输出异常检测使能位
  459.                                  FDIO          EQU      02H  //-P3.5口电平异常检测使能位
  460.                                  FDIF          EQU      01H  //-增强型PWM异常检测中断请求标志
  461. ;------------------------------------------------------------------------
  462.                              PWMCR         DATA    0FEH  //PWM控制寄存器
  463.                                  ENPWM         EQU      80H  //-增强型PWM波形发生器使能位
  464.                                  ECBI          EQU      40H  //-PWM计数器归零中断使能位
  465. ;-----------------------------------------------------------------------------------------       
  466. ;如下特殊功能寄存器位于扩展RAM区域
  467. ;访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写
  468.                                  PWMC          XDATA 0FFF0H  //PWM计数器
  469.                                  PWMCH         XDATA 0FFF0H  //PWM计数器高字节
  470.                                  PWMCL         XDATA 0FFF1H  //PWM计数器低字节
  471.                                  PWMCKS        XDATA 0FFF2H  //PWM时钟选择
  472.                                  TADCP         XDATA 0FFF3H  //触发ADC计数值
  473.                                  TADCPH        XDATA 0FFF3H  //触发ADC计数值高字节
  474.                                  TADCPL        XDATA 0FFF4H  //触发ADC计数值低字节
  475.                                  PWM0T1        XDATA 0FF00H  //PWM0T1计数值
  476.                                  PWM0T1H       XDATA 0FF00H  //PWM0T1计数值高字节
  477.                                  PWM0T1L       XDATA 0FF01H  //PWM0T1计数值低字节
  478.                                  PWM0T2        XDATA 0FF02H  //PWM0T2数值
  479.                                  PWM0T2H       XDATA 0FF02H  //PWM0T2数值高字节
  480.                                  PWM0T2L       XDATA 0FF03H  //PWM0T2数值低字节
  481.                                  PWM0CR        XDATA 0FF04H  //PWM0控制寄存器
  482.                                  PWM0HLD       XDATA 0FF05H  //PWM0电平保持控制寄存器
  483.                                  PWM1T1        XDATA 0FF10H  //PWM1T1计数值
  484.                                  PWM1T1H       XDATA 0FF10H  //PWM1T1计数值高字节
  485.                                  PWM1T1L       XDATA 0FF11H  //PWM1T1计数值低字节
  486.                                  PWM1T2        XDATA 0FF12H  //PWM1T2数值
  487.                                  PWM1T2H       XDATA 0FF12H  //PWM1T2数值高字节
  488.                                  PWM1T2L       XDATA 0FF13H  //PWM1T2数值低字节
  489.                                  PWM1CR        XDATA 0FF14H  //PWM1控制寄存器
  490.                                  PWM1HLD       XDATA 0FF15H  //PWM1电平保持控制寄存器
  491.                                  PWM2T1        XDATA 0FF20H  //PWM2T1计数值
  492.                                  PWM2T1H       XDATA 0FF20H  //PWM2T1计数值高字节
  493.                                  PWM2T1L       XDATA 0FF21H  //PWM2T1计数值低字节
  494.                                  PWM2T2        XDATA 0FF22H  //PWM2T2数值
  495.                                  PWM2T2H       XDATA 0FF22H  //PWM2T2数值高字节
  496.                                  PWM2T2L       XDATA 0FF23H  //PWM2T2数值低字节
  497.                              PWM2CR        XDATA 0FF24H  //PWM2控制寄存器
  498.                                  PWM2HLD       XDATA 0FF25H  //PWM2电平保持控制寄存器
  499.                                  PWM3T1        XDATA 0FF30H  //PWM3T1计数值
  500.                                  PWM3T1H       XDATA 0FF30H  //PWM3T1计数值高字节
  501.                                  PWM3T1L       XDATA 0FF31H  //PWM3T1计数值低字节
  502.                                  PWM3T2        XDATA 0FF32H  //PWM3T2数值
  503.                                  PWM3T2H       XDATA 0FF32H  //PWM3T2数值高字节
  504.                                  PWM3T2L       XDATA 0FF33H  //PWM3T2数值低字节
  505.                                  PWM3CR        XDATA 0FF34H  //PWM3控制寄存器
  506.                                  PWM3HLD       XDATA 0FF35H  //PWM3电平保持控制寄存器
  507.                                  PWM4T1        XDATA 0FF40H  //PWM4T1计数值
  508.                                  PWM4T1H       XDATA 0FF40H  //PWM4T1计数值高字节
  509.                                  PWM4T1L       XDATA 0FF41H  //PWM4T1计数值低字节
  510.                                  PWM4T2        XDATA 0FF42H  //PWM4T2数值
  511.                                  PWM4T2H       XDATA 0FF42H  //PWM4T2数值高字节
  512.                                  PWM4T2L       XDATA 0FF43H  //PWM4T2数值低字节
  513.                                  PWM4CR        XDATA 0FF44H  //PWM4控制寄存器
  514.                                  PWM4HLD       XDATA 0FF45H  //PWM4电平保持控制寄存器
  515.                                  PWM5T1        XDATA 0FF50H  //PWM5T1计数值
  516.                                  PWM5T1H       XDATA 0FF50H  //PWM5T1计数值高字节
  517.                                  PWM5T1L       XDATA 0FF51H  //PWM5T1计数值低字节
  518. ……………………

  519. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码


STC8,INC.zip

6.56 KB, 下载次数: 8, 下载积分: 黑币 -5

ST8H汇编头文件

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表