📄 ad421.c
字号:
#include<AT89x55.h>
#include<intrins.h>
//#define val1 0x00ff
//#define val2 0x7fff
//#define val3 0xffff
sbit DATA = P1^1;
sbit CLOCK = P1^4;
sbit LATCH = P1^5;
//sfr WDTRST = 0XA6;
void delay(void) //delay 80uS
{
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}
void send(unsigned int bye) //在两个锁存脉冲间发送16位时钟和数据。
{
unsigned char i;
delay();
LATCH=0;
// DATA=0;
for(i=0;i<16;i++)
{
CLOCK=0;
delay();
if(bye&0x8000)
{
DATA=1;
}
else
{
DATA=0;
}
delay();
delay();
CLOCK=1;
delay();
delay();
delay();
bye=bye*2;
}
LATCH=1;
delay();
delay();
delay();
delay();
//LATCH=0;
}
void main()
{
unsigned int add;
unsigned int val1;
//flag=0;
add=0;
val1=0xC000;
DATA=0;
CLOCK=0;
LATCH=0;
while(1)
{
for(add=0;add<10000;add++)
{
delay();
}
send(val1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -