📄 text1.c
字号:
#include <reg51.h>
#define uchar unsigned char
#define WL 1
#define h_filter 0xcf
#define l_filter 0xa0
#define mode 0x20
uchar data ad_data[3];
uchar data sample[16][3];
uchar bdata temp;
sbit ad_cs = P1^1;
sbit ad_out = P1^3;
sbit ad_in = P1^4;
sbit ad_sclk = P1^0;
sbit ad_dr = P1^2;
sbit MSB = temp^7;
sbit LSB = temp^0;
void delay(unsigned int k)
{
for(;k>0;k--){;}
}
void write_reg ( void )
{
uchar i;
ad_cs = 1;
ad_sclk = 0;
ad_cs = 0;
for (i=0;i<8;i++)
{
ad_in = MSB;
ad_sclk = 1;
ad_sclk = 0;
temp<<=1;
}
ad_cs = 1;
}
void read_reg ( void )
{
uchar i,j;
temp = 0;
ad_cs = 1;
ad_sclk = 0;
ad_cs = 0;
for (i=0;i<(2+WL);i++)
{
for( j=0;j<8;j++ )
{
temp<<=1;
ad_sclk = 1;
ad_sclk = 0;
LSB = ad_out;
}
ad_data[i] = temp;
}
}
void init_ad ( void )
{
temp = 0x26;
write_reg ();/*写通信寄存器,下次写滤波高*/
temp = h_filter;
write_reg ();/*写滤波高寄存器*/
temp = 0x36;
write_reg ();/*写通信寄存器,下次写滤波低*/
temp = l_filter;
write_reg ();/*写滤波低寄存器*/
temp = 0x16;
write_reg ();/*写通信寄存器,下次写模式*/
temp = mode;
write_reg ();/*写模式寄存器*/
}
void rst_ad ( void )
{
uchar i;
ad_cs = 1;
ad_sclk = 0;
ad_cs = 0;
ad_in = 1;
for ( i=0;i<40;i++ )
{
ad_sclk = 1;
ad_sclk = 0;
}
}
main()
{
//uchar x;
unsigned char i,a[3]={'0','0','0'};
// TMOD=0x20;
// TL1=0xfd;TH1=0xfd;
// SCON=0xd8;PCON=0x00;
// TR1=1;
// rst_ad ();
//bee: init_ad ();
//for ( x=0;x<10; x++ )
rst_ad ();
while(1)
{
init_ad ();
temp = 0x5e;
write_reg ();
while ( ad_dr );
read_reg ();
// for(i=0;i<3;i++)
// {
// SBUF=ad_data[i];
// while(TI==0);
// TI=0;
// }
delay(50000);
delay(50000);
//delay(50000);
}
// goto bee;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -