📄 led.lst
字号:
C51 COMPILER V7.06 LED 03/19/2008 09:02:12 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE LED
OBJECT MODULE PLACED IN led.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE led.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /**********************************************************************
2 * 文件名: led.c *
3 * 功能:数码管上相关功能的实现 *
4 **********************************************************************/
5
6 #define NEED_LED_PROTOCOL
7 #ifdef NEED_LED_PROTOCOL
8
9 /************************************************
10 *Header file segment *
11 ***********************************************/
12 #include "at89x52.h"
13 #include "LED.h"
14 #include "DATATYPE.h"
15
16 /************************************************
17 *Globale variable segment *
18 ***********************************************/
19 uchar key_number[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
20 uchar display_bit[8]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
21 uchar ptr_bit = 0;
22 uchar buffer_dis[8]; //缓冲数组
23
24 /************************************************
25 *Function definition segment *
26 ***********************************************/
27
28 /*******************************************************
29 名称: 输入模块
30 功能: 将要显示的数按位分解成单独的数,送到各自对应的缓冲区
31 参数: long disdata
32 返回值:无
33 *******************************************************/
34 void LedPrint(long disdata) // 扫描函数
35 {
36 1 int count = 7, move_count = 0;
37 1 while(count >= 0 )
38 1 {
39 2 buffer_dis[count] = key_number[(disdata>>move_count)&0x0F];
-
40 2 count --;
41 2 move_count += 4;
42 2 }
43 1 }
44
45 /*******************************************************
46 名称: 输出模块
47 功能: 将显示缓冲区的数输显示在数码管上
48 参数: 无
49 返回值:无
50 *******************************************************/
51 void LedScan(void) //显示函数
52 {
53 1 if(ptr_bit < 0x08)
54 1 {
C51 COMPILER V7.06 LED 03/19/2008 09:02:12 PAGE 2
55 2 P1 = display_bit[ptr_bit];
56 2 P0 = buffer_dis[ptr_bit];
57 2 ptr_bit ++;
58 2 }
59 1 else
60 1 ptr_bit = 0;
61 1 }
62
63 #endif
64
65 /******************************************************************************
66 * End of Entire File *
67 *****************************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 104 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 33 6
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 + -