📄 ex4-9.lst
字号:
C51 COMPILER V8.02 EX4_9 09/12/2007 22:06:41 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE EX4_9
OBJECT MODULE PLACED IN ex4-9.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ex4-9.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <REGX51.H>
2 #define TIMER0_COUNT 0xEE11 /* 10000h-((12,000,000/(12*200))*/
3 code seven_seg[16]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,
4 0X90,0X88,0X83,0XC6,0XA1,0X86,0X8E};
5 code scan[4]={0X0E,0X0D,0X0B,0X07};
6 unsigned char counter[4]={0,0,0,0};
7 unsigned char timer0_tick,k=0;
8 extern char keyscan();
9 static void timer0_isr(void) interrupt TF0_VECTOR using 1
10 {
11 1 TR0=0;
12 1 TL0=(TIMER0_COUNT & 0x00FF);
13 1 TH0=(TIMER0_COUNT >> 8);
14 1 TR0=1;
15 1 // P1=seven_seg[counter[k]];
16 1 // P0=scan[k];
17 1 k++;
18 1 if(k==4) k=0;
19 1 timer0_tick++;
20 1 if (timer0_tick==200) timer0_tick=0;
21 1 }
22 static void timer0_initialize(void)
23 {
24 1 EA=0;
25 1 timer0_tick=0;
26 1 TR0=0;
27 1 TMOD &= 0XF0;
28 1 TMOD |=0x01;
29 1 TL0=(TIMER0_COUNT & 0x00FF);
30 1 TH0=(TIMER0_COUNT >> 8);
31 1 PT0=0;
32 1 ET0=1;
33 1 TR0=1;
34 1 EA=1;
35 1 }
36 void main (void)
37 {
38 1 unsigned char c=0;
39 1 char ch;
40 1 timer0_initialize();
41 1 while(1)
42 1 {
43 2 ch=keyscan();
44 2 P2&=ch;
45 2 }
46 1 /* do {
47 1 ch=gotkey();
48 1 for(c=3;c>0;c--)
49 1 counter[c]=counter[c-1];
50 1 counter[0]=ch;
51 1 } while(1); */
52 1 }
53
C51 COMPILER V8.02 EX4_9 09/12/2007 22:06:41 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 81 ----
CONSTANT SIZE = 40 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 1
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 + -