实验一 IO地址译码 实验报告

合集下载

北京邮电大学微机原理硬件实验报告

北京邮电大学微机原理硬件实验报告

北京邮电大学微机原理硬件实验报告实验报告一:I/0地址译码和简单并行接口——实验一&实验二一、实验目的掌握I/O地址译码电路的工作原理;掌握简单并行接口的工作原理及使用方法。

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

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

例如:执行下面两条指令MOV DX,2A0HOUT DX,AL(或IN AL,DX)Y4输出一个负脉冲,执行下面两条指令MOV DX,2A8HOUT DX,AL(或IN AL,DX)Y5输出一个负脉冲。

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

2、接线: Y4/IO地址接 CLK/D触发器Y5/IO地址接 CD/D触发器D/D触发器接 SD/D触发器接 +5VQ/D触发器接L7(LED灯)或逻辑笔b) 简单并行接口1、按下面图4-2-1简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。

74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。

2、编程从键盘输入一个字符或数字,将其ASCⅡ码经过这个输出接口输出,根据8个发光二极管发光情况验证正确性。

3、按下面图4-2-2简单并行输入接口电路图连接电路(74LS244插通用插座,74LS32用实验台上的“或门”)。

74LS244为八缓冲器,8个数据输入端分别接逻辑电平开关输出K0~K7,8个数据输出端分别接数据总线D0~D7。

4、用逻辑电平开关预置某个字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。

微机原理实验报告 8086最小系统构建和IO接口电路

微机原理实验报告 8086最小系统构建和IO接口电路

实验12:8086最小系统构建和I/O地址译码实验1、实验目的:(1)掌握I/O地址译码的工作原理和电路设计(2)掌握Proteus ISIS中电路原理图的模块化设计方法(3)绘制通用的8086最小系统电路图和I/O地址译码电路图供后续实验使用2、实验设备:安装有Proteus的PC一台3、实验过程:编写测试程序,对8086最小系统和I/O地址译码电路模块进行仿真测试。

(1)所绘制电路图如下面截屏所示:首先是8086最小系统电路图,如下:第二个是I/O地址译码子电路图,如下:实验电路图如下面所示:(2)实验仿真运行画面截图如下所示:(对所给程序稍微作了变动)(3)程序源代码如下所示:.model small.8086.stack.data.code.startupmov dx,1000hlp0:mov bx,0e001hlp1:mov al,blout dx,almov ah,1call delaycmp bl,0jz lp2rol bx,1jmp lp1lp2:mov ah,8call delayjmp lp0delay:mov cx,5000d: loop ddec ahjnz delayretend4、实验总结:(1)绘制实验电路图时主要问题包括标号的设置(如果未设置则会出现八个灯同时亮的情况),总线等的连接(注意对应接口相同,引脚线与总线的连接末端采用斜线)等。

(2)程序中,lp0中将点亮的模式传送给bx寄存器,可改变该值从而改变点亮的模式(如改为0e004h则变为有4个灯同时亮);Lp1中,将每个周期中灯与灯的时间间隔设为一个基本单位并存入了ah中,可改变该值以延长时间(如实验习题中);Lp2中,将不同周期直接的时间间隔设为8个时间单位并存放入ah中,与上一个值一起可以调控灯亮的持续时间和周期等。

(3)注意总线标号的输入为中为XD[0..15]而非XD[0,,15];另外注意合理安排位置以使电路图更加美观。

I-O译码实验

I-O译码实验
微型计算机接口技术
I/O译码实验
实验目的: 掌握I/O端口的译码方法
实验设备: 数字逻辑实验箱
2
实验内容
已知并行接口芯片8255A有4个端口,片选信号 CS 为低电平有效。 试用组合逻辑电路实现一个译码电路,使该芯片的4个端口地址为 218H~21BH。
已知数/模转换芯片0832的端口地址为228H~22FH,片选信号CS为 低电平有效。试用集成器件74LS138实现。
3
实验步骤及说明
根据实验要求设计电路 根据设计电路进行连线,可利用实验箱上的开关控
制输入地址,并用发光二极管观测实验结果
4
微型计算机

微原硬件北邮

微原硬件北邮

微原硬件实验报告班级:2010211101 班学号:102100班内序号:姓名:实验一I/O地址译码一.实验目的掌握I/O地址译码电路的工作原理二.实验内容当cpu执行I/O指令且地址哎280H~2BFH范围内,译码器选中,必有一根译码器输出负脉冲,利用这个负脉冲控制L7闪烁发光,时间间隔通过软件实现。

三.源程序代码i oport equ 00houtport1 equ ioport+2a0houtport2 equ ioport+2a8hcode segmentassume cs:codestart:mov dx,outport1out dx,al ;将al中的数值输出到地址为dx的端口call delaymov dx,outport2out dx,alcall delaymov ah,1int 16h ;16h为中断向量标号je start ;mov ah,4chint 21hdelay proc nearmov bx,200lll: mov cx,0ll: loop lldec bxjne lllretdelay endpcode endsend start四.实验收获和体会通过这次实验,我对I/O地址译码器的工作原理有了了解,对软件和硬件的配合操作有了初步认识。

实验二简单并行接口一.实验目的掌握简单并行接口的工作原理及使用方法二.实验原理及内容编程从键盘输入一个符号或者数字,将其ASCII码通过这个输出接口输出,根据八个发光二极管发光情况验证正确性。

三.程序流程图四.源程序代码ls273 equ 2a8hcode segment assume cs:code start: mov ah,2mov dl,0dhint 21hmov ah,1int 21hcmp al,27je exitmov dx,ls273out dx,aljmp start exit: mov ah,4chint 21hcode ends五.实验心得与体会该实验是第一次实验课和实验一一起做的,也比较简单,只是熟悉了一下并行接口的工作原理,用的的芯片业非常简单。

实验一IO的实验

实验一IO的实验

昆明理工大学信息工程与自动化学院学生实验报告(2011 —2012 学年第 2 学期)课程名称:嵌入式技术基础与实验开课实验室:信自楼234 2012 年 5 月 10 日年级、专业、班自动化092 学号姓名成绩实验项目名称I/O口的实验指导教师教师评语教师签名:年月日注:报告内容按实验须知中七点要求进行。

一、实验目的1.熟悉MCU的第一个汇编/C程序框架结构。

2.掌握I/O口的编程方法。

3.了解最小系统的测试方法。

4.模仿小灯驱动程序,编写I/O口的开关程序5.了解源程序工程中添加新模块的方法。

二、实验原理及基本技术路线图(方框原理图)AW60 MCU的I/O口有A、B、C、D、E、F、G等7个端口能接收外界开关量信号MCU处理,也能将MCU内部的信号输出给外部设备,显示数据或者控制对象。

I/O口的使用涉及方向寄存器、上拉允许寄存器和数据寄存器。

(1)方向寄存器决定该口的引脚时输入还是输出。

(2)接收或发送信息的缓冲有数据寄存器完成。

(3)接收信息的正确与上拉允许寄存器有关,是否设置寄存器取决于外部电路。

若外部电路有上拉电阻可以不需要,否则MCU内部一定需要设置。

引脚的接线如下图3-1图3-1 I/O口引脚的连接图三、所用仪器、材料(设备名称、型号、规格等)飞思卡尔试验箱四、实验方法、步骤1、资源使用用B口的0号引脚连接小灯,用B口的1号引脚连接开关,开关通过MCU控制小灯,开关向上拨,小灯亮,开关向下拨,小灯暗,放在主循环中,则形成开关随时开,小灯随亮的效果。

2、硬件设计先阅读源程序,查看相应的端口的宏定义,再根据端口号来接线。

3、软件设计(主要的程序流程图)开关驱动程序流程图:4、编程(关键性程序段)用开关控制小灯亮暗主程序:#include "Includes.h" //在此添加全局变量定义void main(void){//1 关总中断DisableInterrupt(); //禁止总中断//2 芯片初始化MCUInit();//3初始化//3.1指示灯初始化Light_Init(Light_Run_PORT,Light_Run,Light_OFF);//3.2开关初始化Key_Init(Key_PORT,Key_Pin);//4 主循环while (1){i f(Get_Key_State(Key_PORT,Key_Pin)==Key_ON){Light_Control(Light_Run_PORT,Light_Run,Light_ON);}elseLight_Control(Light_Run_PORT,Light_Run,Light_OFF);}}2)指示灯驱动程序代码://-------------------------------------------------------------------------*// 文件名: Light.h// 说明: 指示灯驱动程序头文件//-------------------------------------------------------------------------*#ifndef Light_H //防止重复定义#define Light_H//1 头文件#include "GPIO.h" //包含GPIO头文件//2 灯控制宏定义//2.1 灯控制引脚定义#define Light_Run_PORT PORT_B //运行指示灯使用的端口#define Light_Run 7 //运行指示灯使用的引脚//2.2 灯状态宏定义#define Light_OFF 1 //灯亮(对应低电平)#define Light_ON 0 //灯暗(对应高电平)//3 灯控制相关函数声明//-----------------------------------------------------------------------*//函数名: Light_Init *//功能: 初始化指示灯状态* //参数: port:端口名* // name:指定端口引脚号*// state:初始状态,1=高电平,0=低电平*//返回: 无* //说明: 调用GPIO_Init函数* //-----------------------------------------------------------------------*void Light_Init(uint8 port,uint8 name,uint8 state);//-----------------------------------------------------------------------*//函数名: Light_Control *//功能: 控制灯的亮和暗* //参数: port:端口名*// name:指定端口引脚号* // state:状态,1=高电平,0=低电平*//返回: 无* //说明: 调用GPIO_Set函数* //-----------------------------------------------------------------------*void Light_Control(uint8 port,uint8 name,uint8 state);//-----------------------------------------------------------------------*//函数名: Light_Change *//功能: 状态切换:原来"暗",则变"亮";原来"亮",则变"暗" *//参数: port:端口名*// name:指定端口引脚号* //返回: 无* //说明: 调用GPIO_Get、GPIO_Set函数* //-----------------------------------------------------------------------*void Light_Change(uint8 port,uint8 name);#endif3)指示开关驱动程序代码://-------------------------------------------------------------------------*// 文件名: Key.h (指示开关驱动程序头文件) *//-------------------------------------------------------------------------*#ifndef Key_H //防止重复定义#define Key_H//1 头文件#include "GPIO.h" //包含GPIO头文件//2 开关控制//2.1 开关控制引脚定义#define Key_PORT PORT_A //B口#define Key_Pin 7 //引脚//2.2 开关状态宏定义#define Key_ON 0 //开关连通(对应低电平)#define Key_OFF 1 //开关断开(对应高电平)//2.3 开关控制相关函数声明//---------------------------------------------------------------------*//函数名: Key_Init *//功能: 初始化指示开关*//参数: port:端口名; *// name:指定端口引脚号; *//返回: 无*//---------------------------------------------------------------------*void Key_Init(uint8 port,uint8 name);//---------------------------------------------------------------------*//函数名: Get_Key_State *//功能: 获取开关的状态(断开还是连通) *//参数: port:端口名; *// name:指定端口引脚号; *//返回: 无*//---------------------------------------------------------------------*uint8 Get_Key_State(uint8 port,uint8 name);#endif五、实验过程原始记录(数据、图表、计算等)六、实验结果、分析和结论(误差分析与数据处理、成果总结等。

地址译码实验报告

地址译码实验报告

地址译码实验报告一、实验目的:1. 熟悉MCS-51的地址空间2. 掌握MCS-51外部程序空间的访问3. 掌握MCS-51外部数据空间的访问二、 实验内容:利用A2区的A0-A15,B_RD ,B_WR 和A3区的74LS138设计译码电路,并用示波器观测选通脉冲并测量宽度。

1.利用MOVX 指令,产生地址为2003H 的外部数据空间地址选通信号,并用示波器观测。

(需要读写控制信号参与)。

三、实验原理与要求1.原理在51单片机中,如需进行系统扩展,所需的16条地址线分别由P2和P0口提供,8条数据信号线由P0口提供。

P0口是地址/数据复用总线,分时传送低8位地址和数据,由地址锁存允许信号ALE 控制地址传送,外部程序存储器读选通信号PSEN ___________控制它的数据传送。

2.要求利用A2区的A0-A15,B_RD ,B_WR 和A3区的74LS138设计译码电路,并用示波器观测选通脉冲并测量宽度。

利用MOVX 指令,产生地址为2003H 的外部数据空间地址选通信号(需要读写控制信号参与)。

四、实验流程图五、 实验原理图六、实验代码用MOVX访问外部数据存储器(1)读取操作ORG 0000HLJMP MAINORG 0100HMAIN:MOV DPTR, #2003HMOVX A, @DPTRSJMP MAINEND(2)写入操作:ORG 0000HLJMP MAINORG 0100HMAIN:MOV A,#45HMOV DPTR, #2003HMOVX @DPTR,ASJMP MAINEND七、实验修改1.实验之前误以为单片机P0口已经经过锁存器锁存后引出,所以在实验原理图中并未画出74LS373,修改后的原理图见图1(图中用74HC573作为锁存器,实际中应是74LS373)。

图1.修改后的原理图a2.实验之前对实验要求中所说的“需要读写控制信号参与”并不十分理解,后来才知道是要将“读”或“写”引入三八译码器选通端用来选通,修改后的电路图中加入了这一要求,相应的就要保持译码器输入端信号不变,所以将P2口的输出引入A0、A1、A2(原理图中对应于A、B、C),见图2。

地址译码实验报告 2

地址译码实验报告 2

地址译码实验报告实验原理:1.地址总线(Address Bus —AB ) 地址线A0~A15 (16位) P2口提供高8位地址A8~A15P0口经地址锁存器提供低8位地址A0~A7 。

片外存储器可寻址范围达64KB (即=65536个字节)地址总线的驱动; 传送的是地址; 单向;2.地址总线驱动常用器件 ①缓冲器/驱动器②锁存器:如573,373等 电平触发的锁存器单向缓冲器处理器地址总线74LS244Y 0Y 1Y 2Y 3Y 4Y 5Y 6Y 7A 0A 1A 2A 3A 4A 5A 6A 7G G21416181715131186435791219211CPU地址总线外设地址线ENBENBENBD EQD EQD EQ…D 0D 1D 7Q 0Q 1Q 7LE OE74HC5733.地址总线数据总线和地址总线的分离:DP51-PROC 的总线扩展:8051单片机存储器地址空间:锁存器处理器地址/数据总线ALE地址总线数据总线外部程序存储器读周期:外部数据存储器扩展:外部数据存储器写周期:74LS138(3~8译码器):74LS138译码器真值表:实验要求:1、利用A2区的A0-A15,B_RD,B_WR和A3区的74LS138设计译码电路,并用示波器观测选通脉冲并测量宽度。

2、利用MOVX指令,产生地址为2003H的外部数据空间地址选通信号(需要读写控制信号参与)流程图:程序代码:ORG 0000HLJMP MAINORG 0100HMAIN:MOV P2,#02H;MOV R0,#0F3HMOV A,@R0SJMP MAINEND电原理图:将74LS138的ABC口分别接2003H地址中有效的P2.5,P0.0,P0.1口,我们观察的是Y7口的输出。

实验结果与分析:在Y7口用示波器测得一个有效电平为542.52ns,输出波形的频率为131.6kHZ。

而Read信号口的输出也为540ns。

微机原理-地址译码实验-实验报告

微机原理-地址译码实验-实验报告

地址译码实验实验目的:理解并掌握MCS-51的数据总线和地址总线原理,外部数据空间及外部地址空间的访问,并对指令时序进行观测和计算。

实验内容:1.利用A0-A15,/WR 、/RD和74LS138设计译码电路。

并用MOVX指令,产生地址为2005H的外部数据空间地址选通信号(需要读、写信号参与译码电路控制端)。

2.用示波器分别观测选通脉冲ALE、读写信号/WR 、/RD、译码电路输出并测量宽度,画出MOVX指令周期时序图。

3.实验原理:1.MCS-51地址总线特点:1)地址线A0~A15 (16位)2)P2口提供高8位地址A8~A153)P0口经地址锁存器提供低8位地址A0~A7 。

4)片外存储器可寻址范围达64KB(即=65536个字节)5)传送地址6)单向2.数据总线和地址总线通过锁存器分离开来,经过锁存器的为地址总线。

3.多片外部数据存储器的扩展方法:1)线选法:单根高位地址线直接接在存储器的/CE端。

连接简单,不必附加电路,但不能提供全部64K地址空间且扩展地址不连续,且有地址重叠区。

2)译码法:附加译码电路,能提供全部64K地址空间且扩展地址连续。

4.访问片外扩展RAM指令所需时钟计算公式:MOV @DPTRwrite(写操作):5*N+2read(读操作):5*N+1实验流程图:实验代码:ORG 0000HLJMP MAINORG 0100H MAIN: MOV DPTR,#2005HMOVX A,@DPTRMOVX @DPTR,ASJMP MAINEND示波器波形WR使能时:ALE和WRALE和Y1RD使能时:ALE和RDALE和Y1WR使能时的ALE、Y1、WR、RD波形汇总(RD使能时Y1和RD几乎相同):有写操作,导致ALE触发了2次。

2010211122班+李济汉+10210737+21号+微机原理硬件实验报告

2010211122班+李济汉+10210737+21号+微机原理硬件实验报告

2012年微机原理硬件实验报告学院:信息与通信工程学院班级:2010211122姓名:李济汉学号:10210737班内序号:21目录实验一 I/O地址译码实验二简单并行接口 (4)一、实验目的 (4)二、实验内容及原理 (4)三、硬件接线图与软件流程图 (5)四、实验代码 (7)五、实验结果 (9)六、问题分析 (10)七、实验总结与心得体会 (10)实验三可编程并行接口8255 实验四七段数码管实验五键盘显示控制实验 (11)一、实验目的 (11)二、实验内容及原理 (11)三、硬件接线图与软件流程图 (14)四、实验代码 (17)五、实验结果 (24)六、问题分析 (24)七、实验总结与心得体会 (25)实验八可编程定时器/计数器(8253/8254) (26)一、实验目的 (26)二、实验内容及原理 (26)三、硬件接线图与软件流程图 (27)四、实验代码 (29)五、实验结果 (40)六、问题分析 (40)七、思考题 (41)八、实验总结与心得体会 (41)实验十六串行通讯8251 (42)一、实验目的 (42)二、实验内容及原理 (42)三、硬件接线图与软件流程图 (43)四、实验代码 (46)五、实验结果 (51)六、问题分析 (51)七、思考题 (52)八、实验总结与心得体会 (52)实验一:I/O 地址译码 实验二:简单并行接口一、实验目的1、掌握I/O 地址译码电路的工作原理。

2、掌握简单并行接口的工作原理及使用方法。

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

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

接口实验一IO口输入、输出实验

接口实验一IO口输入、输出实验

接口实验一IO口输入、输出实验贵州大学实验报告纸实验一 I/O 口输入、输出实验一、实验目的学习单板方式下扩展简单I/O 接口的方法。

学习微处理器的编程技术。

二、实验内容数据口扩展74LS244输入数据,数据口扩展74LS273输出数据。

输入端接八位逻辑电平输出,输出端接八位逻辑电平显示,编写一个程序,读入开关状态并输出显示。

三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。

四、实验说明和电路原理图1、74LS244介绍:74LS244是三态输出的八缓冲器,由2组、每组四路输入、输出构成。

每组有一个控制端,由控制端的高或低电平决定该组数据被接通还是断开。

74LS244的引脚如图1-1A 所示。

图1-1A 74LS244 图1-1B 74LS2732、74LS273介绍:74LS273是八D 型触发器,带清除端。

本实验用74LS273输出数据,通过片选信号和写信号将数据总线上的值锁存在74LS273中,同时在74LS273的输出端口输出数据,当数据总线上的值撤消以后,由于74LS273能锁存信号,74LS273的输出端保持不变,直到有新的数据被锁存。

74LS273的引脚如图1-1B 所示。

图1-2 74LS244扩展输入电路本实验需要用到CPU模块(F3区)、八位逻辑电平输出模块(E4区)、八位逻辑电平显示模块(B5区)、扩展输入模块(F2区)、扩展输出模块(F1区)。

扩展输入电路原理图参见图1-2,扩展输出电路原理图参见图1-4,八位逻辑电平输出电路原理图参见图1-3,八位逻辑电平显示电路原理图参见图1-5。

图1-3 八位逻辑电平输出图1-4 74LS273扩展输出电路图1-5 八位逻辑电平显示五、实验程序1、实验修改后程序:;//************************************************************ **** ;文件名: In_Out for 8088;功能: I/O口输入、输出实验;接线: 用8位数据线连接八位逻辑电平输出模块的JD1E到扩展输入模块的JD2C;; 八位逻辑电平显示模块的JD4B到扩展输出模块的JD1C;; 用导线连接CPU模块的8000H到扩展输入模块的CS_244;; 8100H到扩展输出模块的CS_273。

实验一IO口控制实验

实验一IO口控制实验

实验一I/O口控制实验1.实验目的①掌握基本IO输入输出操作指令;②熟练运用keil环境对硬件接口进行调试。

2.预习要求①理解51单片机内部I/O接口的结构和功能,了解P0、P1、P2、P3口做为普通I/O接口时的应用特性。

②理解软件延时程序的设计方法,延时时间估算和精确计算方法;③认真预习本节实验内容,设计出实验的硬件连接,编写实验程序。

3.实验条件①基于51单片机的开发板或实验开发箱。

②PC微机一台。

③Keil uVision2软件开发环境。

4.基础型实验①在Keil环境运行如下程序,系统使用12MHz晶振,粗略计算此程序的执行时间为多少?ORG 0000HDelay: MOV R6,#0Dloop1: MOV R7, #0DLoop0: DJNZ R6,Dloop0DJNZ R7,Dloop1RET②8位逻辑电平显示的接口电路设计如图1-1所示,用P1口做输出口,接八个LED。

程序功能使发光二极管从右到左轮流循环点亮。

在Keil环境运行该程序,观察发光二极管显示情况。

图1-1 8位逻辑电平显示接口电路ORG 0LOOP: MOV A, #0FEHMOV R2,#8OUTPUT: MOV P1,ARL AACALL DELAYDJNZ R2,OUTPUTLJMP LOOPDELAY: MOV R6,#0MOV R7,#0DELAYLOOP: DJNZ R6,DELAYLOOP ;延时程序DJNZ R7,DELAYLOOPRETEND③8位拨动开关的接口电路设计如图1-3所示,P2口接收拨码开关的输入值,结合上面的8位八位逻辑电平显示接口电路,进行I/O输入输出实验。

在Keil环境运行该程序,使用单步、断点、连续运行调试程序,查看结果。

图1-3 拨码开关接口电路ORG 0000HLL: MOV P2,#0FFH NOP MOV A, P2NOPMOV P1,ALJMP LL END④ 双色LED 分有共阴、共阳两种封装形式,提供三个引脚,其中一个为公共端,两个为显示控制端。

微机原理课程IO地址译码设计报告

微机原理课程IO地址译码设计报告

郑州科技学院微机原理与接口技术课程设计任务书专业计算机科学与技术班级计科一班学号201215017 姓名夏飞一、设计题目I/O地址译码二、设计任务与要求1、掌握I/O地址译码电路的工作原理。

2、实现走马灯产生8种彩灯(8位LED)的走马灯花样。

3、通过走马灯的设计与制作,深入了解与掌握利用可编程8255A。

三、参考文献(不少于5个)[1] 《微机原理与接口技术》,梁建武,中国水利水电出版社,2010;[2] 《微机原理与接口技术》,雷丽文,北京:电子工业出版社1997;[3] 《微机原理及应用》,周明德,北京:清华大学出版社,1998;[4] 《微机原理与接口技术》,倪继烈,电子科技大学出版社,2004;[5] 雷丽文《微机原理与接口技术》[M] 电子工业出版社,1997.2四、设计时间2015 年12 月5 日至2015 年1 月11 日指导教师签名:2015年 1 月 5日郑州科技学院《微机原理与接口技术》课程设计题目I/O地址译码学生姓名院(系)目录1 引言 (1)2 方案讨论 (3)2.1 方案1 (3)2.2 方案2 (4)2.3 方案3 (5)2.4 个人设计方案 (5)3 设计原理及功能 (7)3.1 设计原理应用芯片8255A介绍 (7)3.2 硬件电路设计 (7)3.2.1 硬件连线 (8)3.3软件电路设计 (10)4 测试与结果测试 (11)4.1 硬件检测 (11)4.2 调试运行 (11)4.3 实验现象与说明 (11)4.4 结果与分析 (11)5 总结 (12)参考文献 (14)附录1 (15)附录2 (16)1 引言经过了为期一周的紧张实训,我和我的搭档完成了微机原理实训的实验电路的搭载与调试。

与此同时开始完成本次课程设计的内容。

我的课程设计的题目的内容比较简单。

目的是掌握I/O 地址译码电路的工作原理,并在此基础上通过8255控制8位单色灯的开关状态,达到以下目的:产生8种彩灯(8位LED)的走马灯花样;通过设计调试较为复杂的汇编语言程序进一步熟练常用会变语言程序设计技术;掌握数码转码换类程序设计的基本方法。

微机实验报告

微机实验报告

实验一I/O地址译码与交通灯控制实验一、实验目的1、掌握并行接口8253的基本原理2、掌握8253的编程方法二、实验内容如图所示,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通变化规律燃灭。

三、编程分析1、8255地址分析:控制寄存器地址: 0C40BHA口地址: 04C408HC口地址: 04C40AH2、十字路口交通灯的变化规律要求(1)南北路口的绿灯、东西路口的红灯同时亮三秒;(2)南北路口的黄灯闪烁三次,同时东西路口的红灯继续亮;(3)南北路口的红灯、东西路口的绿灯同时亮三秒;(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁三次;(5)转(1)重复。

3、C口置数分析由于发光二极管是共阴极相连,所以若要其发亮应给高电平;黄灯闪烁是让其不断交替亮灭来实现;同时分析可知只要有绿灯亮,灯就会持续亮三秒,黄灯亮就会闪烁三次。

4、程序设计流程图四、汇编语言程序STACK1 SEGMENT STACKDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK1 DY PROC NEARPUSH CXMOV AX, 0FFFFH ;延时程序MOV CX, 02FFFHL0:DEC AXJNZ L0LOOP L0POP CXPOP AXRETDY ENDPSTART: MOV DX, 0C40BHMOV AL, BOUT DX, ALMOV DX, 0C40AHMOV BL, 6H ;设置延迟3秒L1:MOV AL, 00100100B ;南北绿灯亮,东西红灯亮OUT DX, ALCALL DY ;调用延迟子程序DEC BLJNZ L1MOV BL, 4H ;设置第二次闪烁3次L2:MOV DX, 0C40AHMOV AL, 01000100B ; 南北黄灯亮,东西红灯亮OUT DX, ALCALL DYMOV AL, 00000100B ;南北黄灯灭,东西红灯亮,实现要求闪的功能 OUT DX,ALCALL DYJNZ L2MOV BL,6H ;第三次设置亮灭时间为3秒L3:MOV AL,B ; 南北黄灯亮,东西红灯亮OUT DX,ALCALL DYDEC BLJNZ L3MOV BL,4HL4:MOV AL,B ;南北红灯亮,东西黄灯亮OUT DX,ALCALL DYMOV AL,B ;南北红灯亮,东西黄灯灭,实现闪的功能OUT DX,ALCALL DYDEC BLJNZ L4MOV DL,0FFH ;判断是否有键按下,结束程序 MOV AH,06HINT 21HJZ START ;没有键按下,进入下一次循环 MOV AH,4CHINT 21HCODE ENDSEND START五、实验现象:红黄绿灯变化规律如下:南北路口的绿灯、东西路口的红灯同时亮3秒左右;南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮;南北路口的红灯、东西路口的绿灯同时亮3秒左右;南北路口的红灯继续亮,同时东西路口的黄灯闪烁若干次;依次重复。

IO端口地址译码技术

IO端口地址译码技术

4.3 I/o端地址译码
CPU为了对端口进行读写操作,就需要确定与自己交 为了对端口进行读写操作, 为了对端口进行读写操作 换信息的端口, 换信息的端口,那么是通过什么媒介把来自地址总线 上的地址代码翻译成为所需要访问的端口的, 上的地址代码翻译成为所需要访问的端口的,这是地 址译码问题,这介“ 就是I/O地址译码电路。 地址译码电路。 址译码问题,这介“媒介 ”就是 地址译码电路 一、I/O地址译码电路工作原理及作用 地址译码电路工作原理及作用
4.1 I/o端口及其编址方式
三、独立编址方式的端口访问 I/O指令有: 指令有: 指令有 1. IN 输入 2. OUT 输出 IN 输入指令 长格式为: 字节操作) 长格式为: IN AL,PORT (字节操作) IN AX,PORT (字操作) 字操作) 执行的操作为: 字节操作) 执行的操作为:(AL)<—(PORT) (字节操作) (AX)<—(PORT+1,PORT) (字操作) 字操作) , 注意长格式适用于端口地址范围为( 注意长格式适用于端口地址范围为(00H~0FFH)时 )
I/O端口地址译码技术 端口地址译码技术
教学重点
I/o端口及其编址方式 I/o端口及其编址方式 I/o端口地址译码 端口地址译码
4.1 I/o端口及其编址方式
端口和I/o操作 一、I/o端口和 端口和 操作 1、 I/o端口 、 端口 端口( 是接口电路中能被cpu直接访问的寄存器的 端口(port)是接口电路中能被 是接口电路中能被 直接访问的寄存器的 地址。 地址 。 Cpu通过这些地址即端口向接口电路中的寄存 通过这些地址即端口向接口电路中的寄存 器发送命令,读取状态和传送数据, 器发送命令,读取状态和传送数据,一个接口中可以 有几个端口,如命令端口、状态端口、数据端口。 有几个端口,如命令端口、状态端口、数据端口。对 端口的操作有三种类型: 只能读不能写 只能写不 端口的操作有三种类型:a.只能读不能写 b.只能写不 能读 c.可读可写 可读可写

实验一 IO地址译码报告

实验一 IO地址译码报告

实验一I/O地址译码一、实验目的掌握I/O地址译码电路的工作原理。

二、实验原理和内容实验电路如图1-1所示,图中线路两端有节点的信号线需要用户用实验导线连接起来,其中74LS74为D触发器,可直接使用实验台上部系统板上的D触发器。

74LS138为地址译码器。

译码输出端Y0-Y7在实验台中间系统板上引出,每个输出端包含8个地址,即:Y0:280H~287H;Y4:2A0H~2A7H;Y1:288H~28FH; Y5:2A8H~2AFH;Y2:290H~297H; Y6:2B0H~2B7H;Y3:298H~29FH; Y7:2B8H~2BFH;图1-1 I/O地址译码电路图当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

例如:执行下面两条指令,对应的译码输出脚输出一个负脉冲。

MOV DX, PORT1OUT DX, AL(或IN AL, DX)执行下面两条指令,对应的译码输出脚输出一个负脉冲。

MOV DX, PORT2OUT DX, AL(或IN AL, DX)利用这个负脉冲控制发光二极管L0闪烁发光(灭亮循环),时间间隔通过软件延时实现。

注意:命令中的端口地址PORT1、PORT2是根据DVCC卡的I/O基址再加上偏移量计算出来的,不同的微机DVCC卡的I/O 基址可能不同,需要事先查找出来。

计算公式如下:PORT1=查找出的DVCC卡的I/O基址+偏移量其中:偏移量=Y0~Y7中所选定的任意一个译码地址值-280H。

下面的程序用到L4,即2A0H。

假设DVCC卡的I/O基地址=0C400H,经计算PORT1=0C420H。

三、编程提示1.实验电路中D触发器的CLK端输入脉冲时,上升沿使Q端输出高电平,L0发光,CLK端加低电平L0灭。

2.由于DVCC卡使用PCI总线,所以分配的IO地址每台微机可能都不用,编程时需要了解当前的微机使用那段IO地址并进行处理。

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

信息学院
《汇编语言与接口技术》上机实验报告
学号:104100197 姓名:王飞班级:计科10C
课程名称:汇编语言与接口技术上机内容I/O地址译码
实验性质:□综合性实验□设计性实验■验证实验
实验时间: 2012年 5 月11 日实验地点:睿智4号102室实验设备TPC—2003A微机实验箱
实验报告:(包括目的、方法、原理、结果或实验小节等)。

一、实验目的
掌握I/O地址译码电路的工作原理。

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

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

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

三、实验中使用的程序
stack1 segment stack 'stack'
dw 32 dup(0)
stack1 ends
data segment
baseport equ 0ec00h-280h;实际基址
port1 equ baseport+2a0h;基址+偏移地址
port2 equ baseport+2a8h;基址+偏移地址
data ends
code segment
assume ss:stack1,ds:data,cs:code
start: mov ax,data
mov ds,ax
again: mov dx, port1
in al, dx
call delay ;调用延时程序
mov dx, port2
in al, dx
call delay
jmp again
delay proc
push bx
push cx
mov bx, 5000
wait2: mov cx,0
wait1: loop wait1
dec bx
jnz wait2
pop cx
pop bx
ret
delay endp;延时程序
mov ah, 4ch
int 21h
code ends
end start
四、实验小结
通过本次实验,基本掌握I/O地址译码电路的工作原理。

会写延时程序。

在实验中达到了预期灯泡一亮一灭的效果。

自己可以控制灯泡亮灭的速度。

任课教师评语:
教师签字:年月日注:每学期至少有一次设计性实验。

每学期结束请任课教师按时按量统一交到教学秘书处。

相关文档
最新文档