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

📄 frequence.lst

📁 单片机频率计的设计
💻 LST
字号:
C51 COMPILER V8.02   FREQUENCE                    10/21/2008 10:02:58 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE FREQUENCE
OBJECT MODULE PLACED IN frequence.OBJ
COMPILER INVOKED BY: E:\安装软件\专业软件\keil\C51\BIN\C51.EXE frequence.c DEBU
                    -G OBJECTEXTEND PAGEWIDTH(79) PAGELENGTH(66)

line level    source

   1          #include<reg51.h>
   2          #include <intrins.h>
   3          #include <math.h>
   4          #include <stdio.h>
   5          #define uchar unsigned char
   6          #define uint unsigned int
   7          
   8          #define LCD_DATA P0
   9          sbit lcd_flag=P0^7;
  10          sbit LCD_RS=P2^0;
  11          sbit LCD_RW=P2^1;
  12          sbit LCD_E=P2^2;
  13          sbit p32=P3^2;
  14          long int counter;
  15          long float f;
  16          uchar data1[]="precision0.1% ";     //第一行显示的内容   
  17          
  18                                          
  19                          void lcd_delay(int ms)  //延时函数
  20          { 
  21   1              uchar i;
  22   1              while(ms--)
  23   1              {
  24   2                      for(i=0;i<250;i++)
  25   2                      {
  26   3                      _nop_();_nop_();_nop_();_nop_();
  27   3                      }
  28   2              }
  29   1       }
  30          bit lcd_busy()                                //判断是否忙碌 RS=
             -Low,RW=High,E=High:读状态
  31          { 
  32   1              bit flag;                
  33   1              LCD_RS=0;                             //寄存器为Low
  34   1              LCD_RW=1;                             //是否读写为High
  35   1              LCD_E=1;                              //使能端为High
  36   1              if (lcd_flag==1) flag=1;
  37   1              else flag=0;
  38   1              LCD_E=0;
  39   1              return flag;                         //返回标志,判断是否
             -LCD忙碌
  40   1      }
  41          
  42          write_command(uchar command)        //写指令时序
  43          {       while(lcd_busy());
  44   1           LCD_RS=0;
  45   1           LCD_RW=0;   
  46   1          LCD_E=0;
  47   1              LCD_DATA=command;
  48   1          //delay_1ms(5);
  49   1          LCD_E=1;
  50   1              
  51   1              LCD_E=0;
  52   1      }
  53          
  54          write_data(uchar da)      //写数据时序
C51 COMPILER V8.02   FREQUENCE                    10/21/2008 10:02:58 PAGE 2   

  55          {   while(lcd_busy());
  56   1          LCD_RS=1;
  57   1          LCD_RW=0;
  58   1          LCD_E=0;
  59   1         // delay_1ms(5);
  60   1         LCD_DATA=da;
  61   1          LCD_E=1;
  62   1              
  63   1              LCD_E=0;
  64   1      }
  65          
  66          void LCD_INIT(void)
  67          {  write_command(0x38); lcd_delay(1); //LCD为2行,5×7字
  68   1         write_command(0x0c); lcd_delay(1); //打开显示,显示光标,光标

⌨️ 快捷键说明

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