📄 frequence.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 + -