实验四AD转换与串行通信实验(2016)

合集下载

AD转换与串口通信(1)

AD转换与串口通信(1)

1.串 行 口 控 制 寄 存 器 SCON
图 8- 12 SCON各 位 定 义 表 8- 3 串 行 口 工 作 方 式
SM0 SM1 工作方式 功能说明 波特率
0
0
方式0
同步移位寄存器
fosc/12
0
1
方式1
8位数据UART
数据UART
fosc/64或fosc/32
void main () { init(); while (1) { if (fa==1) { //中断初始 //接受数据标志
ES=0; SBUF=a; disp(a); while(!TI); 入了数据 为1时发送结束 TI=0; ES=1; fa=0; } } } void ser () interrupt 4 { RI=0; a=SBUF; //发送数据 fa=1; }
主程序
void main() { long int i; unsigned char a[3]; unsigned int ddata; TMOD=0x01; //选择定时器0 方式一 工作 为16位工作方式// TH0=(65536-4000)/256; //定时计时 时间为500us// TL0=(65536-4000)%256; TR0=1; //启动定时器// ET0=1; //允许定时器中断// EA=1; //允许中断// P3=channel; //启动AD进行采集模拟 信号//
AD转换、串口通信
一、AD转换
内容:利用ADC0809/ADC0808及 80C51学习板实现数字电压表功能 时间:两周左右 步骤:电路设计-仿真-焊接-调试
物品清单
ADC0809/ADC0808 89C52学习板 滑动电位器 74HC74(74LS74) 连接线若干

华科串行接口AD换实验报告

华科串行接口AD换实验报告

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所示结果。

AD与串口通信实验

AD与串口通信实验

微处理器与接口技术实验
USB 总线转接芯片CH340
CH340 是一个 USB 总线的转接芯片,实现 USB 转串 口、USB 转 IrDA 红外或者 USB 转打印口。
ห้องสมุดไป่ตู้
在串口方式下,CH340 提供常用的 MODEM 联络信 号,用于为计算机扩展异步串口,或者将普通的 串 口设备直接升级到 USB 总线。
把数据发送到SBUF 口
通过判断TI电平,等 待数据传输结束
循环
等待接收数据
将TI置为低电平,以 清除数据传输标志
通过判断RI电平,判 断是否收到数据
将收到的数据显示, 将RI置低电平
微处理器与接口技术实验
实验步骤
1. 连接实验相关模块电路
微处理器与接口技术实验
实验步骤
2.设置串口大师
波特率设置为4800
微处理器与接口技术实验
实验思考题
依照例程,编写程序实现以下功能: 添加N个按钮,实现电位器电压、热敏、光敏、外部模 拟量的交替显示;
微处理器与接口技术实验
2. DA实现呼吸灯
DA原理图
P2.1 直 接 作 为 DA 转换的数字 输入
微处理器与接口技术实验
呼吸灯原理:PWM滤波电路实现类DA转换
),包含了采样/保持、模数转换、串口数据输出等功能 。
微处理器与接口技术实验
XPT2046的接口配置
微处理器与接口技术实验
XPT2046的控制寄存器
微处理器与接口技术实验
AD/DA原理图
微处理器与接口技术实验
编程思路
1. 调用驱动程序uint Read_AD_Data(uchar cmd)方法进行数据读取 注意:参数uchar cmd用于设置控制寄存器以选择通道位 0x94 电位器 0xD4 热敏电阻 0xA4 光敏电阻 0xE4 外部输入 2. 把数据显示出来,这里我们使用一个1602液晶屏显示值 3. 延时

实验四 AD转换实验

实验四 AD转换实验

重庆交通大学学生实验报告实验课程名称单片机原理与应用实验名称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转换实验报告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转换的基本原理和性能指标,对于我们理解和设计数字系统具有重要意义。

AD转换与串口通信(1)

AD转换与串口通信(1)

双D触发器分频电路 实现四分频
模数转换模块
由于学习板的P0口已经接数码管的段选, P2口接数码管的位选,因此使用51的P1 口连接AD的输出端,P3口连接地址锁存 (ADDA、ADDB、ADDC),START(开始 转换), EOC(转换完成),OE(允许输出)
程序(端口定义)
//数码管端口定义 #define ledctrl P2 //定义p2口为位选端// #define leddata P0 //定义p0口为段选端// sbit ST=P3^0; //定义p3.0口接AD0809START端// sbit OE=P3^1; //定义p3.1口接AD0809 OE端// sbit EOC=P3^2; //定义P3.2口接AD0809 的EOC端// unsigned char channel=0xbc; //1011 1100,ABC=110选择第三通道同时使ST=0,OE=0输出 数据线呈高阻状态,EOC=1。 unsigned char getdata;
1.串 行 口 控 制 寄 存 器 SCON
图 8- 12 SCON各 位 定 义 表 8- 3 串 行 口 工 作 方 式
SM0 SM1 工作方式 功能说明 波特率
0
0
方式0
同步移位寄存器
fosc/12
0
1
方式1
8位数据UART
可变(T1溢出率/n)
1
0
方式2
9位数据UART
fosc/64或fosc/32
分频模块
ADC0809要求输入频率在500KHZ左右的时 钟信号,51单片机的ALE引脚工作时输出 频率为单片机机器周期的四分之一即为 2MHZ,所以可以利用双D触发器74HC74 实现分频驱动ADC0809。 74HC74内部实际有两个相同的D触发器封 装而成,将两个D触发器串联起来就能实 现4分频达到要求,电路如下:

带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转换器的实验报告《AD转换器实验报告:探究数字信号的精准转换》在现代电子科技领域中,AD转换器(Analog-to-Digital Converter)扮演着至关重要的角色。

它能够将模拟信号转换为数字信号,使得我们能够对信号进行精确的处理和分析。

为了更深入地了解AD转换器的工作原理和性能特点,我们进行了一系列的实验研究。

首先,我们搭建了一个基本的AD转换器实验平台,包括模拟信号发生器、AD转换器芯片、数字信号处理器等组件。

通过调节模拟信号的频率、幅度和波形,我们观察到AD转换器能够准确地将模拟信号转换为对应的数字信号,并输出到数字信号处理器进行进一步的处理。

接着,我们对AD转换器的性能进行了详细的测试。

通过改变采样频率、分辨率和输入信号的幅度范围,我们发现AD转换器的性能表现出了一定的规律。

在较高的采样频率下,AD转换器能够更准确地捕捉到信号的细节,而较高的分辨率则能够提高信号的精度和分辨率。

此外,我们还发现在输入信号幅度范围较大时,AD转换器的性能会受到一定程度的影响,需要进行适当的调整和处理。

最后,我们对AD转换器的应用进行了探讨。

我们发现AD转换器广泛应用于各种领域,包括通信、医疗、工业控制等。

它能够将模拟信号转换为数字信号,使得信号的处理和传输更加方便和可靠。

同时,AD转换器也在数字信号处理领域发挥着重要作用,为数字信号的处理和分析提供了可靠的数据基础。

通过这次实验,我们更深入地了解了AD转换器的工作原理和性能特点,对其在实际应用中的作用有了更清晰的认识。

我们相信,随着科技的不断发展,AD转换器将会在更多的领域发挥着重要的作用,为数字信号的处理和传输提供更加可靠的技术支持。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四、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 开发套件。

相关文档
最新文档