信号采集输入电路的设计与实现
基于DSP+FPGA的实时信号采集系统设计与实现

基于DSP+FPGA的实时信号采集系统设计与实现周新淳【摘要】为了提高对实时信号采集的准确性和无偏性,提出一种基于DSP+FPGA 的实时信号采集系统设计方案.系统采用4个换能器基阵并联组成信号采集阵列单元,对采集的原始信号通过模拟信号预处理机进行放大滤波处理,采用TMS32010DSP芯片作为信号处理器核心芯片实现实时信号采集和处理,包括信号频谱分析和目标信息模拟,由DSP控制D/A转换器进行数/模转换,通过FPGA实现数据存储,在PC机上实时显示采样数据和DSP处理结果;通过仿真实验进行性能测试,结果表明,该信号采集系统能有效实现实时信号采集和处理,抗干扰能力较强.%In order to improve the accuracy and bias of real-time signal acquisition,a real-time signal acquisition system based on DSP +-FPGA is proposed.The system adopts 4 transducer array to build parallel array signal acquisition unit,the original signal acquisition amplification filtering through analog signal pretreatment,using TMS32010DSP chip as the core of signal processor chip to realize real-time signal acquisition andprocessing,including the signal spectrum analysis and target information simulation,controlled by DSP D/A converter DAC,through the realization of FPGA data storage,real-time display on the PC and DSP sampling data processing results.The performance of the system is tested by simulation.The results show that the signal acquisition system can effectively realize the real-time signal acquisition and processing,the anti-interference ability is strong.【期刊名称】《计算机测量与控制》【年(卷),期】2017(025)008【总页数】4页(P210-213)【关键词】DSP;FPGA;信号采集;系统设计【作者】周新淳【作者单位】宝鸡文理学院物理与光电技术学院,陕西宝鸡721016【正文语种】中文【中图分类】TN911实时信号采集是实现信号处理和数据分析的第一步,通过对信号发生源的实时信号采集,在军事和民用方面都具有广泛的用途。
基于DSP交流采样电路设计与实现_高瑜

Abstract: This paper presents a three - phase ac sampling method based on TMS320F2812DSP,gives the system hardware circuit of prior to channel and the software programming flowchart. Through processing the conversion results ,it can measure the numerical of RMS,power and so on,the results can be used in relay protection,fault wave record etc,ensuring detection accuracy also reducing the complexity of the hardware. Key words: DSP,alternating current sampling,current signal
参考文献
[1]贺 家 李. 电 力 系 统 继 电 保 护 原 理[M]. 北 京: 中 国 电 力 出 版 社,2000.
[2]孙肖子. 电子设计指南[M]. 北京: 高等教育出版社,2006. [3]万山明. TMS320F2812xDSP 原理及应用实例[M]. 北京: 北京航
空航天大学出版社,2007. [4]李全利,王振春. 一种基于 DSP 的三相交流采样技术[J]. 自动化
相交流采样应用方法。通过对硬件电路的设计和软 件的编程,完成了对电网电压和电流的采集和数据处 理,并能够模拟继电保护跳闸和显示系统实时显示输 入电压。实践 证 明,采 用 交 流 采 样 算 法 方 法 进 行 数 据采集,能够 获 得 的 电 压、电 流 等 电 参 数,有 较 好 的 精度和稳定性,具有一定的应用价值。
多路信号采集器的硬件电路设计

图 4 接收模块时序图
4 采集存储控制程序设计
4.1 采样主控程序设计:
此 次 系 统 我 们 使 用 48M 晶 振 , 每 路 信 号 采 样 率 不 低 于
12.5khz, 一 共 相 当 于 16 路 模 拟 量 , 所 以 控 制 点 为 48M ÷
(1612.5khz)=240 点, 所以主控计数器中有 240 个计数点可以用
2.2 信号调理设计 在本系统中, 由于模拟输入信号的电压范围 是 0~10V,所 以 此 次 设 计 使 用 LM324 运 算 放 大 器 组 成 的 比 例 电 路 将 输 入 信 号 变换成 0~2.5V 电压。然后输入模拟开关经过跟随器后, 再输入 A/D 转换器。4 路 数字信号使用一个 5V 的稳压管, 将输入数字 信号中大于 5V 的高电平 信 号 钳 制 在 5V, 起 到 了 调 压 的 作 用 。 如果是低于 5V, 那么电压将不改变。 2.3 输入通道设计 存储测试系统常常需要多通道同时采集。此次设计中根据 被 测 信 号 的 特 点 选 用 ADG506 模 拟 开 关 进 行 各 通 道 的 切 换 , 该 模拟开关具有开关速度快、泄漏小等特点, 从而用最简单的硬件 电路完成多路信号的存储测试。 2.4 采集芯片选用: 此次设计采用 AD 公司的 AD7492 采集芯片, AD7492 为 12 位高速、低功耗、逐次逼近式 AD 转换器。它可在 2.7V- 5.25V 的 供 电 电 压 下 工 作 , 采 样 频 率 最 高 为 1.25MSPS, 从 而 为 正 确 采 集 回 速 变 、缓 变 信 号 提 供 保 障 。 2.5 存储电路设计 此系统中, 我们共有 1 路速变模拟信号, 8 路缓变模拟信 号, 4 路数字信号。首先, 对于单路速变信号而言, 其最低采样频 率为 40kHz, 系统要求 的 最 低 记 录 时 间 为 0.75S 此 次 设 计 中 , 用 了一个模拟开关和一个 AD7492 循环进行数 据采集, 将 1 路速 变信号和 8 路缓变信号交叉安排在 ADG506 上, 这样在每次速 变信号采集后, 紧接着采集 8 路缓变信号, 经过循环交叉采集 后, 便使得速变信号采样率是缓变信号采样率的 8 倍, 所以速变
采样电路讲解

在图像信号处理 中采样电路还可 以用于图像的识 别和跟踪例如人 脸识别、车牌识
别等应用。
采样电路在通信系统中的应用实现信号的数字化处理 采样电路在信号调制解调过程中的作用提高信号传输的可靠性和稳定性 采样电路在语音和图像压缩编码中的应用实现高效的数据传输和存储 采样电路在多路复用和交换技术中的应用提高通信系统的效率和容量
度
重要性:信噪 比越高电路性
能越好
PRT FIVE
采样电路在图像信 号处理中的应用主 要是对连续的图像 信号进行离散化处 理以便于数字信号 处理器能够处理和
传输。
采样电路在图像 信号处理中可以 对图像进行缩放、 旋转、剪裁等操 作以实现图像的
变换和增强。
采样电路还可以用 于图像的压缩和解 压缩通过降低图像 数据的冗余度减小 图像数据的大小提 高存储和传输的效
采样:将模拟信号转换为数字信号 保持:在采样后保持一段时间 恢复:将保持的数字信号转换回模拟信号 滤波:去除噪声得到纯净的模拟信号
PRT FOUR
定义:单位时间内采样的 次数
单位:Hz(赫兹)
影响因素:信号频率、滤 波器带宽等
采样定理:采样频率应大 于信号最高频率的两倍
定义:量化位数是指采样电路中用于表示模拟信号幅度的二进制位数。 作用:量化位数决定了采样电路的分辨率和精度影响信号的质量和失真度。 常见类型:常见的量化位数有8位、12位、16位和24位等。 性能指标:量化位数越高采样电路的分辨率和精度越高信号质量越好但同时成本也越高。
定义:采样电路 能够正常工作的 输入信号范围
影响因素:输入 信号的幅度和频 率
性能指标:动态 范围越大采样电 路的性能越好
采样误差:当输入 信号超出动态范围 时采样电路可能无 法准确还原信号
基于单片机信号采集与回放系统的设计与实现_吴宁

基于单片机信号采集与回放系统的设计与实现*吴宁1,李斌2,柴世文3(1.兰州工业高等专科学校电气工程系,甘肃兰州730050;2.兰州石化公司研究院,甘肃兰州730060)摘要:重点介绍了一种基于89C52单片机为控制核心的信号采集与回放控制系统。
该系统结合ADC0809、DAC0832数据采集模块,实现对两路外部信号进行采集、存储及回放。
系统模拟部分主要包括信号调节电路和A/D模块等:软件部分主要由主程序和子程序模块组成,主要实现了A/D转换器的启动与及对采样数据的存储,频率及幅值的计算,按键及显示屏的控制。
该系统经过测试实验,能耗低,性价比高,具有较高的实际应用价值。
关键词:信号采集与存储;信号复现;信号调节;回放系统中图分类号:TM13文献标识码:A文章编号:1007-4414(2011)06-0121-03The design and implementation of signal acquisition and playbacksystem based on microcontrollerWu Ning1,Li Bin2,Chai Shi-wen3(1.Electrical engineering department,Lanzhou polytechnic college,Lanzhou730050,China;2.Research institute of Lanzhou petrochemical corporation,Lanzhou730060,China;3.Gansu academy of mechanical science,Lanzhou Gansu730030,China)Abstract:This paper proposed a signal acquisition and playback control system based on89C52as the control unit.The sys-tem associated with ADC0809and DAC0832to achieve the two external signal acquisition,storage and playback.The analog section of the system included signal adjusting circuit and A/D module.The function of software modules consisted of main program and subroutine.It realized the start of the A/D converter,the sampling data storage,the calculation of the frequency and amplitude,the control of the buttons and display.The system has been tested to prove low energy consumption,cost-ef-fective and high practical value.Key words:signal capture and storage;signal reproduction;signal conditioning;playback system1引言很多工业现场中的电气设备在发生故障时,由于环境限制或是故障原因复杂,无法有效对系统故障进行在线的分析和判别,如果能够记录下故障设备产生的信号,再通过网络进行专家判别,将更利于系统的快速恢复与故障排除。
基于STM32单片机的多路数据采集系统设计

基于STM32单片机的多路数据采集系统设计概述:多路数据采集系统是一种用于采集和处理多种传感器信号的系统。
基于STM32单片机的多路数据采集系统具有低功耗、高精度、稳定可靠的特点,广泛应用于工业控制、环境监测和医疗设备等领域。
本文将介绍基于STM32单片机的多路数据采集系统的设计方案及实现方法。
设计方案:1.系统硬件设计:系统硬件由STM32单片机、多路模拟输入通道、数模转换器(ADC)和相关模拟电路组成。
其中,多路模拟输入通道可以通过模拟开关电路实现多通道选通;ADC负责将模拟信号转换为数字信号;STM32单片机负责控制和处理这些数字信号。
2.系统软件设计:系统软件可以采用裸机编程或者使用基于STM32的开发平台来进行开发。
其中,主要包括数据采集控制、数据转换、数据处理和数据存储等功能。
具体实现方法如下:-数据采集控制:配置STM32单片机的ADC模块,设置采集通道和相关参数,启动数据采集。
-数据转换:ADC将模拟信号转换为相应的数字量,并通过DMA等方式将数据传输到内存中。
-数据处理:根据实际需求对采集到的数据进行预处理,包括滤波、放大、校准等操作。
-数据存储:将处理后的数据存储到外部存储器(如SD卡)或者通过通信接口(如UART、USB)发送到上位机进行进一步处理和分析。
实现方法:1.硬件实现:按照设计方案,选择适应的STM32单片机、模拟开关电路和ADC芯片,完成硬件电路的设计和布局。
在设计时要注意信号的良好地线与电源隔离。
2.软件实现:(1)搭建开发环境:选择适合的开发板和开发软件(如Keil MDK),配置开发环境。
(2)编写初始化程序:初始化STM32单片机的GPIO口、ADC和DMA等模块,配置系统时钟和相关中断。
(3)编写数据采集程序:设置采集参数,例如采样频率、触发方式等。
通过ADC的DMA功能,实现数据的连续采集。
(4)编写数据处理程序:根据实际需求,对采集到的数据进行预处理,例如滤波、放大、校准等操作。
基于fpga的信号采集电路设计

基于fpga的信号采集电路设计
FPGA作为一种可编程逻辑器件,在信号采集电路设计中具有很高的灵活性和自适应性。
以下是基于FPGA的信号采集电路设计的步骤和考虑因素:
1. 确定采集信号的类型和范围,包括采集的电压、频率和信号形态等。
这有助于选择合适的FPGA型号和外部接口芯片。
2. 设计硬件电路,包括ADC芯片、时钟电路、滤波器等。
这些硬件电路需要兼容FPGA,并能够提供稳定且可靠的信号采集。
3. 根据硬件电路设计,编写FPGA的硬件描述语言(HDL)程序,包括FPGA的驱动和控制程序。
这些程序需要能够将采集到的信号转换成数字信号,并将其存储在FPGA的内存中。
4. 对FPGA进行仿真和调试,验证电路的正确性和性能。
这包括对硬件电路的功能测试和对FPGA程序的逻辑测试等。
5. 将FPGA程序烧录到FPGA中,实现信号采集的实时处理和存储。
此外,可以将FPGA与其他计算机或控制器等设备进行连接,以实现更加复杂的信号处理和控制功能。
在设计基于FPGA的信号采集电路时,还需考虑以下因素:
1. 采样率和带宽:选择合适的ADC芯片和时钟电路,以满足采样率和带宽的要求。
2. 噪声和信号失真:设计适当的滤波和放大电路,以减小噪声和防止信号失真。
3. 存储和传输:根据实际需求,选择合适的存储器和接口芯片,以保证数据的可靠存储和传输。
4. 系统可靠性和稳定性:考虑系统的可靠性和稳定性,采用合适的电路保护和参数调节措施,以防止电路故障和系统失效。
5. 开发工具和环境:选择合适的FPGA开发工具和环境,以提高开发效率和降低制造成本。
计轴轨道电路信号检测采集模块的设计与实现

计 轴 是 一 种 能检 测 铁 路 轨 道 某 区 间 内通 过 车 轮 个 数 的铁 路 信号设备 , 安装在铁路两端车站之间 , 其 工 作 原 理 是 首 先 利 用 安 装 在 钢 轨 的 闭环 传 感 器 检 测 经 过 某 区 间 的车 轮 对 数 ,再 使 用 室 内设 备 处 理 后将 本 站 的车 轮 对 数 发 送 至 对 方 站 ,列 车 到 达 对 方
用 到稳 定性 、 可 靠性 要 求 高 的 高速 铁路 、 地铁、 城 市轨 道 交 通 等 计 轴 系统 信 号 的监 测 中。
关键词 : 计 轴轨 道 电路 , 采 集模 块 , 隔离, 带 通 滤 波
Abs t r ac t : I n or de r t o s ol v e t h e pr obl ems s uc h a s i n s t al l a t i on di fi c u l t i e s, l o w me a su r i n g ac cu r ac y , t h e pr e s s u r e s en s i t i v e e l ・ emen t agi n g i n t r a di t i on al h o i s t e r mo ni t or i ng, t h i s pa per p r op o s es a l oa d p o wer se n s or i s des i gn. By m o ni t or i n g t h e p o wer of
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验课程名称:监测控制系统应用实验四实验项目名称:信号采集输入电路的设计与实现实验成绩:实验者:专业班级:电信130 班同组者:实验日期:周四3~4节课一.实验目的1.掌握模拟量的输入接口电路的设计。
2.熟悉市面上常用的AD转换芯片的性能及特点3.掌握AD转换芯片硬件连接方法和基本编程方法。
4.掌握模拟量采集的软件编程技巧二.实验内容1.用信号发生器产生各种输出电压信号,设计一信号采集系统实时测量该信号发生器的输出并显示出来。
2.信号发生器分别输出直流、方波、正弦波信号供系统采集,研究信号采集系统如何保证准确性、精度、实时性。
具体任务:1、模拟量采集系统的设计开发板有AD转换芯片的,依托开发板设计模拟量采集系统的硬件和软件,实验时用实验室的信号发生器产生模拟量。
开发板上没有AD转换芯片的,自由设计模拟量采集系统的硬件和软件,实验时,在proteus环境下,用信号发生器产生模拟量,仿真实验。
2、采集系统准确性实验让信号发生器分别输出1V、3V、5V、7V、9V、11V、13V的直流电压,记录采集系统的采集值。
观察测量值与实际值的差距,从硬件和软件两方面分析原因,改进系统,直至达到满意的测量结果,记录相应的测量结果。
思考采集系统的精度如何提高,给出答案。
(选做:对于用proteus仿真实验的同学,调整系统设计,使测量精度提高一个档次,记录实验结果)3、采集系统实时性实验让信号发生器输出方波信号,观察采集系统显示器显示的采集值是否跟踪输入信号的值跳变。
加大方波信号的频率,直到系统不能跟踪测量,记录采集系统能够跟踪测量的频率范围。
分析得出提高你的采集系统实时性的措施有哪些,改进系统,直至达到满意的效果,记录此时采集系统能够跟踪测量的频率范围。
让信号发生器输出连续的正弦波信号,观察此时已经进行了准确性和实时性优化的系统的采集结果,如果效果不好,分析原因并改进。
三.探究内容:AD转换结束后可以通过查询或中断的方式读取转换结果,针对本实验任务,是采用查询方式好还是中断方式好?四.实验原理1. PCF8591芯片PCF8591是单片、单电源低功耗8位CMOS数据采集器件,具有4个模拟输入、一个输出和一个串行I2C总线接口。
3个地址引脚A0、A1和A2用于编程硬件地址,允许将最多8个器件连接至I2C总线而不需要额外硬件。
器件地址、控制和数据通道通过两线双向I2C总线传输。
器件功能包括多路复用模拟量输入、片上跟踪和保持功能、8位模数转换和8位数模转换。
最大转换速率取决于I2C总线的最高速率。
我实现的AD转换是使用通道0将滑动变阻器两端的电压AIN0~AIN3:模拟信号输入端。
A0~A2:引脚地址端。
VDD、VSS:电源端。
(2.5~6V)SDA、SCL:I2C 总线的数据线、时钟线。
OSC:外部时钟输入端,内部时钟输出端。
EXT:内部、外部时钟选择线,使用内部时钟时EXT 接地。
AGND:模拟信号地。
AOUT:D/A 转换输出端。
VREF:基准电源端。
地址:I2C总线系统中的每一片PCF8591通过发送有效地址到该器件来激活。
该地址包括固定部分和可编程部分。
可编程部分必须根据地址引脚A0、A1和A2来设置。
在I2C 总线协议中地址必须是起始条件后作为第一个字节发送。
地址字节的最后一位是用于设置以后数据传输方向的读/写位。
(见下图)控制字:发送到PCF8591的第二个字节将被存储在控制寄存器,用于控制器件功能。
控制寄存器的高板字节用于允许模拟输出,和将模拟输入编程为单端过查分输入。
低半字节选择一个有高板字节定义的模拟输入通道。
如果自动增量标志置1,每次A/D转换后通道号将自动增加。
如果自动增量模式是使用内部振荡器的应用中所需要的,那么控制字中模拟输出允许标志应置1。
这要求内部振荡器持续运行,因此要防止振荡器启动延时的转换错误结果。
模拟输出标志可以在其他时候复位以减少静态功耗。
D/A转换:发送给PCF8591的第三个字节被存储到DAC数据寄存器,并使用片上D/A 转换器转换成对应的模拟电压。
这个D/A转换器由连接至外部参考电压的具有256个接头的电阻分压电路和选择开关组成。
模拟输出电压由自动清零单位增益放大器缓冲。
这个缓冲放大器可通过设置控制寄存器的模拟输出允许标志来开户或关闭。
在激活状态,输出电压保持到新的数据字节被发送。
A/D转换:A/D转换器采用逐次逼近转换技术。
在A/D转换周期将来临时片上D/A抓换器和高增益比较器。
一个A/D转换周期总是开始于发送一个有效读模式地址给PCF8591之后。
A/D转换周期在应答时钟脉冲的后沿被触发,并在传输前一次转换结果时执行。
一旦一个转换周期被触发,所选通道的输入电压采样将保存到芯片被转换为对应的8位二进制码。
PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。
PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。
PCF8591的3个地址引脚A0,A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。
在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit模数转换和8-bit数模转换。
PCF8591的最大转化速率由I2C总线的最大速率决定。
下图为PCF8591内部结构图:PCF8591内部结构图开发板上PCF连线图2. 实验电路3. 流程图设计输入为4v方波时:当输入为3V的DC波形时在输入为最高电压为4V,最低电压为1V的方波时,采集到的值为4.004V和0.989V,在误差允许范围内,调节方波的频率,最大可以跟踪到99Hz的方波信号,在方波频率为100Hz时,便不能正常测量。
在输入为最高电压为3V,最低电压为0V的DC波形时,采集到的值在0V~3V之间,能够很好的实现跟踪测量,调节波形频率,最大可以跟踪到99Hz的波形信号,在频率为100Hz时,便不能正常测量。
量程扩展实验中,数码管前面两位表示整数部分电压,后面两位表示小数部分电压,当输入为最高电压10V,最低电压1V的方波时,测量值为9.89V和0.95V,跟踪频率最大99Hz六.结果分析:在实验中,分别对方波,正弦波做了跟踪测量,测量值和实际值均在测量范围内。
由实验探究知,测量的方波信号和正弦波信号频率在99Hz以及99Hz以下时,可以很好的实现实时跟踪测量。
在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
PCF8591的功能包括多路模拟输入、内置跟踪保持、8-bit 模数转换和8-bit数模转换。
PCF8591的最大转化速率由I2C总线的最大速率决定。
由此可以推论出此次设计中,PCF8591的I2C总线的最大跟踪频率在100Hz以下。
由于PCF8591的外部参考电压是5V,所以最大能够测量的外部输入电压近似为5V(比5V稍小,转换范围在0~5*(1-2^8)V),实验中要求测到5V以上的电压值,需要对外部输入电压进行分压处理,只需选择合适的电阻就行。
此次选择的电阻为5k和10k,将输入电压降低到原电压的1/3,这样便可将测量范围扩大三倍的目的。
附录:实验程序/*******************************初始化*******************************/ #ifndef__XPT2046_H_#define __XPT2046_H_//---包含头文件---//#include<reg51.h>#include<intrins.h>//---重定义关键词---//#ifndef uchar#define uchar unsigned char#endif#ifndef uint#define uint unsigned int#endif#ifndef ulong#define ulong unsigned long#endif//---定义使用的IO口---//sbit CLK = P1^0;//时钟sbit CS = P1^1;//片选sbit DIN = P1^2;//输入sbit DOUT = P1^3;//输出uint Read_AD_Data(uchar cmd);uint SPI_Read(void);void SPI_Write(uchar dat);#endif/*******************总线初始化及AD/DA转换函数初始化********************/#include"XPT2046.h"/**************************************************************************** *函数名:TSPI_Start*输入:无*输出:无*功能:初始化触摸SPI****************************************************************************/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;}/**************************main函数********************************/#include"reg51.h"#include"XPT2046.h"//--定义使用的IO--//#define GPIO_DIG P0//--定义全局变量--//unsigned char code DIG_CODE[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsigned char table[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码unsigned char DisplayData[8];//用来存放要显示的8位数的值void DigDisplay(void);void main(void){uint temp,count;while(1){if(count==50){count=0;temp = Read_AD_Data(0xE4)*1.22;// AIN3 外部输入,并转化为对应的数字量}count++;DisplayData[0]=0;//只使用4位数码管显示DisplayData[1]=0;DisplayData[2]=0;DisplayData[3]=0;DisplayData[4]=DIG_CODE[temp%10000/1000]; //整数部分DisplayData[5]=DIG_CODE[temp%1000/100]; //第一位小数DisplayData[6]=DIG_CODE[temp%100/10]; //第二位小数DisplayData[7]=DIG_CODE[temp%10/1]; //第三位小数DigDisplay(); //调用显示函数}}void DigDisplay(void)//长延时{unsigned char i;unsigned int j;for(i=0;i<8;i++){P2=table[i];GPIO_DIG=DisplayData[i]; //发送段码j=50;//扫描间隔时间设定while(j--);GPIO_DIG=0x00;//消隐}}。