📄 plj.lst
字号:
C51 COMPILER V8.02 PLJ 01/20/2007 18:34:24 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE PLJ
OBJECT MODULE PLACED IN plj.OBJ
COMPILER INVOKED BY: D:\程序开发软件\Keil\C51\BIN\C51.EXE plj.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 /*#include<absacc.h>*/
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 code seven_seg[10] = {0xC0,0xF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
7 code scan[4]={0X10,0X20,0X40,0X80};
8 uint seven_digital[4]={0xc0,0xc0,0xc0,0xc0};
9 uint counter[4];/*={0,0,0,0};*/
10 uint msn=5;
11 uint i,j,count;
12 uint tf=0;
13
14 void timer0(void) interrupt 1 using 1 /*定时器定100ms*/
15 {
16 1 TH0=0x3c; TL0=0xb0; /* 0x3cb0十进制15536,即初值为50000*/
17 1 msn--;
18 1 if(msn==0)
19 1 {
20 2 tf=1;
21 2 EA=0;
22 2 msn=5; /*500ms定时到,设标志位*/
23 2 }
24 1 for(i=0;i<4;i++)
25 1 {
26 2 seven_digital[i]=seven_seg[counter[i]];
27 2 }
28 1 }
29
30 void timer1(void) interrupt 3 /*计数器*/
31 {
32 1
33 1 }
34
35 void contral(void)
36 { int f;
37 1 TMOD=0x51;
38 1 TH0=0x3c; TL0=0xb0; /*定时器初值*/
39 1 TH1=0x00; TL1=0x00; /*计数器初值*/
40 1 TR0=1;TR1=1;PT0=1;ET0=1;ET1=1;EA=1;
41 1
42 1 while(tf!=1); /*等待500ms定时到*/
43 1 TR0=0;TR1=0; /*停止计数*/
44 1 count=TH1*256+TL1;
45 1 f= 2 * count; /*1m周期多少次,即频率*/
46 1 i=0;
47 1 for(i=0;i<=3;i++)
48 1 {
49 2 counter[i]=f%10;
50 2 seven_digital[i]=seven_seg[counter[i]];
51 2 f/=10;
52 2 }
53 1 }
54
55 void main()
C51 COMPILER V8.02 PLJ 01/20/2007 18:34:24 PAGE 2
56 {
57 1 contral();
58 1 i=0;
59 1 while(1) /*显示*/
60 1 {
61 2 P0=seven_digital[i];
62 2 P1=scan[i];
63 2 j=5000;
64 2 while(j)
65 2 {
66 3 j--;
67 3 }
68 2 i++;
69 2 if(i>3) i=0;
70 2 }
71 1 }
72
73
74
75
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 379 ----
CONSTANT SIZE = 28 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 26 ----
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 + -