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

📄 fourchannel.lst

📁 89V51RD2单片机驱动步进电机带动一个测速的四通道光电传感器,分析传感器四个通道是否正常,并在12864的显示屏上显示并用TP微打根据屏幕显示的打印.内附ProtelPCB板并已成功制作样机两台.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 137      =1  sbit  T0      =   P3^4;
 138      =1  sbit  INT1    =   P3^3;
 139      =1  sbit  INT0    =   P3^2;
 140      =1  sbit  TXD     =   P3^1;
 141      =1  sbit  RXD     =   P3^0;
 142      =1  
 143      =1  
 144      =1  sfr  AUXR    =   0x8E;                   
 145      =1  
 146      =1  sfr  SADEN   =   0xB9;                   
 147      =1  
 148      =1  sfr  SADEN_1 =   0xBA;                    
 149      =1  
 150      =1  sfr  IPH     =   0xB7;                       
 151      =1  sfr  IPH0    =   0xB7;
 152      =1  
 153      =1  sfr  IPL     =   0xB8;                       
 154      =1  sfr  IPL0    =   0xB8;  
 155      =1  
 156      =1  sbit PPC  = IPL^6;
 157      =1  sbit PT2  = IPL^5;
 158      =1  sbit PS   = IPL^4;
 159      =1  sbit PT1  = IPL^3;
 160      =1  sbit PX1  = IPL^2;
 161      =1  sbit PT0  = IPL^1;
 162      =1  sbit PX0  = IPL^0;
 163      =1  
 164      =1  sfr  T2CON   =   0xC8;             
 165      =1  
 166      =1  sbit  TF2    =   T2CON^7;
 167      =1  sbit  EXF2   =   T2CON^6;
 168      =1  sbit  RCLK   =   T2CON^5;
 169      =1  sbit  TCLK   =   T2CON^4;
 170      =1  sbit  EXEN2  =   T2CON^3;
 171      =1  sbit  TR2    =   T2CON^2;
 172      =1  sbit  CT2    =   T2CON^1;
 173      =1  sbit  CPRL2  =   T2CON^0;
 174      =1  
 175      =1  sfr  T2MOD   =   0xC9;                   
 176      =1  
 177      =1  sfr  RCAP2L  =   0xCA;                   
 178      =1  sfr  RCAP2H  =   0xCB;                   
 179      =1  sfr  TL2     =   0xCC;                   
 180      =1  sfr  TH2     =   0xCD;                   
 181      =1  
 182      =1  sfr  BDRCON  =   0x9B;                   
 183      =1  
 184      =1  sfr  BDRCON_1  =   0x9C;                         
 185      =1  
 186      =1  
 187      =1  sfr  PSW     =   0xD0;                   
 188      =1  sbit  CY     =   PSW^7;
 189      =1  sbit  AC     =   PSW^6;
 190      =1  sbit  F0     =   PSW^5;
 191      =1  sbit  RS1    =   PSW^4;
 192      =1  sbit  RS0    =   PSW^3;
 193      =1  sbit  OV     =   PSW^2;
 194      =1  sbit  UD     =   PSW^1;
 195      =1  sbit  P      =   PSW^0;
 196      =1  
 197      =1  sfr  CCON    =   0xD8;                   
 198      =1  
C51 COMPILER V7.50   FOURCHANNEL                                                           08/28/2005 08:07:34 PAGE 5   

 199      =1  sbit  CF      =   CCON^7;
 200      =1  sbit  CR      =   CCON^6;
 201      =1  sbit  CCF4    =   CCON^4;
 202      =1  sbit  CCF3    =   CCON^3;
 203      =1  sbit  CCF2    =   CCON^2;
 204      =1  sbit  CCF1    =   CCON^1;
 205      =1  sbit  CCF0    =   CCON^0;
 206      =1  
 207      =1  sfr  CMOD    =   0xD9;                   
 208      =1  
 209      =1  sfr  CCAPM0  =   0xDA;                   
 210      =1  sfr  CCAPM1  =   0xDB;                   
 211      =1  sfr  CCAPM2  =   0xDC;                   
 212      =1  sfr  CCAPM3  =   0xDD;                   
 213      =1  sfr  CCAPM4  =   0xDE;                   
 214      =1  
 215      =1  sfr  CL      =   0xE9;                   
 216      =1  
 217      =1  sfr  CCAP0L  =   0xEA;                   
 218      =1  
 219      =1  sfr  CCAP1L  =   0xEB;                   
 220      =1  
 221      =1  sfr  CCAP2L  =   0xEC;                   
 222      =1  
 223      =1  sfr  CCAP3L  =   0xED;                   
 224      =1  
 225      =1  sfr  CCAP4L  =   0xEE;                   
 226      =1  
 227      =1  sfr  ACC     =   0xE0;                   
 228      =1  sfr  B       =   0xF0;                   
 229      =1  
 230      =1  sfr  CH      =   0xF9;                   
 231      =1  
 232      =1  sfr  CCAP0H  =   0xFA;                   
 233      =1  sfr  CCAP1H  =   0xFB;                    
 234      =1  sfr  CCAP2H  =   0xFC;                   
 235      =1  sfr  CCAP3H  =   0xFD;                   
 236      =1  sfr  CCAP4H  =   0xFE;                   
 237      =1  
 238      =1  sfr  ICON  =   0xFF;               
 239      =1  sfr  CKSEL  =   0x85;               
 240      =1  sfr  OSCCON  =   0x86;               
 241      =1  
 242      =1  sfr FCON        = 0xD1;
 243      =1  sfr EECON       = 0xD2;
 244      =1  sfr EETIM       = 0xD3;
 245      =1  
 246      =1  
 247      =1  
 248      =1  
   3          #include <ABSACC.H>
   1      =1  /*--------------------------------------------------------------------------
   2      =1  ABSACC.H
   3      =1  
   4      =1  Direct access to 8051, extended 8051 and Philips 80C51MX memory areas.
   5      =1  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
   6      =1  All rights reserved.
   7      =1  --------------------------------------------------------------------------*/
   8      =1  
   9      =1  #ifndef __ABSACC_H__
  10      =1  #define __ABSACC_H__
  11      =1  
C51 COMPILER V7.50   FOURCHANNEL                                                           08/28/2005 08:07:34 PAGE 6   

  12      =1  #define CBYTE ((unsigned char volatile code  *) 0)
  13      =1  #define DBYTE ((unsigned char volatile data  *) 0)
  14      =1  #define PBYTE ((unsigned char volatile pdata *) 0)
  15      =1  #define XBYTE ((unsigned char volatile xdata *) 0)
  16      =1  
  17      =1  #define CWORD ((unsigned int volatile code  *) 0)
  18      =1  #define DWORD ((unsigned int volatile data  *) 0)
  19      =1  #define PWORD ((unsigned int volatile pdata *) 0)
  20      =1  #define XWORD ((unsigned int volatile xdata *) 0)
  21      =1  
  22      =1  
  23      =1  #ifdef __CX51__
           =1 #define FVAR(object, addr)   (*((object volatile far *) (addr)))
           =1 #define FARRAY(object, base) ((object volatile far *) (base))
           =1 #define FCVAR(object, addr)   (*((object const far *) (addr)))
           =1 #define FCARRAY(object, base) ((object const far *) (base))
           =1 #else
  29      =1  #define FVAR(object, addr)    (*((object volatile far *) ((addr)+0x10000L)))
  30      =1  #define FCVAR(object, addr)   (*((object const far *) ((addr)+0x810000L)))
  31      =1  #define FARRAY(object, base)  ((object volatile far *) ((base)+0x10000L))
  32      =1  #define FCARRAY(object, base) ((object const far *) ((base)+0x810000L))
  33      =1  #endif
  34      =1  
  35      =1  #endif
   4          
   5          #define GS      56                                              //GS<65,受eliminate_pulse()中整型数的制约
   6          #define GS2     28                                              //GS/2
   7          typedef unsigned char uchar;
   8          typedef unsigned int  uint;
   9          typedef unsigned long int ulong;
  10          /*-------变量定义区-----------*/
  11          sbit pwmplus=P1^0;                                                                              //步进电机驱动输出
  12          sbit stb=        P1^1;                                                                          //打印机启动脉冲
  13          sbit busy=       P1^2;                                                                          //打印机忙,不能接收字符
  14          sbit ad_oe=      P3^3;                                                                          //AD输出允许
  15          sbit ad_star=P3^4;                                                                              //AD地址锁存及转换开始
  16          sbit p_e=        P3^5;                                                                          //显示屏时钟
  17          sbit p_rw=       P3^6;                                                                          //显示屏读/写切换
  18          sbit p_di=       P3^7;                                                                          //显示屏命令/数据切换
  19          float code rev_num[7]={5.0,6.666666,8.333333,10.0,11.66667,13.33333,16.66667};//转速300,400,500,600,700,80
             -0,1000                                                                                         
  20          uint code pwm[7][2]={{0xF6FF,2400},{0xF93F,3200},{0xFA99,4000},{0xFB7F,4800},{0xFC24,5600},{0xFC9F,6400},{
             -0xFD4C,8000}};
  21          ////uint code pwm[7][2]={{0xF6E2,2400},{0xF925,3200},{0xFA8D,4000},{0xFB6B,4800},{0xFC12,5600},{0xFC9C,640
             -0},{0xFD4A,8000}};//pwm[x][1]存rcap2h,300,400,500,600,700,800,1000
  22          /*-------中断定义区-----------*/
  23          uchar data pwmtimeover=1;                               //T2 4mS定时时间到,清零;在pwmoutup()函数中使用
  24          uint  data pwma _at_ 0x30;                              //pwmoutup()中负责T2的RCAP2的读写
  25          uchar data pwmh _at_ 0x31;
  26          uchar data pwml _at_ 0x30;
  27          //------------------------------------------------------------------------------------------
  28          uint  data vinp _at_ 0x2e;                              //catchrdy()中断函数中负责CAP的读写
  29          uchar data vinh _at_ 0x2f;
  30          uchar data vinl _at_ 0x2e;                              //CCAP0L,CCAP0H的值的映象
  31          uchar data UseFlag;                                     //AD使用标志用在AD转换标定起始位置
  32          uint  xdata PlusTemp0[GS];                              //脉冲值测量数据暂存[84]
  33          uint  xdata PlusTemp1[GS];                              //脉冲值测量数据暂存[84]
  34          uchar data PlusCount0,PlusCount1;                       //通道已存个数-
  35          uchar data PlusOver0,PlusOver1;                         //每通道错误次数
  36          /*-------数理统计定义区-------*/
  37          uint  idata ComputTemp[GS2];                                //数理统计暂存,由ptemp指针读写[42]
  38          uchar idata SamQuan;                                        //当前有效样本个数  
C51 COMPILER V7.50   FOURCHANNEL                                                           08/28/2005 08:07:34 PAGE 7   

  39          float idata Ave,SquDec,HWidth,LWidth;                   //平均值;方差;每通道最大最小值  
  40          uchar PlusError,DError[4];                                      //无脉冲错误;错误标志位 位地址: 7:通道脉冲   6:最低高电

⌨️ 快捷键说明

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