📄 max7219.lst
字号:
C51 COMPILER V8.02 MAX7219 07/26/2008 19:16:15 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAX7219
OBJECT MODULE PLACED IN max7219.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe max7219.c DB OE BR
line level source
1 #include"max7219.h"
2
3 /************************************************************************************
4 code of funtions
5 ************************************************************************************/
6
7 void Write_Max7219_byte(unsigned char temp)
8 {
9 1 unsigned char i;
10 1 for (i=0;i<8;i++)
11 1 {
12 2 CLK=LOW;
13 2 DIN=(bit)(temp&MSB);
14 2 temp<<=1;
15 2 CLK=HIGH;
16 2 }
17 1 }
18
19 void Write_Max7219(unsigned char address,unsigned char dat)
20 {
21 1 LOAD=LOW;
22 1 Write_Max7219_byte(address);
23 1 Write_Max7219_byte(dat);
24 1 LOAD=HIGH;
25 1 }
26
27 void Init_Max7219(void)
28 {
29 1 Write_Max7219(SHUTDOWN, 0x01);//Normal Operation
30 1 Write_Max7219(DISPLAY_TEST, 0x00);//Normal Operation
31 1 Write_Max7219(DECODE_MODE, 0xff);//Code B decode for digits 7-0
32 1 Write_Max7219(SCAN_LIMIT, 0x07);//Display digits 7-0
33 1 Write_Max7219(INTENSITY, 0x02);//Duty Cycle 9/32
34 1 }
35
36 void Show_Max7219(unsigned int left,unsigned int right) reentrant
37 {
38 1 unsigned char i,digit_l,digit_r;
39 1
40 1 for(i=8;i>4;i--)
41 1 {
42 2 digit_l=left%10;
43 2 Write_Max7219(i-4,digit_l);
44 2 left/=10;
45 2
46 2 digit_r=right%10;
47 2 Write_Max7219(i,digit_r);
48 2 right/=10;
49 2 }
50 1 }
51
52 void Byte_Max7219(unsigned char byte_data)
53 {
54 1 unsigned char i,digit;
55 1
C51 COMPILER V8.02 MAX7219 07/26/2008 19:16:15 PAGE 2
56 1 for(i=8;i>0;i--)
57 1 {
58 2 digit=byte_data%10;
59 2 Write_Max7219(i,digit);
60 2 byte_data/=10;
61 2 }
62 1 }
63
64 void Regprint_Max7219(unsigned char byte_data)
65 {
66 1 unsigned char i,reg_bit,test_bit=0x01;
67 1
68 1 for(i=8;i>0;i--)
69 1 {
70 2 reg_bit=byte_data&test_bit;
71 2 Write_Max7219(i,reg_bit);
72 2 byte_data=byte_data>>1;
73 2 }
74 1 }
75
76 void Interger_Max7219(unsigned long int interger) reentrant
77 {
78 1 unsigned char i,digit;
79 1
80 1 for(i=8;i>0;i--)
81 1 {
82 2 digit=interger%10;
83 2 Write_Max7219(i,digit);
84 2 interger/=10;
85 2 }
86 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 376 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -