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

📄 baozhan_one.lst

📁 用单片机做的公交车报站器
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   BAOZHAN_ONE                                                           05/23/2007 15:14:55 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE BAOZHAN_ONE
OBJECT MODULE PLACED IN baozhan_one.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE baozhan_one.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include"intrins.h"
   2          #include"STC89C58RD.h"
   3          #include"baozhan_one.h"
   4          
   5          
   6          unsigned char idata cur_state=0;       //全局变量,指示当前站点状态信息
   7          unsigned int xdata isd_addr[30];               //全局变量,指示当前录放音地址信息(行数)
   8          unsigned char idata init_R_addr=1;        //标志位,指示是否需要初始化录音地址,1是0否
   9          
  10          
  11          void main()
  12          {
  13   1              
  14   1              init();
  15   1              EA=0;
  16   1              enable_in_ram();     //允许内部1024byteRAM,允许ALE.默认是允许的
  17   1              dis_ale();     //禁止ale,允许内部扩展1024byteRAM
  18   1              init_isd();
  19   1              dis_low=1;        //关数码管显示
  20   1              dis_high=1;
  21   1              EA=1;
  22   1              
  23   1      
  24   1      
  25   1              while(1)
  26   1              {
  27   2                      if(rec_ctrl==0)             //录音键按下
  28   2                      {
  29   3                              delay_kb(10);           //延时,消抖
  30   3                              if(rec_ctrl==0)
  31   3                              {
  32   4                                      isd_rec();
  33   4                                      init_R_addr=0;
  34   4                              }
  35   3                              else
  36   3                                      break;
  37   3                      }
  38   2                      else
  39   2                      {
  40   3                              kbscan();
  41   3                              switch(kbscan())
  42   3                              {
  43   4                                      case 0: cur_state=0;
  44   4                                                      isd_play(isd_addr);
*** WARNING C214 IN LINE 44 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  45   4                                              break;
  46   4                                      case 1: cur_state=1;
  47   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 47 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  48   4                                              break;
  49   4                                      case 2: cur_state=2;
  50   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 50 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  51   4                                              break;
  52   4                                      case 3: cur_state=3;
C51 COMPILER V7.06   BAOZHAN_ONE                                                           05/23/2007 15:14:55 PAGE 2   

  53   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 53 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  54   4                                              break;
  55   4                                      case 4: cur_state=4;
  56   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 56 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  57   4                                              break;
  58   4                                      case 5: cur_state=5;
  59   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 59 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  60   4                                              break;
  61   4                                      case 6: cur_state=6;
  62   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 62 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  63   4                                              break;;
  64   4                                      case 7: cur_state=7;
  65   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 65 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  66   4                                              break;
  67   4                                      case 8: cur_state=8;
  68   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 68 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  69   4                                              break;
  70   4                                      case 9: cur_state--;
  71   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 71 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  72   4                                              break;
  73   4                                      case 10:isd_play(isd_addr);
*** WARNING C214 IN LINE 73 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  74   4                                              break;
  75   4                                      case 11:cur_state++;
  76   4                                              isd_play(isd_addr);
*** WARNING C214 IN LINE 76 OF BAOZHAN_ONE.C: 'Argument': conversion: pointer to non-pointer
  77   4                                              break;
  78   4                                      default:break;
  79   4                              }
  80   3                      }
  81   2              }
  82   1      }
  83                                  
  84                          
  85          
  86          
  87          
  88          
  89          
  90          
  91          
  92          
  93          
  94          
  95          
  96          
  97          
  98          void init(void)          //初始化系统参数
  99          {
 100   1              PCON=0x00;           //smod=0;
 101   1              SCON=0x40;           //串口工作方式1,8位UART,ren=0禁止接收
 102   1              TMOD=0x21;           //定时器1工作方式2,8位自动重载T/C
 103   1                                       //定时器0工作方式1,16位定时器,用于定时产生中断进行显示扫描
 104   1              TH1=253;             //TH1=256-(28800/baudrate),9600bps
 105   1              TL1=253;
C51 COMPILER V7.06   BAOZHAN_ONE                                                           05/23/2007 15:14:55 PAGE 3   

 106   1              TH0=0xf8;           //定时器0定时2MS
 107   1              TL0=0x30;
 108   1              
 109   1              TR1=1;            //启动T1
 110   1              TR0=1;            //启动T0
 111   1              ET0=1;            //开定时器0中断
 112   1              ES=1;             //开串口中断
 113   1              EA=1;             //开总中断
 114   1              REN=1;            //使能串口接收
 115   1      }
 116                  
 117                  
 118          void init_isd(void)
 119          {
 120   1              ss=1;
 121   1              sclk=1;
 122   1              rac=1;
 123   1              int0=1;
 124   1      }               
 125                  
 126          
 127          
 128          
 129          
 130          void timer0(void) interrupt 1 using 2
 131          {
 132   1              unsigned char bitselect=0;        //显示位切换标志位
 133   1              unsigned char disply[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
 134   1                                        0x88,0x83,0xc6,0xal,0x86,0x8e};   //字形数0-9,A-F;
 135   1              static unsigned char cur_dpy;
 136   1              cur_dpy=cur_state;
 137   1      
 138   1              TH0=0xf8;           //重装计数初值
 139   1              TL0=0x30;
 140   1              
 141   1              if(cur_dpy>=10&&cur_dpy<20)
 142   1              {
 143   2                      dis_low=1;           //关显示
 144   2                      dis_high=1;
 145   2                      cur_dpy-=10;
 146   2                      disdata=disply[cur_dpy];        //从p0口输出字形数
 147   2                      dis_low=0;
 148   2              }
 149   1              else 
 150   1              {
 151   2                      switch(bitselect)
 152   2                      {
 153   3                              case 0:
 154   3                              {
 155   4                                      if(cur_dpy>=20&&cur_dpy<30)
 156   4                                      {
 157   5                                              dis_low=1;
 158   5                                              cur_dpy-=20;
 159   5                                              disdata=disply[cur_dpy];
 160   5                                              dis_low=0;
 161   5                                      }
 162   4                                      else if(cur_dpy>=30&&cur_dpy<40)
 163   4                                      {
 164   5                                              dis_low=1;
 165   5                                              cur_dpy-=30;
 166   5                                              disdata=disply[cur_dpy];

⌨️ 快捷键说明

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