📄 tck.c
字号:
#include<regX51.h> //同步串口发射数据程序//
unsigned char a[16]; //发射数据缓存数组//
void chai(unsigned int n)//将要发射的数据拆成位的函数,n为被拆的数//
{
unsigned char k; //数组的第几个数变量//
unsigned int t; //判断数组中每一位是0还是1变量//
unsigned int j=0x1;
for(k=0;k<=15;k++) //循环判断数组中的每一位//
{
t=n&j;
if(t!=0)
a[k]=1;
else
a[k]=0;
j=j<<1; //移位比较//
}
}
void delay(void) //延时函数,在1200波特率时每一位的时间长度//
{
unsigned char u=0x43;
while(u--);
}
void main() //主函数//
{
char i;
while(1) //死循环//
{
chai(0xA0A0); //拆数//
P3_2=0; //先将发射的分隔信号付成0//
for(i=31;i>=0;i--) //循环将时钟信号发射出去发射31个,16个上升沿//
{
if(i==31)
P3_0=0;
else
P3_0=!P3_0;
P3_1=a[(i/2)]; //发射16位的数据,先发射高位,再发射低位//
delay();
}
P3_2=1; //将分隔信号付1,产生分隔信号上升沿//
P3_0=0; //时钟信号置0//
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -