文档库 最新最全的文档下载
当前位置:文档库 › 北航微机原理实验之四(数模转换)

北航微机原理实验之四(数模转换)

北航微机原理实验之四(数模转换)
北航微机原理实验之四(数模转换)

2011- 2012 学年第一学期

微机原理实验四:数/模转换班级392311学院高等工程姓名李柏学号3903·2415

2011年12月17日

1.实验目的

了解数模转换的原理,学习数模转换芯片的使用方法,掌握利用数模转换芯片产生方波及正弦波的方法。

2.实验内容

在数据段中存放好对应于产生方波和正弦波的数字量,正弦波要求20个值。编写程序将数据段中的数字量送到DAC0832的输出端产生方波和正弦波,本实验只需CS与290H连接。

3.程序清单

正弦波生成代码

PORTA EQU 0EF00H-280H+290H

STACK SEGMENT STACK

DB 100 DUP()

STACK ENDS

DA TA SEGMENT

X1 DB 128,163,203,232,250,255,250,232,203,168

DB 128,88,53,24,6,0,6,24,53,88

X2 DB 'PLEASE INPUT NUMBER$'

DA TA ENDS

CODE SEGMENT

ASSUME CSCODE,DSDA TA,SSSTACK

MAIN PROC

MOV AX, DA TA

MOV DS, AX

MOV DX, OFFSET X2

MOV AH,9

INT 21H

NEXT1 MOV DX, PORTA

MOV CX, 20

MOV SI, OFFSET X1

NEXT2 MOV DX,PORTA

MOV AL,[SI]

OUT DX,AL

INC SI

NEXT4 MOV DL,0FFH

MOV AH,6

INT 21H

JNZ NEXT3

JMP NEXT4

NEXT3 LOOP NEXT2

JMP NEXT1

MOV AH, 4CH

INT 21H

MAIN ENDP

CODE ENDS

MAIN ENDS

方波生成代码

PORTCS EQU 0EF00H-280H+290H STACK SEGMENT STACK

DW 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK MAIN PROC

NEXT:

MOV DX,PORTCS

MOV AL,0

OUT DX,AL

CALL DELA Y

MOV AH,1

INT 21H

MOV AL,0FFH

OUT DX,AL

CALL DELA Y

MOV AH,1

INT 21H

MOV DL,0FFH

MOV AH,6

INT 21H

JZ NEXT

MOV AH,4CH

INT 21H

MAIN ENDP

DELA Y PROC

PUSH CX

MOV CX,1000

NEXT1:

LOOP NEXT1

POP CX

RET

DELA Y ENDP

CODE ENDS

END MAIN

三角波

INADRESS EQU 0EFF0H-280H+290H

STACK SEGMENT STACK

DW 100 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE;SS:STACK MAIN PROC

MOV AL,0

NEXT1: MOV DX,INADRESSS

OUT DX,AL

CALL DELA Y

INC AL

JNZ NEXT1

NEXT2: DEC AL

OUT DX,AL

CALL DELA Y

JNZ NEXT2

MOV DL,0FFH

MOV AH,6

INT 21H

JZ NEXT1

MOV AH,4CH

INT 21H

MAIN ENDP

DELA Y PROC

PUSH CX

MOV CX,1000

NEXT3: LOOP NEXT3

POP CX

RET

DELA Y ENDP

CODE ENDS

END MAIN

正弦波:

2.3mv 1.559v 2.924v 4.05v4.76v 4.95v 4.76v 4.05v 2.924v 1.559v 3mv -1.536v -2.889v -4.00v -4.70v -4.00v -2.889v -1.536v

方波:

高4.95v 低-4.98v

4.收获与心得

这次实验的硬件连线比较容易。在实验过程中,很快就得到了实验结果。但实验过程中的一个环节还是给了我一些启示。实验过程中有一个步骤是要在输出端测输出电压。刚开始我测试数据的时候发现万用表测出的数据一直是变动中的,无法获得稳定的电压值。我开始认为是连线接触不良导致的这种情况,又重新检查了一下程序,并回忆老师上课讲过的一些实验中会遇到的问题,我突然想到是因为程序中少了一段延时程序才导致输出电压无法测出。再加入了一个延时子程序后果然顺利的得到了稳定的电压值。这次实验我最大的收获就是明白了理论如何转化成正确的实践成果。老师课堂上并没有讲过输出要延时一段时间,但是具体实践却要求我们必须这样做才能获得正确的结果。这就需要我们自己具备这种分析问题,并结合实际情况改进理论指导的能力。

5.实验流程图

开始

将方波数字量存入数

据段

将I/O 端口地址送入

DX 寄存器

将该数字量输出至I/O 端口,并调用延时子程序

将数据段中第二个方波数字量放入AL 寄存器中

初始化

N

返回DOS

将数据段中第一个方波数字量放入AL 寄存器中

将第一位数字量偏移地址存入SI 寄存器

检查是否有将该数字量输出至I/O 端口,并调用延时子程序

Y

开始 将正弦波数字量存入

数据段

将I/O 端口地址送入DX 寄存器

将该数字量输出至I/O 端口,并调用延时子程序

SI 和BX 寄存器的

值自加

初始化

N

检查是否有键按下

返回DOS

Y

将数据段中第一个正

弦波数字量放入AL 寄

存器中

将第一位数字量偏移

地址存入SI 寄存器,BX 寄存器置零

BX 和20是否相等

比较BX 和20的

大小

Y

N

解读高速数/模转换器(DAC)的建立和保持时间Oct 10, 2007 摘要:本应用笔记定义了高速数/模转换器(DAC)的建立和保持时间,并给出了相应的图例。高速DAC的这两个参数通常定义为“正、负”值,了解它们与数据瞬态特性之间的关系是一个难点,为了解决这些难题,本文提供了一些图例。 介绍 为了达到高速数/模转换器(DAC)的最佳性能,需要严格满足数字信号的时序要求。随着时钟频率的提高,数字接口的建立和保持时间成为系统设计人员需要重点关注的参数。本应用笔记对建立和保持时间进行详尽说明,因为这些参数与Maxim的高性能数据转换方案密切相关。 定义建立和保持时间 建立时间(t S)是相对于DAC时钟跳变,数据必须达到有效的逻辑电平的时间。保持时间(t H)则定义了器件捕获/采样数据后允许数据发生变化的时间。图1给出了相对于时钟上升沿的建立和保持时间。特定器件的时钟信号有效边沿可能是上升/下降沿,或由用户选择,例如MAX5895 16位、500Msps、插值和调制双通道DAC,CMOS输入。 图1. 相对于时钟信号上升沿的建立和保持时间 采用CMOS技术设计的数字电路通常将电源摆幅的中间值作为切换点。因此,时间参考点定在信号边沿的中点。图1波形标明了器件在典型条件下的建立和保持时间。注意此时定义的这两个参数均为正值,但在建立或保持时间出现负值时将会令人迷惑不解。 MAX5891 600Msps、16位DAC为这一中间值状态提供了很好的学习实例。该器件的建立时间为-1.5ns,而保持时间为2.6ns。图2给出MAX5891的最小建立时间。注意,实际应用中,数据通常在采样时钟跳变后发生变化。图3给出了相同器件的最小保持时间。

数模模数转换实验报告 一、实验目的 1、了解数模和模数转换电路的接口方法及相应程序设计方法。 2、了解数模和模数转换电路芯片的性能和工作时序。 二、实验条件 1、DOS操作系统平台 2、数模转换芯片DAC0832和模数转换器ADC0809芯片。 三、实验原理 1、数模转换: (1)微机处理的数据都是数字信号,而实际的执行电路很多都是模拟的。因此微机的处理结果又常常需要转换为模拟信号去驱动相应的执行单元,实现对被控对象的控制。这种把数字量转换为模拟量的设备称为数模转换器(DAC),简称D/A。 (2)实验中所用的数模转换芯片是DAC0832,它是由输入寄存器、DAC 寄存器和D/A 转换器组成的CMOS 器件。其特点是片内包含两个独立的8 位寄存器,因而具有二次缓冲功能,可以将被转换的数据预先存在DAC 寄存器中,同时又采集下一组数据,这就可以根据需要快速修改DAC0832 的输出。 2、模数转换: (1)在工程实时控制中,经常要把检测到的连续变化的模拟信号,如温度、压力、速度等转换为离散的数字量,才能输入计算机进行处理。实现模拟量到数字量转换的设备就是模数转换器(ADC),简称A/D。

(2)模数转换芯片的工作过程大体分为三个阶段:首先要启动模数转换过程。其次,由于转换过程需要时间,不能立即得到结果,所以需要等待一段时间。一般模数转换芯片会有一条专门的信号线表示转换是否结束。微机可以将这条信号线作为中断请求信号,用中断的方式得到转换结束的消息,也可以对这条信号线进行查询,还可以采用固定延时进行等待(因为这类芯片转换时间是固定的,事先可以知道)。最后,当判断转换已经结束的时候,微机就可以从模数转换芯片中读出转换结果。 (3)实验采用的是8 路8 位模数转换器ADC0809 芯片。ADC0809 采用逐次比较的方式进行A/D 转换,其主要原理为:将一待转换的模拟信号与一个推测信号进行比较,根据推测信号是大于还是小于输入信号来决定增大还是减少该推测信号,以便向模拟输入逼近。推测信号由D/A 转换器的输出获得,当推测信号与模拟信号相等时,向D/A 转换器输入的数字就是对应模拟信号的数字量。ADC0809 的转换时间为64 个时钟周期(时钟频率500K 时为128S)。分辨率为 8 位,转换精度为±LSB/2,单电源+5V 供电时输入模拟电压范围为04.98V。 四、实验内容 1、把DAC0832 的片选接偏移为10H 的地址,使用debug 命令来测试 DAC0832 的输出,通过设置不同的输出值,使用万用表测量Ua 和Ub 的模拟电压,检验DAC0832 的功能。选取典型(最低、最高和半量程等)的二进制值进行检验,记录测得的结果。实验结果记录如下:

实验一字符串排序 实验时间:2015.11.21 实验编号:同组同学:无一、实验背景 本实验可以实现对任意长度字符串的进行从小到大的排序并回显到屏幕上。 二、实验原理 本实验的采用的实验原理主要是冒泡法 原理图如下: 三、预习思考题的实验验证分析 预习思考题的实验分析验证(包括程序代码以及程序的执行结果)已经在预习报告中做出回答,在此不再进行赘述。 四、实验过程与结果 1、实验过程:(1)双击计算机桌面上的TPC-2003实验系统配套的软件;

(2)新建一个源程序,在当前运行环境下,选择菜单栏中的“文件”菜单,菜单下拉后选择“新建”,会弹出新建窗口,选择新建表单中的“ASM”,点击“确定”,新建汇编程序; (2)根据题目要求设计程序,并将其输入到软件界面上; (3)保存新建的源程序; (4)点击“汇编”的快捷键,编译调试窗口中显示出汇编结果,程序没有错误; (5)打开命令提示符操作界面,将生成的可执行文件拖入到其中,回车即可运行该程序; (6)对程序是否达到实验要求进行实验验证。 2、实验结果:本实验达到了以下要求 1、利用INT 21H的1号功能,从键盘输入任意长度的字符串,以回车符结束; 2、将输入的字符串存放在数据段中; 3、对输入的字符串按ASCII码从小到大排序(ASCII小者占低地址存放); 4、将排好序的字符串利用INT 21H的9号功能显示在微机屏幕上。 实验程序如下: STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS DATA SEGMENT STR DB 100 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK MAIN PROC MOV AX,DATA MOV DS,AX MOV SI,OFFSET STR

实验报告1 实验项目名称:I/O地址译码;简单并行接口同组人: 实验时间:实验室:微机原理实验室K2-407 指导教师:胡蔷 一、实验目的: 掌握I/O地址译码电路的工作原理,简单并行接口的工作原理及使用方法。 二、预备知识: 输入、输出接口的基本概念,接口芯片的(端口)地址分配原则,了解译码器工作原理及相应逻辑表达式,熟悉所用集成电路的引线位置及各引线用途;74LS245、74LS373的特性及作用。 三、实验内容245输入373输出 使用Protues仿真软件制作如下电路图,使用EMU8086编译软件编译源程序,生成可执行文件(nn . exe),在Protues仿真软件中加载程序并运行,分析结果。 编程实现:读8个开关的状态,根据输入信号控制8个发光二极管的亮灭。 图1-1 245输入373输出 四、程序清单

五、实验结果 六、结果分析 七、思考题: 1、如果用74LS373作输入接口,是否可行?说明原因;用74LS245作输出接口,是否可行?说明原因。

实验报告2 实验项目名称:可编程定时器/计数器;可编程并行接口同组人: 实验时间:实验室:微机原理实验室K2-407 指导教师:胡蔷 一、实验目的: 掌握8253的基本工作原理和编程应用方法。掌握8255的工作原理及使用方法。 二、预备知识: 8253的结构、引脚、控制字,工作方式及各种方式的初始化编程及应用。 8255的内部结构、引脚、编程控制字,工作方式0、1、2的区别,各种方式的初始化编程及应用。 三、实验内容: ⑴8253输出方波 利用8253的通道0和通道1,设计产生频率为1Hz的方波。设通道0的输入时钟频率为2MHz,8253的端口地址为40H,42H,44H,46H。通道0的输入时钟周期0.5μs,其最大定时时间为:0.5μs×65536 = 32.768ms,要产生频率为1Hz(周期= 1s)的方波,利用;一个通道无法实现。可用多个通道级连的方法,将通道0的输出OUT0作通道1的输入时钟信号。设通道0工作在方式2(频率发生器),输出脉冲周期= 10 ms,则通道0的计数值为20000(16位二进制)。周期为4 ms的脉冲作通道1的输入时钟,要求输出端OUT1输出方波且周期为1s,则通道1工作在方式3(方波发生器),计数值为100(8位;二进制)。硬件连接如图2-1。

数模混合设计 实验报告 作者:竹叶听筝 时间:2012年12月05日课程题目:声光报警系统

摘要:声光报警器在实际的生活中可以见到许多,运用于生活的许多方面。声光报警电路可作为防盗装置,在有情况时它通过指示灯闪光和蜂鸣器鸣叫,同时报警。声光报警器可用在危险场所,通过声音和光信号向人们发出示警信息。 Abstract: sound and light alarm can be seen in real life many, used in many aspects of life. Sound and light alarm circuit can be used as anti-theft device, when it lights flash and buzzer tweet, alarm at the same time. Sound and light alarms can be used in hazardous locations, issued a warning to people through sound and light signals. 关键词:报警器声音光信号示警 1、设计原理 根据设定的基准报警电压。当输入电压超出报警值时发出声和光报警信号。当输入电压信号减小恢复到报警值以下时,要求有一定的回程余量才能撤销报警信号。也就是要实现电压信号的迟滞比较功能。LED灯闪烁,蜂鸣器报警。 2、方案比较 方案一:通过单片机控制进行AD采样计算,当采样电压超过,设定输入电压时,通过单片机控制LED闪烁,蜂鸣器报警,当输入电压小于设定Vh电压时,单片机撤销报警信号。此方案性能稳定,思路清晰,但性价比不高,涉及微处理器,以及软件编程,开发难度较大。 方案二:采用LM311滞回比较器,比较输入电压值,当大于设定电压时,比较器输出端为高电平,通过光电耦合器,进行传递信号,通过555定时器输出1HZ频率脉冲,是LED灯闪烁,同时蜂鸣器报警,当输入电压小于阈值电压时,LM311输入低电平,撤销报警信号。此方案采用纯硬件方法实现神声光报警,具有成本低,调试容易且通过光耦合器进行数字电路和模拟电路的隔离,同样也具有较高的稳定性。三、系统总体方案描述

本科生实验报告 实验名称:数模转换器DAC0832双缓冲输出设计 一、实验目的 1)了解DAC0832芯片引脚、内部结构及工作原理; 2)掌握应用单片机I/O 端口控制DAC0832实现数模转换的方法; 3)掌握DAC0832单缓冲和双缓冲控制技术及编程设计方法; 二、实验原理 DAC0832是8位分辨率的数模转换集成芯片,内部采用倒T 形网络,电流型 输出模式,电流输出稳定时间为1us ,采用单电源供电。 片内部由一个8位输入锁存器、一个8位DAC 寄存器和一个8位D/A 转换器构成,内部具有双缓冲结构,可以实现单缓冲、双缓冲数字输入。 双缓冲同步控制方式 : 针对多个模拟量需要同时输出的控制系统,可以采用双缓冲同步控制方式。D/A 转换数据的输入锁存和D/A 转换输出分两步完成。首先,CPU 分时向各路D/A 转换器输入要转换的数字量并锁存在各自的输入锁存器中,然后,CPU 同时对所有D/A 转换器发出输入所存数据打入DAC 寄存器的控制信号,即可实现 VREF IOUT2 IOUT1 DGND VCC AGND RFB

多通道的同步模拟量数据输出。 应用双缓冲方式,可以在输出模拟信号的同时采集下一个数字量,有效地提高转换速度。另外,可以在多个D/A转换器同时工作时,利用双缓冲模式实现多路D/A的同步输出。 三、实验内容 通过单片机I/O端口控制两路DAC0832实现数模转换,控制方式采用双缓冲控制方式。 1.阅读理解双缓冲控制电路图,分析双缓冲模式下DAC0832与单片机接口电路的设计及两次DA转换实验在控制电路上的异同。 2.设计程序,实现双缓冲模式下DA转换的同步输出。 首先,CPU分时向各路D/A转换器输入要转换的数字量并锁存在各自的输入锁存器中,然后,通过按键控制,同时对两个DAC0832锁存数据进行数模转换,同步产生三角波、正弦波模拟输出信号。 四、实验过程 1,实验原理图 2,实验源程序 #include sbit DAC1_WR1=P2^0; sbit DAC2_WR1=P2^1; sbit DAC_SW1=P2^2; sbit DAC_SW2=P2^3;

微 机 原 理 实 验 报 告 班级: 指导老师:学号: 姓名:

实验一两个多位十进制数相加的实验 一、实验目的 学习数据传送和算术运算指令的用法 熟悉在PC机上建立、汇编、链接、调试和运行汇编语言程序的过程。 二、实验内容 将两个多位十进制数相加,要求被加数和加数均以ASCII码形式各自顺序存放在以DATA1、DATA2为首的5个内存单元中(低位在前),结果送回DATA1处。 三、程序框图 图3-1

四、参考程序清单 DATA SEGMENT DATA1 DB 33H,39H,31H,37H,34H;被加数 DATA1END EQU $-1 DATA2 DB 34H,35H,30H,38H,32H;加数 DATA2END EQU $-1 SUM DB 5 DUP(?) DATA ENDS STACK SEGMENT STA DB 20 DUP(?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX

MOV SI,OFFSET DATA1END MOV DI,OFFSET DATA2END CALL ADDA MOV AX,4C00H INT 21H ADDA PROC NEAR MOV DX,SI MOV BP,DI MOV BX,05H AD1: SUB BYTE PTR [SI],30H SUB BYTE PTR [DI],30H DEC SI DEC DI DEC BX JNZ AD1 MOV SI,DX MOV DI,BP MOV CX,05H CLC AD2: MOV AL,[SI] MOV BL,[DI] ADC AL,BL

设计实验2:多功能函数信号发生器 一、摘要 任意波形发生器是不断发展的数字信号处理技术和大规模集成电路工艺孕育出来的一种新型测量仪器,能够满足人们对各种复杂信号或特殊信号的需求,代表了信号源的发展方向。可编程门阵列(FPGA)具有高集成度、高速度、可重构等特性。使用FPGA来开发数字电路,可以大大缩短设计时间,减小印制电路板的面积,提高系统的可靠性和灵活性。 此次实验我们采用DE0-CV开发板,实现函数信号发生器,根据按键选择生产正弦波信号、方波信号、三角信号。频率范围为10KHz~300KHz,频率稳定度≤10-4,频率最小不进10kHz。提供DAC0832,LM358。 二、正文 1.方案论证 基于实验要求,我们选择了老师提供的数模转换芯片DAC0832,运算放大器LM358以及DE0-CV开发板来实现函数信号发生器。 DAC0832是基于先进CMOS/Si-Cr技术的八位乘法数模转换器,它被设计用来与8080,8048,8085,Z80和其他的主流的微处理器进行直接交互。一个沉积硅铬R-2R 电阻梯形网络将参考电流进行分流同时为这个电路提供一个非常完美的温度期望的跟踪特性(0.05%的全温度范围过温最大线性误差)。该电路使用互补金属氧化物半导体电

流开关和控制逻辑来实现低功率消耗和较低的输出泄露电流误差。在一些特殊的电路系统中,一般会使用晶体管晶体管逻辑电路(TTL)提高逻辑输入电压电平的兼容性。 另外,双缓冲区的存在允许这些DAC数模转换器在保持一下个数字词的同时输出一个与当时的数字词对应的电压。DAC0830系列数模转换器是八位可兼容微处理器为核心的DAC数模转换器大家族的一员。 LM358是双运算放大器。内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。LM358的封装形式有塑封8引线双列直插式和贴片式。 本次实验选用的FPGA是Altera公司Cyclone系列FPGA芯片。Cyclone V系列器件延续了前几代Cyclone系列器件的成功,提供针对低成本应用的用户定制FPGA特性,支持常见的各种外部存储器接口和I/O协议,并且含有丰富的存储器和嵌入式乘法器,这些内嵌的存储器使我们在设计硬件电路时省去了外部存储器,节省了资源,而

微机原理实验报告 计算机网络的设计是一个要求动手能力很强的一门实践课程,在课程设计期间我努力将自己以前所学的理论知识向实践方面转化,尽量做到理论与实践相结合,在课程设计期间能够遵守纪律规章,不迟到、早退,认真完成老师布置的任务,同时也发现了自己的许多不足之处。 在课程设计过程中,我一共完成了11个实验,分别是1.制作直通电缆和交叉UTP、2.交换机Console口和Telnet配置、3.交换机端口和常规配置、4.虚拟局域网VLAN配置、5.路由器Console口Telnet 配置方法和接口配置、6.路由器静态路由配置、7单臂路由配置、8.动态路由协议配置、9.PPP协议配置、10路由器访问控制表(ACL)、11.网络地址转换(NAT)。 在制作直通电缆和交换UTP的实验中,我起初不能完全按照要求来剪切电缆,导致连接不通,后来在同学的帮助下,终于将实验完成。 在做到单臂路由配置和动态路由协议配置的实验,由于自身的基础知识掌握不牢,忘掉了一些理论知识,在重新翻阅课本和老师的指导之下,也成功的完成了试验。 从抽象的理论回到了丰富的实践创造,细致的了解了计算机网络连接的的全过程,认真学习了各种配置方法,并掌握了利用虚拟环境配置

的方法,我利用此次难得的机会,努力完成实验,严格要求自己,认真学习计算机网络的基础理论,学习网络电缆的制作等知识,利用空余时间认真学习一些课本内容以外的相关知识,掌握了一些基本的实践技能。 课程设计是培养我们综合运用所学知识,发现、提出、分析、解决问题的一个过程,是对我们所学知识及综合能力的一次考察。随着科学技术日新月异的不断发展,计算机网络也在不断的变化发展当中,这就要求我们用相应的知识来武装自己,夯实基础,为将来走向工作岗位,贡献社会做好充分的准备。

本科生实验报告 实验名称:数模转换器DAC0832双缓冲输出设计 一、实验目的 1)了解DAC0832芯片引脚、内部结构及工作原理; 2)掌握应用单片机I/O端口控制DAC0832实现数模转换的方法; 3)掌握DAC0832单缓冲和双缓冲控制技术及编程设计方法; 二、实验原理 DAC0832是8位分辨率的数模转换集成芯片,内部采用倒T形网络,电流型输出模式,电流输出稳定时间为1us,采用单电源供电。 片内部由一个8位输入锁存器、一个8位DAC寄存器和一个8位D/A转换器构成,内部具有双缓冲结构,可以实现单缓冲、双缓冲数字输入。 双缓冲同步控制方式: 针对多个模拟量需要同时输出的控制系统,可以采用双缓冲同步控制方式。D/A转换数据的输入锁存和D/A转换输出分两步完成。首先,CPU分时向各路D/A转换器输入要转换的数字量并锁存在各自的输入锁存器中,然后,CPU同时对所有D/A转换器发出输入所存数据打入DAC寄存器的控制信号,即可实现

多通道的同步模拟量数据输出。 应用双缓冲方式,可以在输出模拟信号的同时采集下一个数字量,有效地提高转换速度。另外,可以在多个D/A转换器同时工作时,利用双缓冲模式实现多路D/A的同步输出。 三、实验内容 通过单片机I/O端口控制两路DAC0832实现数模转换,控制方式采用双缓冲控制方式。 1.阅读理解双缓冲控制电路图,分析双缓冲模式下DAC0832与单片机接口电路的设计及两次DA转换实验在控制电路上的异同。 2.设计程序,实现双缓冲模式下DA转换的同步输出。 首先,CPU分时向各路D/A转换器输入要转换的数字量并锁存在各自的输入锁存器中,然后,通过按键控制,同时对两个DAC0832锁存数据进行数模转换,同步产生三角波、正弦波模拟输出信号。 四、实验过程 1,实验原理图 2,实验源程序 #include sbit DAC1_WR1=P2^0; sbit DAC2_WR1=P2^1; sbit DAC_SW1=P2^2; sbit DAC_SW2=P2^3;

昆明理工大学(MultiSim)实验报告 实验名称:模拟电路和数字电路 实验时间:2014 年9 月11 日 专业:指导教师: 姓名: 学号:成绩:教师签名: 一、实验目的: 了解ADC和DAC的作用,连接方法等。学会让信号实现可视化,把可视化的信号转换为模拟信号。 二、实验内容: 模数转换

数模转换 数模模数转换

电压检测 三、实验步骤: 1.连接电路 2.调试电路 3.调节滑动变阻器,观察信号不同的变化。 出师表 两汉:诸葛亮 先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。 宫中府中,俱为一体;陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。 侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。 将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。 亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也。 臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。

一、填空题…………………………………………………………………( 25 分) 1.十进制数48对应的二进制数为、十六进制数为、非压缩型BCD码为,它是字符的ASCII码。 2.已知8BH为某有符号字节数据的补码,该有符号数对应的十进制数是,该有符号数存在计算机中的二进数形式为。 3.设有如下变量定义伪指令: DATA SEGMENT X DB ? DATA ENDS 伪指令中的?表示含义,X的偏移地址为。若X存储有符号数时,其取值范围是。若要在该数据段中继续增加变量定义,则该数据段中最多共可存储字节数据。若执行MOV X,AL指令,则目的操作数的寻址方式为,数据传送时占用个总线周期,数据沿着16位数据总线中的传送,指令执行时,8086的M/IO引脚输出电平,RD引脚输出电平,WR引脚输出电平。 4.设有如下指令序列: 1234H:190H NEXT1:…… MOV BL,0FFH XOR AL,AL CMP AL,BL 1234H:200H JL NEXT1

1234H:202H NEXT2:…… 当指令CMP AL,BL执行完时,AL寄存器的值为,标志寄存器FR的OF位为,SF位为,ZF位为,CF位为。 指令JL NEXT1的代码为字节代码,指令代码的第2字节为,NEXT1的逻辑地址是,当JL NEXT1指令执行完后,下一条应执行的指令的物理地址是。 5.设8253的0#计数器的CLK0输入方波频率为2MHz,若将其作为定时用,其单个计数器的最长定时时间为,这时计数初值应为,应将它设置为(二进制还是BCD码计数器)。将0#计数器与1#计数器串接使用可延长定时时间,这时应将0#计数器的引脚与1#计数器的引脚连接起来,最长的定时时间可延长倍。 6.在可屏蔽中断、非屏蔽中断、断点中断和单步中断之中,属于CPU外部信号触发的中断是,由上升沿触发的中断是,优先级最高的是,需要由8259A提供中断类型码的是。一片8259A最多可接个外设的中断请求信号,8259A工作在优先级完全嵌套方式时,其引脚所接外设具有最高中断优先级,8259A占用个端口地址。2片8259A级联,可管理个中断源。 7.可用于异步串行通讯的接口芯片的型号为,发送与接收可同时进行的数据传送方式称为,串行发送数据的引脚名称是,接收数据的引脚名称是。异步串行通信的数据以(二进制位还是字符)为单位,无数据传送时线路处于(高电平还是低电平),表示数据开始传送时的位称为,

串行数模转换器TLC5615引脚,特点,功能及应用电路 1 TLC5615串行数模转换器简介 TLC5615为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC寄存器复位至全零。TLC5615性能价格比高,目前在国内市场很方便购买。 1.1 TLC5615的特点 (1)10位CMOS电压输出; (2)5V单电源供电; (3)与CPU三线串行接口; (4)最大输出电压可达基准电压的二倍; (5)输出电压具有和基准电压相同极性; (6)建立时间12 5μs; (7)内部上电复位; (8)低功耗,最大仅1 75mW。 1.2 TLC5615引脚说明 TLC5615有小型和塑料DIP封装,DIP封装的TLC5615芯片引脚排列如图1所示。 图1TLC5615引脚排列图 引脚功能说明如下: ——脚1DIN:串行数据输入端; ——脚2SCLK:串行时钟输入端; ——脚3CS:芯片选用通端,低电平有效;

——脚4DOUT:用于级联时的串行数据输出端; ——脚5AGND:模拟地; ——脚6REFIN:基准电压输入端; 1.3 TLC5615的时序分析 TLC5615的时序如图2所示。 图2TLC5615的时序图 由时序图可以看出,当片选CS为低电平时,输入数据DIN由时钟SCLK同步输入或输出,而且最高有效位在前,低有效位在后。输入时SCLK的上升沿把串行输入数据DIN移入内部的16位移位寄存器,SCLK的下降沿输出串行数据DOUT,片选CS的上升沿把数据传送至DAC寄存器。 当片选CS为高电平时,串行输入数据DIN不能由时钟同步送入移位寄存器;输出数据DOUT 保持最近的数值不变而不进入高阻状态。由此要想串行输入数据和输出数据必须满足两个条件:第一时钟SCLK的有效跳变;第二片选CS为低电平。这里,为了使时钟的内部馈通最小,当片选CS为高电平时,输入时钟SCLK应当为低电平。 串行数模转换器TLC5615的使用有两种方式,即级联方式和非级联方式。如不使用级联方式,DIN只需输入12位数据。DIN输入的12位数据中,前10位为TLC5615输入的D/A 转换数据,且输入时高位在前,低位在后,后两位必须写入数值为零的低于LSB的位,因为TLC5615的DAC输入锁存器为12位宽。如果使用TL5615的级联功能,来自DOUT的数据需要输入16位时钟下降沿,因此完成一次数据输入需要16个时钟周期,输入的数据也应为16位。输入的数据中,前4位为高虚拟位,中间10位为D/A转换数据,最后2位为低于LSB的位即零。 2 TLC5615应用电路实例 图3给出了在开关电源中,TLC5615和AT89C51单片机的接口电路。在电路中,AT89C51单片机的P3.0-P3.2分别控制TLC5615的片选CS,串行时钟输入SCLK和串行数据输入DIN。电路的连接采用非级联方式。根据开关电源的设计要求,可变基准电压范围为0V~4V。因此,TLC5615的基准电压选为2.048V,其最大模拟输出电压为4.096V。可满足开关电源的要求。

一、实验目的和要求 1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图。 图1、电路仿真图

四、实验程序流程框图和程序清单。 1、 查询法: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: MOV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码 送位选信号延时1ms 熄灭第四位数码管 延时1ms 返回

微机原理实验报告实验三GPIO口的控制

一、实验目的 1.了解GPIO口有哪些工作模式,这些模式分别代表着的含义。 2.掌握ARM7TDMI的C语言编程的格式和用法,在原有的程序的基础上修改功能。 3.完成GPIO口控制实验。 二、实验设备 PC 计算机,Windows XP 操作系统和IAR 开发环境。 三、实验内容 1、实现开发板上三个LED灯的流水闪烁。 2、实现开发板上按键控制三个对应LED灯的亮灭。 四、实验步骤 1、运行IAR Embedded Workbench IDE并打开LED文件夹下的Project.eww的IAR工程。 2. 在左侧工程文件栏中最上方的Project-Debug处右键,对工程进行设置。 3. 在弹出相应的设置窗口中,进行如下选择。 ①本实验是在基于STR710的环境下实现的,因此在General Options里应选择相应的设备名称②本实验是基于ARM7的STR710的开发板,程序编译完成后需要将生成的文件通过J-LINK下载去进一步调试,因此,Debugger-Setup处的Driver应该选择J-Link,并在Download选项卡进行配置。 4. 完成以上设置之后,就开始进行程序的编译并下载,首先仍在Project-Debug处右键,选择Rebuild All。 5. 编译完成后,依次点击Make和Download and debug键,将程序下载到开发板上。 6. 点击调试工具栏中的Go即可开始连续运行程序,在程序中间可设置断点或者使用观察窗口对变量进行观察。设置断点并点击连续运行,程序运行到断点处之后,将temp1变量

实验报告十 实验名称:ADC0832数模转换的显示 目的:ADC0832是8脚双列直插式双通道A/D转换器,能分别对两路模拟信号实现模—数转换,可以用在单端输入方式和差分方式下工作。ADC0832采用串行通信方式,通过DI 数据输入端进行通道选择、数据采集及数据传送。8位的分辨率(最高分辨可达256级),可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。 ADC0832的工作原理: 正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时使用并与单片机的接口是双向的,所以在I/O口资源紧张时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟(CLK)输入端输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第一个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第二、三个脉冲下沉之前DI端应输入两位数据用于选择通道功能。 通道地址通道 工作方式说明 SGL/DIF ODD/SIGN 0 1

0 0 + - 差分方式 0 1 - + 1 0 + 单端输入方式 1 1 + 表1:通道地址设置表 如表1所示,当此两位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当两位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当两位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第三个脉冲的下降之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下降沿开始由DO端输出转换数据最高位Data7,随后每一个脉冲的下降沿DO端输出下一位数据。直到第11个脉冲时发出最低位数据Data0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下降沿输出Data0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。时序说明请参照图4。 作为单通道模拟信号输入时ADC0832的输入电压是0—5V且8位分辨率时的电压精度为19.53mV,即(5/256)V。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的

实验报告 课程名称微机原理与接口技术 实验项目实验五 数/模转换器和模/数转换器实验实验仪器 TPC-USB通用微机接口实验系统 系别计算机系 专业网络工程 班级/学号 学生 _ 实验日期 成绩_______________________ 指导教师王欣

实验五数/模转换器和模/数转换器实验 一、实验目的 1. 了解数/模转换器的基本原理,掌握DAC0832芯片的使用方法。 2. 了解模/数转换器的基本原理,掌握ADC0809的使用方法。 二.实验设备 1.PC微机系统一套 2.TPC-USB通用微机接口实验系统一套 三.实验要求 1.实验前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。 2.熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)使用方法。在程序调试过程中,有意识地了解并掌握TPC-USB通用微机接口实验系统的软硬件环境及使用,掌握程序的调试及运行的方法技巧。 3.实验前仔细阅读理解教材相关章节的相关容,实验时必须携带教材及实验讲义。 四.实验容及步骤 (一)数/模转换器实验 1.实验电路原理如图1,DAC0832采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub),编程产生以下锯齿波(从Ua和Ub输出,用示波器观察) 图1 实验连接参考电路图之一 编程提示: 1. 8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系为:

(UREF表示参考电压,N表示数数据),这里的参考电压为PC机的+5V电源。 2. 产生锯齿波只须将输出到DAC0832的数据由0循环递增。 3. 参考流程图(见图2): 图2 实验参考流程图之一 (二)模/数转换器 1. 实验电路原理图如图3。将实验(一)的DAC的输出Ua,送入ADC0809通道1(IN1)。 图3 实验连接参考电路图之二 2. 编程采集IN1输入的电压,在屏幕上显示出转换后的数据(用16进制数)。编程提示: 1. ADC0809的IN0口地址为298H,IN1口地址为299H。 2. IN0单极性输入电压与转换后数字的关系为:

实验一汇编语言上机实验 实验目的: 1、学习及掌握汇编语言源程序的书写格式和要求。 2、学会使用EDIT、MASM、LINK、DEBUG等软件工具。 3、熟练掌握在计算机上编辑、汇编、连接及运行汇编语言程序的方法。 实验仪器: 1、微型计算机一台(带DOS或WINDOWS操作系统) 2、MASM开发套件 实验原理: 1、调试程序DEBUG能进行汇编程序调试。 2、DOS功能调用 为了使用方便,将DOS层功能模块所提供的88个子程序统一顺序编号从00H到57H。DOS系统功能调用方式如: (1)将子程序编号送入AH寄存器; (2)置入口参数; (3)执行中断指令:INT 21H。 实验步骤: 1、通过DEBUG编写、运行汇编程序 (1)DEBUG程序的启动 在DOS操作系统状态下,可直接调入DEBUG程序,键入命令格式如下: A或C>DEBUG[d:][path][filename[.exe] 在启动DEBUG时,如果输入了文件名(filename),则DEBUG程序把指定文件装入内存。 (1)(2)键入程序并汇编 用DEBUG的A命令送入程序(下划线部分为程序员输入部分): E:\huibian>debug↙ -a↙ 1387:0100 mov al,32↙ 1387:0102 mov dl,34↙ 1387:0104 add dl,al↙ 1387:0106 sub dl,30↙ 1387:0109 mov ah,2↙ 1387:010B int 21↙ 1387:010D int 20↙ 1387:010F↙ - (要求学生截图) 当键入A命令时,自动产生所送内存单元的段地址和偏移地址。通过偏移地址可以看到每条指令占有内存单元多少个字节,当程序段键完后,只键入回车键,就退出汇编状态,回到DEBUG状态‘—’。其中送入数据为十六进制数,不需要键入H。 (2)将汇编程序段存入磁盘,其中‘e1’为文件名。 -n e1↙

目录 第1章微型计算机概述 (2) 第2章16位和32位微处理器 (2) 第3章Pentium的指令系统 (3) 第4章存储器、存储管理和高速缓存技术 (4) 第5章微型计算机和外设的数据传输 (5) 第6章串并行通信和接口技术 (5) 第7章中断控制器 (8) 第8章DMA控制器 (10) 第9章计数器、定时器和多功能接口芯片 (12) 第10章模数和数模转换 (14)

第1章微型计算机概述 1.CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能? 第2章16位和32位微处理器 1.8086从功能上分为哪几个部分? 2.8086的总线接口部件由哪几部分组成? 3.8086标志寄存器中的内容是什么? 4.8086加电后执行的第一条指令的内容及地址是什么? 5.8086系统中,设段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地 址是多少?指向这一物理地址的CS和IP值是唯一的吗? 6.8086的执行部件有什么功能?由哪几部分组成? 7.在总线周期的T1、T2、T3、T4状态,8086分别执行什么动作?什么情况下需要插入等 待状态TW?TW在哪儿插入?怎样插入? 8.8086是怎样解决地址线和数据线的复用问题的?ALE信号何时处于有效电平? 9.BHE#信号和A0信号是通过怎样的组合解决存储器和端口的读写操作的?这种组合决定 了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分?怎样区分?10.中断向量指什么?放在哪里?对应于8086的1CH的中断向量存放在哪里?如果1CH的 中断处理子程序从5110H:2030H开始,则中断向量应该怎样存放? 11.一个可屏蔽中断响应时,CPU要执行哪些读写周期?对一个软件中断又如何? 12.什么叫超标量流水线技术?Pentium有哪两条流水线?两条流水线有什么区别? 13.分支预测技术是基于怎样的规律而实施的?叙述分支预测技术的实现原理。 14.Pentium有哪三种工作方式?如何在方式间转换? 15.Pentium的保护方式主要保护什么? 16.Pentium的地址线是双向的吗? 17.实地址方式和虚拟8086方式都是类似于8086的方式,从使用场合和工作特点上看, 这两种方式有什么主要差别? 18.什么叫段基址?它有多少位?什么叫段选择子?段选择子包含哪些内容? 19.Pentium的段描述符寄存器中包含哪些内容? 20.Pentium的逻辑地址、线性地址、物理地址分别指什么?它们的寻址能力分别为多少? 21.Pentium采用哪几种描述符表?这些表的设置带来什么优点? 22.Pentium的主要信号分为哪几类? 23.Pentium的寄存器分为哪几类? 24.Pentium的段寄存器中存储的是什么? 25.Pentium有哪几种总线状态?分别有什么特点? 26.什么是突发式数据传输?结合主教材中图2.37说明突发式读写周期的时序关系。 27.Pentium的中断机制和16位CPU有什么差别? 28.8086与Pentium最多支持几种中断类型? 29.Pentium的异常指哪些情况? 30.Pentium的保护机制的思想是怎样的?

相关文档
相关文档 最新文档