?? 10-++?
字號:
C51 COMPILER V8.02 10S的秒表 07/29/2012 09:40:19 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 10S的秒表
OBJECT MODULE PLACED IN 10S的秒表.OBJ
COMPILER INVOKED BY: F:\keil\C51\BIN\C51.EXE 10S的秒表.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 uchar count=0;
5 uchar code tab[]={
6 0x3f,0x06,0x5b,0x4f,0x66,
7 0x6d,0x7d,0x07,0x7f,0x6f};//共陰數碼管0123456789
8 sbit key1=P3^6;
9 sbit key2=P3^7;
10 uchar sec,flag,temp,i;
11 uchar state;
12 void delay(uchar z)
13 {
14 1 uchar x;
15 1 while(z--)
16 1 for(x=120;x>0;x--);
17 1 }
18 void init()
19 {
20 1 P0=0x3f;P2=0x3f;
21 1 flag=0;
22 1 state=1;
23 1 sec=0;
24 1 i=0;
25 1 TMOD=0x01;
26 1 TH0=(65536-50000)/256;
27 1 TL0=(65536-50000)%256;
28 1 PX0=1;
29 1 EA=1;
30 1 EX0=1;
31 1 }
32 void main()
33 {
34 1 init();
35 1 while(1)
36 1 {
37 2 if(state!=key2)
38 2 {
39 3 delay(10);
40 3 state=key2;
41 3 //while(key2==0);
42 3 if(state==0)
43 3 {
44 4 delay(10);
45 4 flag=(flag+1)%2;
46 4 switch(flag)
47 4 {
48 5 case 0:
49 5 EA=0;ET0=0;TR0=0;break;
50 5 case 1:
51 5 EA=1;ET0=1;TR0=1;break;
52 5 }
53 4 }
54 3 }
55 2 }
C51 COMPILER V8.02 10S的秒表 07/29/2012 09:40:19 PAGE 2
56 1 }
57 void timer0() interrupt 1
58 {
59 1 TH0=(65536-50000)/256;
60 1 TL0=(65536-50000)%256;
61 1 if(++i==2)
62 1 {
63 2 i=0;
64 2 ++sec;
65 2 P0=tab[sec/10];
66 2 P2=tab[sec%10];
67 2 if(sec==100)
68 2 sec=0;
69 2 }
70 1 }
71 void exter0() interrupt 0
72 {
73 1 P0=0x3f;P2=0x3f;i=0;sec=0;
74 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 191 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
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 + -