?? 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 + -