?? lednumber.lst
字號(hào):
C51 COMPILER V9.02 LEDNUMBER 11/08/2012 21:34:06 PAGE 1
C51 COMPILER V9.02, COMPILATION OF MODULE LEDNUMBER
OBJECT MODULE PLACED IN ..\output\LedNumber.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\source\LedNumber.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(..\
-output\LedNumber.lst) OBJECT(..\output\LedNumber.obj)
line level source
1 /*
2 **********************************************************************************************************
-***
3 * Kingst-51
4 * Development board samples
5 *
6 * (c) Copyright 2009-2012, Kingst Studio
7 * All Rights Reserved
8 *
9 * http://www.kingst.org
10 * 文件名:LedNumber.c
11 * 描 述:LED數(shù)碼管顯示模塊
12 * 版本號(hào):1.0.0
13 **********************************************************************************************************
-***
14 */
15
16 #define _LED_NUMBER_C
17 #include "config.h"
18 #include "LedNumber.h"
19
20
21 /*
22 ********************************************************************************
23 * ----------------------- Local defines ---------------------------------------
24 ********************************************************************************
25 */
26 const uint8 code LedChar[] = { //數(shù)碼管顯示的字符轉(zhuǎn)化表
27 LED_CHAR_0, LED_CHAR_1, LED_CHAR_2, LED_CHAR_3, LED_CHAR_4,
28 LED_CHAR_5, LED_CHAR_6, LED_CHAR_7, LED_CHAR_8, LED_CHAR_9,
29 LED_CHAR_A, LED_CHAR_b, LED_CHAR_C, LED_CHAR_d, LED_CHAR_E, LED_CHAR_F,
30 };
31
32
33 /*
34 ********************************************************************************
35 * ----------------------- Local variables -------------------------------------
36 ********************************************************************************
37 */
38 static uint8 ledBuff[6]; //數(shù)碼管顯示緩沖區(qū)
39
40
41 /*
42 ***************************************************************************************************
43 * ---------------------------------- Source codes ------------------------------------------------
44 ***************************************************************************************************
45 */
46
47
48 /*
49 * 函數(shù)名:LedNumberInit
50 * 描 述:LED數(shù)碼管顯示模塊初始化
51 */
52 void LedNumberInit(void)
C51 COMPILER V9.02 LEDNUMBER 11/08/2012 21:34:06 PAGE 2
53 {
54 1 uint8 i;
55 1
56 1 DBUS = 0xFF;
57 1 ADDR0 = 0;
58 1 ADDR1 = 0;
59 1 ADDR2 = 0;
60 1 ADDR3 = 1;
61 1 ENLED = 0;
62 1
63 1 for (i=0; i<6; i++) {
64 2 ledBuff[i] = 0xFF;
65 2 }
66 1 }
67
68 /*
69 * 函數(shù)名:LedNumberScan
70 * 描 述:LED數(shù)碼管的動(dòng)態(tài)掃描顯示函數(shù),可在定時(shí)中斷中調(diào)用
71 * 備 注:本函數(shù)需在定時(shí)中斷中調(diào)用,其定時(shí)時(shí)間和數(shù)碼管數(shù)量共同決定一次顯示掃描的總時(shí)間;
72 * 如調(diào)用本函數(shù)的中斷函數(shù)用using指定了寄存器組,則本函數(shù)也需用using指定相同的寄存器組。
73 */
74 void LedNumberScan(void)
75 {
76 1 static uint8 cyc = 0xFF;
77 1
78 1 cyc++;
79 1 if (cyc >= 6) {
80 2 cyc = 0;
81 2 }
82 1 DBUS = 0xFF;
83 1 ADDR0 = (bit)(cyc & 0x1);
84 1 ADDR1 = (bit)((cyc>>1) & 0x1);
85 1 ADDR2 = (bit)((cyc>>2) & 0x1);
86 1 DBUS = ledBuff[cyc];
87 1 }
88
89 /*
90 * 函數(shù)名:LedNumberShow
91 * 描 述:LED數(shù)碼管顯示數(shù)字的函數(shù)
92 * 輸 入:dat - 需顯示的32位整形數(shù)
93 * dot - 小數(shù)點(diǎn)位置
94 * 輸 出:無(wú)
95 */
96 void LedNumberShow(uint32 dat, uint8 dot)
97 {
98 1 uint8 i, j;
99 1 uint8 buf[6];
100 1
101 1 /* 整形數(shù)轉(zhuǎn)換為BCD碼 */
102 1 i = 0;
103 1 do {
104 2 buf[i] = dat%10;
105 2 dat /= 10;
106 2 i++;
107 2 if (i >= 6) {
108 3 break;
109 3 }
110 2 } while (dat>0);
111 1
112 1 /* 顯示在數(shù)碼管上 */
113 1 for (j=0; j<i; j++) {
114 2 ledBuff[j] = LedChar[buf[j]];
C51 COMPILER V9.02 LEDNUMBER 11/08/2012 21:34:06 PAGE 3
115 2 }
116 1 for (; j<6; j++) {
117 2 if (j <= dot) {
118 3 ledBuff[j] = LedChar[0];
119 3 }
120 2 else {
121 3 ledBuff[j] = 0xFF;
122 3 }
123 2 }
124 1 ledBuff[dot] &= (~LED_SEG_dp); //點(diǎn)亮小數(shù)點(diǎn)
125 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 232 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 12
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -