📄 led7.lst
字号:
C51 COMPILER V7.50 LED7 08/16/2006 10:21:01 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE LED7
OBJECT MODULE PLACED IN led7.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE led7.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /***************************************************
2 7段数码管动态显示程序
3 ***************************************************/
4 #include <reg52.h>
5 #include <stdio.h>
6 #include <stdlib.h>
7 #include <absacc.h>
8 #include <ctype.h>
9 #include <string.h>
10 #include <stddef.h>
11 #include <intrins.h>
12 #include <absacc.h>
13 #include <stdarg.h>
14
15
16 #define TIMER0H 0xc4;
17 #define TIMER0L 0x00;
18 /* 7段数码管锁存器地址 */
19 #define LEDADDR 0x8000
20
21 // 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
22 /* 0-9 a-f 的7段数码管显示编码 */
23 unsigned char ledcode[16]={0x3F,0x0C,0x76,0x5E,0x4D,0x5B,0x7B,0x0E,0x7F,0x5F,0x6F,0x79,0x33,0x7C,0x73,0x63
-};
24 /* 存放要显示的数字值 */
25 unsigned char val[4];//
26 unsigned currled;
27
28
29 /* 写锁存器的子程序 */
30 void wraddr(unsigned int addr,unsigned char d)
31 { unsigned char xdata *pa;
32 1
33 1 pa=(unsigned char xdata *)addr;
34 1 *pa=d;
35 1 }
36 /* 显示子程序 */
37 void display(void)
38 {
39 1 unsigned char en[4]={1,2,4,8};
40 1
41 1
42 1 if((val[currled]>=0)&&(val[currled]<=15))
43 1 { wraddr(LEDADDR,ledcode[val[currled]]);
44 2 P1=en[currled];
45 2 }
46 1 else
47 1 { wraddr(LEDADDR,0x00);
48 2 P1=en[currled];
49 2 }
50 1 if((currled>=0)&&(currled<3))
51 1 { currled++;
52 2 }
53 1 else
54 1 { currled=0;
C51 COMPILER V7.50 LED7 08/16/2006 10:21:01 PAGE 2
55 2 }
56 1 }
57 void time0(void) interrupt 1
58 { display();
59 1 TL0 = TIMER0L;
60 1 TH0 = TIMER0H;
61 1 }
62 /* 初始化子程序 */
63 void init(void)
64 {
65 1 //timer0 init
66 1 TL0 = TIMER0L;
67 1 TH0 = TIMER0H;
68 1 TR0=1;
69 1 ET0=1;//test
70 1
71 1
72 1 // irq init
73 1 EX0=0;
74 1 IT0=0;
75 1 EX1=0;
76 1 IT1=0;
77 1
78 1 EA=1;
79 1 //输入要显示的数值
80 1 val[0]=1;
81 1 val[1]=2;
82 1 val[2]=3;
83 1 val[3]=4;
84 1 currled=0;
85 1 }
86 /* 主程序入口 */
87 int main(void)
88 { init();
89 1
90 1 while(1)
91 1 {
92 2 }
93 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 209 ----
CONSTANT SIZE = 4 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 22 4
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 + -