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

📄 debug.lst

📁 51单片机C语言常用模块与综合系统设计实例精讲
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   DEBUG                                                                 10/10/2006 14:03:22 PAGE 1   


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

stmt level    source

   1          #include <stdio.h>
   2          #include <./Atmel/at89x52.h>
   3          #include <absacc.h>
   4          #include <string.h>
   5          #include <ctype.h>
   6          #include <stdlib.h>
   7          #include  "source.h"
   8          extern void SD2000_read_hour(struct RTC_TIME *p);
   9          unsigned char  flash_wbuf[8]={0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa};
  10          unsigned char  flash_rbuf[8]={0,0,0,0,0,0,0,0};
  11          #define MAX_DB_ARGC  5
  12          #define DBCMD_LEN 20
  13          #define PROMPT     "\nLandMore>."
  14          unsigned char dbcmd[MAX_DB_ARGC+2][DBCMD_LEN];
  15          unsigned char dbcmd_len=0;
  16          unsigned char argc=0;
  17          unsigned int intnum;
  18          unsigned char charnum;
  19          unsigned char ch;
  20          unsigned int eeprom_dbgadd;
  21          union SFADD dwn_add_debug;
  22          bit space_flag=1;
  23          unsigned char error_flag=0;
  24          bit debug(void){        
  25   1              unsigned char i;
  26   1              if(dsr_tail!=dsr_head){         
  27   2                      if(dsr_buf[dsr_tail]==0x0d){//cmd finish
  28   3                              if(dbcmd_len!=0){//if then end of command isn't space the 0x0d is the paramter's seperate.
  29   4                                      dbcmd[argc][dbcmd_len]='\0';
  30   4                                      if(argc<MAX_DB_ARGC){
  31   5                                              argc++;
  32   5                                      }
  33   4                                      else{
  34   5                                              printk("\n Too many paramter in this command.retry again.:).");
  35   5                                              printk(PROMPT);
  36   5                                              error_flag=1;
  37   5                                      }                       
  38   4                              }
  39   3                              if(!error_flag){//no  error occured.
  40   4                                      if((argc==0)&&(dbcmd_len==0)){//empty command.
  41   5                                      }
  42   4                                      else if(!strcmp(dbcmd[0],"paprom")){//对APROM编程
  43   5                                      }
  44   4                                      else if(!strcmp(dbcmd[0],"pldrom")){//对LDROM编程
  45   5                                      }
  46   4                                      else if(!strcmp(dbcmd[0],"black")){
  47   5                                              printk("\n Black all screen.");
  48   5                                              black_all();
  49   5                                      }
  50   4                                      else if(!strcmp(dbcmd[0],"clrs")){
  51   5                                              printk("\n Clera all screan.",NULL);
  52   5                                              clear_all();
  53   5                                      }
  54   4                                      else if(!strcmp(dbcmd[0],"date")){
  55   5                                              if(!strcmp(dbcmd[1],"show")){                                           
C51 COMPILER V7.06   DEBUG                                                                 10/10/2006 14:03:22 PAGE 2   

  56   6                                                      printk("\n  Show time.",NULL);  
  57   6                                                      show_date_on=1;
  58   6                                                      updtime=0xff;
  59   6                                                      rtc_read_timeout=1;
  60   6                                              }
  61   5                                              else if(!strcmp(dbcmd[1],"hide")){//off
  62   6                                                      printk("\n Hide time.",NULL);
  63   6                                                      show_date_on=0;
  64   6      #ifdef HB320
                                                              clr_area(POS_TIMEX,POS_TIMEY,8,48);
              #else
  67   6                                                      clr_area(POS_TIMEX,POS_TIMEY,16,99);
  68   6      #endif
  69   6                                              }
  70   5                                              else if(!strcmp(dbcmd[1],"init")){//off
  71   6                                                      printk("\n Init rtc");
  72   6                                              }
  73   5                                      }
  74   4                                      else if(!strcmp(dbcmd[0],"draw")){
  75   5                                              if(!strcmp(dbcmd[1],"pic")){
  76   6                                                      printk("\n Draw picture.");                                     
  77   6                                              }
  78   5                                              else if(!strcmp(dbcmd[1],"line")){
  79   6                                                      printk("\n Draw line");
  80   6                                                      hm_pointer.angel=rtc.hour*30;
  81   6                                                      hm_pointer.angel +=rtc.minute>>1;//hour pointer.
  82   6                                                      hm_pointer.len=20;
  83   6                                                      draw_line(&hm_pointer);
  84   6                                                      hm_pointer.angel=rtc.minute*6;//hour pointer.
  85   6                                                      hm_pointer.len=25;
  86   6                                                      draw_line(&hm_pointer);
  87   6                                              }
  88   5                                      }
  89   4                                      else if(!strcmp(dbcmd[0],"address")){//show storey xx
  90   5                                              if(argc==2){
  91   6                                                      intnum=atoi(dbcmd[1]);
  92   6                                                      if(intnum>31){
  93   7                                                              printk("\n Address must less than 31");
  94   7                                                      }
  95   6                                                      else{
  96   7                                                              myaddress=(unsigned char )intnum;
  97   7                                                              intnum=EEPROM_MACHINE_ADD;
  98   7                                                              AT24C64_wbytes((unsigned char *)&intnum,1,&myaddress);
  99   7                                                      }
 100   6                                              }
 101   5                                              printk("\n My address=%bx.",myaddress);
 102   5                                      }
 103   4                                      else if(!strcmp(dbcmd[0],"storey")){//show storey xx
 104   5                                              if(argc==2){
 105   6                                                      intnum=atoi(dbcmd[1]);
 106   6                                                      draw_storey(POS_STOREY_ORGX,POS_STOREY_ORGY,(unsigned char )intnum);
 107   6                                                      printk("\n Show strory %c",(unsigned char )intnum);
 108   6                                              }
 109   5                                      }
 110   4                                      else if(!strcmp(dbcmd[0],"fwrite")){
 111   5                                              if(argc==2){
 112   6                                                      ch=xatouc(dbcmd[1]);
 113   6                                                      dwn_add_debug.l=0x2000;
 114   6                                                      for(i=0;i<8;i++){
 115   7                                                              printk(" w=%c ",ch);    
 116   7                                                              write_flash(&dwn_add_debug,ch);
 117   7                                                              dwn_add_debug.l++;
C51 COMPILER V7.06   DEBUG                                                                 10/10/2006 14:03:22 PAGE 3   

 118   7                                                      }
 119   6                                                      printk("\n Write flash 8 byte");
 120   6                                              }
 121   5                                      }
 122   4                                      else if(!strcmp(dbcmd[0],"fread")){
 123   5                                              read_flash(0x8,0,8,flash_rbuf);
 124   5                                              printk("\n Flash data=",NULL);
 125   5                                              for(i=0;i<8;i++){       
 126   6                                                      printk("%bx ",*(flash_rbuf+i));
 127   6                                              }
 128   5                                      }
 129   4                                      else if(!strcmp(dbcmd[0],"fesr")){
 130   5                                              if(argc==2){
 131   6                                                      intnum=atoi(dbcmd[1]);
 132   6                                                      ch=(unsigned char )intnum;
 133   6                                                      if(ch<71){
 134   7                                                              printk("\n Erase total %c sectors.",ch);
 135   7                                                              for(i=0;i<ch;i++){//擦除数字和字母分区。
 136   8                                                                      erase_flash(1,i);
 137   8                                                              }
 138   7                                                      }
 139   6                                              }
 140   5                                      }
 141   4                                      else if(!strcmp(dbcmd[0],"fesa")){
 142   5                                              if(argc==2){
 143   6                                                      intnum=atoi(dbcmd[1]);
 144   6                                                      ch=(unsigned char )intnum;
 145   6                                                      erase_flash(1,ch);
 146   6                                                      printk("\n Erase sectors=%c.",ch);
 147   6                                              }
 148   5                                      }
 149   4                                      else if(!strcmp(dbcmd[0],"num")){
 150   5                                              if(argc==2){
 151   6                                                      intnum=atoi(dbcmd[1]);
 152   6                                                      ch=(unsigned char )intnum;
 153   6                                                      draw_wordw24(0,0,48,number24x48[ch]);//centigrade
 154   6                                                      printk("\n ch=%c",ch);
 155   6                                              }
 156   5                                      }
 157   4                                      else if(!strcmp(dbcmd[0],"fecp")){
 158   5                                              printk("\n Erase chip.");
 159   5                                              erase_flash(0,8);
 160   5                                      }
 161   4                                      else if(!strcmp(dbcmd[0],"fwtest")){
 162   5                                              printk("\n Write flash test data.");
 163   5                                              dwn_add_debug.l=0x2000;
 164   5                                              for(i=0;i<8;i++){
 165   6                                                      printk(" %bx",*(flash_wbuf+i)); 
 166   6                                                      write_flash(&dwn_add_debug,*(flash_wbuf+i));
 167   6                                                      dwn_add_debug.l++;

⌨️ 快捷键说明

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