📄 dis7219.c
字号:
#include "c8051f020.h"
//#include <reg52.h>
#include <intrins.h>
//#include "bjqmain.h"
/* Display define */
#define Delay5() { _nop_();\
_nop_();\
_nop_();\
_nop_();\
_nop_(); }
#define Delay3() { _nop_();\
_nop_();\
_nop_(); }
#define DCodeSet 0x0f
#define DISet 0xff
#define ScanNum 0x07
#define ShutDown 0x01
#define DisplayT 0x00
/*
MAX7219 display code
0x0a -
0x0b E
0x0c H
0x0d L
0x0e P
*/
#define DCodeA 0x09
#define DISetA 0x0a
#define ScanNumA 0x0b
#define ShutDA 0x0c
#define DisTestA 0x0f
sbit DisCs = P3^5;
sbit DisIn = P1^2;
sbit DisClk = P1^1;
extern bit TimeF5s;
/* Display define end */
extern uchar ;code CharTable[38];
void Dis8(uchar sbz,uchar data *DisBuf)
{
uchar i;
if (TimeF5s) { sbz=sbz|0xff;}
for(i=8;i>0;i--){
if (sbz>=0x80) {Display(*DisBuf,i);} else{Display(0x00,i);}
sbz<<=1;
DisBuf--;
}
}
void Display(uchar DisData,uchar DisComm)
{
uchar i;
DisClk=0;
Delay5();
DisCs=0;
for (i=8;i!=0;i--)
{
Delay5();
DisClk=0;
Delay3();
DisComm<<=1;
DisIn=CY;
Delay3();
DisClk=1;
}
for (i=8;i!=0;i--)
{
Delay5();
DisClk=0;
Delay3();
DisData<<=1;
DisIn=CY;
Delay3();
DisClk=1;
}
DisCs=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -