📄 ad8113的控制程序.txt
字号:
AD8113的控制程序:
#include <reg51.h>
// 函数
void write8113(void); // 初始化8113
void RSTWDT(void);
void delay(unsigned int);
//全局变量
static unsigned char O01,O02,O03,O04,O05,O06,O07,O08,O09,O10,O11,O12,O13,O14,O15,O16;
//8113输出
//static unsigned char OUT1,OUT2,OUT3,OUT4,OUT5,OUT6,OUT7,OUT8;
// I/O口
sbit CS=P2^5; //X5045
sbit DATA_IN=P2^1; //8113
sbit UPDATE=P2^2;
sbit CLK8113=P2^0;
//主程序
main()
{
RSTWDT();
O01=0xf0;
O02=0xf0;
O03=0xf0;
O04=0xf0;
O05=0xf0;
O06=0xf0;
O07=0xf0;
O08=0xf0;
O09=0xf0;
O10=0xf0;
O11=0xf0;
O12=0xf0;
O13=0xf0;
O14=0xf0;
O15=0xf0;
O16=0xf0;
write8113();
/*O01=0xf0;
O02=0xf0;
O03=0xf0;
O04=0xf0;
O05=0xf0;
O06=0xf0;
O07=0xf0;
O08=0xf0;
O09=0xf0;
O10=0xf0;
O11=0xf0;
O12=0xf0;
O13=0xf0;
O14=0xf0;
O15=0xf0;
O16=0xf0;
write8113();*/
while(1);
}
// 初始化8113 全关
void write8113(void)
{
unsigned char cLoop,five,data8113;
UPDATE=1;
for(cLoop=0;cLoop<16;cLoop++)
{
switch(cLoop)
{
case 0:data8113=O16;break;
case 1:data8113=O15;break;
case 2:data8113=O14;break;
case 3:data8113=O13;break;
case 4:data8113=O12;break;
case 5:data8113=O11;break;
case 6:data8113=O10;break;
case 7:data8113=O09;break;
case 8:data8113=O08;break;
case 9:data8113=O07;break;
case 10:data8113=O06;break;
case 11:data8113=O05;break;
case 12:data8113=O04;break;
case 13:data8113=O03;break;
case 14:data8113=O02;break;
case 15:data8113=O01;break;
default:break;
}
for(five=0;five<5;five++)
{
if((data8113&0x80)==0)
{
DATA_IN=0;
}
else
{
DATA_IN=1;
}
CLK8113=1;
CLK8113=0;
data8113<<=1;
}
}
UPDATE=0;
UPDATE=1;
}
// 刷新看门狗
void RSTWDT(void)
{
CS=1;
CS=0;
CS=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -