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

📄 main.lst

📁 51实例大全
💻 LST
字号:
C51 COMPILER V7.06   MAIN                                                                  07/15/2010 00:21:04 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\obj\main.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\main.lst) OBJECT(.\obj\main.ob
                    -j)

stmt level    source

   1          /*-----------------------------------------------
   2            名称:DS18b20 温度检测液晶显示
   3            论坛:www.doflye.net
   4            编写:shifang
   5            日期:2009.5
   6            修改:无
   7            内容:
   8          ------------------------------------------------*/
   9          #include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
  10          #include<stdio.h>
  11          #include "18b20.h"
  12          #include "1602.h"
  13          #include "delay.h"
  14          
  15          bit ReadTempFlag;//定义读时间标志
  16          
  17          void Init_Timer0(void);//定时器初始化
  18          /*------------------------------------------------
  19                        串口通讯初始化
  20          ------------------------------------------------*/
  21          void UART_Init(void)
  22          {
  23   1          SCON  = 0x50;                       // SCON: 模式 1, 8-bit UART, 使能接收  
  24   1          TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
  25   1          TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHz  
  26   1          TR1   = 1;                  // TR1:  timer 1 打开                         
  27   1          //EA    = 1;                  //打开总中断
  28   1          //ES    = 1;                  //打开串口中断
  29   1              TI=1;
  30   1      }
  31          /*------------------------------------------------
  32                              主函数
  33          ------------------------------------------------*/
  34          void main (void)
  35          {                  
  36   1      int temp;
  37   1      float temperature;
  38   1      char displaytemp[16];//定义显示区域临时存储数组
  39   1      
  40   1      LCD_Init();           //初始化液晶
  41   1      DelayMs(20);          //延时有助于稳定
  42   1      LCD_Clear();          //清屏
  43   1      Init_Timer0();
  44   1      UART_Init();
  45   1      Lcd_User_Chr();       //写入自定义字符
  46   1      LCD_Write_String(0,0," www.doflye.net ");
  47   1      LCD_Write_Char(13,1,0x01);//写入温度右上角点
  48   1      LCD_Write_Char(14,1,'C'); //写入字符C
  49   1      
  50   1      while (1)         //主循环
  51   1        {
  52   2      
  53   2      if(ReadTempFlag==1)
  54   2       {
C51 COMPILER V7.06   MAIN                                                                  07/15/2010 00:21:04 PAGE 2   

  55   3        ReadTempFlag=0;
  56   3        temp=ReadTemperature();
  57   3      
  58   3        temperature=(float)temp*0.0625;
  59   3        sprintf(displaytemp,"Temp  % 7.3f",temperature);//打印温度值
  60   3        LCD_Write_String(0,1,displaytemp);//显示第二行
  61   3        }     
  62   2       }
  63   1      }
  64          
  65          /*------------------------------------------------
  66                              定时器初始化子程序
  67          ------------------------------------------------*/
  68          void Init_Timer0(void)
  69          {
  70   1       TMOD |= 0x01;    //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响                 
  71   1       //TH0=0x00;          //给定初值
  72   1       //TL0=0x00;
  73   1       EA=1;            //总中断打开
  74   1       ET0=1;           //定时器中断打开
  75   1       TR0=1;           //定时器开关打开
  76   1      }
  77          /*------------------------------------------------
  78                           定时器中断子程序
  79          ------------------------------------------------*/
  80          void Timer0_isr(void) interrupt 1 
  81          {
  82   1       static unsigned int num;
  83   1       TH0=(65536-2000)/256;            //重新赋值 2ms
  84   1       TL0=(65536-2000)%256;
  85   1       
  86   1       num++;
  87   1       if(num==300)        //
  88   1         {
  89   2          num=0;
  90   2          ReadTempFlag=1; //读标志位置1
  91   2              }
  92   1      }
  93          
  94          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    192    ----
   CONSTANT SIZE    =     30    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2      22
   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 + -