📄 ad7890.c
字号:
#include "intrins.h"
#include "At89x51.h"
////////////////////////////////////
//晶体为11.0592MHz
///////////////////////////////////
#define CLK7219 P2_6
#define DIN7219 P2_5
#define CS7219 P2_7
////////////////////////////////////
/*#define SCLK7890 P1_0
#define DI7890 P1_1
#define DO7890 P1_1
#define TFS7890 P1_3
#define RFS7890 P1_4*/
#define SCLK7890 P1_1
#define DI7890 P1_2
#define DO7890 P1_2
#define TFS7890 P1_3
#define RFS7890 P1_4
////////////////////////////////////
void max7219(unsigned char ctr,unsigned char dat)
{
char i;
CS7219=0;
_nop_();
for(i=0;i<8;i++)
{
if(ctr&0x80)
DIN7219=1;
else
DIN7219=0;
CLK7219=1;
ctr<<=1;
CLK7219=0;
}
for(i=0;i<8;i++)
{
if(dat&0x80)
DIN7219=1;
else
DIN7219=0;
CLK7219=1;
dat<<=1;
CLK7219=0;
}
CS7219=1;
P1_0=~P1_0;
}
void Max7219Init()
{
///////////////////////////////////////////////////////
//7219初始化
max7219(0x0C,0x01); //shutdown register format
max7219(0x09,0xFF); //decode mode code B 7-0
max7219(0x0A,0x0F); //intensity register format
max7219(0x0B,0x07); //sacan limit register format
max7219(0x0F,0x00); //display test register format
}
unsigned int AD7890(unsigned char chan)
{
unsigned char ctr;
unsigned int result;
char i;
ctr=chan<<5;
ctr&=0xE0;
ctr|=0x10;
TFS7890=0;
for(i=0;i<8;i++)
{
SCLK7890=1;
if(ctr&0x80)
DI7890=1;
else
DI7890=0;
SCLK7890=0;
ctr<<=1;
}
TFS7890=1;
for(i=0;i<20;i++)
_nop_();
result=0;
DO7890=1;
RFS7890=0;
SCLK7890=1;
for(i=0;i<16;i++)
{
SCLK7890=0;
if(DO7890)
result|=0x01;
SCLK7890=1;
if(i!=15)
result<<=1;
}
RFS7890=1;
result&=0xFFF;
P1_0=~P1_0;
return result;
}
main()
{
char i;
int j;
unsigned int addata;
CLK7219=0;
Max7219Init();
////////////////////////////////////////////////////////
//display data
max7219(0x01,0x01);
max7219(0x02,0x02);
max7219(0x03,0x03);
max7219(0x04,0x04);
max7219(0x05,0x05);
max7219(0x06,0x06);
max7219(0x07,0x07);
max7219(0x08,0x08);
while(1)
{
addata=AD7890(0x00);
for(i=0;i<8;i++)
{
max7219(8-i,addata%10); //转换成十进制显示
addata/=10;
}
P1_0=~P1_0;
for(i=0;i<5;i++)
for(j=0;j<31000;j++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -