📄 miao_biao.lst
字号:
C51 COMPILER V7.50 MIAO_BIAO 04/04/2007 09:36:54 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE MIAO_BIAO
OBJECT MODULE PLACED IN miao_biao.OBJ
COMPILER INVOKED BY: D:\software\Keil\C51\BIN\C51.EXE miao_biao.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //**************************************************
2 //程序功能:秒表,9.9秒表设计
3 //*************************************************
4
5
6 #include<REG52.h>
7
8 code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
9 0x82,0xf8,0x80,0x90,0xff}; //共阳数码管段码
10
11 unsigned int cnt=0; //由于底下的cnt用到了4000,所以这时不能定义成char类型(最大才255)
12 unsigned char sec=0; //秒钟
13 unsigned char min=0; //分钟
14 unsigned char hour=0; //小时
15
16
17 void delay1ms() //1毫秒延时子程序
18 {
19 1 unsigned char i;
20 1 for(i=124;i>0;i--); //延时124*8+10=1002us
21 1 }
22
23
24 void LED_display() //显示子程序
25 {
26 1
27 1 P2=0xfb; //P1.2=0,选通第三位
28 1 P0=seg7code[sec/10];
29 1 delay1ms();
30 1 P0=0xff; //消隐
31 1
32 1 P2=0xf7; //P1.3=0,选通第四位
33 1 P0=seg7code[sec%10];
34 1 delay1ms();
35 1 P0=0xff; //消隐
36 1 }
37
38
39 void timer0 (void) interrupt 1 using 0 //定时器T0
40 {
41 1 cnt++; //每过250us,cnt加一
42 1 if(cnt==400) //250*400=0.1s
43 1 {
44 2 cnt=0;
45 2 sec++;
46 2 if(sec==100) //定时10秒,重新开始
47 2 {sec=0;}
48 2
49 2 }
50 1 }
51
52
53 main()
54 {
55 1 TMOD=0x02; //T0,方式2
C51 COMPILER V7.50 MIAO_BIAO 04/04/2007 09:36:54 PAGE 2
56 1
57 1 EA=1; //开总中断
58 1 ET0=1; //开定时器T0中断
59 1
60 1 TH0=0x19; //11.0529MHZ的晶振,250us的定时中断
61 1 TL0=0x19;
62 1 TR0=1;
63 1
64 1 while(1)
65 1 {
66 2 LED_display();
67 2 }
68 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 108 ----
CONSTANT SIZE = 11 ----
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 + -