📄 max7219.lst
字号:
C51 COMPILER V7.06 MAX7219 09/07/2008 18:03:35 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAX7219
OBJECT MODULE PLACED IN MAX7219.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MAX7219.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg52.h>
2 #define uchar unsigned char
3
4 char code LED[12]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5F,0x70,0x7f,0x73,0x06,0x00};
5
6 sbit din=P1^0;
7 sbit clk=P1^2;
8 sbit load=P1^1;
9 /******************对7219的写字节程序******************/
10 //功能:实现对控制寄存器的读写;
11 //时序要求:MAX7219采用串行数据传输方式,由16位数据包发送到DIN引脚的串行数据在每个CLK的上升沿被移入内部
12 //的16位移位寄存器中,然后在LOAD的上升沿将数据锁存到数字或控制寄存器;LOAD信号必须在第十六个时钟上升沿同
13 //时或之后,但在下一个时钟上升沿变高,否则数据库丢失。
14 void Write_Max7219_byte(uchar DATA) //LED写数据函数
15 {
16 1 uchar i;
17 1 load=0;
18 1 for(i=8;i>=1;i--)
19 1 {
20 2 clk=0;
21 2 din=DATA&0x80;
22 2 DATA=DATA<<1;
23 2 clk=1;
24 2 }
25 1
26 1 }
27
28 /*****************7219写数字程序************************/
29 //功能:先写LED数字控制寄存器,再将要显示的字符送到相应的数字寄存器显示
30 void Write_Max7219(uchar address,uchar dat)
31 {
32 1 load=0;
33 1 Write_Max7219_byte(address);
34 1 Write_Max7219_byte(dat);
35 1 load=1;
36 1 }
37
38 /****************7219初始化程序**********************/
39 //功能:完成对各个内部寄存器的初始化
40 void Init_Max7219(void)
41 {
42 1 Write_Max7219(0x09, 0x00); //译码寄存器,写入0ffH,对0至7位均译码
43 1 Write_Max7219(0x0a, 0x09); //亮度调节寄存器,写入03H,实现一般的亮度显示
44 1 Write_Max7219(0x0b, 0x07); //扫描界限寄存器,写入03H,实现对0到7位数码管的显示
45 1 Write_Max7219(0x0c, 0x01); //停机寄存器,写入01H,实现正常工作
46 1 Write_Max7219(0x0f, 0x00); //显示测试寄存器,写入00H,实现正常工作
47 1 }
48
49 void display_8(unsigned char *p)
50 {
51 1 Write_Max7219(0x08,LED[*p]);
52 1 Write_Max7219(0x07,LED[*(p+1)]);
53 1 Write_Max7219(0x06,LED[*(p+2)]);
54 1 Write_Max7219(0x05,LED[*(p+3)]);
55 1 Write_Max7219(0x04,LED[*(p+4)]);
C51 COMPILER V7.06 MAX7219 09/07/2008 18:03:35 PAGE 2
56 1 Write_Max7219(0x03,LED[*(p+5)]);
57 1 Write_Max7219(0x02,LED[*(p+6)]);
58 1 Write_Max7219(0x01,LED[*(p+7)]);
59 1
60 1 }
61
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 186 ----
CONSTANT SIZE = 12 ----
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 + -