📄 t0.lst
字号:
C51 COMPILER V7.06 T0 12/02/2010 16:37:59 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE T0
OBJECT MODULE PLACED IN T0.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE T0.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*****************
2 用定时器0来作一个秒表
3 *************************/
4 #include<reg52.h>
5 #include<intrins.h>
6 #define uint unsigned int
7 #define uchar unsigned char
8 sbit a=P1^0;
9 sbit b=P1^1;
10 sbit c=P1^2;
11 /************************************
12 共阴数码管0---9的译码表
13 **********************/
14 const uchar table[]={
15 0x3f,0x06,0x5b,0x4f,0x66,
16 0x6d,0x7d,0x07,0x7f,0x6f};
17 uchar ms=0,s=0,fen=0;
18 uchar tt=0;
19 void delay(uint z)//延时函数
20 {
21 1 uint i,j;
22 1 for(i=z;i>0;i--)
23 1 for(j=110;j>0;j--);
24 1 }
25 void HC138(uchar i)//74HC138子函数
26 {
27 1 a=i&0x01;
28 1 b=i&0x02;
29 1 c=i&0x04;
30 1 }
31 void display(uchar count,uchar dat)//8位数码管分成4段,每段显示两位
32 {
33 1 uchar ge,shi;
34 1 shi=dat/10;
35 1 ge=dat%10;
36 1 HC138(count);
37 1 P2=table[ge];
38 1 delay(1);
39 1 HC138(count+1);
40 1 P2=table[shi];
41 1 delay(1);
42 1 }
43 void main()
44 {
45 1 TMOD=0x01;//设定工作方式
46 1 TH0=(65536-4800)/256;//装入初值
47 1 TL0=(65536-4800)%256;
48 1 EA=1; //开总中断
49 1 ET0=1; //开定时器中断
50 1 TR0=1; //启动定时器
51 1 while(1)
52 1 {
53 2 display(4,ms);//显示毫秒
54 2 display(6,s);//显示秒
55 2 display(0,fen);//显示分钟
C51 COMPILER V7.06 T0 12/02/2010 16:37:59 PAGE 2
56 2 }
57 1
58 1 }
59 void t0() interrupt 1//定时器0中断函数
60 {
61 1 TH0=(65536-4610)/256;//装入初值
62 1 TL0=(65536-4610)%256;
63 1 tt++;
64 1 if(tt==2)
65 1 {
66 2 tt=0;
67 2 ms++;
68 2 if(ms==100)
69 2 {
70 3 ms=0;
71 3 s++;
72 3 if(s==60)
73 3 {
74 4 s=0;
75 4 fen++;
76 4 }
77 3 }
78 2 }
79 1 }
80
81
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 183 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 14 ----
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 + -