计算机接口实验报告
接口技术实验报告

接口技术实验报告接口技术实验报告导言:接口技术在现代科技发展中扮演着重要的角色。
它是不同系统之间进行数据交换和通信的桥梁,为各种设备和软件提供了互联互通的能力。
本实验旨在通过实际操作,深入了解接口技术的原理和应用。
一、实验目的本次实验的目的是探索接口技术在实际应用中的作用和效果。
通过搭建一个简单的接口系统,我们可以了解接口的基本原理、数据传输方式以及如何进行接口的配置和测试。
二、实验设备和材料本次实验所需的设备和材料包括:一台计算机、一个串口转USB线缆、一块开发板、一根网线。
三、实验步骤1. 连接计算机和开发板将串口转USB线缆的USB接口插入计算机的USB接口,然后将串口转USB线缆的串口接口插入开发板的串口接口上。
2. 配置串口参数打开计算机的设备管理器,找到串口转USB线缆所对应的串口号,记录下来。
然后打开开发板上的串口配置界面,将串口号设置为与计算机上一致。
3. 编写测试程序使用C语言编写一个简单的测试程序,通过串口与开发板进行通信。
程序中包括发送数据和接收数据的功能,可以进行双向通信测试。
4. 运行测试程序将编写好的测试程序下载到开发板上,然后在计算机上运行相应的接收程序。
通过观察计算机上的输出和开发板上的LED灯状态,判断数据的传输是否成功。
5. 测试结果分析根据实际测试结果,分析接口技术的稳定性和可靠性。
如果数据传输成功率较高,说明接口配置正确,接口技术应用良好。
四、实验结果与讨论通过本次实验,我们成功搭建了一个简单的接口系统,并进行了数据传输测试。
实验结果显示,接口技术在数据传输方面表现出较高的稳定性和可靠性。
通过合理的配置和编程,我们能够实现计算机与外部设备之间的数据交换和通信。
接口技术的应用范围非常广泛,涉及到计算机、通信、自动化控制等领域。
例如,USB接口被广泛应用于外部设备的连接,如打印机、扫描仪等;串口接口则常用于嵌入式系统和单片机的通信;网口接口则用于实现计算机之间的局域网通信等等。
计算机接口技术实验报告优选全文

最新精选全文完整版(可编辑修改)《计算机接口技术》实验报告专业:电信息科学与技术班级:姓名:学号:年月日实验一:8255A并行口实验实验目的:掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
实验内容:一、实验原理实验原理图如图5-9所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。
8255A 工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
二、实验线路连接(1) CS-8255插孔连译码输出Y7插孔。
(2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3三、实验软件清单见随机光盘,文件名为H8255-2.ASM四、实验步骤1、按图5-9连好实验线路2、运行实验程序在DVCC-8086JHN上显示"8255-2"。
同时L1~L12 发光二极管模拟交通灯显示。
CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073H ;设置控制端常量IOAPT EQU 0070H ;设置数据端口A地址常量IOBPT EQU 0071H ;设置数据端口B地址常量IOCPT EQU 0072H ;设置数据端口C地址常量IOBDATA EQU 0500HCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0640HSTART: JMP IOLEDIOLED: CALL FORMATCALL LEDDISPMOV AX,0HMOV DS,AXMOV AL,82HMOV DX,IOCONPT ;写8255控制字,三个口均工作于方式0OUT DX,AL ;往控制端口写控制字,设置A口工作在方式0输入,B方式0输出MOV DX,IOBPT ;读PB口数据存0601H单元IN AL,DXnot almov al,00hnopnopMOV BYTE PTR DS:[0501H],ALMOV DX,IOCONPT ;写方式控制字均为输出MOV AL,80HOUT DX,ALMOV DX,IOBPT ;置PB0,PB4~PB6为1,其余为0MOV AL,DS:[0501H]OR AL,0FH ;使PB0~PB3为1,PB4~PB7为0OUT DX,AL ;即熄灭红灯,点亮绿灯MOV DX,IOCPT ;使PC1,PC4~PC6为1,其余为0MOV AL,0FH ;使PC0~PC3为1,PC4~PC7为0OUT DX,ALCALL DELAY1 ;延时IOLED0: MOV AL,01011010B ;使2,4路口绿灯亮,1,3口红灯亮MOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭2,4路口绿灯OUT DX,ALMOV CX,8H ;只计数器值为8IOLED1: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,01011111B ;点亮2,4路口黄灯OUT DX,ALCALL DELAY2 ;短暂延时and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED1 ;黄灯闪烁8次MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2MOV AL,10100101B ;点亮1,3口红灯和2,4路口绿灯OUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭掉红灯OUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,10101111B ;点亮1,3路口黄灯OUT DX,ALCALL DELAY2and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2JMP IOLED0 ;循环DELAY1: PUSH AXPUSH CX ;延时子程序MOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0640H],405BHADD BX,2MOV WORD PTR DS:[BX+0640H],4040HADD BX,2MOV WORD PTR DS:[BX+0640H],6D6DH ADD BX,2MOV WORD PTR DS:[BX+0640H],7F5BHRETCODE ENDSEND START实验二:定时/计数器实验目的:1. 学会8253芯片和微机接口原理和方法。
微型计算机原理及接口技术实验报告

CL
ADD
AL, CH
;高4位加低4位
POP
CX
RET
BCD2BIN
ENDP
CODE
ENDS
END
START
编辑后:
编译后:
点击运行后:
运行后:
4.实验总结:
本次实验中:三个结构中数据段datasegment定义数据,堆栈段stacksegment要求存取空间,代码段codesegment编写主程序代码,用寄存器CX将,入口参数AL中存放两位BCD码,出口参数AL 中存放转换后的二进制数。首先调取存取空间,并且调用子程序,CALL指令,HLT是8086处理器处于停止状态,不执行指令,定义过程的伪指令PROC,子程序中push将把CX的值压入堆栈段,SHR逻辑右移指令,MUL的乘法指令,子程序BCD2BIN中的RET是返回指令。本实验通过对子程序的调用,以及返回等操作来实现将BCD码转换成二进制数。
ENDS
END
START
将问号改成0后编译源程序得到错误如下:
清除错误后得到
点击run
运行后得到
2. 代码转换实验
从键盘输入2个十进制数组合成压缩BCD码存入DL,再将压缩BCD码转换成ASCII码送CRT显示。
源程序:
CODE
SEGMENT
ASSUME
CS:CODE
ST:
MOV
AH, 01H
INT
4、实验总结
通过本实验:可以知道在不同的环境下运行emu8086是要注意某些问题,比如xp环境下的问号在win7下要改成0,编辑程序的框架分为三个部分数据段datasegment堆栈段stacksegment代码段codesegment。编辑好以后要点击编译必须无误后才能运行。点击运行后可以在下一个界面单步观察,AX BX CX DX CS IP SS SP BP SI DI DS ES的值的情况以便更好的了解emu8086。
NEUQ 计算机接口技术实验报告

计算机接口技术实验报告学号:姓名:提交日期:成绩:东北大学秦皇岛分校计算机与通信工程学院实验1、IO地址译码一、实验目的掌握8253的基本工作原理和编程方法。
二、实验内容按图16虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
三、编程提示8253控制寄存器地址283H计数器0地址280H计数器1地址281HCLK0连接时钟1MHZASM程序:ioport equ 0d400h-0280hio8253a equ ioport+283hio8253b equ ioport+280hcode segmentassume cs:codestart: mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253aout dx,almov dx,io8253b ;送计数初值为0FHmov al,0fhout dx,allll: in al,dx ;读计数初值call disp ;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch ;退出int 21hdisp proc near ;显示子程序push dxand al,0fh ;首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30Hadd dl,7 ;否则为'A'-'F',ASCII码加37Hnum: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret;子程序返回disp endpcode endsend start实验现象:开始时代表低电平的灯亮,按单脉冲信号5次后高电平的等亮实验2、简单并行接口一、实验目的掌握8253的基本工作原理和编程方法。
系统接口实验报告

实验名称:系统接口设计与实现实验日期:2023年3月10日实验地点:计算机实验室一、实验目的1. 理解系统接口的概念和作用。
2. 掌握系统接口的设计原则和实现方法。
3. 学会使用常用的接口技术,如API、Web服务等。
4. 提高编程能力和团队协作能力。
二、实验内容1. 系统接口概述2. 系统接口设计3. 系统接口实现4. 系统接口测试三、实验原理系统接口是软件系统中各个模块之间进行交互的桥梁,它定义了模块之间通信的规则和方式。
良好的系统接口设计可以提高系统的可维护性、可扩展性和可复用性。
四、实验步骤1. 系统接口概述首先,我们需要了解系统接口的概念和作用。
系统接口是软件系统中各个模块之间进行交互的桥梁,它定义了模块之间通信的规则和方式。
良好的系统接口设计可以提高系统的可维护性、可扩展性和可复用性。
2. 系统接口设计(1)确定接口需求:根据系统需求分析,确定各个模块之间需要交互的数据和功能。
(2)定义接口规范:根据接口需求,定义接口的输入、输出参数、返回值等。
(3)设计接口协议:根据接口规范,设计接口的通信协议,包括数据格式、传输方式等。
(4)编写接口文档:将接口规范和协议整理成文档,以便其他开发者理解和使用。
3. 系统接口实现(1)选择编程语言:根据项目需求和团队熟悉程度,选择合适的编程语言进行接口实现。
(2)编写接口代码:根据接口规范和协议,编写接口代码,实现模块之间的交互。
(3)测试接口:编写测试用例,对接口进行测试,确保接口功能的正确性和稳定性。
4. 系统接口测试(1)编写测试用例:根据接口规范和协议,编写测试用例,涵盖接口的所有功能。
(2)执行测试用例:使用测试工具或手动执行测试用例,检查接口的输出是否符合预期。
(3)分析测试结果:对测试结果进行分析,找出接口中存在的问题,并进行修复。
五、实验结果与分析1. 实验结果本次实验成功实现了系统接口的设计与实现,包括接口需求分析、接口规范定义、接口协议设计、接口代码编写和接口测试。
接口试验6实验报告

南通大学实验报告院、系计算机科学与技术年级专业大二计算机科学与技术实验名称:数码管(LED)实验一.实验目的1.理解8段数码管(LED)的基本原理(如图5-3和图5-4)。
2.理解8段数码管(LED)的显示和编程方法。
3.理解4连排共阴极8段数码管LG5641AH与MCU的接线图(如图5-5和如图5-6)。
二.知识要点本实验所使用的是四连排8段共阴极数码管(如图2-9所示)。
该数码管共有两种引线:8根数据线和4根位选线。
数码管的显示原理和小灯点亮相同,如图5-6所示。
a、b、c、d、e、f、g、h是数码管的数据线,为8段的阳极引脚,是不同位数码管的数据线共享,CS3、CS2、CS1、CS0是位选线,为8段阴极的公共引脚。
为了使每个时刻只能让一个数码管有效,即CS3、CS2、CS1、CS0只能有一个为0,例如令CS3=0,CS2、CS1、CS0=111,则数据线上的数据显现在数码管的第一位,其他位则不受影响。
要让各个数据管均显示需要的数字,则必须逐个使相应位选信号为0,其他位选信号为1,并将要显示的一位数字送到数据线上。
这种方法叫“位选线扫描法”。
但是数码管采用图5-5所示与MCU的IO引脚直接相连,显示亮度不足,为了提高亮度,将位选线各自经过三极管连接,提高位选线的电流,IO引脚与三极管的基极相连。
具体如图2-10所示。
则位选信号改为1,即为选中。
但是实际中需要让每位都显示数字,则只能依据“视觉暂留效应”(约100ms左右),看起来则是同时显示的,放电影原理也如此。
LED所用的接口是普通IO口,功能也是IO口的普通功能。
所以编程也是先确定接口的方向,然后将所显示的开关量送给LED,LED是将成形的小灯组合成相应的数字。
各步骤如下:(一)LED的C语言编程,首先初始化:1)初始化2)设定显示码表和片选表,为了成形的小灯组合成相应的数字3)使用LED(其实就是小灯点亮的原理)三.实验内容在光盘资料中提供读者数码管(LED)实例程序文件夹。
《计算机接口与通信技术》综合实验报告

《计算机接口与通信技术》综合实验报告《计算机接口与通信技术》综合实验报告院系部:专业班级:组长:组员:实验台号:指导教师:成绩:实验日期:实验1 8255A小键盘实验一. 实验目的(1)掌握8255A编程原理。
(2)了解键盘结构,学会读取键盘输入的方法。
二. 实验内容用8255A来实现一个小键盘的输入识别(用行扫描法或反转法均可)。
(1)基于图再完成下述连接,即将8255A的CS端与218~21F插孔相连,此时:8255A的端口A地址为218H端口B地址为219H端口C地址为21AH控制口地址为21BH(2)编写程序,使得在小键盘上按键后,微机屏幕上有相应字符显示出来。
三. 仪器用具四.实验接线图五. 程序设计流程图:程序代码:DA TA SEGMENTTABLE1 DW 0101H,0102H,0104H,0108H,0110H,0120H,0140H,0180HDW 0201H,0202H,0204H,0208H,0210H,0220H,0240H,0280HDW 0401H,0402H,0404H,0408H,0410H,0420H,0440H,0480H CHAR DB 'CDEFBA9845673210WXYSRPMG'MESS DB 'PRESS A KEY ON THE SMALL KEYBOARD!',0AH,0DH DB 'IT WILL DISPLAY ON THE SCREEN ! ',0AH,0DHDB 'PRESS R KEY, RETURN TO DOS !',0AH,0DH,'$' IOPORT EQU 0DC00H-200HIO8255A EQU IOPORT+218H ;8255A口IO8255B EQU IOPORT+219H ;8255B口IO8255C EQU IOPORT+21BH ;8255控制端口DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACKSSTART: MOV AX,DA TAMOV DS,AXMOV DX,OFFSET MESSMOV AH,09INT 21H ;显示提示信息Q1: MOV AL,82H ;送8255控制字,A出口,B入口MOV DX,IO8255COUT DX,ALQ2: MOV AL,00MOV DX,IO8255AOUT DX,AL ;A口输出行值MOV DX,IO8255BIN AL,DX ;B口读入列值AND AL,0FFHCMP AL,0FFHJZ Q2MOV BL,AL ;有键入,保存键值MOV DI,0040 ;延迟,等待释放BB: MOV CX,6000HAA: LOOP AADEC DIJNZ BBMOV DX,IO8255C ;送8255控制字,B口出,A口入MOV AL,90HOUT DX,ALMOV DX,IO8255BMOV AL,BLOUT DX,AL ;B口输出列值MOV DX,IO8255AIN AL,DX ;A口读入行值CMP AL,0FFHJNZ KEYNKEYN: PUSH AX ;去抖MOV DX,IO8255ARELEA: IN AL,DXCMP AL,0FFHJNZ RELEAPOP AXMOV AH,BL ;AH=列值,BH=行值NOT AX ;键值AX求反MOV SI,OFFSET TABLE1 ;送键值表指针MOV DI,OFFSET CHAR ;送字符表指针MOV CX,24Q4: CMP AX,[SI] ;键值查表JZ Q5ADD SI,02 ;未查到,修改表指针INC DILOOP Q4JMP Q1Q5: MOV DL,[DI] ;查到,显示该字符CMP DL,'R'JZ Q6MOV AH,02HINT 21HJMP Q1Q6: MOV AX,4C00H ;键值='R',返回DOSINT 21HCODE ENDS六.试验方法与步骤1.按实验要求连线将8255A的CS端与218~21F插孔相连2.编程,程序如上3.运行程序七.实验结果八.讨论与结论操作实验板上的小键盘按键会在计算机屏幕上进行显示,对键盘上的WXYS键都以空格响应,R退出,其余显示对应字符。
计算机组成原理及接口技术实验报告

二实验步骤
(1)连接实验线路,仔细检查无误后接通电源。
(2)形成时钟脉冲信号T3。在时序电路模块中有两个二进制开关“运行控制”和“运行方式”。将运行控制开关设置为运行状态,运行方式设置为连续状态,按动运行启动开关,则T3有连续的放信号输出,此时调节电位器W1,用示波器观察,使T3输出实验要求的脉冲信号。
DR1
加数2
DR2
S3 S2 S1 S0
M=0(算术运算)
M=1
(逻辑运算)
Cn=1无进位
Cn=0有进位
35
35
48
48
0 0 0 0
F=00010011
F=00100100
F=11011100
0 0 0 1
F=00110011
F=00110100
F=11001100
0 0 1 0
F=11101111
(3)移位,改变S0,S1,M,299B的状态,按动手动脉冲开关以产生时钟脉冲T4,观察移位结果。
三实验结果
35H(00110101)
299B S1 S0 M
0 1 0 0
0 1 0 1
0 0 1 1
0 0 1 0
功能
循环右移
带进位循环右移
CY
带进位循环左移
CY
循环左移
第一次
10011010
00011010
(3)送数据63到寄存器,数据20送地址寄存器,然后将R0寄存器内的数送人存储器,最后将存储器的内容输出到LED上显示。数据开关置数(KD0~KD7=01100011),开输入三态门(SWB=0),存入寄存器R0,按下LDR0。数据开关置数(KD0~KD7=00100000),开输入三态门(SWB=0),存入寄存器R0,按下LDAR。关输入三态门,开R0三态门(SWB=1,ROB=0),R0寄存器的数存入存储器AR(CE=0,WE=1),关R0三态门,关存储器(CE=1,ROB=1),存储器输出到LED显示(WE=0,CE=0,LEDB=0,OUTWR=0)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机接口技术实验报告学号:姓名:提交日期:成绩:东北大学秦皇岛分校实验一可编程定时计数器82531、计数器一、实验目的掌握8253的基本工作原理和编程方法。
二、实验内容按图16虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
三、编程提示8253控制寄存器地址 283H计数器0地址 280H计数器1地址 281HCLK0连接时钟1MHZ四、实验原理图图16五、连线计数器0的CLK0端接实验箱单脉冲的高电平计数器0的GATE0端接+5V的电源计数器0的OUT0端接逻辑笔六、源程序代码ASM程序:ioport equ 0d400h-0280hio8253a equ ioport+283hio8253b equ ioport+280hcode segmentassume cs:codestart: mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253aout dx,almov dx,io8253b ;送计数初值为0FHmov al,0fhout dx,allll: in al,dx ;读计数初值call disp ;调显示子程序push dxmov ah,06hmov dl,0ffhint 21hpop dxjz lllmov ah,4ch ;退出int 21hdisp proc near ;显示子程序push dxand al,0fh ;首先取低四位mov dl,alcmp dl,9 ;判断是否<=9jle num ;若是则为'0'-'9',ASCII码加30Hadd dl,7 ;否则为'A'-'F',ASCII码加37Hnum: add dl,30hmov ah,02h ;显示int 21hmov dl,0dh ;加回车符int 21hmov dl,0ah ;加换行符int 21hpop dxret ;子程序返回disp endpcode endsend start在此程序中,芯片8253的初始化程序片段是:mov al,14h ;设置8253通道0为工作方式2,二进制计数mov dx,io8253aout dx,almov dx,io8253b ;送计数初值为0FHmov al,0fhout dx,al七、源程序运行结果屏幕依次显示1~f,16个二进制数,且每按一次单脉冲二进制数减一。
当从f减到1时,逻辑笔的信号灯的红灯亮;当从2减到1时,逻辑笔的信号灯由红灯变更为绿灯。
2、计数器二一、实验原理图:按图17连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)图17 二、源程序代码ASM程序:ioport equ 0d400h-0280hio8253a equ ioport+280hio8253b equ ioport+281hio8253c equ ioport+283hcode segmentassume cs:codestart:mov dx,io8253c ;向8253写控制字mov al,36h ;使0通道为工作方式3out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253aout dx,al ;先写入低字节mov al,ahout dx,al ;后写入高字节mov dx,io8253cmov al,76h ;设8253通道1工作方式2out dx,almov ax,1000 ;写入循环计数初值1000mov dx,io8253bout dx,al ;先写低字节mov al,ahout dx,al ;后写高字节mov ah,4ch ;程序退出int 21hcode endsend start三、运行结果逻辑笔处的红绿灯交替闪亮实验二模数转换器1、电压转十六进制数一、实验目的了解模/数转换的基本原理,掌握ADC0809的使用方法。
二、实验内容1、实验电路原理图如图18。
通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。
启动IN0开始转换: Out 0298 0读取转换结果: In 02982、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。
三、实验提示1、ADC0809的IN0口地址为298H,IN1口地址为299H。
2、IN0单极性输入电压与转换后数字的关系为:N=Ui/(Uref/256)其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。
3、一次A/D转换的程序可以为MOV DX,口地址OUT DX,AL ;启动转换;延时IN AL,DX ;读取转换结果放在AL中四、实验原理图图18五、实验连线ACD0809的ION电压输入端接RW1ACD0809的CS接298H多用电压表的正表笔接RW1多用电压表的负表笔接地六、源程序代码ASM程序:Ioport equ 0d400h-0280hio0809a equ ioport+298hcode segmentassume cs:codestart:mov dx,io0809a ;启动A/D转换器out dx,almov cx,0ffh ;延时delay:loop delayin al,dx ;从A/D转换器输入数据mov bl,al ;将AL保存到BLmov cl,4shr al,cl ;将AL右移四位call disp ;调显示子程序显示其高四位mov al,bland al,0fhcall disp ;调显示子程序显示其低四位mov ah,02mov dl,20h ;加回车符int 21hmov dl,20hint 21hpush dxmov ah,06h ;判断是否有键按下mov dl,0ffhint 21hpop dxje start ;若没有转STARTmov ah,4ch ;退出int 21hdisp proc near ;显示子程序mov dl,alcmp dl,9 ;比较DL是否>9jle ddd ;若不大于则为'0'-'9',加30h为其ASCII码add dl,7 ;否则为'A'-'F',再加7ddd: add dl,30h ;显示mov ah,02int 21hretdisp endpcode endsend start七、实验运行结果电压与十六进制数的对应关系如下:5V——————FF4V——————C43V——————8D2V——————571V——————1C0V——————002、波形显示一、实验内容将JP3的1、2短接,使IN2处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。
二、实验原理图三、实验源代码ASM程序:Ioport equ 0a400h-0280hio0809b equ ioport+299hcode segmentassume cs:codestart: mov ax,0012h ;设屏幕显示方式为VGA 640X480模示int 10hand cx,0 ;cx为横坐标draw: mov dx,io0809b ;启动A/D转换器通道1out dx,almov bx,500 ;延时delay: dec bxjnz delayin al,dx ;读入数据mov ah,0mov dx,368 ;dx为纵坐标sub dx,axmov al,0ah ;设置颜色mov ah,0ch ;画点int 10hcmp cx,639 ;一行是否满jz start ;是则转startinc cx ;继续画点push dxmov ah,06h ;是否有键按下mov dl,0ffhint 21hpop dxje draw ;无,则继续画点mov ax,0003 ;有恢复屏幕为字符方式int 10hmov ah,4ch ;返回DOSint 21hcode endsend start四、试验运行结果:实验三七段数码管1、七段数码管动态显示一、实验目的掌握数码管显示数字的原理二、实验内容动态显示:按图19连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。
编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
三、编程提示实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。
四、实验原理图:图19五、实验源代码ASM程序:data segmentioport equ 0d400h-0280hio8255a equ ioport+288hio8255b equ ioport+28bhled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$'data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8255b ;使8255的A口为输出方式mov ax,80hout dx,alsss: mov dx,offset mesg1 ;显示提示信息mov ah,09hint 21hmov ah,01 ;从键盘接收字符int 21hcmp al,'0' ;是否小于0jl exit ;若是则退出cmp al,'9' ;是否大于9jg exit ;若是则退出sub al,30h ;将所得字符的ASCII码减30Hmov bx,offset led ;bx为数码表的起始地址xlat ;求出相应的段码mov dx,io8255a ;从8255的A口输出out dx,aljmp sss ;转SSSexit: mov ah,4ch ;返回DOSint 21hcode ends六、实验运行结果当从键盘上输入0-9十个数字中的任意一个可以在数码管上显示出来2、七段数码管静态显示一、实验内容动态显示:按图20连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255 C口的PC1,PC0。