当前位置:文档之家› IO端口地址分配

IO端口地址分配

实验一 IO地址译码器实验

计算机科学系实验报告 课程名称微型计算机技术及应用实验班级 实验名称实验一 IO地址译码器指导教师 学生姓名学生学号 一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验设备 1.PC机一台 2.专用导线若干 3.TPC-H通用微机接口实验系统一台 4.MASM汇编及调试程序 三、实验原理和内容 实验电路如下图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,…… 当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。

利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。实验的流程图如下: 四、程序代码 code segment assume cs: code

start: mov dx,2a0h out dx,al call delay ;调延时子程序 mov dx,2a8h out dx,al call delay ;调延时子程序 mov ah,1 int 16h je start ;无键按下转start mov ah,4ch int 21h delay proc near ;延时子程序 mov bx,5 lll: mov cx,0 ll: loop ll dec bx jne lll ret delay endp code ends end start 五、实验现象 试验电路中D触发器CLK端输入脉冲时,上升沿使Q段输出高电平L7发光,CD端加低电平L7灭。本试验用74LS138的Y4端口控制CLK,用Y5端口控制CD。 通过循环改变74LS138的有效输出实现二极管的闪烁。 六、心得体会 虽然实验室里很多机子不能用,但是,先看别的同学做过后,自己再动手实验,效果就比较好一点。通过这次实验,我基本了解了微机接口实验系统和TCP-USB微机接口试验系统开发环境,对I/O地址译码的内容与工作原理有了深一步的理解,切实体会到了编写程序需要的细心耐烦,另外,设计电路时也可以采用多种方法,优化结构,提高效率。

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

信息学院 《汇编语言与接口技术》上机实验报告 学号: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地址译码电路的工作原理。会写延时程序。在实验中达到了预期灯泡一亮一灭的效果。自己可以控制灯泡亮灭的速度。 任课教师评语: 教师签字:年月日注:每学期至少有一次设计性实验。每学期结束请任课教师按时按量统一交到教学秘书处。

ATMEGA16的IO端口

第九课A Tmega16(L)的IO端口 本教程节选自周兴华老师《手把手教你学A VR单片机C程序设计》教程,如需转载,请注明出处!读者可通过当当网、淘宝网等网站购买本教程,如需购买配书实验器材,可登陆周兴华单片机培训中心网购部自助购买! ATmega16(L)单片机有32个通用I/O口,分为PA、PB、PC和PD四组,每组都是8位。这些I/O 口都可以通过各自的端口寄存器设置成输入和输出(即作为普通端口使用),有些I/O口还具有第二功能(我们在后面使用到这些第二功能时再介绍)。 ATmega16(L)单片机的I/O口在不考虑第二功能时,其基本输入输出功能都是相同的。如图7-1所示为ATmega16(L)单片机I/O口的结构图。每个端口对应3个寄存器,即方向寄存器DDRX(X=A、B、C、D)、端口寄存器PORTX(X=A、B、C、D)、输入引脚PINX(X=A、B、C、D),各个端口的工作状况都可以通过对DDRX、PORTX和PINX的操作来完成。所有的A VR单片机的I/O端口都具有读、写和修改功能。表7-1列出了A Tmega16(L)的I/O端口的组合控制设置。 ATmega16(L)单片机每一组I/O口的所有管脚都可以单独选择上拉电阻。引脚缓冲器可以吸收20mA 的电流,能够直接驱动LED显示。如果设置了弱上拉电阻,当管脚被拉低时,引脚会输出电流。1.DDRX DDRX为端口方向寄存器。当DDRX的某一位置1时相应引脚作为输出使用。反之,当DDRX的某一位置0时,对应的引脚单片机培训作为输入使用。 例如: DDRB=0xF0;//此语句将PB端口的PB0~PB3位设为输入,而PB4~PB7位设为输出。2.PORTX PORTX为端口数据寄存器。 如果引脚设为输出,则对PORTX进行写操作即改变引脚的输出值。

单片机IO口定义

单片机I/O口定义 I/O端口又称为I/O接口,也叫做I/O通道或I/O通道。I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,是一个过渡的集成电路,用于信息传送过程中的速度匹配和增强它的负载能力。I/O端口右串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次可以传送一组(8位)二进制信息。 并行I/O端口 8051有四个并行I/O端口,分别命名为P0、P1、P2和P3,在这四个并行I/O端口中,每个端口都有双向I/O功能。即CPU即可以从四个并行I/O端口中的任何一个输出数据,又可以从它们那里输入数据。每个I/O端口内部都有一个8位数据输出锁存器和一个8位数据输入缓冲器,四个数据输出锁存器和端口号P0、P1、P2和P3同名,皆为特殊功能寄存器SFR中的一个。因此,CPU数据从并行I/O端口输出时可以得到锁存,数据输入时可以得到缓冲。 四个并行I/O端口在结构上并不相同,因此它们在功能和用途上的差异较大。P0口和P2口内部均有一个受控制器控制的二选一选择电路,故它们除可以用作通用I/O口外,还具有特殊的功能。例如:P0可以输出片外存储器的低八位地址码和读写数据,P2口可以输出片外存储器的高八位地址码,等等。P1口常作为通用I/O口使用,为CPU传送用户数据;P3口除可以作为通用I/O口使用外,还具有第二功能。在四个并行I/O端口中,只有P0口是真正的双向I/O口,故它具有较大的负载能力,最多可以推动8个LSTTL门,其余3个

I/O口是准双向I/O口,只能推动4个LSTTL门。 四个并行I/O端口作为通用I/O使用时,共有写端口、读端口和读引脚三种操作方式,写端口实际上是输出数据,是把累加器A或其他寄存器中的数据传送到端口锁存器中,然后由端口自动从端口引脚线上输出。读端口不是真正的从外部输入数据,而是把端口锁存器中的输出数据读到CPU的累加器A中。读引脚才是真正的输入外部数据的操作,是从端口引脚线上读入外部的输入数据。端口的上述三种操作书架上是通过指令或程序来实现的。 串行I/O端口 8051有一个全双工的可编程串行I/O端口。这个串行I/O端口既可以在程序控制下把CPU中的8位并行数据编程串行数据逐行从发送数据线TXD发送出去,也可以把RXD线上串行接收到的数据变成8位并行数据送给CPU,而且这种串行发送和串行接收可以单独进行,也可以同时进行。 8051串行发送和串行接收利用了P3口的第二功能,即它利用P3.1引脚作为串行数据的发送线TDX和P3.0引脚作为串行数据的接收线RXD,串行口I/O口的电路结构还包括串行口控制寄存器SCON,电源及波特率选择寄存器PCON和串行数据缓冲器SBUF等,它们都属于SFR(特殊功能寄存器)。其中,PCON和SCON用于设置串行口工作方式和确定数据的发送和接收波特率,SBUF实际上有两个8位寄存器组成,一个工作方式和确定数据的发送和接收比特率,另一个用于存放接收到的数据,起着数据的缓冲作用。

IO端口复用的几种方式

IO端口复用 简介 I/O多路复用(multiplexing):本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作。 适用场景:高并发的服务器端。应对并发,常见的思维是创建多线程,每个线程管理一个并发操作,但是弊端很明显,就是多线程需要上下文切换,这个切换的消耗太大,当连接的客户端很多的时候弊端就很突出了。所示使用单线程的多路复用。 几种方式 1.s elect Linux提供的select相关函数接口如下: #include #include int select(int max_fd, fd_set *readset, fd_set *wri teset, fd_set *exceptset, struct timeval *timeout) FD_ZERO(int fd, fd_set* fds) /* 清空集合 */ FD_SET(int fd, fd_set* fds) /* 将给定的描述符加入集合 */ FD_ISSET(int fd, fd_set* fds) /* 将给定的描述符从文

件中删除 */ FD_CLR(int fd, fd_set* fds) /* 判断指定描述符是否 在集合中 */ 接口解释: 1:select函数的返回值就绪描述符的数目,超时时返回0,出错返回-1。 2:第一个参数max_fd指待测试的fd个数,它的值是待测试的最大文件描述符 加1,文件描述符从0开始到max_fd-1都将被测试。 3:中间三个参数readset、writeset和exceptset指定要让内核测试读、写和异 常条件的fd集合,如果不需要测试的可以设置为NULL。 代码演示: sockfd=socket(AF_INET,SOCK_STREAM,0); memset(&addr,0,sizeof(addr)); addr.sin_family=AF_INET; addr.sin_port=htons(2000); addr.sin_addr.s_addr=IN ADDR_ANY; bind(sockfd,(struct sockaddr*)&addr,sizeof(addr)); listen(sockfd,5); fd_set rset; int max = 0; int fds[5]; for(int i=0;i<5;i++) { memset(&client,O,sizeof(client); addrlen=sizeof(client); fds[i]=accept(sockfd,(struct sockaddr*) &client,&addrlen); if(fds[i]>max) max=fds[i]; } while(1)

微机原理( IO地址译码) 实验报告

本科学生实验报告 学号114090433 姓名李艳茹 学院物电学院专业、班级11应电 实验课程名称微机原理与接口技术实验 教师及职称罗永道(教授) 开课学期2013 至2014 学年上学期填报时间2013 年9 月10 日 云南师范大学教务处编印

一、实验预习 实验序号01 实验名称 I/O地址译码 实验时间2011年9月10日实验室微机原理与接口技术实验室 1.实验目的 掌握I/O地址译码电路的工作原理。 2.实验原理、实验流程或装置示意图 实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 图1-1 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

3.实验参考程序为: ;*******************************; ;* I/O地址译码 *; ;*******************************; outport1 equ2a0h outport2 equ2a8h code segment assume cs:code start: mov dx,outport1 out dx,al call delay ;调延时子程序 mov dx,outport2 out dx,al call delay ;调延时子程序 mov ah,1 int16h je start mov ah,4ch int21h delay proc near;延时子程序 mov bx,200 lll: mov cx,0 ll: loop ll dec bx jne lll ret delay endp code ends end start 4.实验设备及材料 电脑一台、微机原理与接口技术实验箱一个、导线若干、电源相应的模拟软件等。 5.实验方法步骤及注意事项 实验步骤: 1)学习理解实验的目的,明确做该实验的意义; 2)在检查好实验仪器后,按照实验原理图一连接好电路; 3)打开电源,在电脑上检测硬件是否连接;

io端口与中断

I/O端口基本知识 (2010-03-06 09:20:50) 转载 1.什么是I/O端口? CPU使用什么指令与外设进行数据交换? 答:CPU与I/O设备通过硬件接口或控制器相连接,这些接口或控制器都有数量不等的端口,这些端口有统一的地址编码,CPU通过这些端口使用输入输出指令IN、OUT与外设进行数据交换。 2.CPU为什么不能用MOV指令进行I/O数据传输? 答:在80x86微机系统中,I/O端口编址在一个独立的地址空间中,它和存储器是完全分离的。因此,对于存储器的存取操作使用MOV指令,而与端口进行信息交换的操作使用专门的I/O指令,二者不能混淆。 3.使用查询方式进行输入输出的优缺点是什么? 答:使用查询方式编程可直接在端口级上输入输出信息,数据的传送速度和吞吐量比较高,另外在控制多个设备的I/O时,可在程序中安排它们的优先级,最先查询的设备,其工作的优先级也最高。修改程序中的查询次序,实际上也就修改了设备的优先级,这样以最简便的方法实现了对设备优先级的控制。查询方式的缺点主要是在查询过程中,要反复的查询等待,浪费了CPU原本可执行大量指令的时间,而且由询问转向相应的处理程序的时间较长,尤其在设备比较多的情况下。 4.什么是中断? 答:计算机在执行程序过程中,遇到需要处理的事件时,暂停当前正在运行的程序,转去执行有关的服务程序,处理完后自动返回原程序,这个过程称为中断(interrupt)。中断在现代计算机系统中是一种非常重要的技术,输入输出设备和主机交换数据、分时操作、实时系统、多处理机系统、计算机网络和分布式计算机系统都要用到这种技术。 5.中断分为几类? 答:中断可分为内中断和外中断。内中断是由计算机内部原因引起的中断,内中断又称为软中断,它通常由三种情况引起: (1) 由中断指令INT引起;

PIC24FJ32的IO端口使用简介

NOTE1-PIC24FJ32GA004系列的IO端口使用简介介绍针对PIC24FJ32GA004或相同系列单片机IO端口使用。 1、IO寄存器 TRISx:方向寄存器 PORTx:端口寄存器 LATx:锁存寄存器 ODCx:漏极输出控制寄存器 2、寄存器使用 TRISx:控制端口输入输出属性。其中某位为1,引脚输入(input);为0,引脚输出(output)。 PORTx:读PORTX,是直接读引脚上的电平状态(见图)。 写PORTX,将数值写入引脚数据锁存器(见图)。 PIC单片机引脚操作模式为“读出--修改--写入”,使用PORTX操作引脚时应注意两点,一是在单片机初始化之后的运行中尽量不改变端口输入输出方向,容易出问题,二是IO端口避免链接容性负载,此种在高速操作IO端口时会出问题,比如输出快速变化的高低电平时,每次输出都会读取一次端口寄存器数值。 LATx:读LATX,得到保存在端口数据锁存器中的值(该值为写LATX或PORTX后所得)。 写LATx,讲数值写入引脚数据锁存器,与写PORTX效果相同。 通过LATX操作端口IO,可避免上述因“读出--修改--写入”模式造成的问题。 ODCx:将引脚的相应位置1可配置引脚为漏极开路输出。

3、IO端口使用原则 (1)端口用作出入,需要直接读取外部引脚上的电平状态,使用PORTX寄存器:int V ALUE=PORTA; (2)端口用作输出,输出高低电平,驱动芯片等使用LATX寄存器: LATA=0XFFEE; 4、IO端口使用的位操作 可以使用P24FJ32GA004.h中定义的位操作宏定义对单片机的IO端口以及其他众多单片机寄存器进行位操作。 如:_LATB0=1; RB0输出高电平 以端口B为例,针对PIC24F系列的位操作被定义如下形式: /* TRISB */ #define _TRISB0 TRISBbits.TRISB0 #define _TRISB1 TRISBbits.TRISB1 …… #define _TRISB15 TRISBbits.TRISB15 /* PORTB */ #define _RB0 PORTBbits.RB0 #define _RB1 PORTBbits.RB1 …… #define _RB15 PORTBbits.RB15 /* LATB */ #define _LATB0 https://www.doczj.com/doc/6315614884.html,TB0 #define _LATB1 https://www.doczj.com/doc/6315614884.html,TB1 …… #define _LATB15 https://www.doczj.com/doc/6315614884.html,TB15 /* ODCB */ #define _ODB0 ODCBbits.ODB0

IO地址译码

物理与电子科学系实验报告 课程名称 微机原理与接口技术 实验班级 B13电子班 实验名称 I/O 地址译码 学生姓名 学生学号 一、实验目的 掌握I/O 地址译码电路的工作原理。 二、实验内容 实验电路如图1-1所示,图中线路两端有节点的信号线需要用户用实验导线连接起来,其中74LS74为D 触发器,可直接使用实验台上部系统板上的D 触发器。74LS138为地址译码器。译码输出端Y0-Y7在实验台中间系统板上引出,每个输出端包含8个地址,即: Y0:280H ~287H ; Y4:2A0H ~2A7H; Y1:288H ~28FH; Y 5:2A8H ~2AFH; Y2:290H ~297H; Y 6:2B0H ~2B7H; Y3:298H ~29FH; Y 7:2B8H ~2BFH; G16 G2A 45 G2B Y4Y5Y6Y7 111097A 1B 23C Y0Y1Y2Y315141312 Y4Y5Y6Y7 Y0Y1Y2 Y3CLK 1Q 6 D 2PRE 4 Q 5CLK 3+5V GND VCC A3 A4A5 8 L0 SN7474 SN74LS138 U14A U18U17SN74LS30 U16D SN74LS00 U16C SN74LS00 U16B SN74LS00 U16A SN74LS00 11 8 6 3 12345678 1213 9 10 4 512 A6A7 A8A9 AEN IOR IOW 图1-1 I/O 地址译码电路图 例如:执行下面两条程序 MOV DX, 2AOH OUT DX, AL Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL Y5输出一个负脉冲。 计算出的地址=查找出的PCI 卡的基址+偏移量

IO口结构详解

1.什么是源型、漏型?什么是上拉电阻?下拉电阻?什 么是线驱动输出、集电极开路输出、推挽式输出? 我们先来说说集电极开路输出的结构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极c跟发射极e之间相当于断开),所以5v电源通过1k电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。 我们将图1简化成图2的样子。图2中的开关受软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。 再看图三。图三中那个1k的电阻即是上拉电阻。如果开关闭合,则有电流从1k电阻及开关上流过,但由于开关闭和时电阻为0(方便我们的讨论,实际情况中开关电阻不为0,另外对于三极管还存在饱和压降),所以在开关上的电压为0,即输出电平为0。如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1k电阻上的压降也为0,所以输出端的电压就是5v了,这样就能输出高电平了。但是这个输出的内阻是比较大的(即1kω),如果接一个电阻为r的负载,通过分压计算,就可以算得最后的输出电压为5*r/(r+1000)伏,即5/(1+1000/r)伏。所以,如果要达到一定的电压的话,r就不能太小。如果r真的太小,而导致输出电压不够的话,那我们只有通过减小那个1k的上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合这些电流考虑来选择合适的上拉电阻。 如果我们将一个读数据用的输入端接在输出端,这样就是一个io口了(51的io口就是这样的结构,其中p0口内部不带上拉,而其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于p0口来说,就是高阻态了。 对于漏极开路(od)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,oc就变成了od,原理分析是一样的。

io地址译码

一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验原理和内容 实验电路如图1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D 触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 注意:命令中的端口地址 D820、D82A 是根据PCI卡的基址再加上偏移量计算出来的,不同的微机器PCI卡的基址可能不同,需要事先查找出来。 计算公式如下:计算出的地址查找出的PCI卡的基址+偏移量;(其中:偏移量 =2A0H - 280H或 2A8H –A80H) 图1 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。 三、编程提示 1、实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,CD端加低电平L7灭。 2、由于TPC卡使用PCI总线,所以分配的IO地址每台微机可能都不同,编程时需要了解当前的微机使用那段IO地址并进行设置,获取方法请参看汇编程序使用方法的介绍。(也可使用自动获取资源分配的程序取得中断号)。 四、实验代码 CODE SEGMENT ASSUME CS:CODE START: LOOP1: MOV CX,0FFFFH LP1:

MOV DX,2AOH IN AL,DX LOOP LP1 MOV CX,0FFFFH LP2: NOP LOOP LP2 MOV CX,0FFFFH LP3: MOV DX,2A8H IN AL,DX LOOP LP3 MOV CX,0FFFFH LP4: NOP LOOP LP4 MOV AH,0BH INT 21H CMP AL,0 JZ LOOP1 MOV AH,4CH INT 21H CODE ENDS END START 五、实验总结 通过实验,了解和掌握I/O地址译码电路的工作原理,熟悉汇编代码的编写。实验中,连接电路,利用代码控制实验电路,深对课本理论的理解。

S3C2410IO端口

第九章I/O端口 概述 S3C2410有117个多功能的输入输出引脚,这些端口是: — 端口A(GPA):23个输出口 — 端口B(GPB):11个输入输出口 — 端口C(GPC):16个输入输出口 — 端口D(GPD):16个输入输出口 — 端口E(GPE):16个输入输出口 — 端口F(GPF):8个输入输出口 — 端口G(GPG):16个输入输出口 — 端口H(GPH):11个输入输出口 每个端口可以根据系统配置和设计需求通过软件配置成相应的功能。在启动主程序之前,必须定义好每个引脚的功能。如果某个引脚不用作复用功能,则可以将它配置成IO脚。 初始的引脚状态被无缝配置好的以避免产生问题。 表1 端口配置见英文版Table 9-1. S3C2410A Port Configuration 端口控制描述 端口控制寄存器(GPACON-BGHCON) 在S3C2410中,大部分端口都是复用的,因此需要决定每个引脚使用哪个功能。端口控制寄存器PnCON决定每个引脚的功能。 如果GPF0 – GPF7 and GPG0 – GPG7用于掉电模式的唤醒信号,这些端口必须被配置成中断模式。 端口数据寄存器(GPADAT-GPHDAT) 如果端口被配置成输出端口,可以向PnDAT中的相关位写入数据;如果端口被配置成输入端口,可以从PnDAT中的相关位读入数据。 端口上拉电阻寄存器(GPBUP-GPHUP) 端口上拉电阻寄存器控制每个端口组的上拉电阻的使能和禁止。当相关位为0,上拉电阻使能;当相关位为1,上拉电阻禁止; 当端口上拉电阻寄存器使能时,不管引脚选择什么功能(输入、输出、数据、外部中断等),上拉电阻都工作。 外部中断控制寄存器(EXTINTN) 24个外部中断可响应各种信号请求方式。EXTINTn寄存器可以配置如下信号请求方式:低电平触发、高电平触发、上升沿触发、下降沿触发、双边沿触发。 这8个外部中断引脚具有数字滤波器。(见EINTFLTn相关)

51单片机IO端口的四种输入输出模式

51单片机IO端口的四种输入输出模式(by wuleisly) 单片机I O口的使用对所有单片机玩家来说都是“家常便饭”,但是你真的了解I O 口吗?你真的能按你的需要配置I O口吗? 一、准双向口输出 准双向口输出类型可用作输出和输入功能而不需重新配置 口线输出状态。这是因为当口线 输出为1时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强, 可吸收相当大的电流。(准双向口有3个上拉晶体管适应不同的需要) 准双向口读外部状态前,要先锁存为…1?,才可读到外部正确的状态. 二、强推挽输出 推挽输出配置的下拉结构与开漏输出以及准双向口的下拉 结构相同,但当锁存器为1时提供持续的强上拉。推挽模式一般用于需要更大驱动电流的情况。 三、仅为输入(高阻) 输入口带有一个施密特触发输入以及一个干扰抑制电路。 四、开漏输出配置(若外加上拉电阻,也可读) 当口线锁存器为0时,开漏输出关闭所有上拉晶体管。当作为一个逻辑输出时,这种配置方式必须有外部上拉,一般通过电阻外接到V c c。如果外部有上拉电阻,开漏的I/O口还可读外部状态,即此时被配置为开漏模式的I/O口还可作为输入I/O口。这种方式的下拉与准双向口相同。 开漏端口带有一个施密特触发输入以及一个干扰抑制电路。 关于I/O口应用注意事项: 1.有些是I/O口由低变高读外部状态时,读不对,实际没有损坏,软件处理一下即可。 因为1T的8051单片机速度太快了,软件执行由低变高指令后立即读外部状态,此时由于实际输出还没有变高,就有可能读不

对,正确的方法是在软件设置由低变高后加1到2个空操作指令延时,再读就对了. 有些实际没有损坏,加上拉电阻就OK了 有些是外围接的是NP N三极管,没有加上拉电阻,其实基极串多 大电阻,I/O口就应该上拉多大的电阻,或者将该I/O口设置为强 推挽输出. 2.驱动L E D发光二极管没有加限流电阻,建议加1K以上的限流电阻,至少也要加470欧姆以上 做行列矩阵按键扫描电路时,实际工作时没有加限流电阻,实际工作时可能出现2个I/O口均输出为低,并且在按键按下时,短接在一起,我们知道一个C MOS电路的2个输出脚不应该直接短接在一起,按键扫描电路中,此时一个口为了读另外一个口的状态,必须先置高才能读另外一个口的状态,而8051单?片机的弱上 拉口在由0变为1时,会有2时 钟的强推挽高输出电流输出到另外一个输出为低的I/O口,就有 可能造成I/O口损坏.建议在其中的一侧加1K限流电阻,或者在 软件处理上,不要出现按键两端的I/O口同时为低. 一种典型三极管控制电路: 如果用弱上拉控制,建议加上拉电阻R1(3.3K~10K),如果不加上拉电阻R1(3. 3K~10K), 建议R2的值在15K以上,或用强推挽输出。 典型发光二极管控制电路:

IO地址译码

实验一I/O地址译码 一.实验内容: 1.实验电路如图所示。 74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。 译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 2.接线: Y4/IO地址接CLK/D触发器 Y5/IO地址接CD/D触发器 D/D触发器接SD/D角发器接+5V Q/D触发器接逻辑笔 二.实验目的:掌握I/O地址译码电路的工作原理 三.实验仪器: TPC-ZK实验系统中的IO地址、D触发器、逻辑笔模块 USB核心板 HQFC集成开发环境 四.实验总体思路: 实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,

CD端加低电平L7灭。例如:执行下面两条指令 MOV DX,2A0H OUT DX,AL(或IN AL,DX) Y4输出一个负脉冲,执行下面两条指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5输出一个负脉冲。 编写实验程序: CODES SEGMENT ASSUME CS:CODES START PROC NEAR MOV DX,2A0H OUT DX,AL CALL DELAY MOV DX,2A8H OUT DX,AL CALL DELAY JE START DELAY PROC NEAR MOV BX,200 LL:MOV CX,0 L:LOOP L DEC BX JNE LL RET DELAY ENDP 五.实验步骤: 1、将实验板安好,连接至电脑。 2、开启电源,运行HQPC,查找接口 3、点击USB接口存在,进入USB微机接口开发环境 4、输入程序,编译源程序 5、无误后调试、运行程序 六.实验结果: 程序正确运行后,灯L7闪烁发光(亮、灭、亮、灭……) 七.实验心得:(包含所遇到的问题及解决方法) 备注:所有文字一律采用小四,宋体。

I O地址译码(微机实验报告)

I/O地址译码 一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验原理和内容 实验电路如图1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D 触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。 注意:命令中的端口地址D820、D82A 是根据PCI卡的基址再加上偏移量计算出来的,不同的微机器PCI卡的基址可能不同,需要事先查找出来。 计算公式如下:计算出的地址查找出的PCI卡的基址+偏移量;(其中:偏移量=2A0H - 280H或2A8H –A80H) 图1 利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通

过软件延时实现。 三、编程提示 1、实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,CD端加低电平L7灭。 2、由于TPC卡使用PCI总线,所以分配的IO地址每台微机可能都不同,编程时需要了解当前的微机使用那段IO地址并进行设置,获取方法请参看汇编程序使用方法的介绍。(也可使用自动获取资源分配的程序取得中断号)。 四、实验代码 CODE SEGMENT ASSUME CS:CODE START: LOOP1: MOV CX,0FFFFH LP1: MOV DX,2AOH IN AL,DX LOOP LP1 MOV CX,0FFFFH LP2: NOP LOOP LP2 MOV CX,0FFFFH

1-IO端口介绍

I/O端口 英文缩写input/output 输入/输出,电脑上的所有插孔都可以叫I/O 端口。为了数据的传输的,CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。 一、I/0接口的概念 1、接口的分类 I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类: (1)I/O接口芯片 这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。 (2)I/O接口控制卡 有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。 按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。

2、接口的功能 由于计算机的外围设备品种繁多,有的是全电子式,有的是机电式的,因此,CPU在与I/O设备进行数据交换时存在以下问题: 速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。 时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传输数据,无法与CPU的时序取得统一。 信息格式不匹配:不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD 编码等。 信息类型不匹配:不同I/O设备采用的信号类型不同,有些是数字信号,而有些是模拟信号,因此所采用的处理方式也不同。 基于以上原因,CPU与外设之间的数据交换必须通过接口来完成,通常接口有以下一些功能: (1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输; (2)能够进行信息格式的转换,例如串行和并行的转换; (3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/模或模/数转换器等; (4)协调时序差异;

实验五 地址译码电路与IO接口

电工电子实验中心 实验报告 课程名称:计算机硬件技术基础 实验名称:地址译码电路与I/O接口姓名:学号: 评定成绩:审阅教师: 实验时间:2017.05.16 南京航空航天大学

1) 学习 3-8 译码器在接口电路中的应用。 2) 掌握地址译码电路的一般设计方法。 3) 理解输入输出接口的基本原理。 二、实验任务 用 74LS138 译码器设计地址译码电路,其 Y7 作为基本输入/输出单元的片选信号。参考实验电路如图 3-1-1 所示,功能及流程如下: 1) 读入 74LS245 输入的八位数据,在 74LS574 上输出,用八位 LED 显示开关状态。 2) 当有键按下,且读入的数字量为 1, 则八位 LED 从右向左依次循点 亮,否则重读数字量。 3) 再有键按下,且读入的数字量为 2, 则八位 LED 交替亮,否则重读 数字量。 4) 再有键按下返回。

图3-1-1 地址译码设计实验电原理框图 四、实验代码 IOY0 EQU 3000H ;片选IOY0对应的端口始地址Y7 EQU IOY0+0E0H ;译码电路输出Y7对应的端口地址DATA SEGMENT NUM DB 01H DATA ENDS STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV DX, Y7 ;读入开关量 IN AL, DX OUT DX, AL MOV AH, 1 ;判断是否有按键按下 INT 16H JZ START ;无按键则跳回继续循环,有则退出 L1: MOV DX,Y7 IN AL,DX ;读入开关量, 判断是否为1 CMP AL,1 JNE L1 L2: MOV DX,Y7 MOV AL,NUM OUT DX,AL ;八位LED从右向左依次循点亮 ROL AL,1 MOV NUM,AL CALL DELAY MOV DL,0FFH MOV AH, 6 ;判断是否有按键按下 INT 21H JZ L2 ;无按键则跳回继续循环,有则退出L3: MOV DX,Y7 IN AL,DX ; 读入开关量, 判断是否为2 CMP AL,2 JNE L3 MOV NUM,55H L4: MOV DX,Y7 MOV AL,NUM OUT DX,AL ;八位LED交替亮 NOT AL MOV NUM,AL CALL DELAY MOV DL,0FFH MOV AH, 6 ;判断是否有按键按下 INT 21H JZ L4 ;无按键则跳回继续循环,有则退出 MOV AX, 4C00H ;结束程序退出

5种低功耗模式及IO端口介绍

MSP430-5种低功耗模式 MSP430-5种低功耗模式 作者:佚名MSP430来源:不详点击数:794 更新时间:2007-8-4 5种低功耗模式分别为LPM0~LPM4(LOW POWER MODE),CPU的活动状态称为AM(ACTVE MODE)模式。其中AM耗电最大,LPM4耗电最省,仅为0.1uA。另外工作电压对功耗的影响:电压越低功耗也越低。 系统PUC复位后,MSP430进入AM状态。在AM状态,程序可以选择进入任何一种低功耗模式,然后在适当的条件下,由外围模块的中断使CPU退出低功耗模式,返回AM 模式,再由AM模式选择进入相应的低功耗模式,如此类推。 工作模式的选择由状态寄存器SR中的SCG1、SCG0、OSCOFF、CPUOFF位控制。由于在CPU的头文件中对CPU内的各寄存器和模块的各种工作模式都作了详尽的定义,所以编程时尽可能的利用就是了。如:要进入低功耗模式0,可在程序中直接写:LPM0; 。进入低功耗模式4,可以写:LMP4;就可以了。退出低功耗模式如下: LPM0_EXIT; //退出低功耗模式0 LPM4_EXIT; //退出低功耗模式4 MSP430-IO端口介绍 MSP430-IO端口介绍 作者:佚名MSP430来源:不详点击数:2137 更新时间:2007-8-4 MSP430的端口有P1、P2、P3、P4、P5、P6、S和COM(型号不同,包含的端口也不仅相同,如MSP430X11X系列只有P1,P2端口,而MSP430X4XX系列则包含全部上述端口),它们都可以直接用于输入/输出。MSP430系统中没有专门的输入/输出指令,输入/输出操作通过传送指令来实现。端口P1`P6的每一位都可以独立用于输入/输出,即具有位寻址功能。常见的键盘接口可以直接用端口进行模拟,用查询或者中断方式控制。由于MSP430的端口只有数据口,没有状态口或控制口,在实际应用中,如在查询式输入/输出传送时,可以用端口的某一位或者几位来传送状态信息,通过查询对应位的状态来确定外设是否处于“准备好”状态。

很全的51单片机IO端口详解(带图)

80C51的I/O端口结构及应用特性 一,I/O端口的结构 1,锁存器加引脚的典型结构 80C51的I/O端口都有内部总线实现操作控制。P0-P3四个I/O 口都可以做普通I/O口,因此,要求具有输出锁存功能。内部总线有事分时操作,因此每个I/O端口都有相应的锁存器。然而I/O端口又是外部的输入/输出通道,必须有相应的引脚,故形成了I/O端口的锁存器加引脚的典型结构。 2,I/O口的复用功能 (1)I/O口的总线复用。80C51在使用并行总线扩展时,P0口可作为数据总线口和低8位地址总线口,这是,P0为三态双向口。P0口输出总线的地址数据信号,P2口输出高8位地址信号。 (2)I/O口的功能复用。I/O口的P3为功能复用的I/O端口。端口有复用输出的控制端;引脚也有复用输入的控制端。 3,准双向结构 P0,P1,P2,P3口做普通I/O口使用时,都是准双向口结构。准双向口的典型结构见P1口位结构图。准双向口的输入操作和输出操作本质不同,输入操作时读引脚状态;输出操作时对口锁存器的写入操作。有口锁存器和引脚电路可知:当有内部总线对只1或只0时,锁存器的0、1状态立即反应到引脚上。但是输入操作(读引脚)时,如果口锁存器的状态为0,引脚被嵌位在0状态,导致无法读出引脚的高电平输入。 二,I/O端口的应用特性 1,引脚的自动识别。无论P0,P2口的总线复用,还是P3口的功能复用,内部资源会自动选择,不需要通过指令的状态选择。 2,口锁存器的读、该、写操作。许多涉及到I/O端口的操作,只是涉及口锁存器的读出、修改、写入的操作。这些指令都是一些逻辑运算指令、置位/清除指令、条件转移指令以及将I/O口作为目的地址的操作指令。 3,读引脚的操作指令。如果某个I/O口被指定为源操作数,则为

相关主题
文本预览
相关文档 最新文档