实验四AD转换与串行通信实验(2016)
- 格式:docx
- 大小:17.22 KB
- 文档页数:2
DAC121S101中断控制方式接口电路四.实验步骤1.硬件平台建立1)参照11章使用XPS创立一个基于AXI总线的最小计算机系统。
2)添加AXI Interrupt Controller IP核:a.在IP Catalog标签中,双击下面图标创立INTC IP核:b.将microblaze_0实例的INTERRUPT引脚选择axi_intc_0_INTERRUPT,如图:3)参加AXI SPI接口控制器:a.如下图,选择AXI SPI。
b.配置SPI接口参数如下图。
这是由于该SPI接口仅需要输出数据,而且一次传输需要16位数据,一个从设备,且D/A转换芯片要求SCLK 最高速率30MHz,由于AXI总线频率为100MHz,一次分频比为8,此时SCLK的频率仅为12.5MHz。
c.设置端口连接配置,如图:4)为AXI INTC添加中断源,如图:5)配置UCF文件:在UCF文件中修改如下图配置,此时是通过PMOD JA上排插针进展连接:NET "CLK" TNM_NET = sys_clk_pin;TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 100000 kHz;NET "CLK" LOC = "E3" | IOSTANDARD = "LVCMOS33";NET "RESET" LOC = "E16" | IOSTANDARD = "LVCMOS33";NET "RsRx" LOC = "C4" | IOSTANDARD = "LVCMOS33";NET "RsTx" LOC = "D4" | IOSTANDARD = "LVCMOS33";NET "axi_spi_0_SS_pin" LOC = "B13" | IOSTANDARD = "LVCMOS33"; NET "axi_spi_0_MOSI_pin" LOC = "F14" | IOSTANDARD = "LVCMOS33"; NET "axi_spi_0_MISO_pin" LOC = "D17" | IOSTANDARD = "LVCMOS33"; NET "axi_spi_0_SCK_pin" LOC = "E17" | IOSTANDARD = "LVCMOS33";6)创立工程过程完成后,a.在主界面下选择Hardware->Generate Netlist;b.在主界面下选择Hardware->Generate Bitstream;c.单击Graphical Design View,可以看到系统的连接图,如下:2.软件平台建立(1)SDK提供的外设驱动以及应用程序1.点击project->Expert Hardware Design to SDK…,点击Export&Launch SDK:2.在SDK中,建一个空的c文件,输入源代码(2)源代码:#include"xparameters.h"#include"xspi.h"#include"xintc.h"#include"xil_exception.h"#define BUFFER_SIZE 2void SpiIntrandler(void *CallBackRef,u32 Statusevent,u32 Bytecount);static XIntc IntcInstance;static XSpi SpiInstance;volatileint TransferInProgress;int Error;u8ReadBuffer[BUFFER_SIZE];u8 WriteBuffer[BUFFER_SIZE];int main(void){int Status;Status=XSpi_Initialize(&SpiInstance,XPAR_SPI_0_DEVICE_ID);Status=XIntc_Initialize(&IntcInstance,XPAR_INTC_0_DEVICE_ID);Status=XIntc_Connect(&IntcInstance,XPAR_INTC_0_SPI_0_VEC_ID,(XInterruptHandler)XSpi_InterruptHandler,(void *)&SpiInstance);Status=XIntc_Start(&IntcInstance,XIN_REAL_MODE);XIntc_Enable(&IntcInstance,XPAR_INTC_0_SPI_0_VEC_ID);microblaze_register_handler((XInterruptHandler)XIntc_InterruptHandler,&IntcInstance); microblaze_enable_interrupts();XSpi_SetStatusHandler(&SpiInstance,&SpiInstance,(XSpi_StatusHandler)SpiIntrandler);Status = XSpi_SetOptions(&SpiInstance,XSP_MASTER_OPTION |XSP_CLK_PHASE_1_OPTION); Status = XSpi_SetSlaveSelect(&SpiInstance,1);XSpi_Start(&SpiInstance);while(1){TransferInProgress = TRUE;XSpi_Transfer(&SpiInstance,WriteBuffer,ReadBuffer,2);while(TransferInProgress);u16temp;temp = ReadBuffer[1] << 8;temp += ReadBuffer[0];xil_printf("adc = %d\n\r", temp);int i;for(i = 0; i < 5000000; i++);}return XST_SUCCESS;}void SpiIntrandler(void *CallBackRef, u32 StatusEvent, u32 ByteCount){TransferInProgress = FALSE;if(StatusEvent != XSP_SR_RX_EMPTY_MASK){Error++;}}五.实验结果和调试过程1、连接好硬件模块,并分别将A/D模块的J2插针1号引脚分别连接到GND和VCC,在调试环境下,设置断点如下列图1所示,每次执行RESUME之后,展开RENDBUFFER可以得到如下列图2和图3所示结果。
重庆交通大学学生实验报告实验课程名称单片机原理与应用实验名称A/D转换实验实验类型验证性实验开课实验室语音楼单片机原理实验室学院信息科学与工程学院学生姓名学号开课时间2012至2013学年第 2 学期实验评佑等级很好好一般差实验操作能力实验结果实验分析实验思考总结实验成绩教师签名一、实验目的:1.了解ADC0809/ADC0808的工作原理;2.掌握单片机与ADC0809/ADC0808接口原理;3.熟悉CPU中断方式和查询方式读取A/D转换结果的程序设计方法。
二、实验内容:以查询工作方式应用程序,分别启动8路模拟输入通道进行A/D转换,8路转换结果存储在内部数据存储器首地址为30H开始的单元内,并将第0路转换结果送到P1口显示。
按照以上原理完成以下要求:1.用中断方式编写并调试出一个程序;2.用查询方式编写并调试出一个程序;3.用调用显示子程序方法,将转换结果在显示块上显示出来;4.将采样结果以8个LED显示进行编码,以得到将0V—5V区间分为256级显示效果;5.用C51重新编写程序实现上述要求的C程序。
用Proteus仿真软件运行硬件电路仿真设计。
三、实验步骤:1.硬件设计。
参考指导书中所列数码管显示的元器件以及实验程序参考框图,利用Proteus仿真软件,作出其电路图。
2.利用Keil仿真软件编写程序,将其编写好的程序进行调试。
四、实验调试及结果:<一>实验调试方法:1、打开Keil程序,执行菜单命令“ Project”—>“New Project”创建“ 0808AD 转换”项目,并选择单片机型号为AT89C51。
2、执行菜单命令“file”—>“New”创建文件,输入源程序,保存为“0808AD 转换.c”。
在“Project”栏的File项目管理窗口中右击文件组,选择“Add Filesto Group Source Group1”,将源程序“0808AD转换.c”添加到项目中。
ad转换实验报告AD转换实验报告概述:AD转换(Analog-to-Digital Conversion)是将模拟信号转换为数字信号的过程。
本实验旨在通过实际操作和数据记录,探究AD转换的原理和应用。
实验目的:1. 了解AD转换的基本原理和分类;2. 掌握AD转换器的使用方法;3. 分析AD转换器的性能指标。
实验器材:1. AD转换器模块;2. 信号发生器;3. 示波器;4. 电脑。
实验步骤:1. 连接实验器材:将信号发生器的输出端与AD转换器的输入端相连,将AD转换器的输出端与示波器的输入端相连,将示波器与电脑连接;2. 设置信号发生器:调整信号发生器的频率、幅度和波形,生成不同的模拟信号;3. 设置AD转换器:根据实验要求,选择合适的AD转换器工作模式,并设置采样率和分辨率;4. 进行AD转换:通过示波器监测AD转换器输出的数字信号,并记录下相应的模拟输入信号值;5. 数据分析:将记录的数据输入电脑,进行进一步的数据分析和处理。
实验结果:在实验过程中,我们通过改变信号发生器的频率、幅度和波形,观察到AD转换器输出的数字信号的变化。
根据示波器的显示和记录的数据,我们得到了一系列的AD转换结果。
通过对这些结果的分析,我们可以得出以下结论:1. AD转换器的分辨率对转换精度有重要影响。
分辨率越高,转换结果的精度越高;2. AD转换器的采样率对转换结果的准确性有影响。
采样率过低可能导致信号失真或丢失;3. 不同的模拟信号在AD转换过程中可能会产生不同的失真现象,如量化误差、采样误差等;4. AD转换器的性能指标包括分辨率、采样率、信噪比等,这些指标对于不同应用场景有不同的要求。
实验总结:通过本次实验,我们深入了解了AD转换的原理和应用。
实验结果表明,AD转换器在现代电子设备中具有重要的作用,广泛应用于音频处理、图像处理、传感器数据采集等领域。
了解和掌握AD转换的基本原理和性能指标,对于我们理解和设计数字系统具有重要意义。
带A/D转换的单片机串口通信板的设计与实现一、实验目的1.掌握A/D转换以及单片机串行通信的基本原理2.学习并掌握AD0801和MAX232芯片的原理与软件编程3.熟悉单片机开发环境uVision4,熟练掌握汇编语言程序设计与调试4.学习并掌握Protel DXP2004软件的基本操作,学会原理图和PCB设计5.加深对单片机应用系统开发流程的认识二、实验内容设计一块带A/D转换的单片机串口通信板,要求根据原理图和PCB文件完成通信板元器件焊接和相关软件的编写与调试。
通信板同时具有发送和接收的功能。
发送时,要求通过ADC0801完成数据采样,并通过串口将采样值发送出去。
接收时,要求对接收收到的采样值进行数据校验,正确则结束通信;否则要求对方重新发送,直到正确接收为止。
调试时,两块板成对调试,可以任选一块发送,另一块接收。
软件编写主要包括以下内容:1.A/D转换程序2.单片机双机通信程序(要求带数据校验功能,可以采用TTL电平或RS232电平)3.通信过程中简单的人机接口功能的实现(电路板上可供选用的硬件有两组开关和按钮)三、实验步骤与结果1.电路板焊接与测试图1 电路板焊接图2 原理图2.软件编程与调试ADC: MOV DPTR,#7FFFH ;指向adc0801入口MOV R0,#50H ;数据区首地址LOOP: MOVX @DPTR,A ;启动a/d转换MOV R6,#04H ;延时LOOP1: DJNZ R6,LOOP1loop5: JB P3.2,loop5 ;查询A/D转换信号MOVX A ,@DPTR ;读A/D转换结果MOV @R0,A ;保存A/D转换结果SETB P1.0 ;灭绿灯SETB P1.1 ;灭红灯wait2: JNB P1.4 ,receive ; 按s2接收JNB P1.3 ,send ;按s1发送SJMP wait2 ;等待send: MOV SCON,#080H ;串行接口方式2发送MOV PCON,#80H ;波特率fosc/32MOV R0, #50H ;数据首址送R0 Loop2: MOV A,@R0 ;取数据MOV C,P ;奇偶校验标志送TB8MOV TB8,CMOV SBUF,A ;数据发送wait: JBC TI, next ;查询是否一帧数据发送完毕SJMP waitnext: CLR P1.0 ;亮绿灯发送完SJMP ADC ;跳转至ADCreceive: MOV SCON,#90H ;串行接口方式2接收MOV PCON,#80H ;波特率fosc/32MOV R0,#60H ;数据首址送R0wait1: JBC RI,PR1 ;等待接收到数据并清RISJMP wait1PR1: MOV A,SBUF ;以下检查所接收数据的正确性JNB P,PNP ;p=0,转PNPJNB RB8,PER ;p=1。
ad转换器的实验报告《AD转换器实验报告:探究数字信号的精准转换》在现代电子科技领域中,AD转换器(Analog-to-Digital Converter)扮演着至关重要的角色。
它能够将模拟信号转换为数字信号,使得我们能够对信号进行精确的处理和分析。
为了更深入地了解AD转换器的工作原理和性能特点,我们进行了一系列的实验研究。
首先,我们搭建了一个基本的AD转换器实验平台,包括模拟信号发生器、AD转换器芯片、数字信号处理器等组件。
通过调节模拟信号的频率、幅度和波形,我们观察到AD转换器能够准确地将模拟信号转换为对应的数字信号,并输出到数字信号处理器进行进一步的处理。
接着,我们对AD转换器的性能进行了详细的测试。
通过改变采样频率、分辨率和输入信号的幅度范围,我们发现AD转换器的性能表现出了一定的规律。
在较高的采样频率下,AD转换器能够更准确地捕捉到信号的细节,而较高的分辨率则能够提高信号的精度和分辨率。
此外,我们还发现在输入信号幅度范围较大时,AD转换器的性能会受到一定程度的影响,需要进行适当的调整和处理。
最后,我们对AD转换器的应用进行了探讨。
我们发现AD转换器广泛应用于各种领域,包括通信、医疗、工业控制等。
它能够将模拟信号转换为数字信号,使得信号的处理和传输更加方便和可靠。
同时,AD转换器也在数字信号处理领域发挥着重要作用,为数字信号的处理和分析提供了可靠的数据基础。
通过这次实验,我们更深入地了解了AD转换器的工作原理和性能特点,对其在实际应用中的作用有了更清晰的认识。
我们相信,随着科技的不断发展,AD转换器将会在更多的领域发挥着重要的作用,为数字信号的处理和传输提供更加可靠的技术支持。
ad转换器实验内容背景介绍广告(ad)转换器是一种工具,可以将广告视频、文字或图片转换为适合不同媒体平台上使用的格式。
随着互联网的发展,广告投放已成为市场营销中不可或缺的一部分。
然而,不同的媒体平台对于广告格式的要求各不相同,因此需要将广告进行转换以适应不同平台的规范。
目的本实验旨在研究和开发一种ad转换器,以提供一种自动化的方式来转换广告内容,使之能够适应不同媒体平台的规范要求。
通过使用ad转换器,广告投放者可以节省时间和资源,同时提高广告的覆盖面和效果。
实验步骤1.收集广告样本:首先,需要收集一系列不同形式的广告样本,包括视频、文字和图片。
这些广告样本应该来自于不同的媒体平台,如电视广告、网络广告和印刷品广告。
收集足够多的广告样本可以更好地了解不同平台对广告格式的要求。
2.分析广告格式要求:接下来,需要仔细研究不同媒体平台对广告的格式要求。
这些要求可能涉及广告尺寸、分辨率、文件格式和时长等方面。
通过分析广告格式要求,可以确定设计和开发ad转换器所需考虑的关键因素。
3.设计转换器架构:基于对广告样本和格式要求的分析,需要设计ad转换器的架构。
该架构应该能够根据输入的广告样本和目标平台的要求,自动转换广告内容。
转换器的设计应该包括模块化的思想,方便以后的扩展和改进。
4.开发转换器功能:根据设计的架构,需要开发ad转换器的各个功能模块。
这些功能模块可能包括文件格式转换、尺寸适应、分辨率调整和视频剪辑等。
通过开发这些功能模块,可以实现广告内容的自动转换。
5.测试和优化:在开发完成后,需要对ad转换器进行测试和优化。
测试可以包括输入不同广告样本并将其转换为目标格式,然后验证转换的效果是否符合要求。
根据测试的结果,可以对转换器进行优化和改进,提高其性能和准确性。
6.使用转换器进行广告转换:一旦ad转换器经过了充分的测试和优化,可以开始使用它来转换实际的广告内容。
将广告投放者提供的广告样本输入ad转换器,按照目标平台的要求进行转换,然后将转换后的广告发布到相应的媒体平台上。
南昌大学实验报告学生姓名:学号:专业班级:实验类型:□验证□综合□√设计□创新实验日期:实验成绩:实验四串行A/D 转换实验一、实验目的1.熟悉八位串行AD转换器TLC549的性能及转换过程。
2.掌握单片机和TLC549硬件联接及软件编程。
二、实验内容使用TLC549 实现单片机模数转换。
模拟信号为0~5V 电位器分压输出,单片机读取模拟信号,并在数码管上用十六进制形式显示出来。
三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图TLC549是一种采用8位逐次逼近式工作的A/D转换器。
内部包含系统时钟、采样和保持、8 位A/D转换器、数据寄存器以及控制逻辑电路。
TLC549每25uS重复一次“输入——转换——输出”。
器件有两个控制输入:I/O CLOCK和片选(CS)。
内部系统时钟和I/O CLOCK可独立使用。
应用电路的设计只需利用I/O时钟启动转换或读出转换结果。
当CS为高电平时,DA TA OUT处于高阻态且I/O时钟被禁止。
当CS变为低电平时,前次转换结果的᳔高有效位(MSB)开始出现在DA TA OUT端。
在接下来的7个I/O CLOCK周期的下降沿输出前次转换结果的后7位,至此8位数据已经输出。
然后再将第8 个时钟周期加至I/O CLOCK,此时钟周期的下跳沿变使芯片进行下一轮的AD 转换。
在第8个I/O CLOCK周期之后,CS必须变为高电平,并且保持高电平直至转换结束为止(>17uS),否则CS的有效高电平至低电平的转换将引起复位(其它详细资料看芯片说明)。
本实验需要用到CPU 模块(F3 区)、电位器模块(E2 区)、串行模数转换模块(D5 区)、串行静态数码显示模块(B4 区)。
TLC549 串行模数转换电路原理参见下图。
串行模数转换电路图四、实验步骤1)系统各跳线器处在初始设置状态。
用导线对应连接串行模数转换模块的CS_549、DATA、CLK 到CPU 模块的P12、P10、P11;电位器模块的输出端接串行模数转换模块的AIN;CPU 模块的P16、P17 接串行静态数码显示模块DIN、CLK。
实验四、A/D转换与串行通信实验
1、实验目的
熟悉Freescale 68HC08的程序设计和调试方法,掌握CodeWarrior IDE、ProEmulator、DP-01多MCU实验平台等开发工具的使用,理解微控制器 A/D转换模块、异步串行通信接口(SCI)的基本原理和应用方法。
2、实验环境
PC机
DP-01多MCU实验平台
CodeWarrior 集成开发环境
ProEmulator模拟软件
3、硬件接线
(1)PTA0-7接LED1-8指示灯,即用8位排线把实验平台A2区J61插口(B0-B7)与D1区J52插口相连。
(2)拔下B3区LCD模块。
D2区10K电位器右端接C1区VCC(+5V),左端接GND,中间端用专用实验导线连接到B3区J106插座的第14引脚(从右端倒数第3引脚,PTB7)作为模拟量输入口,PTC0(A11)接开关SW1。
(3)DP-01实验平台串行口与微机串行口相接(已连好)。
4、实验内容
完成硬件连线,用Freescale 68HC08汇编语言编写程序完成以下功能:
(1)通过开关SW1的闭合与断开控制A/D采样的开始和停止,当开始A/D转换后,每秒对PTB7脚的模拟量采样一次,采样结果求反后送指示灯LED1-8显示。
(2)采样结果同步通过SCI串行接口发送到PC机(19200bps,N,8,1),在PC端用超级终端或串口调试助手查看收到的数据(16进制),看是否与LED显示的内容一致。
(3)调节D2区10K电位器旋扭,观察采样值的变化。
5、实验要求
(1)通过CW IDE、ProEmulator调试程序并查看运行结果。
(预习时完成)
(2)利用CW IDE Mon08接口把程序下载到DP-01多MCU实验平台,通过单步、断点、全速等多种调试方式运行程序并查看运行结果。
(3)掌握HC08模块串行接口的调试方法,程序下载时跳线分别设置为JP4(MON)、COM_SEL1(RD-M)、COM_SEL2(TD-M),下载后断电。
跳线需设置为JP4(RUN)、COM_SEL1(TXD)、COM_SEL2(RXD),上电复位全速运行程序进行串行通信。
(4)完成实验报告的撰写。
6、思考题(选做内容)
(1)如何实现开关SW1合上后,MCU与PC先建立握手信号,如握手信号为$AB(MCU端发送)、$CD(PC端回送),当握手成功后再开始A/D转换和串口发送工作?
(2)如何把采样结果转换成对应电压值并通过SCI送到PC显示(ASCII码),格式为“My Sample is x.xx V”?
(3)如何用C语言编程完成上述实验内容?
(4)如何实现每秒对模拟量采样三次,进行简单中值滤波处理后再送指示灯和SCI?
(5)如何在MSP430、MCS-51和PIC16F87x MCU上实现实验内容?
(6)如何使用Proteus仿真调试实验内容?
7、参考
《微控制器原理与应用》
190页 6.4 异步串行通讯接口SCI
379页8.3.2 MC68HC908GP32的ADC模块
《微控制器原理与应用实验教程》
1-66页第一、二章相关内容(重点1.2.2)
152页4.1.5 串行数模转换器TLC5620和串行模数转换器TLC549 193页J106引脚图233页 5.1 RS-232
AD & SCI 参考程序(HC08)/blog-557776-65086.html SCI串口初始化代码示例/blog-557776-53703.html 串口调试助手/blog-557776-53797.html
MSP430口袋实验套件MSP-EXP430G2
/ay_scm_pack/product_33.html
17_Slope_ADC(Launchpad口袋实验平台指导书ch17)
19_ADC10_Temperature(Launchpad口袋实验平台指导书ch19)
20_Sin_Gen_and_Sample(Launchpad口袋实验平台指导书ch20)
10_UART_KeyBoard(Launchpad口袋实验平台指导书ch10)
MSP-EXP430G2 LaunchPad 开发套件。