📄 samp6-4.lst
字号:
C51 COMPILER V8.02 SAMP6_4 07/08/2008 20:47:03 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE SAMP6_4
OBJECT MODULE PLACED IN samp6-4.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE samp6-4.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <REG52.H>
2 #include <at89x52.h>
3 //#include"LED2.H"
4 //#include"24C02.h"
5 #include "lcd1602.h"
6 #define uchar unsigned char
7 uchar disp[8];
8 uchar T0count,T1count;
9 //uchar code dispcode[]={0x11,0Xd7,0x32,0X92,0XD4,0X98,0X18,0XD3,0X10,0X90};
10 //void calc()
11 uchar flag=0,flag2=0;
12 uchar display_code[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
13 uchar dispbuf[5]; //显示缓冲区
14
15 void delayxm(uchar x)
16 { uchar i,j;
17 1 while(x--)
18 1 {
19 2 for(i=0;i<250;i++)
20 2 for(j=0;j<132;j++);
21 2
22 2
23 2 }
24 1 }
25
26 void calc()
27 {
28 1 uchar i;
29 1 long frequency;
30 1 frequency=(T0count*256+TH0)*256+TL0;
31 1 for (i=4;i>0;i--)
32 1 {
33 2 disp[i]=frequency%10;
34 2 // disp[]=frequency%10;
35 2 frequency=frequency/10;
36 2 }
37 1 disp[0]=frequency;
38 1 // display_code[0]=frequency;
39 1 }
40 display()
41 {
42 1 lcd_strwdat( 0,"Ping Lu Ji (KHz)" );//
43 1 lcd_pos(0x42);
44 1 // if(dispbuf[0]!=0)
45 1 // { //如果上一百度则百数才显示
46 1 // lcd_write(1,display_code[disp[3]]);
47 1 // lcd_write(1,display_code[disp[2]]);
48 1 // lcd_write(1,display_code[disp[1]]);
49 1 // lcd_write(1,display_code[disp[0]]);
50 1 // }
51 1 // lcd_write(1,display_code[4]);
52 1 // lcd_write(1,display_code[5]);
53 1 // lcd_write(1,display_code[6]);
54 1 // lcd_write(1,display_code[7]);
55 1 // lcd_write(1,display_code[8]);
C51 COMPILER V8.02 SAMP6_4 07/08/2008 20:47:03 PAGE 2
56 1 // lcd_write(1,display_code[9]);
57 1 // lcd_write(1,display_code[0]);
58 1 // lcd_write(1,display_code[1]);
59 1 // lcd_write(1,display_code[1]);
60 1 // lcd_write(1,display_code[1]);
61 1 // lcd_write(1,display_code[1]);
62 1 // lcd_write(1,display_code[1]);
63 1 }
64 void init()
65 {
66 1 T0count=0;
67 1 T1count=0;
68 1 TH0=0;
69 1 TL0=0;
70 1 }
71 void main()
72 {
73 1 uchar i,CON;
74 1 init();
75 1 TMOD=0X15;
76 1 TH1=(65536-50000)/256;
77 1 TL1=(65536-50000)%256;
78 1 ET1=1;
79 1 ET0=1;
80 1 EA=1;
81 1 TR1=1;
82 1 TR0=1;
83 1 T2MOD=0X02;
84 1 RCAP2H=245;
85 1 RCAP2L=74;
86 1 TR2=1;
87 1
88 1 lcd_init(); //初始化lcd
89 1 for(i=0;i<4;i++) //显示缓冲区置0
90 1 dispbuf[i] = 0;
91 1 while(1)
92 1 {
93 2 display(); //显示
94 2 CON++;
95 2 if(CON==300) //写时刷屏
96 2 lcd_init();
97 2 // }
98 2 // while(1)
99 2 // {
100 2 lcd_write(1,display_code[disp[0]]);
101 2
102 2 lcd_write(1,display_code[disp[1]]);
103 2 lcd_write(1,0x2e);
104 2 lcd_write(1,display_code[disp[2]]);
105 2 lcd_write(1,display_code[disp[3]]);
106 2 lcd_write(1,display_code[disp[4]]);
107 2 delayxm(2);
108 2 }
109 1 /* while(1)
110 1 {
111 1 display(dispcode[disp[3]]);
112 1 display(dispcode[disp[2]]);
113 1 display(dispcode[disp[1]]);
114 1 display(dispcode[disp[0]]);
115 1 display(dispcode[0xff]);
116 1 display(dispcode[0xff]);
117 1 display(dispcode[0xff]);
C51 COMPILER V8.02 SAMP6_4 07/08/2008 20:47:03 PAGE 3
118 1 display(dispcode[0xff]);
119 1 delayxms(10);
120 1 } */
121 1 }
122 void time0() interrupt 1
123 {
124 1 T0count++;
125 1 }
126 void time1() interrupt 3
127 { // uchar contuer;
128 1 TH1=(65536-50000)/256;
129 1 TL1=(65536-50000)%256;
130 1 if(T1count==19)
131 1 {
132 2 calc();
133 2 init();
134 2 }
135 1 else T1count++;
136 1 // contuer++;
137 1 // if(contuer==7) //当到0.35s改变 flag
138 1 // {
139 1 // contuer=0;
140 1 // flag=~flag;
141 1 // }
142 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 356 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 27 6
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 + -