虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

IO

I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。在POSIX兼容的系统上,例如Linux系统[1],I/O操作可以有多种方式,比如DIO(DirectI/O),AIO(AsynchronousI/O,异步I/O),Memory-MappedI/O(内存映射I/O)等,不同的I/O方式有不同的实现方式和性能,在不同的应用中可以按情况选择不同的I/O方式。
  • 模拟串口通讯程序(51汇编代码编写)

    T2作为波特率控制UART_RXD 是硬中断0或1口,如果能进入中断,说明该线有一个起始位产生,进入中断后调用下面的接收程序。退出硬中断之前还需要将硬中断标志重新复位。UART_TXD 是任何其它IO即可。UART_SEND:    PUSH IE    PUSH DPH    PUSH DPL    PUSH PSW    PUSH 00H    PUSH ACC    CLR EA    SETB UART_TXD        ;START BIT        MOV R0,A    CLR TR2    ;TR2置1,计数器2启动,时间计数启动。    MOV A,RCAP2L;计数器2重新装载值    MOV TL2,A    ;置计数器2初值  ;T2需要重新装载    MOV A,DPH    MOV A,RCAP2H    MOV TH2,A    MOV A,R0        SETB TR2    ;TR2置1,计数器    JNB TF2,$    CLR TF2    JNB TF2,$    CLR TF2

    标签: 模拟串口 通讯程序 汇编代码 编写

    上传时间: 2014-01-12

    上传用户:二十八号

  • 用单片机设计发音电路

    本文介绍使用AT89C2051 制作的一种发音电路, 各种声音通过编程实现, 灵活方便。原理图如图1 所示。图1 发音电路原理该电路利用方波谐波成份丰富的特点,编程采用计时器延迟法发音, 即每个音的半周期计时中断一次, 而使输出P110 (或其他IöO 口) 反相, 重复执行产生某种频率的信号。例如: 中音DO 的频率为523Hz, 其周期为1912Ls, 半周期为956Ls, 若初始P110= 1, 经956Ls 后应使P110= 0, 再经956Ls 恢复P110= 1, 这样就可发出中音DO。

    标签: 用单片机 发音 电路

    上传时间: 2013-10-11

    上传用户:Altman

  • GM814x兼容SPITM总线的UART扩展芯片并联扩展应用

    1 概述由于在某些通讯设计应用中,需要扩展更多的串口数量,比如车床监控、纺织仪器检测和网状连接的数据采集等应用。为此成都国腾微电子有限公司推出的GM814x 可以满足多个同类产品的并联扩展,并且能简单的实现电路连接和程序控制,主MCU 可以识别数据的来源和指定和某个GM814x 通信。2 应用说明2.1 CS 与SPI 的数据通信GM814x 的CS(片选)引脚可用于控制SPI 总线时钟有效性,CS 低电平有效,内部下拉。CS 有效时,允许芯片的时钟接收和数据收发;无效时,SCLK、DIN 和DOUT 均为高阻状态,GM814x 不响应SPI 上的数据收发,但能正常收发子串口数据和产生相应中断。2.2 应用建议当使用GM814x 的应用需要扩展4 个以上的串口数量时,就需要使用2 片以上的GM814x。扩展的方式也有多种。方式一:将多个GM814x 的SPI 接口接在主MCU 的SPI 总线上,然后将所有GM814x 的中断进行线与后连接到MCU 的IRQ 上,同时将各GM814x 的IRQ 输出又连接到MCU的IO,以便MCU响应中断后检测是具体哪一个GM814x 输出的中断,然后再拉低对应的CS,拉高其它GM814x的CS,并执行通信操作。方式二:如果扩展的GM814x 数量较多,采用上述扩展方式可能会占用MCU较多的IO 资源,则可以将GM814x 的中断输出连接到具有OC 输出的与门芯片上,再输出到MCU 的中断输入。同时又将所有的GM814x 的中断输出进行编码输入到MCU,以供其判断产生中断的是哪一个GM814x。方式三:将所有GM814x 的中断输出连接到优先编码器进行编码输出,同时编码器也能输出低电平信号给MCU 作为中断响应。MCU 检测编码数据以获知产生中断的GM814x,然后进行数据通信处理。这种方式电路最简单,占用MCU 的IO 资源也最少。 举例:使用MCS51 单片机扩展8 片GM814x。本电路中,采用了上述提到的第三种扩展方式。通过普通的MCS51 单片机扩展最多8 片GM814x,可扩展最多32 个标准串口。为了节省MCU的IO 资源,电路中增加了一片8-3 线优先编码器74LS348 和一片3-8 线译码器74HC138。8 片GM814x 的IRQ 中断通过一片74LS348 输出中断源向量,同时产生GS 低电平信号到MCS51 的外部中断0 上,MCS51 响应中断后,可查询A0~A2 的值确定产生中断的GM814x,然后MCU 使能74HC138,输出对应的ABC 信号选中产生IRQ 信号的GM814x,再进行SPI 总线上的数据通信。 示例程序:本示例程序使用C 语言描述,仅供参考。 由于74LS348 是优先编码器,多个中断同时产生的时候,74LS348 的编码只会指示输入编号上最高的IRQ,MCU 无法直接获知是否其它的GM814x 也产生了中断。同时GM814x 在自己的中断申请后,数据传输到第8bit 时会自动清除,所以数据接收完后如果MCU 的中断引脚仍然为低,则表示还有其它GM814x 的中断申请,故必须在处理完当前中断后继续查询新的中断向量。这就是上述示例程序中while 循环的目的。 以上应用建议仅供设计者参考,不代表最终实现方式,更可靠和实际的实现方式可由设计者根据自己的实际情况确定。l 示例中的数据、参数和标志字命名不代表实际产品的特性,请参考实际产品的数据手册来获取你所需要的数据。

    标签: SPITM 814x UART 814

    上传时间: 2013-10-26

    上传用户:suicoe

  • I2C总线驱动程序

    1 /**————————————————————2 〖说明〗I2C总线驱动程序(用两个普通IO模拟I2C总线)3 包括100Khz(T=10us)的标准模式(慢速模式)选择,4 和400Khz(T=2.5us)的快速模式选择,5 默认11.0592Mhz的晶振。6 〖文件〗PCF8563T.C ﹫2001/11/2 77 〖作者〗龙啸九天 c51@yeah.net http://www.c51bbs.co /8 〖修改〗修改建议请到论坛公布 http://www.c51bbs.co m9 〖版本〗V1.00A Build 080310 —————————————————————*/1112 #ifndef SDA13 #define SDA P0_014 #define SCL P0_115 #endif1617 extern uchar SystemError;1819 #define uchar unsigned char20 #define uint unsigned int21 #define Byte unsigned char22 #define Word unsigned int23 #define bool bit24 #define true 125 #define false 02627 #define SomeNOP(); _nop_();_nop_();_nop_();_nop_();2829 /**--------------------------------------------------------------------------------30 调用方式:void I2CStart(void) ﹫2001/07/0 431 函数说明:私有函数,I2C专用32 ---------------------------------------------------------------------------------*/33 void I2CStart(void)34 {35 EA=0;36 SDA=1; SCL=1; SomeNOP();//INI37 SDA=0; SomeNOP(); //START38 SCL=0;39 }4041 /**--------------------------------------------------------------------------------42 调用方式:void I2CStop(void) ﹫2001/07/0 443 函数说明:私有函数,I2C专用44 ---------------------------------------------------------------------------------*/45 void I2CStop(void)46 {47 SCL=0; SDA=0; SomeNOP(); //INI48 SCL=1; SomeNOP(); SDA=1; //STOP49 EA=1;50 }5152 /**--------------------------------------------------------------------------------53 调用方式:bit I2CAck(void) ﹫2001/07/0 454 函数说明:私有函数,I2C专用,等待从器件接收方的应答55 ---------------------------------------------------------------------------------*/56 bool WaitAck(void)57 {58 uchar errtime=255;//因故障接收方无ACK,超时值为255。59 SDA=1;SomeNOP();60 SCL=1;SomeNOP();61 while(SDA) {errtime--; if (!errtime) {I2CStop();SystemError=0x11;return false;}}62 SCL=0;63 return true;

    标签: I2C 总线 驱动程序

    上传时间: 2014-04-11

    上传用户:xg262122

  • Rainbow Blaster 使用手册v1.0

    一、Rainbow Blaster 的特性Rainbow Blaster全面兼容Altera的USB Blaster下载电缆,通过计算机的USB接口可对Altera的FPGA/CPLD以及配置芯片进行编程、调试等操作。支持的Altera FPGA/CPLD器件如下:l Stratix II、Stratix GX及Stratix系列l Cyclone II及Cyclone系列l APEX II 及APEX 20K系列l ACEX 1Kl Mercuryl FLEX 10K、FLEX 10KE和FLEX 10KA全系列l Excaliburl MAX 3000、MAX 7000和MAX II全系列支持的配置芯片如下:l EPC2, EPC4, EPC8, EPC16, EPC1441l EPCS1, EPCS4, EPCS16,EPCS64支持的目标板IO电压:l 1.5V、1.8V、2.5V、3.3V、5V二、Rainbow Blaster工作需求1.软件需求:l Windows 2000 和XP 操作系统。l 需要安装QuartusII4.0 及以上版本。l Quartus II Programmer (编程或配置操作需要)l Quartus II SignalTap II Logic Analyzer (逻辑分析操作需要)2. 电源需求:l 从USB 电缆的PC 端提供直流5.0V;l 从目标板下载接口提供直流1.5V 至5.0V。三、硬件连接请按如下步骤顺序操作:1. 关掉目标板电源。2. 将USB 电缆一端(大口)接到PC 或笔记本电脑上的USB 接口,另一端(小口)接到Rainbow Blaster。3. 将Rainbow Blaster 的10PIN Female(母头)接头按照方向指示连接到目标

    标签: Rainbow Blaster 1.0 使用手册

    上传时间: 2013-10-15

    上传用户:yd19890720

  • 第05章 数字输入输出IO(2学时)

    TMS320LF240x DSP 课件

    标签: IO 数字输入 输出

    上传时间: 2013-11-08

    上传用户:stewart·

  • 管网GPRS远程监测系统

    管网GPRS远程监测系统基于GPRS无线网络,能对管网系统中分布在远程多个监测点进行数据集中采集,整个系统由监控中心和各个监测点的数据采集终端(CWT5111 GPRS RTU)构成,CWT5111 能主动采集监测点压力、水位、流量、水质(余氯、浊度)、等数据,并通过GPRS上传至监控中心软件,方便中心管理人员进行数据统计和分析,通过中心软件也能对监测点的CWT5111进行IO控制,除数据远程采集、实时控制外,系统还可实现远程手机报警,并通过用户手机远程控制现场设备。该系统设计理念先进,系统架构简洁,易于安装和维护,是M2M,M2H的应用典范。

    标签: GPRS 远程监测系统

    上传时间: 2013-11-01

    上传用户:wuchunwu

  • 基于PC-104和虚拟仪器的某机载电台检测控制器

    根据某机载电台的离线检测控制需求,设计了以PC-104为核心,并扩展1553B总线接口卡、数字IO、AD接口卡的硬件电路,编制了软件流程,完成了系统的调试与试用。结果表明,该检测控制设备具有性能稳定、功能扩展性强、操作简便等特点。

    标签: 104 PC 虚拟仪器 机载电台

    上传时间: 2013-11-20

    上传用户:r5100

  • 一种嵌入式软件版本信息获取方法设计与实现

    为了定位嵌入式设备当前运行软件的版本,设计了一种获取嵌入式软件版本信息的方法,首先设计电路实现按键检测和LED驱动复用IO脚,当IO脚为输入方向时,通过IO状态的读取可以检测按键的按下和弹起状态,当IO脚为输出方向时,可以设置高低电平实现LED的亮灭控制。具体应用时,首先设置IO脚为输入方向,周期检测按键操作,检测到有效的按键按下操作后,当按键弹起时将IO脚设置为输出方向,以PWM的方式驱动LED,通过不同的闪烁频率、间歇时间和闪烁次数进行软件版本的显示。

    标签: 嵌入式软件 版本

    上传时间: 2013-10-17

    上传用户:waixingren

  • 芯嵌stm32_LCD转接板原理图

    芯嵌stm32开发板LCD转接板对应的原理图。芯嵌stm32开发板包括 2.8屏+ MP3 +录音 +网络 +CAN +串口 + PS2 +USB口 +SD +LED +WKUP +中断按键 + 复位JTAG 外扩IO ,硬件资源还是蛮丰富的

    标签: stm LCD 32 转接板

    上传时间: 2013-10-22

    上传用户:hfnishi