?? 動態顯示v1.1.lst
字號:
C51 COMPILER V6.12 ___琠___V1_1 01/28/2007 22:15:17 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE ___琠___V1_1
OBJECT MODULE PLACED IN 動態顯示V1.1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 動態顯示V1.1.C ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*********************************************
2 * Emusic WorkRoom *
3 * *
4 * *
5 * 模塊名: 數碼管動態顯示演示 *
6 * 文件名:動態顯示V1.1.C *
7 * 作者: LJZ *
8 * 日期: 2007-1-27日 *
9 * 功能描述: 數碼管動態顯示1-255 *
10 * 版本:V1.1 *
11 *********************************************/
12
13 #define uchar unsigned char /*方便以后定義*/
14 #define uint unsigned int
15 #define ulong unsigned long
16
17 #include <reg51.h> /*51頭文件*/
18
19 void delay(void); /*函數說明*/
20 void display(uchar a_bit[]);
21
22 main()
23 {
24 1 uchar data sum_bit[3] = {0,0,0};
25 1 uchar data i,sum = 0,mid;
26 1
27 1 SP = 0x30;
28 1 P1 = 0x00;
29 1 P2 = 0x00;
30 1
31 1 while (1)
32 1 {
33 2 display (sum_bit);
34 2
35 2 sum = sum + 1 ;
36 2 mid = sum;
37 2
38 2 for (i=2; i>0; i--)
39 2 {
40 3 sum_bit[i] = mid % 10;
41 3 mid = mid/10;
42 3 }
43 2 sum_bit[0] = mid;
44 2 }
45 1 }
46
47 /*********************************************
48 * 函數名: 延時函數 *
49 * 函數說明: 使用定時器定時延時 *
50 * 作者: LJZ *
51 * 日期: 2007-1-27日 *
52 * 版本:V1.0 *
53 *********************************************/
54
55 void delay(void) /*延時程序*/
C51 COMPILER V6.12 ___琠___V1_1 01/28/2007 22:15:17 PAGE 2
56 {
57 1 uchar j; /*循環變量*/
58 1
59 1 for (j=0; j<5; j++)
60 1 {
61 2 TMOD = 0x01;
62 2 TH0 = 0x03C;
63 2 TL0 = 0x0B0;
64 2 TR0 = 1;
65 2
66 2 while (!TF0) /*等待溢出*/
67 2 {
68 3 ;
69 3 }
70 2
71 2 TR0 = 0;
72 2 TF0 = 0;
73 2 }
74 1
75 1 }
76 /*********************************************/
77 /* 函數名: 顯示程序 */
78 /* 函數說明: 把數據輸出到數碼管 */
79 /* 作者: LJZ */
80 /* 日期: 2007-1-27日 */
81 /* 版本:V1.0 */
82 /*********************************************/
83
84 void display(uchar a_bit[3])
85 {
86 1 uchar i;
87 1
88 1 if (a_bit[0] == 0x00)
89 1 {
90 2 a_bit[0] = 10;
91 2
92 2 if (a_bit[1] == 0x00)
93 2 {
94 3 a_bit[1] = 10;
95 3
96 3 if (a_bit[2] == 0x00)
97 3 {
98 4 a_bit[2] = 10;
99 4 }
100 3 }
101 2 }
102 1
103 1 P2 = 0x04;
104 1
105 1 for (i=0; i<3; i++)
106 1 {
107 2 switch (a_bit[i])
108 2 {
109 3 case 0: P1 = 0x03F;
110 3 break;
111 3 case 1: P1 = 0x06;
112 3 break;
113 3 case 2: P1 = 0x05B;
114 3 break;
115 3 case 3: P1 = 0x04F;
116 3 break;
117 3 case 4: P1 = 0x066;
C51 COMPILER V6.12 ___琠___V1_1 01/28/2007 22:15:17 PAGE 3
118 3 break;
119 3 case 5: P1 = 0x06D;
120 3 break;
121 3 case 6: P1 = 0x07D;
122 3 break;
123 3 case 7: P1 = 0x07;
124 3 break;
125 3 case 8: P1 = 0x07F;
126 3 break;
127 3 case 9: P1 = 0x06F;
128 3 break;
129 3 case 10:P1 = 0x00;
130 3 break;
131 3 }
132 2
133 2 delay();
134 2
135 2 P2 = P2 << 1;
136 2 }
137 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 278 ----
CONSTANT SIZE = 3 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 8
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 + -