📄 7.lst
字号:
C51 COMPILER V8.02 7 05/28/2009 21:34:18 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 7
OBJECT MODULE PLACED IN 7.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 7.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2
3 #define uchar unsigned char
4
5 void delay_ms(uchar ms); // 延时毫秒@12M,ms最大值255
6 void display(); // 显示子程序
7
8 uchar code dis_code[10] = {0xc0,0xf9,0xa4,0xb0,0x99, //段码表
9 // 0 1 2 3 4 对应内容
10 0x92,0x82,0xf8,0x80,0x90};
11 // 5 6 7 8 9
12
13 uchar data dis_0 = 0; // 个位值
14 uchar data dis_1 = 0; // 十位值
15 uchar data dis_2 = 0; // 百位值
16 uchar data dis_3 = 0; // 千位值
17
18 void main()
19 {
20 1 P2 = 0x00; // 关所有数码管
21 1
22 1 while(1)
23 1 {
24 2 display(); // 调用显示子程序
25 2
26 2 dis_0++; // 个位值加1
27 2 if(dis_0 != 10) // 个位未到10则结束此次循环
28 2 continue;
29 2
30 2 dis_0 = 0; // 个位到10清零
31 2 dis_1++; // 十位值加1(个位到10的进位)
32 2 if(dis_1 != 10) // 十位未到10则结束此次循环
33 2 continue;
34 2
35 2 dis_1 = 0; // 十位到10清零
36 2 dis_2++; // 百位值加1(十位到10的进位)
37 2 if(dis_2 != 10) // 百位未到10则结束此次循环
38 2 continue;
39 2
40 2 dis_2 = 0; // 百位到10清零
41 2 dis_3++; // 千位值加1(百位到10的进位)
42 2 if(dis_3 != 10) // 千位未到10则结束此次循环
43 2 continue;
44 2
45 2 dis_3 = 0; // 千位到10清零
46 2 }
47 1 }
48 void display() // 显示子程序
49 {
50 1 uchar data i = 50; // 用于延长每四位数的显示时间
51 1 while(i--) // 直到i减为0
52 1 {
53 2 P0 = dis_code[dis_0]; // 取个位的段码
54 2 P2 = 0xf8; // 开个位显示(P2.7口控制个位数码管)
55 2 delay_ms(1); // 延时1ms使四位数码管动态显示时能看清
C51 COMPILER V8.02 7 05/28/2009 21:34:18 PAGE 2
56 2 P2 = 0x00;
57 2 P0 = dis_code[dis_1]; // 取十位的段码
58 2 P2 = 0xf4; // 开十位显示(P2.6口控制十位数码管)
59 2 delay_ms(1); // 延时1ms作用同上
60 2 P2 = 0x00;
61 2 P0 = dis_code[dis_2]; // 取百位的段码
62 2 P2 = 0xf2; // 开百位显示(P2.5口控制十位数码管)
63 2 delay_ms(1); // 延时1ms作用同上
64 2 P2 = 0x00;
65 2 P0 = dis_code[dis_3]; // 取千位的段码
66 2 P2 = 0xf1; // 开千位显示(P2.4口控制十位数码管)
67 2 delay_ms(1);
68 2 P2 = 0x00; // 延时1ms作用同上
69 2 }
70 1 }
71 void delay_ms(uchar ms) // 延时毫秒@12M,ms最大值255
72 {
73 1 uchar i;
74 1 while(ms--)
75 1 for(i = 0; i < 124; i++);
76 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 155 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 1
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 + -