📄 initt0.lst
字号:
C51 COMPILER V7.50 INITT0 09/11/2008 08:23:58 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE INITT0
OBJECT MODULE PLACED IN InitT0.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE InitT0.c DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 sbit DAT = P2^7;
3 sbit PL = P2^6;
4 sbit CLK = P2^5;
5 sbit Voice=P2^4; //蜂鸣器
6
7 unsigned char pLED;
8 unsigned char DispBuf[6]; //缓冲区
9 unsigned char count;
10 bit xTim,xKey;
11 unsigned char KeyVal;
12
13 void InitT0(void) //初始化
14 {
15 1 pLED = 0;
16 1 xTim = 0;
17 1 count = 0;
18 1 TMOD = (TMOD & 0xF0) |0x01;
19 1 TH0 = 0xF1; // 1/240 s
20 1 TL0 = 0x00;
21 1 TR0 = 1;
22 1 ET0 = 1;
23 1 EA = 1;
24 1 }
25
26 void T0Srv(void) interrupt 1 using 1
27 {
28 1 unsigned char i;
29 1 TH0 = 0xF1; // 1/240 s
30 1 P2 = 0x18| pLED;
31 1
32 1 P0 = DispBuf[pLED];
33 1 if(++pLED==6) pLED = 0;
34 1 count++;
35 1 if((count&0x03)==0) // 每4次中断16ms读一次按键
36 1 {
37 2 CLK = 0;
38 2 PL = 0; // Latch Key
39 2 PL = 1;
40 2 KeyVal = 0;
41 2 for(i=0;i<8;i++)
42 2 {
43 3 KeyVal <<= 1;
44 3 if(!DAT) KeyVal |= 0x01; // 低电平检测
45 3 CLK = 1;
46 3 CLK = 0;
47 3 }
48 2 KeyVal &= 0x3F;
49 2 xKey = 1; // 发信号,表示读了一次按键
50 2 }
51 1 if(count==240) // 每240次中断发秒更新标志
52 1 {
53 2 count = 0;
54 2 xTim = 1;
55 2
C51 COMPILER V7.50 INITT0 09/11/2008 08:23:58 PAGE 2
56 2 } }
57
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 119 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 ----
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -