ADS7843触摸屏驱动程序——51单片机版
需积分: 10 88 浏览量
更新于2024-09-30
收藏 26KB DOC 举报
"这篇资源是关于使用ADS7843触摸屏芯片在51单片机上的驱动程序实现。"
ADS7843是一款常用的电容式触摸屏控制器,适用于各种嵌入式系统,包括51系列单片机。这个程序展示了如何通过SPI(Serial Peripheral Interface)总线与ADS7843通信,读取和处理触摸屏的输入数据。
首先,程序中包含了必要的头文件,如"reg51.h"用于51单片机的基本寄存器定义,"intrins.h"可能包含了一些内联函数的定义。接着,定义了与ADS7843连接的SPI接口引脚,如DCLK(数据时钟)、CS(片选)、DIN(数据输入)、DOUT(数据输出)以及BUSY(忙标志)。
在程序中,可以看到几个关键的函数:
1. `delay(unsigned char i--)`:这是一个简单的延时函数,通过循环计数实现,用于在特定操作之间添加必要的等待时间。
2. `start()`:这个函数用于初始化SPI通信,设置相关引脚状态,以准备开始数据传输。
3. `WriteCharTo7843(unsigned char num)`:此函数向ADS7843发送一个8位的数据字节,数据移位由DIN引脚完成,DCLK作为时钟脉冲。
4. `ReadFromCharFrom7843()`:该函数从ADS7843读取12位的数据。数据通过DOUT引脚接收,DCLK控制数据的移位。
5. `ZhongDuan() interrupt 0`:这是外部中断0的服务子程序,用于处理触摸屏的中断事件。中断后,有一个延时函数以消除可能的按键抖动,然后启动SPI通信,发送控制字来读取触摸屏的X坐标。根据ADS7843的 datasheet,控制字0x90表示采用差分方式读取X坐标。
在实际应用中,还需要编写类似的功能来读取Y坐标,以及可能的其他配置和控制命令。此外,ADS7843的Busy信号被用来确认转换是否完成,但在这个例子中,Busy信号的检查是可以省略的。
通过这些函数,51单片机能够与ADS7843进行有效的通信,从而获取触摸屏的坐标信息,实现对触摸屏输入的响应。在实际项目中,这些坐标信息通常会被用来驱动显示或其他控制逻辑,以实现用户友好的交互界面。
2011-01-26 上传
2023-07-02 上传
2023-09-24 上传
2023-06-12 上传
2023-05-15 上传
2023-08-27 上传
2023-07-17 上传
2023-12-13 上传
eman_lin
- 粉丝: 0
- 资源: 3
最新资源
- WPF渲染层字符绘制原理探究及源代码解析
- 海康精简版监控软件:iVMS4200Lite版发布
- 自动化脚本在lspci-TV的应用介绍
- Chrome 81版本稳定版及匹配的chromedriver下载
- 深入解析Python推荐引擎与自然语言处理
- MATLAB数学建模算法程序包及案例数据
- Springboot人力资源管理系统:设计与功能
- STM32F4系列微控制器开发全面参考指南
- Python实现人脸识别的机器学习流程
- 基于STM32F103C8T6的HLW8032电量采集与解析方案
- Node.js高效MySQL驱动程序:mysqljs/mysql特性和配置
- 基于Python和大数据技术的电影推荐系统设计与实现
- 为ripro主题添加Live2D看板娘的后端资源教程
- 2022版PowerToys Everything插件升级,稳定运行无报错
- Map简易斗地主游戏实现方法介绍
- SJTU ICS Lab6 实验报告解析