南邮通达微机系统串行口的测试实验分析报告

合集下载

南邮微机原理实验报告

南邮微机原理实验报告

微机原理硬件实验报告实验一 I/O 地址译码一、实验目的1、掌握 I/O 地址译码电路的工作原理。

二、实验内容及原理实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。

译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,…… 当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

根据图1-1,我们可以确定A9~A3,AEN,IOW,IOR的值。

要使译码电路正常工作,必须使处于低电平有效。

因而可以确定A6=A8=0,A7=A9=1,AEN=0,IOW与IOR不可同时为1(即不能同时读写)。

当要从Y4输出低脉冲时,A5A4A3=100;从Y5输出时,A5A4A3=101。

综上所述,Y4输出时,应设置值2A0H(A9~A0=1010100000B);Y5输出时,应设置值2A8H(A9~A0=1010101000B)。

执行下面两条指令MOV DX,2A0HOUT DX,AL(或IN AL,DX)Y4输出一个负脉冲到D触发器的CLK上,因为D=1(接了高电平+5V),所以Q被赋值为1.延时一段时间(delay);执行下面两条指令;MOV DX,2A8HOUT DX,AL(或IN AL,DX)Y5输出一个负脉冲到CD,D触发器被复位,Q=0。

再延时一段时间,然后循环上述步骤。

利用这两个个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

三、硬件接线图与软件流程图硬件接线:Y4/IO 地址接 CLK/D 触发器Y5/IO地址接 C/D触发器D/D触发器接 SD/D角发器接+5VQ/D触发器接 L7(LED灯)或逻辑笔软件流程图:四、源程序OUTPORT1 EQU 2A0H ;预置,方便修改OUTPORT2 EQU 2A8HCODE SEGMENTASSUME CS:CODESTART: MOV DX,OUTPORT1 ;根据原理图设定A9~A0 的值(Y4)OUT DX,AL ;让译码器Y4 口输出一个负脉冲CALL DELAY ;延时MOV DX,OUTPORT2 ;根据原理图设定A9~A0 的值(Y5)OUT DX,AL ;让译码器Y5 口输出一个负脉冲CALL DELAY ;延时MOV AH,1 ;调用1 号DOS 功能,等待键盘输入INT 16HJE START ;若有键盘输入则退出程序,否继续循环MOV AH,4CHINT 21HDELAY PROC NEAR ;延时子程序MOV BX,200 ;时延长度 (200)A: MOV CX,0B: LOOP BDEC BXJN E ARETDELAY ENDPCODE ENDSEND START五、实验结果LED 灯处于闪烁状态,键盘有输入后,成功退出。

串行接口实验报告

串行接口实验报告

课程实验报告实验名称:串行接口专业班级:学号:姓名:同组人员:指导教师:报告日期:实验二1. 实验目的 (3)2. 实验内容 (3)3. 实验原理 (3)4. 程序代码 (6)5. 实验体会 (13)实验二1.实验目的1.熟悉串行接口芯片8251的工作原理2.掌握串行通讯接收/发送程序的设计方法2.实验内容通过对8251芯片的编程,使得实验台上的串行通讯接口(RS232)以查询方式实现信息在双机上的。

具体过程如下:1. 从A电脑键盘上输入一个字符,将其通过A试验箱的8251数据口发送出去,然后通过B试验箱的8251接收该字符,最后在B电脑的屏幕上显示出来。

2.从A试验箱上输入步进电机控制信息(开关信息),通过A试验箱的8251数据口发送到B试验箱的8251数据口,在B试验箱上接收到该信息之后,再用这个信息控制B试验箱上的步进电机的启动停止、转速和旋转方向。

3.实验原理1.8251控制字说明在准备发送数据和接收数据之前必须由CPU把一组控制字装入8251。

控制字分两种:方式指令和工作指令,先装入方式指令,后装入工作指令。

另外,在发送和接收数据时,要检查8251状态字,当状态字报告“发送准备好”/“接收准备好”时,才能进行数据的发送或接收。

2.8251方式指令(端口地址2B9H)3.8251工作指令(端口地址2B9H)4.8251状态字(端口地址2B9H)5.8253控制字(283H)6.8253计数初值(283H)计数初值=时钟频率/(波特率×波特率因子)本实验:脉冲源=1MHz波特率=1200波特率因=16计数初值= 1000000/1200*16=527.程序流程框图4.程序代码Fxc.asm;************************;;*8251串行通讯(自发自收)*;;************************;data segmentio8253a equ 280h ;8253计数0端口地址io8253b equ 283h ;8253控制端口地址io8251a equ 2b8h ;8251数据端口地址io8251b equ 2b9h ;8251控制端口地址mes1 db 'you can play a key on the keybord!',0dh,0ah,24hmes2 dd mes1data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8253b ;设置8253计数器0工作方式mov al,16h ;控制字为00010110Bout dx,almov dx,io8253amov al,52 ;给8253计数器0送初值out dx,almov dx,io8251b ;初始化8251;xor al,al;mov cx,03 ;向8251控制端口送3个0;delay: call out1;loop delaymov al,40h ;向8251控制端口送40H,使其复位call out1mov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16 call out1mov al,27h ;向8251送控制字允许其发送和接收call out1lds dx,mes2 ;显示提示信息mov ah,09int 21hwaiti: mov dx,io8251bin al,dxtest al,01 ;发送是否准备好jz nextmov ah,0bhint 21htest al,0ffh ;检测是否有键盘输入jz nextmov dl,0ffh ;有键盘输入,读入字符mov ah,06hint 21hcmp al,27 ;若为ESC,结束jz exitmov dx,io8251a;inc alout dx,al ;发送; mov cx,40h;s51: loop s51 ;延时next: mov dx,io8251bin al,dxtest al,02 ;检查接收是否准备好jz waiti ;没有,等待mov dx,io8251ain al,dx ;准备好,接收mov dl,almov ah,02 ;将接收到的字符显示在屏幕上int 21hjmp waitiexit: mov ah,4ch ;退出int 21hout1 proc near ;向外发送一字节的子程序out dx,al;push cx;mov cx,40h;gg: loop gg ;延时; pop cxretout1 endpcode endsend startSend .asm;************************;;*8251串行通讯(自发自收)*;;************************;data segmentio8253a equ 280h ;8253计数0端口地址io8253b equ 283h ;8253控制端口地址io8251a equ 2b8h ;8251数据端口地址io8251b equ 2b9h ;8251控制端口地址buf3 byte 0mes1 db 'you can play a key on the keybord!',0dh,0ah,24hmes2 dd mes1data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8253b ;设置8253计数器0工作方式mov al,16h ;控制字为00010110Bout dx,almov dx,io8253amov al,52 ;给8253计数器0送初值out dx,almov dx,io8251b ;初始化8251mov dx,28bh ;8255控制口初始化mov al,81h ;1000,0001out dx,al;xor al,al;mov cx,03 ;向8251控制端口送3个0;delay: call out1;loop delaymov al,40h ;向8251控制端口送40H,使其复位call out1mov al,4eh ;设置为1个停止位,8个数据位,波特率因子为16 call out1mov al,27h ;向8251送控制字允许其发送和接收call out1lds dx,mes2 ;显示提示信息mov ah,09int 21hwaiti: mov dx,io8251bin al,dxtest al,01 ;发送是否准备好jz nextmov ah,0bhint 21htest al,0ffh ;检测是否有键盘输入jz next; mov dl,0ffh ;有键盘输入,读入字符;mov ah,06h; int 21hmov dx,28ahin al,dxcmp al,27 ;若为ESC,结束jz exitmov dx,io8251a;inc alout dx,al ;发送; mov cx,40h;s51: loop s51 ;延时next: mov dx,io8251bin al,dxtest al,02 ;检查接收是否准备好jz waiti ;没有,等待mov dx,io8251ain al,dx ;准备好,接收mov dl,almov ah,02 ;将接收到的字符显示在屏幕上int 21hjmp waitiexit: mov ah,4ch ;退出int 21hout1 proc near ;向外发送一字节的子程序out dx,al;push cx;mov cx,40h;gg: loop gg ;延时; pop cxretout1 endpcode endsend start步进电机:1.K0=0,逆时针转;K0=1,顺时针转2.K1=0,慢转;K1=1,快转data segmentbuf1 db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;LED显示buf2 byte 0 ;步进电机数据buf3 byte 0 ;保存开关数据buf4 byte 0 ;保存顺转数据buf5 byte 9 ;保存反转数据buf6 byte 0 ;开关机data endscode segmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov buf2,00110011b ;步进电机数据mov dx,28bh ;8255控制口初始化mov al,81h ;1000,0001out dx,al;-----------------------------逆转控制----------------R0: mov dx,28ah ;读C口in al,dxmov buf3,al ;保存C口数据test al,04 ;jnz kai ;转反转test al,01 ;测试K0=1?jnz L0 ;转反转mov al,buf4 ;走马灯开始一步顺转cmp al,9jnz S1call change9_0S1: inc al ;数据加1mov buf4,almov bx,offset buf1xlatmov dx,289h ;B口输出out dx,al ;数据完成加1mov al,buf2 ;电机开始一步逆转ror al,1 ;数据左移mov buf2,almov dx,288h ;A口输出out dx,al ;电机完成一步逆转mov al,buf3 ;回复C口数据test al,02jnz R1 ;转快转call delay_s ;否则慢转jmp R0R1: call delay_q ;快转jmp R0;------------------------------顺转控制-----------------L0: mov al,buf5 ;走马灯开始一步顺转cmp al,0jnz S2T2: test al,03 ;测试K2=1?jnz T2call change0_9S2: dec al ;数据减1mov buf5,al ;mov bx,offset buf1xlatmov dx,289h ;B口输出out dx,al ;走马灯结束一步顺转mov al,buf2 ;电机开始一步顺转rol al,1 ;数据右移mov buf2,almov dx,288h ;A口输出out dx,al ;电机结束一步顺转mov al,buf3 ;回复C口数据test al,02jnz L1 ;转快转call delay_s ;否则慢转jmp R0T3: test al,03 ;测试K2=1?jnz T3L1: call delay_q ;快转jmp R0kai: mov dx,28ah ;读C口in al,dxmov buf3,al ;保存C口数据test al,04 ;jz L0 ;转反转jmp kaiexit: mov ah,4chint 21hdelay_s proc near ;长延时mov bx,20hlp1: mov cx,0ffffhlp2: loop lp2dec bxjnz lp1retdelay_s endpdelay_q proc near ;短延时mov bx,1lp11: mov cx,0ffffhlp22: loop lp22dec bxjnz lp11retdelay_q endpchange9_0 proc nearmov buf4,-1mov al,buf4retchange9_0 endpchange0_9 proc nearmov buf5,10mov al,buf5retchange0_9 endpcode endsend start5.实验体会这次实验需要用到两种芯片8253和8251,两种芯片的作用分别是8253提供串行通讯所需的特定频率的脉冲信号,8251提供输入输出控制,所以在实验的过程中需要熟悉这两种芯片的方式字等使用规范,在仔细阅读了书本以及书本的编程实例后,基本摘掉了程序的设计方法实验过程中,出现了程序编译通过了但是不能运行的情况,后来经过检查发现是程序没有设置好的原因,要设置为编译后运行状态,否知只编译不运行,经过这次实验,知道了8253和8251两种芯片的基本用法,对课本上的知识有了更深入的理解,收获不少。

串行口通信实验 单片机实验报告

串行口通信实验 单片机实验报告

实验六串行口通信实验一、实验内容实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。

本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。

二、实验目的掌握单片机串行口工作原理,单片机串行口与PC机的通信工作原理及编程方法。

三、实验原理51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。

进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的串口是TTL电平(大于+2.4V为1,小于- 0.7V为0),两者之间必须有一个电平转换电路实现RS232电平与TTL电平的相互转换。

为了能够在PC机上看到单片机发出的数据,我们必须借助一个Windows软件进行观察,这里我们可以使用免费的串口调试程序SSCOM32或Windows的超级终端。

单片机串行接口有两个控制寄存器:SCON和PCON。

串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。

在这种方式下,数据为8位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12。

由软件置位串行控制寄存器(SCON)的REN位后才能启动,串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。

待8位数据输完后,硬件将SCON寄存器的T1位置1,必须由软件清零。

单片机与PC机通信时,其硬件接口技术主要是电平转换、控制接口设计和远近通信接口的不同处理技术。

在DOS操作环境下,要实现单片机与微机的通信,只要直接对微机接口的通信芯片8250进行口地址操作即可。

WINDOWS的环境下,由于系统硬件的无关性,不再允许用户直接操作串口地址。

如果用户要进行串行通信,可以调用WINDOWS的API 应用程序接口函数,但其使用较为复杂,可以使用KEILC的通信控件解决这一问题。

南京邮电大学通达学院实验报告格式

南京邮电大学通达学院实验报告格式

南京邮电大学通达学院实验报告格式第一篇:南京邮电大学通达学院实验报告格式具体课题题目(题目格式:宋体,3号,加粗,居中对齐)一、课题内容和要求(格式:宋体,4号,加粗,两端对齐)该部分可参考前面给出的问题描述再加以细化一些(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)二、对设计要求的理解(格式:宋体,4号,加粗,两端对齐)对课程设计的理解(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)三、概要设计(格式:宋体,4号,加粗,两端对齐)任务的分析、框架图、主要的涉及的技术、解决方法。

(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)四、关键技术难点分析(格式:宋体,4号,加粗,两端对齐)分析整个设计中的关键技术和难点,详细介绍关键技术,关键算法实现的源程序,关键源程序代码要按照写程序的规则来编写。

要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)(源程序代码用Times New Roman 5号字体,单倍行距)五、测试数据及其结果分析(格式:宋体,4号,加粗,两端对齐)设计结果和性能分析(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)六、课程设计总结(格式:宋体,4号,加粗,两端对齐)总结可以包括 : 程序设计过程的收获、遇到的问题,遇到问题解决问题过程的思考、程序调试能力的思考,对该课程组织和考核方式的建议等。

(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)第二篇:南京邮电大学通达学院学生会赞助协议书南京邮电大学通达学院学生会赞助协议书甲方:团委学生会乙方:为促进南京邮电大学通达学院与_________________之间的交流与合作、促进双方达到共赢目的,甲方乙方本着规范操作、互惠互利的宗旨,经充分协商,乙方决定赞助甲方____________元作为“南京邮电大学通达学院校园十佳歌手”大型活动的赞助经费。

串行口实验报告

串行口实验报告

串行口实验报告
《串行口实验报告》
实验目的:通过串行口实验,探索数据传输的可靠性和稳定性。

实验材料:计算机、串行口数据线、串行口设备。

实验步骤:
1. 连接串行口数据线:首先,将串行口数据线插入计算机的串行口接口,并将另一端连接到串行口设备上。

2. 设置串行口参数:在计算机上打开串行口设置界面,设置波特率、数据位、校验位和停止位等参数,确保与串行口设备相匹配。

3. 发送数据:通过计算机上的串行口通讯软件,向串行口设备发送数据,观察数据传输的稳定性和可靠性。

4. 接收数据:同样通过串行口通讯软件,接收串行口设备发送的数据,检验数据接收的准确性和完整性。

实验结果:
经过一系列的实验操作,我们发现串行口数据传输的稳定性和可靠性较高。

在设置合适的参数后,数据传输过程中几乎没有出现丢失或错误的情况。

同时,数据的传输速度也较为稳定,符合预期的要求。

实验结论:
通过本次串行口实验,我们验证了串行口数据传输的可靠性和稳定性。

在实际应用中,可以通过合理设置串行口参数,确保数据的准确传输。

串行口技术在工业控制、通讯设备等领域有着广泛的应用前景,为数据传输提供了一种可靠的解决方案。

南邮通达学院《微型计算机接口技术》实验报告格式2015年秋

南邮通达学院《微型计算机接口技术》实验报告格式2015年秋

实验报告(2015--2016学年第 1 学期)课程名称微型计算机接口技术实验名称(1)流光发生器设计、(2)基于中断的字符串屏幕动态显示、(3)测试微机系统串行口实验时间2015 年12 月日指导单位物联网学院指导教师陆骥学生姓名韩胜远班级学号13001527 学院(系) 物联网学院专业网络安全实 验 报 告(一)实验名称 流光发生器设计 指导教师陆骥实验类型验证实验学时2实验时间 2015.12.一、 实验目的和要求目的:运用定时/计数器8254的知识,设计流光发生器。

要求:在开放式微机实验装置上完成相应硬件电路连接;编写程序实现:8254的三个计数器输出不同周期的信号,控制发光二极管,达到流光效果。

二、实验环境(实验设备)PD-32开放式微型计算机教学实验装置 8254定时器/计数器模块 PC 系列机,Windows 操作系统汇编语言开发工具TASM5.0,上位机软件PD-BUG三、实验原理及内容8254有3个独立的16位计数器,每个计数器有3个引脚,GATE 、CLK 、OUT 。

每个计数器有6种工作方式,其中方式2、3有具有初值自动重装功能,所以可以选择计数器工作在方式3,输出的是连续信号,输出信号的周期T out =N ×T CLK,。

8254定时器/计数器模块可见实验书P89,数据线已经接至系统数据总线D 0~D 7,实验机上将地址总线的A 1、A 0引出接插口,可从其中的两个相邻的地址线A 2、A 3连至8254的A 0、A 1,用于片内端口选择。

A 5、A 6、A 7接3-8译码器模块,用于片选,8254的最高计数频率不能超过3M 、6M ,输入脉冲可选择47kHz 等。

利用PD-32实验台的8254计数器模块,控制实验台的发光二级管闪烁(点亮、熄灭、点亮、……),循环往复。

根据8254的特点,可设计以下两种方案:方案一:设置三个计数器初值一样,时钟频率接47KHz 、93KHz 、187KHz ,可达到流光效果。

实验七串行口通讯实验报告

实验七串行口通讯实验报告

实验七串行口通讯实验报告一、引言串行口通讯是一种常见的数据传输方式,通过串行口可以在计算机和其他设备之间实现数据的传输和通信。

本实验通过使用Arduino开发板,以及利用串行口通讯实现从计算机向Arduino开发板发送指令,控制LED 灯的亮灭。

二、实验目的1.了解串行口通讯的基本原理和工作方式;2.掌握Arduino上位机通讯程序的编写及与硬件的串行口通讯方法;3.通过串行口通讯实现计算机对Arduino开发板的远程控制。

三、实验设备和器材1. Arduino Uno板;2.计算机;B数据线;4.杜邦线;5.LED灯。

四、实验原理当计算机与Arduino开发板连接时,可以通过串行口通讯实现双方之间的数据传输。

串行口通讯使用两根信号线:一根发送线(TX),用于发送数据;一根接收线(RX),用于接收数据。

通讯的双方都必须发送和接收数据,因此需要双向数据传输,即双向通讯。

五、实验步骤1. 连接Arduino开发板和计算机,使用USB数据线将两者连接;2. 打开Arduino IDE开发环境,编写以下代码并上传到Arduino开发板:```c++int ledPin = 13;void setuSerial.begin(9600);pinMode(ledPin, OUTPUT);void looif (Serial.available( > 0) { // 如果串行口接收到数据digitalWrite(ledPin, HIGH);digitalWrite(ledPin, LOW);}}```3. 打开串行监视器(Serial Monitor),设置波特率为9600,并选择“无”作为换行符;4.在串行监视器中输入“1”,回车,LED灯将点亮;5.在串行监视器中输入“0”,回车,LED灯将熄灭;6.关闭串行监视器。

六、实验结果和分析在本实验中,通过串行口通讯实现了从计算机向Arduino开发板发送指令,控制LED灯的亮灭。

微机原理 实验报告 串行

微机原理 实验报告 串行

微机原理与接口技术实验实验六、串行接口实验学号U201413416姓名班级电信1406班一、实验目的理解RS232 串行通信协议以及接口设计理解SPI串行通信协议掌握RS232 串行接口设计掌握SPI串行接口设计掌握串行AD/DA 接口设计二、实验任务Nexey4开发板通过外接SPI AD模块,实现AD转换,并打印结果到console三、基本原理1.SPI IP核接口寄存器2. D/A转换接口时序逻辑框图四、硬件电路框图、模块设计1.硬件电路框图2.SPI IP核设计1) 在IP Catalog里面选择AXI SPI Interface2) 配置SPI核如下图所示:3) 删除SPISEL外部引脚,将其配置成net_vcc:4) 配置ucf引脚如下:3. 中断控制器设计1) 通过AXI Interrupt Controller添加中断控制器2) 在Intr添加spi中断3) 将此中断控制器改成axi4lite_0 的中断控制器4. 查看当前最小系统的引脚输出及硬件框图外部引脚地址Interrupt ViewInterface view5.生成Netlist 以及bitstream,导出到SDK点击project中的Export hardware design to SDK 五、软件实现步骤六、实验结果1. A0连接VCC2.A0连接GND七、心得体会本次实验给我的收获颇多,通过这次实验,我理解了SPI串行通信协议。

在写程序的过程中,首先需要很熟悉的了解SPI串口通信的过程,一步一步对SPI接口进行配置,否则实验无法成功。

我还使用了ADC数模转换器。

这次实验相对复杂,不管是在配置还是使用上,都比传统的GPIO外设难度大,所以能做成功这次实验是非常有收获的。

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

南邮通达微机系统串行口的测试实验报告
————————————————————————————————作者:————————————————————————————————日期:
实验报告
(2016 / 2017 学年第一学期)
课程名称微型计算机原理与接口技术
实验名称微机系统串行口的测试
实验时间2016 年11 月17 日指导单位南京邮电大学
指导教师许建
学生姓名班级学号
学院(系) 通信工程专业信息工程
实验报告
实验名称微机系统串行口的测试指导教师许建
实验类型综合实验学时2实验时间2016/11/17 一、实验目的和要求
学习串行接口8250的工作原理及编程和中断程序的设计,运用微机系统串行通信知识,进行微机系统串行口的测试。

预习相关知识点,给出设计方案和程序框图,提前编制源程序。

要求字符发送采用查询方式,字符的接收采用中断方式。

二、实验环境
PC,Windows系统,TPC-486EM_32位微机原理及接口技术实验系统
三、实验原理及内容
【实验3】编写程序对微机系统的串行口进行自发自收内环测试,从键盘键入发送数据,屏幕显示接收数据。

.586
DATA SEGMENT USE16
MESG DB ‘14110214CYB’
COUNT EQU $-MESG
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG: MOV AX,DATA
MOV DS,AX
CALL I8250
MOV BX,OFFSET MESG
MOV CX,COUNT SCANS: MOV DX,3FDH
IN AL,DX
TEST AL,20H
JZ SCANS
MOV DX,3F8H
MOV AL,[BX]
OUT DX,AL SCANR: MOV DX,3FDH
IN AL,DX
TEST AL,21H
JZ SCANR
MOV DL,AL
MOV AH,2
INT 21H
MOV DL,ODH
INT 21H
INC BX
LOOP SCANS
MOV AH,4CH
INT 21H
I8250 PROC
MOV DX,3FBH
MOV AL,80H
OUT DX,AL
MOV DX,3F9H
MOV AL,0
OUT DX,AL
MOV DX,3F8H
MOV AL,60H
OUT DX,AL
MOV DX,AL
MOV DX,3FCH
MOV AL,10H
OUT DX,AL
RET
I8250 ENDP
CODE ENDS
END BEG
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
通过这次,我学会了串行接口8250的工作原理及编程和中断程序的设计,再利用微机系统串行通信知识成功进行了微机系统串行口的测试。

书本知识与实践的结合使我体会更加深刻。

五、指导教师评分
成绩批阅人日期2016.12。

相关文档
最新文档