📄 text1.lst
字号:
C51 COMPILER V7.50 TEXT1 05/27/2006 20:45:22 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include<stdio.h>
3 Uart_Init();
4 sbit P20=0xA0;
5 sbit P21=0xA1;
6 sbit P22=0xA2;
7 sbit P23=0xA3;
8 bit Change_Flag;
9 void Update_LED();
10 xdata int nCounter=0;
11 xdata int nIndex=0;
12 xdata int nDataToDisplay=0;
13 char Table[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
14 main()
15 { Uart_Init();
16 1 TH0=0x3C; /* 计数初值写入TH0 */
17 1 TL0=0xAF; /* 写入计数初值到TL0 */
18 1 ET0=1; /* 定时器0中断允许*/
19 1 EA=1; /* 全局中断允许 */
20 1 TF0=0; /* 定时器0中断标志位清0 */
21 1 TR0=1; /* 定时器0准备开始 */
22 1 P2=0xFF; /* 端口初始化 */
23 1 Change_Flag=0;/* 变量初始化 */
24 1 nCounter=0;
25 1 while(1)
26 1 { if(Change_Flag==1)
27 2 {Update_LED();
28 3 if(nDataToDisplay>9999) nDataToDisplay=0;
29 3 printf("counter refreshed %d \n",nDataToDisplay);
30 3 }
31 2 }
32 1 }
33 void Timer0_Overflow() interrupt 1 using 0
34 { TH0=0x3C; /* 计数初值写入TH0 */
35 1 TL0=0xAF; /* 写入计数初值到TL0 */
36 1 if(nCounter==20)
37 1 {nCounter=0;
38 2 nDataToDisplay++;
39 2 Change_Flag=1;
40 2 /* 计数时间到1s计数值加1 */
41 2 }
42 1 nCounter++;
43 1 }
44 Uart_Init()
45 {SCON = 0x52; /* 设置串行口控制寄存器SCON*/
46 1 TMOD = 0x21; /* 12M时钟时波特率为2400 */
47 1 TCON = 0x69; /* TCON */
48 1 TH1 = 0xf3; /* TH1 */
49 1 }
50 void Update_LED()
51 { int nTemp;
52 1 nTemp=nDataToDisplay;
53 1 P20=1;
54 1 nIndex=nTemp%10;
55 1 P1=Table[nIndex];
C51 COMPILER V7.50 TEXT1 05/27/2006 20:45:22 PAGE 2
56 1 P20=0;
57 1
58 1 nTemp/=10;
59 1 P21=1;
60 1 nIndex=nTemp%10;
61 1 P1=Table[nIndex];
62 1 P21=0;
63 1
64 1 nTemp/=10;
65 1 P22=1;
66 1 nIndex=nTemp%10;
67 1 P1=Table[nIndex];
68 1 P22=0;
69 1
70 1 nTemp/=10;
71 1 P23=1;
72 1 nIndex=nTemp%10;
73 1 P1=Table[nIndex];
74 1 P23=0;
75 1 Change_Flag=0;
76 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 312 ----
CONSTANT SIZE = 24 ----
XDATA SIZE = 6 ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -