#include "xpt2046.h"
#include "intrins.h"
/*******************************************************************************
* 函 数 名 : xpt2046_wirte_data
* 函数功能 : XPT2046写数据
* 输 入 : dat:写入的数据
* 输 出 : 无
*******************************************************************************/
void xpt2046_wirte_data(u8 dat)
{
u8 i;
CLK = 0;
_nop_();
for(i=0;i<8;i++)//循环8次,每次传输一位,共一个字节
{
DIN = dat >> 7;//先传高位再传低位
dat <<= 1;//将低位移到高位
CLK = 0;//CLK由低到高产生一个上升沿,从而写入数据
_nop_();
CLK = 1;
_nop_();
}
}
/*******************************************************************************
* 函 数 名 : xpt2046_read_data
* 函数功能 : XPT2046读数据
* 输 入 : 无
* 输 出 : XPT2046返回12位数据
*******************************************************************************/
u16 xpt2046_read_data(void)
{
u8 i;
u16 dat=0;
CLK = 0;
_nop_();
for(i=0;i<12;i++)//循环12次,每次读取一位,大于一个字节数,所以返回值类型是u16
{
dat <<= 1;
CLK = 1;
_nop_();
CLK = 0; //CLK由高到低产生一个下降沿,从而读取数据
_nop_();
dat |= DOUT;//先读取高位,再读取低位。
}
return dat;
}
/*******************************************************************************
* 函 数 名 : xpt2046_read_adc_value
* 函数功能 : XPT2046读AD数据
* 输 入 : cmd:指令
* 输 出 : XPT2046返回AD值
*******************************************************************************/
u16 xpt2046_read_adc_value(u8 cmd)
{
u8 i;
u16 adc_value=0;
CLK = 0;//先拉低时钟
CS = 0;//使能XPT2046
xpt2046_wirte_data(cmd);//发送命令字
for(i=6; i>0; i--);//延时等待转换结果
CLK = 1;
_nop_();
CLK = 0;//发送一个时钟,清除BUSY
_nop_();
adc_value=xpt2046_read_data();
CS = 1;//关闭XPT2046
return adc_value;
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
51单片机实验是《单片机原理及应用》课程的重要组成部分。通过实验,学生可以加强理解51单片机的硬件结构,熟练掌握并口、串口、中断系统及定时器/计数器的功能和使用方法,进行基于51系列芯片的扩展功能的设计,开发出简单但完整的应用系统。 在实验中,学生通常会使用到实验箱、编程器、仿真器等设备。实验箱是用来放置单片机芯片和各种外围电路的硬件平台,编程器用于将程序代码烧写到单片机芯片中,仿真器则用于在实验过程中实时监测和调试程序。 实验的具体内容通常包括:彩灯移动实验、LED灯控制实验、数码管显示实验、矩阵键盘输入实验、蜂鸣器控制实验等。这些实验旨在帮助学生掌握单片机的各种基本功能和控制方式,并通过实践操作加深对理论知识的理解。 在实验过程中,学生需要注意以下几点:首先,要保证实验设备的正确连接和电源的稳定;其次,要严格按照实验步骤进行操作,遵循正确的编程规范和调试方法;最后,要认真分析实验结果,总结经验教训,不断提高自己的实践能力和技术水平。
资源推荐
资源详情
资源评论
收起资源包目录
23-ADC模数转换实验.zip (60个子文件)
23-ADC模数转换实验
23.3-热敏电阻AD采集
User
main.c 1KB
App
xpt2046
xpt2046.c 2KB
xpt2046.h 250B
smg
smg.h 261B
smg.c 1KB
Obj
template.m51 11KB
template 12KB
template.hex 2KB
Public
public.h 241B
public.c 754B
template.uvproj 14KB
template.uvopt 57KB
23.4-外部信号电压采集
User
main.c 1KB
App
xpt2046
xpt2046.c 2KB
xpt2046.h 250B
smg
smg.h 261B
smg.c 1KB
Obj
template.lnp 145B
template.m51 12KB
template 13KB
public.obj 2KB
main.lst 3KB
smg.obj 3KB
smg.lst 3KB
public.lst 2KB
xpt2046.lst 4KB
xpt2046.__i 222B
template.hex 4KB
template.plg 795B
main.obj 3KB
xpt2046.obj 4KB
Public
public.h 241B
public.c 754B
template_uvopt.bak 55KB
template.uvproj 14KB
template.uvopt 56KB
23.1-电位器电压采集
User
main.c 1KB
App
xpt2046
xpt2046.c 2KB
xpt2046.h 250B
smg
smg.h 261B
smg.c 1KB
Obj
template.m51 12KB
template 13KB
template.hex 4KB
Public
public.h 241B
public.c 754B
template.uvproj 14KB
template.uvopt 57KB
23.2-光敏电阻AD采集
User
main.c 1KB
App
xpt2046
xpt2046.c 2KB
xpt2046.h 250B
smg
smg.h 261B
smg.c 1KB
Obj
template.m51 11KB
template 12KB
template.hex 2KB
Public
public.h 241B
public.c 754B
template.uvproj 14KB
template.uvopt 57KB
共 60 条
- 1
资源评论
- shandongwill2024-02-17通过实验,学生可以加强理解51单片机的硬件结构,熟练掌握并口、串口、中断系统及定时器/计数器的功能和使用方法,进行基于51系列芯片的扩展功能的设计,开发出简单但完整的应用系统。#内容详尽
袁满满满满
- 粉丝: 1326
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功