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

📄 main.lst

📁 高端数码管驱动芯片
💻 LST
📖 第 1 页 / 共 3 页
字号:
 140          #define addr_c_over_peak_max_count    0x0021 // C级 峰值上限超限次数(uchar)I2C存储地址
 141          #define addr_c_over_peak_min_count    0x0022 // C级 峰值下限超限次数(uchar)I2C存储地址
 142          #define addr_c_over_average_max_count 0x0023 // C级 均值上限超限次数(uchar)I2C存储地址
 143          #define addr_c_over_average_min_count 0x0024 // C级 均值下限超限次数(uchar)I2C存储地址
 144          #define addr_c_over_cv_max_count      0x0025 // C级 CV值极限超限次数(uchar)I2C存储地址
 145          #define addr_c_over_max_total         0x0026 // C级 超过上限次数的总和(uchar)I2C存储地址
 146          #define addr_c_over_min_total         0x0027 // C级 超过下限次数的总和(uchar)I2C存储地址
 147          #define addr_c_over_time_total        0x0028 // C级 超限持续时间的总和(uchar)I2C存储地址(毫秒)
 148          #define addr_c_super_max              0x0029 // C级 上上限(uchar)I2C存储地址
 149          #define addr_c_cut_silk_output        0x002A // C级 判断是否输出(uchar)I2C存储地址(1-输出)
 150          
 151          #define addr_work_sill                0x002B // 非0区(工作区)门限(uchar)I2C存储地址
 152          #define addr_work_delay               0x002C // 过非0区(进入工作区)延时(uchar)I2C存储地址
 153          
 154          sbit out_clkled  = P3^3; //LED输出控制---时钟
 155          sbit out_dataled = P3^4; //LED输出控制---数据
 156          sbit out_ctrlled = P3^5; //LED输出控制---使能
 157          sbit out_clkjdq  = P0^5; //继电器输出控制---时钟
 158          sbit out_datajdq = P0^3; //继电器输出控制---数据
 159          sbit out_ctrljdq = P0^4; //继电器输出控制---使能
 160          sbit out_bell    = P2^5; //蜂鸣器控制
 161          sbit out_work    = P2^4; //工作指示灯控制
 162          sbit in_button   = P2^6; //按键输入
 163          sbit out_adctrl1 = P1^3; //24路AD切换控制,前8路选择
 164          sbit out_adctrl2 = P1^2; //24路AD切换控制,中8路选择
 165          sbit out_adctrl3 = P1^1; //24路AD切换控制,后8路选择
 166          sbit SDA         = P3^7; //I2C数据线,注意双向端口在输入和输出时的设置切换
 167          sbit SCL         = P3^6; //I2C时钟线
 168          
 169          sbit debug_flag  = P1^0; //调试程序检测位,0 进入调试程序
C51 COMPILER V7.50   MAIN                                                                  05/30/2007 20:43:12 PAGE 4   

 170          
 171          //--------------------------------------------------------------------------
 172          //                     F020全局变量定义
 173          //--------------------------------------------------------------------------
 174          uchar bdata bit_byte;//定义可位操作的字节
 175          sbit  bit_byte_7=bit_byte^7;
 176          sbit  bit_byte_6=bit_byte^6;
 177          sbit  bit_byte_5=bit_byte^5;
 178          sbit  bit_byte_4=bit_byte^4;
 179          sbit  bit_byte_3=bit_byte^3;
 180          sbit  bit_byte_2=bit_byte^2;
 181          sbit  bit_byte_1=bit_byte^1;
 182          sbit  bit_byte_0=bit_byte^0;
 183          
 184          //uchar xdata year   _at_ 4096;//时钟芯片操作变量
 185          //uchar xdata month  _at_ 4095;
 186          //uchar xdata date   _at_ 4094;
 187          //uchar xdata week   _at_ 4093;
 188          //uchar xdata hour   _at_ 4092;
 189          //uchar xdata minute _at_ 4091;
 190          //uchar xdata second _at_ 4090;
 191          
 192          uchar weizhi;//表示在字符串匹配函数中第一个匹配字符与该串头部之间的距离
 193          uchar timer0_interrupt_counter;//定时器中断次数计数器
 194          uchar no_ethernet_data_timer;  //无网络数据持续时间计数器
 195          bit   i2c_response_signal;     //I2C应答信号状态
 196          
 197          uchar xdata force_data[24][100] _at_ 600;   //24路,每路100点,力值循环存储器
 198          
 199          uchar xdata jdq_state[25] _at_ 3000; //下标从1到24,表示24路继电器的状态
 200          uchar xdata led_state[25] _at_ 3025; //下标从1到24,表示24路指示灯的状态
 201          
 202          uchar xdata uart0_buffer[30] _at_ 3050;    //串口接收缓冲区
 203          uchar       uart0_buffer_address;//串口接收缓冲区地址计数器
 204          uchar       uart0_receive_start; //串口接收启动
 205          bit         uart0_receive_ok;    //串口接收(UART0)中断里已接收完整消息标志
 206          
 207          uchar xdata askii_data[5]  _at_ 4085; //临时变量
 208          bit   ad_start;//AD采样开始标志,在中断里置1,主程序中清0
 209          uint  xdata ad_temporary_data[10]  _at_ 4065;//单通道测量10点//串口接收程序也使用了该数组
 210          uchar xdata circle_save_pointer    _at_ 4064;//AD采样循环存储位置标志
 211          bit   one_second_come_flag;//整数秒标志
 212          
 213          uchar xdata in_work_flag[24] _at_ 3080;      //采样点是否在工作区中的标志
 214          uchar xdata grade[24] _at_ 3104; //等级
 215          
 216          uchar xdata previous_error_state[24] _at_ 3128;//上一次故障状态
 217          uchar xdata current_error_state[24]  _at_ 3152;//这一次故障状态
 218          
 219          uchar xdata one_second_average[24]  _at_ 3176;//24路AD量每秒平均值
 220          uchar xdata one_second_cv[24]       _at_ 3200;//24路AD量每秒CV值
 221          
 222          uchar xdata over_peak_max_counter[24] _at_ 3224;   //峰值上限超限次数
 223          uchar xdata over_peak_min_counter[24] _at_ 3248;   //峰值下限超限次数
 224          uchar xdata over_average_max_counter[24] _at_ 3272;//均值上限超限次数
 225          uchar xdata over_average_min_counter[24] _at_ 3296;//均值下限超限次数
 226          uchar xdata over_cv_counter[24] _at_ 3320;         //CV值极限超限次数
 227          uint  xdata in_work_delay_counter[24] _at_ 3344;//进入工作区后的延时计数器
 228          ulong xdata over_time_total[24] _at_ 3392;         //超限时间总和
 229          
 230          uchar xdata b_cut_silk_flag  _at_ 4063;
 231          uchar xdata c_cut_silk_flag  _at_ 4062;
C51 COMPILER V7.50   MAIN                                                                  05/30/2007 20:43:12 PAGE 5   

 232          
 233          float  KKK;//用于AD量到力的转换
 234          float  CCC;//用于AD量到力的转换
 235          //----------set by uart----------
 236          uint  xdata AD1                 _at_ 4060;//标定传感器用第一点 AD采样值
 237          uchar xdata Force1              _at_ 4059;//标定传感器用第一点 对传感器施加的外力值
 238          uint  xdata AD2                 _at_ 4057;//标定传感器用第二点 AD采样值
 239          uchar xdata Force2              _at_ 4056;//标定传感器用第二点 对传感器施加的外力值
 240          ulong xdata my_ipaddr           _at_ 4052;//0xC0A8000AL: This sets my IP address to 192.168.0.10
 241          uint  xdata server_assign_port  _at_ 4050;//服务器分配的端口号
 242          uchar xdata work_sill           _at_ 4049;//非0区(工作区)门限,力
 243          uchar xdata work_delay          _at_ 4048;//过非0区(进入工作区)延时(默认90秒)
 244          
 245          //----------set by ethnet----------
 246          uchar xdata peak_max    _at_ 4047;// 峰值上限
 247          uchar xdata peak_min    _at_ 4046;// 峰值下限
 248          uchar xdata average_max _at_ 4045;// 均值上限
 249          uchar xdata average_min _at_ 4044;// 均值下限
 250          uchar xdata cv_max      _at_ 4043;// CV值极限
 251          
 252          uchar xdata b_over_peak_max_count    _at_ 4042;// B级 峰值上限超限次数
 253          uchar xdata b_over_peak_min_count    _at_ 4041;// B级 峰值下限超限次数
 254          uchar xdata b_over_average_max_count _at_ 4040;// B级 均值上限超限次数
 255          uchar xdata b_over_average_min_count _at_ 4039;// B级 均值下限超限次数
 256          uchar xdata b_over_cv_max_count      _at_ 4038;// B级 CV值极限超限次数
 257          uchar xdata b_over_max_total         _at_ 4037;// B级 超过上限次数的总和
 258          uchar xdata b_over_min_total         _at_ 4036;// B级 超过下限次数的总和
 259          uchar xdata b_over_time_total        _at_ 4035;// B级 超限持续时间的总和(毫秒)
 260          uchar xdata b_super_max              _at_ 4034;// B级 上上限
 261          uchar xdata b_cut_silk_output        _at_ 4033;// B级 判断是否输出(1-输出)
 262          
 263          uchar xdata c_over_peak_max_count    _at_ 4032;// C级 峰值上限超限次数
 264          uchar xdata c_over_peak_min_count    _at_ 4031;// C级 峰值下限超限次数
 265          uchar xdata c_over_average_max_count _at_ 4030;// C级 均值上限超限次数
 266          uchar xdata c_over_average_min_count _at_ 4029;// C级 均值下限超限次数
 267          uchar xdata c_over_cv_max_count      _at_ 4028;// C级 CV值极限超限次数
 268          uchar xdata c_over_max_total         _at_ 4027;// C级 超过上限次数的总和
 269          uchar xdata c_over_min_total         _at_ 4026;// C级 超过下限次数的总和
 270          uchar xdata c_over_time_total        _at_ 4025;// C级 超限持续时间的总和(秒)
 271          uchar xdata c_super_max              _at_ 4024;// C级 上上限
 272          uchar xdata c_cut_silk_output        _at_ 4023;// C级 判断是否输出(1-输出)
 273          
 274          
 275          //--------------------------------------------------------------------------
 276          //                     f020 函数说明
 277          //--------------------------------------------------------------------------
 278          void  init_cpu(void);
 279          void  init_system(void);
 280          void  ad_24route_switch(uchar ad_8route_select);
 281          uchar ad_sampling(uchar cpu_ad_channel_select, uchar sampling_amount, uchar badpoint_amount);
 282          uint  ask_data(uchar cpu_ad_channel_select);
 283          uchar split_askii(uint data_to_out);
 284          //uchar change_bcd_to_hex(uchar shu);// 转换BCD码成十进制数
 285          //uchar change_hex_to_bcd(uchar shu);// 转换十进制数成BCD码
 286          //void  i2c_ack(void);//I2C
 287          //uchar reverse_byte_hl(uchar clock_data);//时钟数据反转
 288          //void  set_sd2000(void);//设置时钟
 289          //void  read_sd2000_ys(void);//从SD2000A读入当前时间数据,从年到秒
 290          uchar change_askii_to_hex(uchar askii);   // 转换ASKII码成HEX,实参范围:30-39、41-46
 291          uchar change_hex_to_askii(uchar data_hex);// HEX转换成ASKII,实参范围:0-9、A-F
 292          void  i2c_delay(void);//I2C
 293          void  i2c_start(void);//I2C
C51 COMPILER V7.50   MAIN                                                                  05/30/2007 20:43:12 PAGE 6   

 294          void  i2c_stop(void); //I2C
 295          void  i2c_send8bit(uchar shu);//I2C

⌨️ 快捷键说明

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