📄 动态显示.lst
字号:
C51 COMPILER V9.00 禵态显示 08/28/2012 20:55:30 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE 禵态显示
OBJECT MODULE PLACED IN 动态显示.OBJ
COMPILER INVOKED BY: d:\Keil uvision4\C51\BIN\C51.EXE 动态显示.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 * 文件名 : 动态显示.c
3 * 描述 :
4 * 创建人 : 东流,2009年8月30日
5 * 版本号 : 1.0
6 ***********************************************************************/
7 #include<reg52.h>
8 #define uchar unsigned char
9 #define uint unsigned int
10
11 uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
12 uchar code LED_W[8] = {0,1,2,3,4,5,6,7};
13 uint Time_temp = 0, LED_temp = 0;
14 /********************************************************************
15 * 名称 : Delay_1ms()
16 * 功能 : 延时子程序,延时时间为 1ms * x
17 * 输入 : x (延时一毫秒的个数)
18 * 输出 : 无
19 ***********************************************************************/
20 void Delay(uint i)
21 {
22 1 uchar x,j;
23 1 for(j=0;j<i;j++)
24 1 for(x=0;x<=148;x++);
25 1 }
26
27 /********************************************************************
28 * 名称 : Time0_Init()
29 * 功能 : 定时器的初始化,11.0592MZ晶振,50ms
30 * 输入 : 无
31 * 输出 : 无
32 ***********************************************************************/
33 void Time0_Init()
34 {
35 1 TMOD = 0x01;
36 1 IE = 0x82;
37 1 TH0 = 0x4c;
38 1 TL0 = 0x00;
39 1 TR0 = 1;
40 1 }
41
42 /********************************************************************
43 * 名称 : Time0_Int()
44 * 功能 : 定时器中断,中断中实现 Count 加一
45 * 输入 : 无
46 * 输出 : 无
47 ***********************************************************************/
48 void Time0_Int() interrupt 1
49 {
50 1 TH0 = 0x4c;
51 1 TL0 = 0x00;
52 1 Time_temp++;
53 1 if(Time_temp == 4) //定时器溢出时间50毫秒,隔0.2秒,数码管的数据改变一次
54 1 {
55 2 LED_temp++;
C51 COMPILER V9.00 禵态显示 08/28/2012 20:55:30 PAGE 2
56 2 Time_temp = 0;
57 2 }
58 1 }
59
60 /********************************************************************
61 * 名称 : Main()
62 * 功能 : 数码管的显示
63 * 输入 : 无
64 * 输出 : 无
65 ***********************************************************************/
66 void Main(void)
67 {
68 1 uchar i = 0,j = 0;
69 1 Time0_Init();
70 1 while(1)
71 1 {
72 2 P0 = table[(i + LED_temp) % 8]; //数码管段值
73 2 P2 = LED_W[j]; //点亮某一位数码管
74 2 Delay(2);
75 2 j++;
76 2 i++;
77 2 if(j == 8) //每个数码管都点亮了一次。
78 2 {
79 3 j = 0;
80 3 i = 0;
81 3 }
82 2 }
83 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 126 ----
CONSTANT SIZE = 18 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 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 + -