?? 111111111.lst
字號(hào):
C51 COMPILER V6.12 111111111 11/08/2006 16:41:20 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE 111111111
OBJECT MODULE PLACED IN .\111111111.OBJ
COMPILER INVOKED BY: G:\Program Files\keilC51\C51\BIN\C51.EXE .\111111111.c DEBUG OBJECTEXTEND
stmt level source
1 #include<reg51.h>
2 #include<intrins.h>
3 //===================== 加載頭文件和函數(shù)
4 sbit sda=P0^2;//定義數(shù)據(jù)線
5 sbit scl=P0^3;//定義時(shí)鐘線
6 //===========================
7 int counter,bulf;//定義變量
8 int second,minute,hour;//定義變量
9 //-------------字型碼----------------------------
10 code char led[16]={0x11,0xD7,0x32,0x92, /* 0 1 2 3 4 */
11 0xD4,0x98,0x18,0xD3,0x10,0x90, /* 5 6 7 8 9 */
12 0x50,0x1C,0x39,0x16,0x38,0x78};/* A B C D E F*/
13 //-----------------------------------------------
14 void send(unsigned char a) //串行輸出,74LS164
15 {
16 1 unsigned char i;
17 1 scl=0;
18 1 for(i=0;i<8;i++)
19 1 {
20 2 if(_crol_(a,i)&0x80) //向左移i位 _cror_(a,i)則向相反方向(向右)移i位
21 2 sda=1;
22 2 else
23 2 sda=0;
24 2 scl=0;_nop_();scl=1;
25 2 }
26 1 }
27 //---------顯示子程序--------------
28 void display()
29 {
30 1 send(led[second%10]); //查表得到代碼后,串行輸出
31 1 send(led[second/10]);
32 1 send(0xff);
33 1 send(led[minute%10]);
34 1 send(led[minute/10]);
35 1 send(0xff);
36 1 send(led[hour%10]);
37 1 send(led[hour/10]);
38 1 }
39 //==================================
40 //主程序
41 main()
42 {
43 1 second=50;minute=57;hour=23;
44 1 TMOD=0x01; //定時(shí)器0工作于方式1
45 1 TH0=0x3b;
46 1 TL0=0xc0; //定時(shí)50ms
47 1 counter=16;
48 1 bulf=50000;
49 1
50 1 EA=1; //開總中斷
51 1 ET0=1; //開定時(shí)中斷
52 1 TR0=1; //起動(dòng)定時(shí)器
53 1
54 1 while(1)P2=0x00;
55 1 }
C51 COMPILER V6.12 111111111 11/08/2006 16:41:20 PAGE 2
56 //==============================
57
58 //定時(shí)中斷0服務(wù)子程序
59 void timer0_int(void) interrupt 1 //定時(shí)器0中斷工作方式為1
60 {
61 1 TR0=0; //關(guān)定時(shí)中斷
62 1 TH0=0x3b;
63 1 TL0=0xc0; //重新付值定時(shí)50ms
64 1 if(!(counter--)) //定時(shí)器是否到1S
65 1 {
66 2 counter=16;
67 2 P2=0xff;
68 2 while(bulf--);
69 2 //---------------------
70 2
71 2 if(second>=59)
72 2 {
73 3 second=0;
74 3 if(minute>=59)
75 3 {
76 4 minute=0;
77 4 if(hour>=23)hour=0;
78 4 else hour=hour+1;
79 4 }
80 3 else minute=minute+1;
81 3 }
82 2 else second=second+1;
83 2 display();
84 2 //---------------------
85 2 }
86 1 bulf=50000;
87 1 TR0=1;
88 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 385 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -