文档库 最新最全的文档下载
当前位置:文档库 › ADDA转换实验

ADDA转换实验

ADDA转换实验
ADDA转换实验

A/D转换实验

实验要求:利用ADC0809做A/D转换器,将模拟量转换成二进制数字量,用延时查询方式读入A/D转换结果,用8255的PA口输出到发光二极管显示。

实验设备:万用表一块

Wave6000计算机实验培训系统一套

PC计算机一台

实验内容:实验接线如下图所示

参考程序:

mode equ 082h

PA equ 09000h

CTL equ 09003h

CS0809 equ 08000h

code segment

assume cs:code

start proc near

mov al, mode

mov dx, CTL

out dx, al ;8255初始化

again:

mov al, 0

mov dx, CS0809

out dx, al ; 起动A/D

mov cx, 40h

loop $ ; 延时> 100us

in al, dx ; 读入结果

mov dx, PA ;8255A口输出

out dx, al

jmp again ;重复

code ends

end start

实验步骤:

?按图接线,对源程序进行编译,执行程序;

?依次调节滑动变阻器使输入模拟量从0--- +5V变化,观察对应输出的数字量,并填到下表中;

?分析误差产生的原因。

D/A转换实验

实验要求:利用DAC0832生成锯齿波。

实验设备:示波器一台

Wave6000 计算机实验培训系统一套

PC计算机一台

实验内容:实验接线如下图所示:

示波器输出波形???

参考程序:

CS0832 equ 0a000h

code segment

assume cs:code

start proc near

mov dx,cs0832

again: mov al, 0

up: out dx, al

inc al

cmp al,80h

jbe up ;小于等于80h,跳

jmp again

jmp $

start endp

code ends

end start

实验步骤:

1、按图接线,对源程序进行编译;

2、运行程序,调节示波器,得到锯齿波形;

3、思考如何产生倒锯齿波、三角波和方波。

数电实验一:倒计时定时器、BCD代码转换器(实验报告)

数电实验1实验报告 项目一:倒计时定时器 1、设计修改方案 (1)加入分频网络 分频采用74290芯片10分频级联,由于试验箱自身晶振提供50MHZ的时钟信号,所以需要利用分频分出500HZ用于扫描网络,分出1HZ用于计时器 (2) 首先用74244 过7446 接入8位数码管的a至g

(3)实现60秒以内任意输入 在十位和各位的74192计数器的指数端连接4个拨码开关,这样就可以随意输入倒计时的初始数值 2、实验数据及仿真分析 (1)完整电路图(附后) (2)仿真波形 不接数码管译码器的数字结果:初始值为78 可以看到十位数字从设定的7逐次递减为6、5、4…..,而各位在十位减1的周期内由9、8、7…逐次减为0。符合倒计时定时器的要求。且在计数减为00时,停止计时,指示灯由低电平转为高电平。 接译码器后数码管段选模拟波形:初始值78

根据7段数码管的亮灭规律也可以看出,个位十位轮流显示,十位1、2、3号管亮显示为数字“7”,各位7段数码管全亮显示数字“8”,随后十位“7”在一段时间内不变,各位从数字“7”显示到数字“0(除7以外其他段数码管亮)”。说明两位数码管显示正确。 (3)硬件测试 管脚分配如下: 由于拨码开关一共8个,置数开关S1,暂停开关S2占去两个,就只剩下6个拨码开关用来控制设置初始值。由于要求60S以内,所以十位最高位和次高位默认接地,这样十位最多只能到6,各位4位个再用4个拨码开关进行控制,既可以完成60S以内任意数字设为初始计数值。另外将计数停止口led1接13管脚,若计数结束,则红色LED灯全亮。 硬件测试: 将电路按上述管脚分配拷入试验箱,拨码开关全关闭时,最左边两位数码管亮并显示两个数字“0”。十位两位拨码开关拨为“10”,十位显示为4,各位的4位拨码开关拨为“0101”,各位显示数字“5”,此时计数器显示初始值为“45”,将S1分配的置数开关(右数第一个)由0拨为1,计时器从45变为44、43、42、41、40、39、38…..倒计时正常,将S2分配的暂停开关(右数第二个)由0拨为1,计时器停止到24不动,拨回后则继续由24开始倒计时。当倒计时计数器最终由6、5、4…变为0时,数码管两位00保持不变,计时停止,同时彩灯矩阵中所有红色LED亮起,提示倒计时结束。此时将置数开关拨回关(即0状态),从新用拨码开关设定新的初始值,数码管则显示新的初始值(27),开始计时后同样从27开始记到0为止,红色LED灯亮,停止计数。 由此可以验证,本项目“倒计时定时器”严格满足题目要求,功能正确~ 3、故障分析及解决方案 本项目在设计和测试过程中经理到了3次大的改动,正如前述的修改方案,其中后 次改动分别由于2个比较重要的问题。由于在设计时并没有注意是数码管的共阳极问题,所有各位和十位分别接入两个7448之后引出了14根数码管输出,而实际共阳极数码管只有8段输入。但这个故障较容易解决,换用PPT上老师提供的数码管扫描电路后,问题就解决了。第二个大的故障在于任意设置初始值时,置入的数跟实际拨码开关的表示不相同,后经过检查,是因为在分配管脚的时候几个拨码开关的管脚接串了,中间少接了一个。另外,还有一个小插曲,就是我所用的试验箱,最右边两个数码管貌似坏了,引用后也亮,开始还以为电路不对,之后试了试发现用最左边两个数码管就可以了~

游程编码实验报告

重庆交通大学信息科学与工程学院综合性设计性实验报告 专业:通信工程专业11级 学号:631106040222 姓名:徐国健 实验所属课程:移动通信原理与应用 实验室(中心):信息技术软件实验室 指导教师:李益才 2014年5月

一、题目 二值图像的游程编码及解码 二、仿真要求 对一幅图像进行编码压缩,然后解码恢复图像。 三、仿真方案详细设计 实验过程分为四步:分别是读入一副图象,将它转换成为二进制灰度图像,然后对其进行游程编码和压缩,最后恢复图象(只能恢复为二值图像)。 1、二值转换 所谓二值图像,就是指图像上的所有像素点的灰度值只用两种可能,不为“0”就为“1”,也就是整个图像呈现出明显的黑白效果。 2、游程编码原理 游程编码是一种无损压缩编码,对于二值图有效。游程编码的基本原理是:用一个符号值或串长代替具有相同值的连续符号,使符号长度少于原始数据的长度。据进行编码时,沿一定方向排列的具有相同灰度值的像素可看成是连续符号,用字串代替这些连续符号,可大幅度减少数据量。游程编码分为定长行程编码和不定长行程编码两种类型。游程编码是连续精确的编码,在传输过程中,如果其中一位符号发生错误,即可影响整个编码序列,使行程编码无法还原回原始数据。 3、游程编码算法 一般游程编码有两种算法,一种是使用1的起始位置和1的游程长度,另一种是只使用游程长度,如果第一个编码值为0,则表示游程长度编码是从0像素的长度开始。这次实验采

用的是前一种算法。两种方法各有优缺点:前一种存储比第二种困难,因此编程也比较复杂。而后一种需要知道第一个像素值,故压缩编码算法中需给出所读出的图的第一个像素值。 压缩流程图: 解压流程图:

实验三 代码转换

电工电子实验中心 实验报告 课程名称:计算机硬件技术基础实验名称:代码转换 姓名:学号: 评定成绩:审阅教师:实验时间:2017.05.02 南京航空航天大学

— 一、实验目的要求 1) 掌握 ASCII 码转换的基本方法。 2) 学会 INT21 功能调用, 掌握人机对话的设计方法。 3) 进一歩熟悉 Tddebug 调试环境和 Turbo Debugger 的使用。 二、实验任务 从键盘输入小写字母(最多 20 个),以“.”号作为结束标志, 将其变换成相应的大写字母输岀在屏幕上。 三、实验代码 CRLF MACRO MOV DL, 0DH MOV AH, 02H INT 21H MOV DL, 0AH ;宏定义回车,换行 MOV AH, 02H INT 21H ENDM DATA SEGMENT MES1 DB 'PLEASE INPUT THE SMALL LETTER,ENDED WITH ".":$' MES2 DB 'THE CAPTAL LETTER IS:$' SMALL DB 50 ;?预留键盘输入缓冲区长度为50个 DB 0 ;?预留实际键盘输入字符数的个数 DB 50 DUP(0) CAPITAL DB 50 DUP('$') ;?预留大写字母缓冲区长度为50个 DATA ENDS STACK1 SEGMENT STACK DB 100 DUP (0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START PROC FAR PUSH DS MOV AX, 0 PUSH AX

二进制码转换为BCD码实验报告

实验二二进制码转换为BCD码 一、实验目的 1、掌握数码转换基本方法,加深对数码的理解。 2、用于十进制BCD码显示。 二、实验内容 将AX的内容转换为十进制BCD码。 三、实验程序框图 四、实验步骤 脱机模式: (1)在P、态,按SCAL键,输入2CE0,按EXEC键。 (2)复位RST键,由于AX中给定数为0FFFF,查瞧BCD码结果保留在4100H~4104H单元中,故其值应为06、05、05、03、05。 联机模式: (1)在PC机与实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm文件夹,点击S2、ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (2)复位“系统复位”键,由于AX中给定数为0FFFF,查瞧BCD码结果保留在4100H~4104H

单元中,故其值应为06、05、05、03、05。 注:操作过程参照“实验一二进制多位加法运算”。 五、实验程序清单 X:\DICE-8086K3微机原理与接口实验箱CDROM\CODE\86kasm\S2、ASM ;将AX拆为5个BCD码,并存入Result开始的5个单元 DATA SEGMENT AT 0 ;S2、ASM,BIN-->BCD ORG 4000H RESULT DB 5 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA ORG 2CE0H START PROC NEAR MOV AX, DATA MOV DS, AX MOV DX,0000H MOV AX, 65535 MOV CX, 10000 DIV CX MOV RESULT, AL ; 除以 10000, 得WAN位数 MOV AX,DX MOV DX,0000H MOV CX, 1000 DIV CX MOV RESULT+1, AL ; 除以 1000, 得QIAN位数 MOV AX,DX MOV DX,0000H MOV CX, 100 DIV CX MOV RESULT+2, AL ; 除以 100, 得BAI位数 MOV AX,DX MOV DX,0000H MOV CX, 10 DIV CX MOV RESULT+3, AL ; 除以 10, 得SHI位数 MOV RESULT+4, DL ; 得GE位数 JMP $ CODE ENDS END START

实验二二进制码转换为bcd码实验报告终审稿)

实验二二进制码转换为 B C D码实验报告 公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

实验二二进制码转换为BCD码 一、实验目的 1、掌握数码转换基本方法,加深对数码的理解。 2、用于十进制BCD码显示。 二、实验内容 将AX的内容转换为十进制BCD码。 三、实验程序框图 四、实验步骤 脱机模式:

(1)在P.态,按SCAL键,输入2CE0,按EXEC键。 (2)复位RST键,由于AX中给定数为0FFFF,查看BCD码结果保留在4100H~4104H单元中,故其值应为06、05、05、03、05。 联机模式: (1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm文件夹,点击文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (2)复位“系统复位”键,由于AX中给定数为0FFFF,查看BCD码结果保留在4100H~4104H单元中,故其值应为06、05、05、03、05。 注:操作过程参照“实验一二进制多位加法运算”。 五、实验程序清单 X:\DICE-8086K3微机原理与接口实验箱CDROM\CODE\86kasm\ ;将AX拆为5个BCD码,并存入Result开始的5个单元 DATA SEGMENT AT 0 ;,BIN-->BCD ORG 4000H RESULT DB 5 DUP() DATA ENDS CODE SEGMENT

AMI码型变换实验报告

实验一AMI码型变换实验 一、实验目的 1、了解几种常用的数字基带信号的特征和作用。 2、掌握AMI码的编译规则。 3、了解滤波法位同步在的码变换过程中的作用。 二、实验器材 1、主控&信号源、2号、8号、13号模块各一块 2、双踪示波器一台 3、连接线若干 三、实验原理 1、AMI编译码实验原理框图 AMI编译码实验原理框图 2、实验框图说明

AMI编码规则是遇到0输出0,遇到1则交替输出+1和-1。实验框图中编码过程是将信号源经程序处理后,得到AMI-A1和AMI-B1两路信号,再通过电平转换电路进行变换,从而得到AMI编码波形。 AMI译码只需将所有的±1变为1,0变为0即可。实验框图中译码过程是将AMI码信号送入到电平逆变换电路,再通过译码处理,得到原始码元。 四、实验步骤 实验项目一AMI编译码(256KHz归零码实验) 概述:本项目通过选择不同的数字信源,分别观测编码输入及时钟,译码输出及时钟,观察编译码延时以及验证AMI编译码规则。 1、关电,按表格所示进行连线。 2、开电,设置主控菜单,选择【主菜单】→【通信原理】→【AMI编译码】→【256K 归零码实验】。将模块13的开关S3分频设置拨为0011,即提取512K同步时钟。 3、此时系统初始状态为:编码输入信号为256K的PN序列。 (1)用示波器分别观测编码输入的数据TH3和编码输出的数据TH11(AMI输出),观察记录波形,有数字示波器的可以观测编码输出信号频谱,验证AMI编码规则。

注:观察时注意码元的对应位置。 (2)用示波器对比观测编码输入的数据和译码输出的数据,观察记录AMI译码波形与输入信号波形。 思考:译码过后的信号波形与输入信号波形相比延时多少? 编译码延时小于3个码元宽度 实验项目二AMI编译码(256KHz非归零码实验)

模数转换实验报告

单片机控制ADC0809的模数转换与显示 一、实验内容和要求 本题目对单片机控制ADC0809(Proteus的元件库中没有ADC0809,用ADC0808来代替)的通道3的电压模拟量进行模数转换,转换为数字量后,显示在3位数码管上。调节图中的电位器,可观察到数码管显示的电压值在变化。 二、实验主要仪器设备和材料 计算机一台 三、实验方法、步骤及结果测试 所有操作都在ISIS中进行,步骤如下。 (一)、Proteus电路设计 1.从Proteus库中选取元器件 (1)AT89C51:单片机; (2)RES:电阻; (3)7SEG-MAPX4-CC-BLUE (4)CAP、CAP-ELEC:电容、电解电容 (5)CRYSTAL:晶振; (6)BUTTON:开关 (7)BUTTON (8)ADC0808 (9)POT-HG (10)LED-YELLOW (11)MAX7219 (12)RESONATOR 2.放置元器件、放置电源和地、连线、元器件属性设置、电气检测 所有操作都在ISIS中进行 完成的电路图设计如图

(二)、源程序设计 1、流程图 2、通过Keil u Vision4建立工程,再建立源程序文件

源程序如下 主机程序: LED_0 EQU 30H LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H CLOCK BIT P2.4 ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 START: MOV LED_0, #00H MOV P2,#0FFH MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE MOV TMOD,#02H ;设置定时器工作方式2 MOV TH0,#245 MOV TL0,#00H MOV IE,#82H ;开总中断和定时器0中断 SETB TR0 ;启动定时器0 WAIT: CLR ST SETB ST CLR ST JNB EOC,$ ;判断A/D转换结束否 SETB OE ;允许数据量输出 MOV ADC,P3 CLR OE MOV A,ADC MOV B,#51 DIV AB MOV LED_2, A MOV A,B MOV B,#5 DIV AB MOV LED_1, A MOV LED_0, B LCALL DISP ;跳至显示子程序 SJMP WAIT

二进制到BCD转换实验报告

二进制到BCD转换实验报告 班级姓名学号日期 一、实验目的:1.掌握简单的数值转换算法 2.基本了解数值的各种表达方法 二、实验要求: 将给定的一个二进制数,转换成十进制(BCD)码。 三、实验内容:1、给累加器赋值,如#123 2、将累加器的内容拆分为三个BCD码,并存入Result开始的三 个单元。 四、程序及运行结果截图 DATA SEGMENT RESULT_1 DB 1 RESULT_2 DB 1 RESULT_3 DB 1 DATA ENDS STACK SEGMENT ATACK STA DB 64 DUP(0) STACK_TOP DB 0 STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX LEA SP,ATACK_TOP MOV AX,123H MOV CL,100 DIV CL MOV RESULT_1,AL MOV CL,8 SHR AX,CL MOV CL,10 DIV CL MOV RESULT_2,AL MOV RESULT_3,AH ADD RESULT_1,30H

ADD RESULT_2,30H ADD RESULT_3,30H MOV DL, RESULT_1 MOV AH,02H INT 21H MOV AX,4C00H INT 21H CODE ENDS END START 五、实验过程中遇到的主要问题 ; 将A 拆为三个BCD 码, 并存入Result 开始的叁个单元Result equ 20h org 0 ljmp Start BinToBCD: mov b, #100 div ab mov Result, a ; 除以100, 得百位数 mov a, b mov b, #10 div ab mov Result+1, a ; 余数除以10, 得十位数 mov Result+2, b ; 余数为个位数 ret Start: mov sp, #40h mov a, #123 call BinToBCD ljmp $ end

(实验二)二进制码转换为BCD码实验报告

实验二二进制码转换为 BCD 码 一、实验目的 1、掌握数码转换基本方法,加深对数码的理解。 2、用于十进制BCD 码显示。 二、实验内容 将AX 的内容转换为十进制BCD 码。三、 实验程序框图 四、实验步骤 脱机模式: (1)在 P.态,按 SCAL 键,输入 2CE0,按 EXEC 键。 (2)复位 RST 键,由于 AX 中给定数为 0FFFF,查看 BCD 码结果保留在 4100H ~ 4104H 单元中,故其值应为06、 05、05、 03、05。 联机模式: ( 1)在 PC 机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件” 或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm 文件夹,点击S2.ASM 文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、 装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。

( 2)复位“系统复位” 键,由于 AX 中给定数为 0FFFF,查看 BCD 码结果保留在 4100H ~4104H 单元中,故其值应为 06、 05、 05、 03、 05。 注:操作过程参照“实验一二进制多位加法运算”。 五、实验程序清单 X:\DICE-8086K3微机原理与接口实验箱CDROM\CODE\86kasm\S2.ASM ;将 AX 拆为 5 个 BCD码 , 并存入 Result 开始的 5 个单元 DATA SEGMENT AT 0;S2.ASM,BIN-->BCD ORG 4000H RESULT DB 5 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA ORG 2CE0H START PROC NEAR MOV AX, DATA MOV DS, AX MOV DX,0000H MOV AX, 65535 MOV CX, 10000 DIV CX MOV RESULT, AL;除以 10000,得 WAN位数 MOV AX,DX MOV DX,0000H MOV CX, 1000 DIV CX MOV RESULT+1, AL;除以 1000,得 QIAN位数 MOV AX,DX MOV DX,0000H MOV CX, 100 DIV CX MOV RESULT+2, AL;除以 100,得 BAI 位数 MOV AX,DX MOV DX,0000H MOV CX, 10 DIV CX MOV RESULT+3, AL;除以 10,得 SHI 位数 MOV RESULT+4, DL;得 GE位数 JMP $ CODE ENDS END START

数制转换(栈应用)实验报告

实验报告 1.实验题目 运用栈进行数制转换。 2.需求分析 用C编写完成:对于输入的任意一个非负十进制整数,输出与其等值的其他进制数。 3.概要设计 由于运行过程是从低位到高位顺序产生进制数的各个数位,而输出应从高位到底位进行,这和计算过程相反,恰好可以运用栈把进制数的各位顺序入栈,而按出栈序列输出,即为对应转换的进制数。 4.详细设计 1)先对栈定义: Typedef struct{ SElemType *base; SElemType *top; int stacksize; }Stack; 2)构造一个栈: int InitStack(Stack &S)//初始化栈 { S.base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType)); if(!S.base) exit (ERROR); //存储分配失败 S.top=S.base; S.stacksize=STACK_INIT_SIZE; return OK; } 3)分别进行入栈和出栈操作,再进行进制转换。 5.调试分析

#include #include #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 #define OK 1 #define ERROR 0 //栈定义 typedef struct { int *base; int *top; int stacksize; }Stack; int InitStack(Stack &S)//初始化栈 { S.base=(int *)malloc(STACK_INIT_SIZE * sizeof(int)); if(!S.base) exit (ERROR); //存储分配失败 S.top=S.base; S.stacksize=STACK_INIT_SIZE; return OK; } int push(Stack &S,int e)//入栈 { if(S.top-S.base>=S.stacksize) //栈满

微机原理 数码转换实验报告

实验九数码转换 一、实验目的 1、掌握计算机常用数据编码之间的相互转换方法。 2、进一步熟悉DEBUG软件的使用方法。 二、实验内容 1、ACSII码转换为非压缩型BCD码 2、BCD码转换为二进制码 3、十六进制数转换为ASCII码 三、实验 1、ACSII码转换为非压缩型BCD码 DATA SEGMENT PARA 'DATA' DATA1 DB 8 DUP(?) DATA2 DB 8 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DA TA START: MOV AX,SEG DA TA1 MOV DS,AX MOV DX,DA TA MOV AH,0AH INT 21H LEA SI,DA TA1 MOV CL,[SI+1] LEA DI,DATA2 ADD SI, 2 CHK: MOV AL,[SI+2] CMP AL, '0' JB L01 CMP AL, '9' JA L01 SUB AL,30H MOV BL,AL MOV [DI], BL INC SI INC DI DEC CX JNZ CHK L01: MOV BL, 0FFH LOOP CHK MOV AH,4CH INT 21H

CODE ENDS END START

2、BCD码转换为二进制码 DATA SEGMENT BCD DB 1,2,3,4,5 A DW ? DATA ENDS STACK SEGMENT PARA STACK''STACK'' STAPN DW 50 DUP(?) STACK ENDS CODE SEGMENT MAIN PROC FAR ASSUME DS:DATA,CS:CODE,SS:STACK START: MOV AX,DA TA MOV DS,AX MOV AX,STACK MOV SS,AX CALL CONVERT MOV A,BX RET MAIN ENDP CONVERT PROC NEAR PUSH SI PUSH CX PUSH AX MOV SI,4 L1:MOV AL,BCD[SI] CBW XCHG AX, BX MOV CX,10D

HDB3码型变换实验报告

实验二HDB3码型变换实验 一、实验目的 1、了解几种常用的数字基带信号的特征和作用。 2、掌握HDB3码的编译规则。 3、了解滤波法位同步在的码变换过程中的作用。 二、实验器材 1、主控&信号源、2号、8号、13号模块各一块 2、双踪示波器一台 3、连接线若干 三、实验原理 1、HDB3编译码实验原理框图 HDB3编译码实验原理框图 2、实验框图说明 我们知道AMI编码规则是遇到0输出0,遇到1则交替输出+1和-1。而HDB3编码由于需要插入破坏位B,因此,在编码时需要缓存3bit的数据。当没有连续4个连0时与AMI编码规则相同。当4个连0时最后一个0变为传号A,其极性与前一个A的极性相反。若该传号与前一个1的极性不同,则还要将这4个连0的第一个0变为B,B的极性与A相同。实验框图中编码过程是将信号

源经程序处理后,得到HDB3-A1和HDB3-B1两路信号,再通过电平转换电路进行变换,从而得到HDB3编码波形。 同样AMI译码只需将所有的±1变为1,0变为0即可。而HDB3译码只需找到传号A,将传号和传号前3个数都清0即可。传号A的识别方法是:该符号的极性与前一极性相同,该符号即为传号。实验框图中译码过程是将HDB3码信号送入到电平逆变换电路,再通过译码处理,得到原始码元。 四、实验步骤 实验项目一HDB3编译码(256KHz归零码实验) 概述:本项目通过选择不同的数字信源,分别观测编码输入及时钟,译码输出及时钟,观察编译码延时以及验证HDB3编译码规则。 1、关电,按表格所示进行连线。 2、开电,设置主控菜单,选择【主菜单】→【通信原理】→【HDB3编译码】→【256K 归零码实验】。将模块13的开关S3分频设置拨为0011,即提取512K同步时钟。 3、此时系统初始状态为:编码输入信号为256K的PN序列。 4、实验操作及波形观测。 (1)用示波器分别观测编码输入的数据TH3和编码输出的数据TH1(HDB3输出),观察记录波形,有数字示波器的可以观测编码输出信号频谱,验证HDB3编码规则。

计算机组成实验报告汇总

计算机组成与体系结构 实验报告 班级:物联网工程1311 姓名:沈扬凯 学号: 2013198145 老师:项东升

实验项目一 一、实验目的 通过了解高级语言源程序和目标机器代码的不同表示及其相互转换,深刻理解高级语言和机器语言之间的关系,以及机器语言和不同体系结构之间的关系。 二、实验要求: 在VC6.0中创建下列源程序 #include void main() { int i=100; int j=-1; int k; k=i+j; printf("%d",k); } 然后对该程序进行编译、链接,最终生成可执行目标代码。 三、实验报告 1.给出做实验的过程. 关键代码如下:

2.给出源程序(文本文件)的内容(用十六进制形式表示)。 3.给出可执行目标文件(二进制文件)的内容(用十六进制形式表示)。

4.VC6.0调试环境:设置断点、单步运行、变量的值(十进制、十六进制)、变量的地址、变量的存储。 断点设置如下:

变量的值十进制: 变量的值十六进制: 变量的地址:

5.VC 6.0反汇编:查看源程序对应的汇编程序、可执行目标程序的二进制编码、了解如何给变量分配内存、系统函数程序段的调用。 6.分析或回答下列问题。 (1)分析同一个源程序在不同机器上生成的可执行目标代码是否相同。 不相同。因为不同的机器硬件的组成不同,因此同一个源程序在不同的机器上生成的目标文件不同。 (2)你能在可执行目标文件中找出函数printf()对应的机器代码段吗?能的话,请标示出来。 不能。因为源程序中的printf函数在可执行文件中已转换为机器语言。被翻译的机器语言中有printf函数,但是不知道是从哪一段开始翻译的。 (3)为什么源程序文件的内容和可执行目标文件的内容完全不

单片机AD模数转换实验报告

一、实验目的与要求 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 返回

数模转换器和模数转换器实验报告

实验报告 课程名称微机原理与接口技术 实验项目实验五 数/模转换器和模/数转换器实验实验仪器 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单极性输入电压与转换后数字的关系为:

AMI码型变换实验报告

实验一AMI 码型变换实验 一、实验目的 1、了解几种常用的数字基带信号的特征和作用。 2、掌握 AMI 码的编译规则。 3、了解滤波法位同步在的码变换过程中的作用。 二、实验器材 1、主控 & 信号源、 2 号、 8 号、 13 号模块各一块 2、双踪示波器一台 3、连接线若干 三、实验原理 1、 AMI编译码实验原理框图 数字终端DoutMUX数据 BSOUT时钟 数据码元 再生 时钟 译码时钟 单极性码 输入AMI 编 码 AMI-A1 AMI-B1 AMI-A2 AMI-B2 电平 变换 极性 反变 换 AMI输出 AMI输入 8# 基带传输编译码模块 数字锁 相环法 BS2位同步数字锁相环输入13# 载波同步及位同步模块 AMI 编译码实验原理框图 2、实验框图说明 AMI编码规则是遇到0输出 0,遇到 1则交替输出 +1和 -1 。实验框图中编码过程是将信号源 经程序处理后,得到 AMI-A1和AMI-B1两路信号,再通过电平转换电路进行变换,从而得到AMI 编码波形。 AMI译码只需将所有的±1变为 1,0变为 0即可。实验框图中译码过程是将AMI码信号送入

到电平逆变换电路,再通过译码处理,得到原始码元。 四、实验步骤 实验项目一AMI编译码(256KHz归零码实验) 概述:本项目通过选择不同的数字信源,分别观测编码输入及时钟,译码输出及时钟, 观察编译码延时以及验证AMI 编译码规则。 1、关电,按表格所示进行连线。 源端口目的端口连线说明 信号源: PN模块 8: TH3( 编码输入 -数据 )基带信号输入 信号源: CLK模块 8: TH4( 编码输入 -时钟 )提供编码位时钟 模块 8: TH11(AMI编码输出 )模块 8: TH2(AMI 译码输入 )将数据送入译码模块 模块 8: TH5( 单极性码 )模块 13: TH7( 数字锁相环输入 )数字锁相环位同步提取 模块 13: TH5(BS2)模块 8: TH9( 译码时钟输入 )提供译码位时钟 2、开电,设置主控菜单,选择【主菜单】→【通信原理】→【AMI 编译码】→【256K 归零码实验】。将模块 13 的开关 S3 分频设置拨为0011,即提取 512K 同步时钟。 3、此时系统初始状态为:编码输入信号为256K 的 PN 序列。 ( 1)用示波器分别观测编码输入的数据TH3 和编码输出的数据TH11(AMI输出),观察记录波形,有数字示波器的可以观测编码输出信号频谱,验证AMI编码规则。 注:观察时注意码元的对应位置。 ( 2)用示波器对比观测编码输入的数据和译码输出的数据,观察记录AMI译码波形与

实验1---汇编语言语法练习与代码转换

实验1---汇编语言语法练习与代码转换

实验报告 (2015/ 2016 学年第二学期) 课程名称微型计算机原理与接口技术实验名称 实验时间 指导单位 指导教师 学院 姓名 学号 指导老师

实验报告 实验名称汇编语言语法练习指导教师 实验类型验证实验学时 1 实验时间2016年4月6日 一、实验目的和要求 1. 掌握汇编语言源程序的格式; 2. 进一步学习汇编语言源程序的编辑、汇编、目标文件的链接和可执行文件的执行全过程; 3. 掌握编辑软件、TASM、TLINK和TD的使用方法、掌握汇编语言的语法规则。 4. 实验内容: (1)排除语法错误:给出的是一个通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序,但有很多语法错误。要求实验者按照原样对源程序进行编辑,汇编后,根据TASM给出的信息对源程序进行修改,知道没有语法错误为止。然后进行链接,并执行相应可执行文件。正确的执行结果在屏幕上显示:25+9=34 二、实验环境(实验设备) Windows XP +未来汇编软件

三、实验过程描述与结果分析 汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行: (1) 编辑源程序(生成.ASM文件) (2) 汇编源程序(.ASM→.OBJ) (3) 链接目标程序(.OBJ→.EXE) (4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件) (5) 运行程序输出结果。 排除语法错误 要求通过比较法完成8位二进制数转换成十进制数送屏幕显示功能的汇编语言源程序。但有很多语法错误,要求按照原样对源程序进行编辑,汇编后,根据TASM给出的错误信息对源程序进行修改,直到没有语法错误为止,然后进行链接,并执行相应的可执行文件。正确的执行结果是在屏幕上显示:25+9=34。 修改后代码:(分号后为修改) ;FILENAME:EXA121.ASM .486 DATA SEGMENT USE16 SUM DB ?,?, MESG DB '25+9= ' DB 0,0 ;DB 0,0,'$' N1 DB 9,F0H ;DB 9,0F0H N2 DW 25 ;DB 25 DATA ENDS

(实验三)BCD码转换为二进制码实验报告

实验三BCD码转换为二进制码 一、实验目的 1、掌握BCD码到二进制码的转换方法。 2、用于BCD码转入信号处理。 二、实验内容 对于内存中给定的几个十进制BCD码数转换为二进制数。 三、实验程序框图 四、实验步骤 脱机模式: ⑴在P.态下,按SCAL键,然后在内存单元4000H~4006H中依次写入四个十进制数(12、 34、56、78)的BCD码,即输入01、02、03、04、05、06、07,按MON键,返回P状态。 ⑵在P.态下,输入2D40,按EXEC键。 ⑶复位RST键,查看结果在4100~4107中,其内容应为:0C,00,22,00,38,00,4E,00。 联机模式: (1)在内存单元4000H~4006H中依次写入四个十进制数(12、34、56、78)的BCD码,即输入01、02、03、04、05、06、07,按MON键,返回P状态。 (2)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”

或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开8kAsm文件夹,点击S3.ASM 文件,单击“确定”即可装入源文件,再单击工具栏中编译,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (3)按“系统复位”键,查看结果在4100~4107中,其内容应为:0C,00,22,00,38,00,4E,00。 五、实验程序清单 X:\DICE-8086K3微机原理与接口实验箱CDROM\CODE\86kasm\S3.ASM CODE SEGMENT ;S3.ASM ,BCD 码转换为2 进制码ASSUME CS:CODE ORG 2D40H START: MOV CX,0004H ;输入数据长度。[4000]:01,02.. MOV DI,4000H ;结果存放在 [4100]: 0C,00,. CON1: MOV AL,[DI] ADD AL,AL ;*2 MOV BL,AL ADD AL,AL ;*2 ADD AL,AL ;*2 ADD AL,BL ;*10 INC DI MOV AH,00 ADD AL,[DI] ;BCD码个位,十位相加 MOV [DI+0FFH],AX ;存结果 INC DI ;结果地址加1 LOOP CON1 ;CX不为零继续 JMP $ CODE ENDS END START

南航计硬实验三代码转换实验报告

电工电子实验中心 课程名称:计算机硬件技术基础实验 实验名称:实验三代码转换 姓名:学号: 评定成绩:审阅教师: 实验时间: 2020.4.30 南京航空航天大学

一.实验目的 1) 掌握 ASCII 码转换的基本方法。 2) 学会 INT21 功能调用, 掌握人机对话的设计方法。 3) 进一歩熟悉 Tddebug 调试环境和 Turbo Debugger 的使用。 二.实验任务 键盘输入小写字母(最多 20 个),以“.”号作为结束标志, 将其变换成相应的大写字母输岀在屏幕上。 三.实验代码 CRLF MACRO MOV DL, 0DH MOV AH, 02H INT 21H MOV DL, 0AH ;宏定义回车,换行 MOV AH, 02H INT 21H ENDM DATA SEGMENT MES1 DB 'PLEASE INPUT THE SMALL LETTER,ENDED WITH ".":$' MES2 DB 'THE CAPTAL LETTER IS:$' SMALL DB 50 ; 预留键盘输入缓冲区长度为50个 DB 0 ; 预留实际键盘输入字符数的个数 DB 50 DUP(0) CAPITAL DB 50 DUP(0) ; 预留大写字母缓冲区长度为50个 DATA ENDS STACK1 SEGMENT STACK DB 100 DUP (0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV AH, 9 LEA DX, MES1 ;输岀提示信息MES1 INT 21H

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