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

📄 main.lst

📁 51板的常用程序
💻 LST
字号:
C51 COMPILER V8.02   MAIN                                                                  08/11/2007 08:44:37 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "Mini51B.H"//所有与硬件相关的接口函数定义
   2          #include "AUTO_ISP.H"//自动ISP初始化,占用timer1
   3          #include "LCD1602.H"
   4          #include "LCD12864.H"
   5          #include "DS1302.H"
   6          #include "STCEEPROM.H"
   7          #include "IRM.H"
   8          #include <stdio.h>
   9          
  10          #include "logo_stuelab.h"
  11          
  12          SYSTEMTIME RTC;
  13          
  14          //中断入口申明,不用最好预留
  15          void extern0_ISR() interrupt 0{}
  16          void timer0_ISR () interrupt 1{}
  17          void extern1_ISR() interrupt 2{}
  18          void timer1_ISR () interrupt 3{}
  19          //void serial_ISR () interrupt 4{} AUTO ISP占用
  20          //void extern2_ISR() interrupt 6{} IRM占用
  21          void extern3_ISR() interrupt 7{}
  22          
  23          
  24          void main()
  25          {       
  26   1              float V;
  27   1              uint DACD;
  28   1              uchar i,temp;
  29   1      
  30   1      
  31   1              uchar str_buff[20];//字符缓冲区
  32   1              timer1_init();//AUTO ISP初始化
  33   1              extern2_init();//红外解码
  34   1      
  35   1      /*****************蜂鸣器测试*****************/
  36   1      //*
  37   1              BEEP_ON();
  38   1              delay_ms(100);
  39   1              BEEP_OFF();
  40   1      /********************************************/
  41   1      
  42   1      /**************STCEEPROM测试*****************/  
  43   1      //每次开机,数码管显示计数加1
  44   1      //EEPROM58在STCEEPROM.H中定义
  45   1              temp = byte_read(EEPROM58);
  46   1              if(temp!=0xff) 
  47   1              {
  48   2                      seg7_disp(temp++);
  49   2                      sector_erase(EEPROM58);
  50   2                      byte_write(EEPROM58,temp);
  51   2              }
  52   1              else byte_write(EEPROM58,0);
  53   1      
  54   1      
  55   1              array_write(EEPROM58+10,1,&temp);
C51 COMPILER V8.02   MAIN                                                                  08/11/2007 08:44:37 PAGE 2   

  56   1              array_read(EEPROM58,1,&temp);
  57   1      /********************************************/  
  58   1      
  59   1      /***************LCD1602测试******************/
  60   1      //*此部分注销只要删除前面一位斜线
  61   1              lcd1602_init();
  62   1              lcd_put_xyns(2,1,14,"www.stuelab.cn");
  63   1      /********************************************/
  64   1      
  65   1      /***************LCD12864测试*****************/
  66   1      //*此部分注销只要删除前面一位斜线
  67   1              lcd12864_init();        
  68   1              lcd12864_put_xywhb(0,0,128,64,stuelab);         
  69   1              delay_ms(1000);
  70   1              lcd12864_clr();
  71   1              lcd12864_put_xyns(1,0,6,hanzi1);
  72   1              lcd12864_put_xyns(0,1,12,hanzi2);
  73   1              lcd12864_put_xyns(0,3,8,hanzi3);
  74   1      /********************************************/
  75   1      
  76   1      /**************LCD12864打点测试**************/
  77   1      //*
  78   1              lcd12864_init();        
  79   1              lcd12864_clr();
  80   1      
  81   1              for(i=0;i<64;i++)
  82   1              {
  83   2                      lcd12864_set_xy(i,i);           
  84   2              }
  85   1      
  86   1              for(i=64;i<128;i++)
  87   1              {
  88   2                      lcd12864_set_xy(i,128-i);               
  89   2              }       
  90   1      /********************************************/
  91   1      
  92   1      /*****************继电器测试*****************/
  93   1      //*
  94   1              JDQ_CLOSE();  //继电器吸合
  95   1              delay_ms(100);
  96   1              JDQ_OPEN();   //继电器打开
  97   1      /********************************************/
  98   1      
  99   1      /***************时钟测试*********************/  
 100   1              Initial_DS1302();
 101   1      /*时间设定,执行一次后删除该部分
 102   1              Write1302(DS1302_MINUTE, 0x40); 
 103   1              Write1302(DS1302_HOUR,   0x16);         
 104   1              Write1302(DS1302_DAY,    0x10);
 105   1              Write1302(DS1302_MONTH,  0x08);
 106   1              Write1302(DS1302_YEAR,   0x07); 
 107   1      /********************************************/  
 108   1      
 109   1      
 110   1      
 111   1      
 112   1      
 113   1              while(1)
 114   1              {
 115   2                      DS1302_GetTime(&RTC);
 116   2                      DateToStr(&RTC);
 117   2                      TimeToStr(&RTC);
C51 COMPILER V8.02   MAIN                                                                  08/11/2007 08:44:37 PAGE 3   

 118   2                      //lcd_put_xyns(6,1,8,RTC.DateString);
 119   2                      lcd_put_xyns(1,2,8,RTC.TimeString);                     
 120   2                      
 121   2                      if(!KEY0)
 122   2                      {
 123   3                              DACD+=10;
 124   3                              put5615_data(DACD);//DAC输出
 125   3                      }               
 126   2                      
 127   2                      V = get1549_data();//读ADC
 128   2                      V = V/200;
 129   2                      sprintf(str_buff,"%3.2f",V);//格式转换
 130   2                      lcd_put_xyns(16,2,1,"V");       
 131   2                      lcd_put_xyns(12,2,4,str_buff);
 132   2                      delay_ms(100);          
 133   2              }       
 134   1      }
 135          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3033    ----
   CONSTANT SIZE    =   1905    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     28      72
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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