📄 control.c
字号:
#include <AT892051.H>
#include <INTRINS.H>
#include <MATH.H>
#include <ABSACC.H>
sbit CS=P3^7;
sbit ALE=P3^5;
sbit RD=P3^0;
sbit WR=P3^1;
#define uchar unsigned char
#define uint unsigned int
//#define ulong unsigned long
#define MODREG 0x00
#define CMREG 0x80
#define STAREG 0x40
#define INTEREG 0xc0
#define IEREG 0x20
#define BT0REG 0x60
#define BT1REG 0xe0
#define OCREG 0x10
#define CLODREG 0xf8
#define AC0REG 0x08
#define AC1REG 0x88
#define AC2REG 0x48
#define AC3REG 0xc8
#define AM0REG 0x28
#define AM1REG 0xa8
#define AM2REG 0x68
#define AM3REG 0xe8
#define RxFRAM 0x08
#define RxBUF1 0x88
#define RxBUF2 0x48
#define RxBUF3 0xc8
#define RxBUF4 0x28
#define RxBUF5 0xa8
#define RxBUF6 0x68
#define RxBUF7 0xe8
#define RxBUF8 0x18
#define RxBUF9 0x98
#define RxBUF10 0x58
#define RxBUF11 0xd8
#define RxBUF12 0x38
#define TxFRAM 0x08
#define TxBUF1 0x88
#define TxBUF2 0x48
#define TxBUF3 0xc8
#define TxBUF4 0x28
#define TxBUF5 0xa8
#define TxBUF6 0x68
#define TxBUF7 0xe8
#define TxBUF8 0x18
#define TxBUF9 0x98
#define TxBUF10 0x58
#define TxBUF11 0xd8
#define TxBUF12 0x38
uchar Reads(uchar addrR);
void Writes(uchar addrW,uchar datas);
uchar updown(uchar a1);
void Delay15();
void main()
{uchar temp=0,temp1=0;
uchar datal=0,datah=0;
CS=0;
ET0=0;
ET1=0;
EA=0;
EX0=0;
TMOD=0x05;
TR0=0;
temp=Reads(MODREG);
while((temp&0x80)==0)
{temp=temp|0x80;
Writes(MODREG,temp);
}
Writes(CLODREG,0xe3);
Writes(IEREG,0x00);
Writes(AC0REG,0x46);
Writes(AC1REG,0x04);
Writes(AC2REG,0x00);
Writes(AC3REG,0x00);
Writes(AM0REG,0x87);
Writes(AM1REG,0xff);
Writes(AM2REG,0xff);
Writes(AM3REG,0xff);
Writes(BT0REG,0x8c);
Writes(BT1REG,0x38);
Writes(OCREG,0x58);
do
{Writes(MODREG,0x10);
temp=Reads(MODREG);
}
while((temp&0x80)!=0);
/* do{temp1=Reads(STAREG);}
while((temp1&0x20)!=0x20);*/
do
{TH0=0x00;
TL0=0x00;
TR0=1;
Delay15();
TR0=0;
datal=updown(TL0);
datah=updown(TH0);
Writes(TxFRAM,0x40);
Writes(TxBUF1,0x4e);
Writes(TxBUF2,0x04);
Writes(TxBUF3,datah);
Writes(TxBUF4,datal);
Writes(CMREG,0x80);
//Delay15();
}
/*
temp1=Reads(STAREG);
if(temp1&0x02==0x02)
{P3_3=0;}
{TH0=0x3C;
TL0=0xB0;
TR0=1;
for(secnum=0;secnum<=20;secnum++)
{TH1=0x00;
TL1=0x00;
TR1=1;
for(onesec=0;onesec<10;onesec++)
{TH0=0x3C;
TL0=0xB0;
do{;}while(!TF0);
TF0=0;
}
TR1=0;*/
while(1);
}
uchar Reads(uchar addrR)
{uchar temp1;
P1=addrR;
ALE=1;
WR=1;
RD=1;
ALE=0;
RD=0;
P1=0xff;
temp1=P1;
RD=1;
return(temp1);
}
void Writes(uchar addrW,uchar datas)
{ALE=1;
RD=1;
WR=1;
P1=addrW;
ALE=0;
WR=0;
P1=datas;
WR=1;
}
/*void Delayl(uchar TIME)
{uchar time1,time2,time3;
for(time1=0;time1<TIME;time1++)
{for(time2=0;time2<250;time2++)
{for(time3=0;time3<100;time3++){;}}
}
}*/
void Delay15()
{ uchar i,j,k;
for(i=0;i<100;i++)
{for(j=0;j<100;j++)
{for(k=0;k<100;k++);}
}
}
uchar updown(uchar a1)
{
uchar a2;
a2=(a1%2)*128+((a1>>1)%2)*64+((a1>>2)%2)*32+((a1>>3)%2)*16+((a1>>4)%2)*8+((a1>>5)%2)*4+((a1>>6)%2)*2;
return(a2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -