📄 timer00.lst
字号:
C51 COMPILER V8.05a TIMER00 02/07/2009 15:25:24 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE TIMER00
OBJECT MODULE PLACED IN timer00.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE timer00.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*说明:此程序只能让液晶从00:00:00开始计时,只能网液晶中读入数据*/
2 #include<reg52.h>
3 #define uint unsigned int
4 #define uchar unsigned char
5 sbit rs=P3^5;
6 sbit lcden=P3^4;
7 sbit s1=P2^0;
8 sbit s2=P2^1;
9 sbit s3=P2^2;
10 uchar code table[]={"2009-2-7 STA"};
11 uchar code table1[]={" 00:00:00"};
12 char shi,fen,miao;
13 uint count;
14 void delay(uint z)
15 { uint x,y;
16 1 for(x=z;x--;x>0)
17 1 for(y=110;y--;y>0);
18 1 }
19 void write_com(uchar com) //写指令rs=L,RW=L,lcden=高脉冲
20 {
21 1 rs=0;
22 1 lcden=0;
23 1 P0=com;
24 1 delay(1); //控制写入指令的速率
25 1 lcden=1;
26 1 delay(1);
27 1 lcden=0;
28 1
29 1 }
30 void write_date(uchar date)//写数据rs=H
31 {
32 1 rs=1;
33 1 lcden=0;
34 1 P0=date;
35 1 //控制写入数据的速率
36 1 lcden=1;
37 1 delay(1);
38 1 lcden=0;
39 1 }
40 /*初始化液晶,定时器*/
41 void init()
42 {
43 1 write_com(0x38);
44 1 write_com(0x0c);//开显示,无光标
45 1 write_com(0x06);
46 1 write_com(0x01);//清屏
47 1 TMOD=0x01;
48 1 EA=1;
49 1 ET0=1;
50 1 TR0=1;
51 1 TH0=65536-50000/256;
52 1 TL0=65536-50000%256;
53 1 }
54 void write_sfm(uchar add,uchar date)
55 { uchar ten,ge;
C51 COMPILER V8.05a TIMER00 02/07/2009 15:25:24 PAGE 2
56 1 ten=date/10;
57 1 ge=date%10;
58 1 write_com(0x80+0x40+add);
59 1 write_date(0x30+ten);
60 1 write_date(0x30+ge);
61 1 }
62 /*主函数*/
63 void main()
64 {
65 1 uint i;
66 1 init();
67 1
68 1 for (i=0;i<=12;i++)
69 1 write_date(table[i]);
70 1 write_com(0x80+0x40);
71 1 for(i=0;i<12;i++)
72 1 write_date(table1[i]);
73 1 while(1);
74 1 }
75 void timer0() interrupt 1
76 {
77 1 TH0=65536-50000/256;
78 1 TL0=65536-50000%256; //50ms
79 1 count++;
80 1 if(count==20)
81 1 {
82 2 count=0;
83 2 miao++;
84 2 if(miao==60)
85 2 {
86 3 miao=0;
87 3 fen++;
88 3 if(fen==60)
89 3 {
90 4 fen=0;
91 4 shi++;
92 4 if(shi==24)
93 4 {
94 5 shi=0;
95 5 }
96 4 write_sfm(4,shi);
97 4 }
98 3 write_sfm(7,fen);
99 3 }
100 2 write_sfm(10,miao);
101 2
102 2
103 2 }
104 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 323 ----
CONSTANT SIZE = 26 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 2
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 + -