⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 10.4.c

📁 单片机C语言编程与实例内容提要本书结合目前应用非常广泛的C语言以及Keil C51编译器
💻 C
字号:
#include <reg52.h>
typedef unsigned int uint;
typedef unsigned char uchar;
sbit Sda=P1^1; 					//串行数据
sbit Scl=P1^2; 					//串行时钟
void mDelay(uchar j) 				//廷时
{
uint i;
for(;j>0;j--)
for(i=0;i<10;i++)
{}
}
void Start(void) 					//起始条件
{
Sda=1;
Scl=1;
Sda=0;
}
void Stop(void) 					//停止条件
{
Sda=0;
Scl=1;
Sda=1;
}
void Ack(void) 					//应答位
{
Sda=0;
Scl=1;
Scl=0;
}
void Send(uchar Dat) 				//发送数据子程序,Dat为要求发送的数据
{
uchar BitCounter=8; 			//位数控制
uchar temp; 					//中间变量控制
do
{
temp=Dat;
Scl=0;
if((temp&0x80)==0x80) 		//如果最高位是1
Sda=1;
else
Sda=0;
Scl=1;
temp=Dat<<1; 				//RLC
Dat=temp;
BitCounter--;
}
while(BitCounter);
Scl=0;
}
void moveout(uchar num)
{
Start(); 						//发送启动信号
Send(0x58); 					//发送器件地址
Ack();
Send(0x00); 					//发送命令
Ack();
Send(num);
Ack();
Stop();
mDelay(2);
}

void main()
{
uchar shuju;
moveout(shuju);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -