📄 t0.lst
字号:
C51 COMPILER V7.06 T0 09/13/2007 01:25:33 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE T0
OBJECT MODULE PLACED IN T0.OBJ
COMPILER INVOKED BY: C:\tools\Keil\C51\BIN\C51.EXE T0.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*实验名称:定时中断0
2 功能:利用定时器,产生秒计数器,使数码管从000计到999
3 作者:http://www.mcuprog.com
4 05-02-01
5 */
6 #include <reg51.h>
7 //LCD的口线
8 sbit E=P3^5;
9 sbit RW=P3^6;
10 sbit RS=P3^7;
11 //8字LED的连接方法
12 //P0.7,P0.6,P0.5,P0.4,P0.3,P0.2,P0.1,P0.0
13 //G, F A E B H C D
14
15
16 unsigned char code ledcode[]={0x84,0xf5,0x46,0x54,0x35,0x1c,0x0c,0xd5,
17 0x04,0x14,0x05,0x2c,0x8e,0x64,0x0e,0x0f}; //数码管段码表
18
19 unsigned char js100ms,jsgw,jssw,t0100ms,t0sm;
20
21 void time0(void);
22
23 void main(void)
24 {
25 1 E=0; //取消LCD对LED的影响
26 1 RW=0;
27 1 RS=1;
28 1
29 1 js100ms=0x00;
30 1 jsgw=0x00;
31 1 jssw=0x00;
32 1 t0100ms=0x14;
33 1 t0sm=0x01; //从第一个LED开始显示
34 1 TH0=0xee;
35 1 TL0=0x00;
36 1 TMOD=0x01;
37 1 TR0=1;
38 1 IE=0x82;
39 1 while(1)
40 1 {}
41 1 }
42
43 void time0(void) interrupt 1
44 {
45 1 TH0=0xee;
46 1 TL0=0x00;
47 1 t0100ms--;
48 1 if(t0100ms==0x00)
49 1 {
50 2 t0100ms=0x14;
51 2 js100ms++;
52 2 if(js100ms==0x0a)
53 2 {
54 3 js100ms=0x00;
55 3 jsgw++;
C51 COMPILER V7.06 T0 09/13/2007 01:25:33 PAGE 2
56 3 if(jsgw==0x0a)
57 3 {
58 4 jsgw=0x00;
59 4 jssw++;
60 4 if(jssw==0x0a)
61 4 {jssw=0x00;}
62 4 }
63 3 }
64 2 }
65 1 t0sm++;
66 1 if(t0sm==0x04)
67 1 {t0sm=0x01;}
68 1 P0=0xff;
69 1 switch(t0sm)
70 1 {
71 2 case 0x01: { P2=0xdf;P0=ledcode[js100ms];}break;
72 2 case 0x02: { P2=0xef;P0=ledcode[jsgw]&0xFB;}break;
73 2 case 0x03: { P2=0xf7;P0=ledcode[jssw];}break;
74 2 default: break;
75 2 }
76 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 152 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
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 + -