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

📄 text1.lst

📁 基于W78E51单片机的消防员安全报警接收机系统源程序。
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.00  TEXT1                                                                  06/14/2003 19:42:01 PAGE 1   


C51 COMPILER V7.00, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include <reg54.h>
   2          #include <absacc.h>
   3          #include <math.h>
   4          #include <ctype.h>
   5          #include <string.h>
   6          #include <stdlib.h>
   7          #include <stdio.h>
   8          
   9          void long_delay(void);
  10          void short_delay(void);
  11          void delay10ms(unsigned char);
  12          void write7279(unsigned char,unsigned char);
  13          unsigned char read7279(unsigned char);
  14          void send_byte(unsigned char);
  15          unsigned char receive_byte(void);
  16          
  17          sbit  dat=P1^2;     // dat P1.2
  18          sbit  key=P1^3;    // key P1.3
  19          sbit   cs=P1^4; 
  20          sbit  clk=P1^5;    // clk P1.5
  21          
  22          #define CMD_RESET 0xa4
  23          #define CMD_TEST 0xbf
  24          #define DECODE0 0x80
  25          #define DECODE1 0xc8
  26          #define CMD_READ 0x15
  27          #define UNDECODE 0x90
  28          #define RTL_CYCLE 0xa3
  29          #define RTR_CYCLE 0xa2
  30          #define RTL_UNCYL 0xa1
  31          #define RTR_UNCYL 0xa0
  32          #define ACTCTL 0x98
  33          #define SEGON 0xe0
  34          #define SEGOFF 0xc0
  35          #define BLINKCTL 0x88
  36          
  37          //***主程序 ***
  38          main()
  39                  {  unsigned char key_number,j,k;
  40   1                unsigned int  tmr;
  41   1                unsigned long wait_cnter;
  42   1      while (1)
  43   1      {
  44   2       for (tmr=0;tmr<0x2000;tmr++); //
  45   2            send_byte(CMD_RESET); // HD7279A
  46   2      
  47   2      //******************************************
  48   2      //******************************************
  49   2             send_byte(CMD_TEST); //
  50   2               for (j=0;j<3;j++) // 3
  51   2                 {
  52   3                  delay10ms(100);
  53   3                   }
  54   2                  send_byte(CMD_RESET); //
  55   2      
C51 COMPILER V7.00  TEXT1                                                                  06/14/2003 19:42:01 PAGE 2   

  56   2      //**********************************************
  57   2      
  58   2      //**********************************************
  59   2                    wait_cnter=0;
  60   2                    key_number=0xff;
  61   2                    write7279(BLINKCTL,0xfc); // 1 2
  62   2                    write7279(UNDECODE,0X08); // 1 '_'
  63   2                    write7279(UNDECODE+1,0x08);// 2 '_'
  64   2                     do
  65   2                       {
  66   3                           if (!key) //
  67   3                         {
  68   4                           key_number=read7279(CMD_READ);
  69   4                           write7279(DECODE1+1,key_number/16);
  70   4                                                      // 2 8
  71   4                           write7279(DECODE1,key_number&0x0f);
  72   4                                                      // 1 8
  73   4                          while (!key); //
  74   4                          wait_cnter=0;
  75   4                         }
  76   3                         wait_cnter++;
  77   3                      } 
  78   2                                         while (key_number!=0 && wait_cnter<0x30000);
  79   2                                // 0
  80   2                                         write7279(BLINKCTL,0xff);
  81   2      
  82   2      
  83   2      
  84   2                              
  85   2                                              delay10ms(150);
  86   2                                              send_byte(CMD_RESET);
  87   2                                              write7279(UNDECODE+7,0x49);
  88   2                                              delay10ms(80);
  89   2                                              for (j=0;j<23;j++)
  90   2                                                      {
  91   3                                                              send_byte(RTR_CYCLE); // 23
  92   3                                                              delay10ms(12);
  93   3                                                      }
  94   2                                                              for (j=0;j<23;j++)
  95   2                                                                      {
  96   3                                                                              send_byte(RTL_CYCLE); // 23
  97   3                                                                              delay10ms(12);
  98   3                                                                      }
  99   2                                                                      for (j=0;j<16;j++)
 100   2                                                                              {
 101   3                                                                              send_byte(RTL_UNCYL); //
 102   3                                                                              write7279(DECODE0,j);
 103   3                                                                                // 0 1
 104   3                                                                              delay10ms(50);
 105   3                                                                              }
 106   2                                                                              delay10ms(150);
 107   2                                                                              send_byte(CMD_RESET);
 108   2                                                                              //*********************************************
 109   2                                                                              // 1
 110   2                                                                              //*********************************************
 111   2                                                                              for (j=0;j<16;j++)
 112   2                                                                              {
 113   3                                                                              send_byte(RTR_UNCYL); //
 114   3                                                                              write7279(DECODE1+7,j);
 115   3                                                                              // 0 8

⌨️ 快捷键说明

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