- 博客(1)
- 资源 (1)
- 收藏
- 关注
转载 运用51单片机制作计算器的源代码
运用51单片机制作计算器的源代码@TOC/* S16 S12 S8 S4分别是123+S15 S11 S7 S3分别是456-S14 S10 S6 S2分别是789*S13 S9 S5 S1分别是0 CLR = /*//* 实现两个数的运算,每个数的位数至少可以八位 */#include<reg52.h> typedef unsigned char uint8;...
2019-05-21 19:36:56 2355
基于单片机的室内空气净化系统
#include "XPT2046.h"
/****************************************************************************
*函数名:TSPI_Start
*输 入:无
*输 出:无
*功 能:初始化
****************************************************************************/
void SPI_Start(void)
{
CLK = 0;
CS = 1;
DIN = 1;
CLK = 1;
CS = 0;
}
/****************************************************************************
*函数名:SPI_Write
*输 入:dat:写入数据
*输 出:无
*功 能:使用SPI写入数据
****************************************************************************/
void SPI_Write(uchar dat)
{
uchar i;
CLK = 0;
for(i=0; i<8; i++)
{
DIN = dat >> 7; //放置最高位
dat <<= 1;
CLK = 0; //上升沿放置数据
CLK = 1;
}
}
/****************************************************************************
*函数名:SPI_Read
*输 入:无
*输 出:dat:读取 到的数据
*功 能:使用SPI读取数据
****************************************************************************/
uint SPI_Read(void)
{
uint i, dat=0;
CLK = 0;
for(i=0; i<12; i++) //接收12位数据
{
dat <<= 1;
CLK = 1;
CLK = 0;
dat |= DOUT;
}
return dat;
}
/****************************************************************************
*函数名:Read_AD_Data
*输 入:cmd:读取的X或者Y
*输 出:endValue:最终信号处理后返回的值
*功 能:读取数据
****************************************************************************/
uint Read_AD_Data(uchar cmd)
{
uchar i;
uint AD_Value;
CLK = 0;
CS = 0;
SPI_Write(cmd);
for(i=6; i>0; i--); //延时等待转换结果
CLK = 1; //发送一个时钟周期,清除BUSY
_nop_();
_nop_();
CLK = 0;
_nop_();
_nop_();
AD_Value=SPI_Read();
CS = 1;
return AD_Value;
}
2019-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人