📄 1306.lst
字号:
C51 COMPILER V7.06 1306 07/31/2008 21:23:33 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 1306
OBJECT MODULE PLACED IN 1306.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 1306.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #define uchar unsigned char
2 #define uint unsigned int
3 #include "def.h"
4 #include <reg52.h>
5 #include <stdio.h>
6 #include <intrins.h>
7 #define PUBLIC_GLOBALS
8 #include <public.h>
9
10 /*****************************************************************************/
11 uchar num,minute,second,temp;
12
13 sbit RS = P1^0;//Pin4
14 sbit RW = P1^1; //Pin5
15 sbit E = P1^2;//Pin6
16
17 #define Data P2 //数据端口
18
19
20
21 void DelayUs(unsigned char us)//精确延时1us
22 {
23 1 unsigned char uscnt;
24 1 uscnt=us>>1;/* Crystal frequency in 12MHz*/
25 1 while(--uscnt);
26 1 }
27 /******************************************************************/
28 void DelayMs(unsigned char ms)//这个延时和上面的组合起来的延时即为ms(ms)
29 {
30 1 while(--ms)
31 1 {
32 2 DelayUs(250);
33 2 DelayUs(250);
34 2 DelayUs(250);
35 2 DelayUs(250);
36 2 }
37 1 }
38
39 void delay5ms(void) //精确延时(5ms-5us)的时间,对与MS级的延时已经很精确了
40 {
41 1 uchar i,j;
42 1 for(i=10;i>0;i--)
43 1 for(j=248;j>0;j--);
44 1 }
45
46 void delay15ms(void) //精确延时(5ms-5us)的时间,对与MS级的延时已经很精确了
47 {
48 1 uchar i,j;
49 1 for(i=30;i>0;i--)
50 1 for(j=248;j>0;j--);
51 1 }
52
53 void WriteCommand(unsigned char c)
54 {
55 1 //DelayMs(5);//short delay before operation 延时4.179ms
C51 COMPILER V7.06 1306 07/31/2008 21:23:33 PAGE 2
56 1 delay5ms();//精确延时(5ms-5us)的时间
57 1 E=0;
58 1 RS=0;
59 1 RW=0;
60 1 _nop_();
61 1 E=1;
62 1 Data=c;
63 1 E=0;
64 1 }
65 /****************************************************************/
66 void WriteData(unsigned char c)
67 {
68 1 // DelayMs(5); //short delay before operation 延时4.179ms
69 1 delay5ms(); //精确延时(5ms-5us)的时间
70 1 E=0;
71 1 RS=1;
72 1 RW=0;
73 1 _nop_(); //1us
74 1 E=1;
75 1 Data=c;
76 1 E=0;
77 1 RS=0;
78 1 }
79 /*********************************************************************/
80 void ShowChar(unsigned char pos,unsigned char c)
81 {
82 1 unsigned char p;
83 1 if (pos>=0x10)
84 1 p=pos+0xb0; //是第二行则命令代码高4位为0xc
85 1 else
86 1 p=pos+0x80; //是第二行则命令代码高4位为0x8
87 1 WriteCommand (p);//write command
88 1 WriteData (c); //write data
89 1
90 1 }
91 /*************************************************************************/
92 void ShowString (unsigned char line,char *ptr)
93 {
94 1 unsigned char l,i;
95 1 l=line<<4;
96 1 for (i=0;i<16;i++)
97 1 ShowChar (l++,*(ptr+i));//循环显示16个字符
98 1 }
99 /*********************************************************************/
100 void InitLcd()
101 {
102 1 //DelayMs(15);
103 1 delay15ms();
104 1 WriteCommand(0x38); //display mode
105 1 WriteCommand(0x38); //display mode
106 1 WriteCommand(0x38); //display mode
107 1 WriteCommand(0x06); //显示光标移动位置
108 1 WriteCommand(0x0c); //显示开及光标设置
109 1 WriteCommand(0x01); //显示清屏
110 1
111 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 220 ----
CONSTANT SIZE = 26 ----
XDATA SIZE = 64 5
C51 COMPILER V7.06 1306 07/31/2008 21:23:33 PAGE 3
PDATA SIZE = ---- ----
DATA SIZE = 36 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -