汇编语言在数据处理中应用(自学)1、数值转换中应用 数据输入/输出时的转换2、串操作中应用 串移动、串搜索、串比较、 串插入、串删除3、代码转换中应用 ASCII码 BCD码 二进数 BCD码 4、算术运算 在这一部分,我们将汇编语言在数据处理中的应用集中起来给大家,其中有些程序在11章中已经介绍过。
上传时间: 2013-10-23
上传用户:qwer0574
提出了一种基于LPC2142且具有USB (通用串行总线) 接口的高速数据采集卡的设计方案,给出了基于ARM7处理器LPC2142和FPGA芯片的软硬件设计方法,该设计方案解决了高速实时信号与接口总线之间的速度兼容问题。关键词 USB 高速数据采集卡 LabVIEW uC/OS-II 速度兼容
上传时间: 2013-11-09
上传用户:atdawn
数据处理与控制策略Data Processing & Control Strategy数字控制器的设计技术,数字滤波和数据处理,数控技术基础,数字PID控制算法常规控制方案,先进控制方案,计算机控制系统的设计是指在给定系统性能指标的条件下,设计出控制器的控制规律和相应的数字控制算法 大多数计算机控制系统是由处理数字信号的过程控制计算机和连续的被控过程组成的数字信号与连续信号并存的“混合系统” 数字控制器的分析和设计方法数字控制器的连续化设计技术数字控制器的离散化设计技术
上传时间: 2013-10-30
上传用户:yanming8525826
pic单片机实用教程(提高篇)以介绍PIC16F87X型号单片机为主,并适当兼顾PIC全系列,共分9章,内容包括:存储器;I/O端口的复位功能;定时器/计数器TMR1;定时器TMR2;输入捕捉/输出比较/脉宽调制CCP;模/数转换器ADC;通用同步/异步收发器USART;主控同步串行端口MSSP:SPI模式和I2C模式。突出特点:通俗易懂、可读性强、系统全面、学练结合、学用并重、实例丰富、习题齐全。<br>本书作为Microchip公司大学计划选择用书,可广泛适用于初步具备电子技术基础和计算机知识基础的学生、教师、单片机爱好者、电子制作爱好者、电器维修人员、电子产品开发设计者、工程技术人员阅读。本教程全书共分2篇,即基础篇和提高篇,分2册出版,以适应不同课时和不同专业的需要,也为教师和读者增加了一种可选方案。 第1章 EEPROM数据存储器和FIASH程序存储器1.1 背景知识1.1.1 通用型半导体存储器的种类和特点1.1.2 PIC单片机内部的程序存储器1.1.3 PIC单片机内部的EEPROM数据存储器1.1.4 PIC16F87X内部EEPROM和FIASH操作方法1.2 与EEPROM相关的寄存器1.3 片内EEPROM数据存储器结构和操作原理1.3.1 从EEPROM中读取数据1.3.2 向EEPROM中烧写数据1.4 与FLASH相关的寄存器1.5 片内FLASH程序存储器结构和操作原理1.5.1 读取FLASH程序存储器1.5.2 烧写FLASH程序存储器1.6 写操作的安全保障措施1.6.1 写入校验方法1.6.2 预防意外写操作的保障措施1.7 EEPROM和FLASH应用举例1.7.1 EEPROM的应用1.7.2 FIASH的应用思考题与练习题第2章 输入/输出端口的复合功能2.1 RA端口2.1.1 与RA端口相关的寄存器2.1.2 电路结构和工作原理2.1.3 编程方法2.2 RB端口2.2.1 与RB端口相关的寄存器2.2.2 电路结构和工作原理2.2.3 编程方法2.3 RC端口2.3.1 与RC端口相关的寄存器2.3.2 电路结构和工作原理2.3.3 编程方法2.4 RD端口2.4.1 与RD端口相关的寄存器2.4.2 电路结构和工作原理2.4.3 编程方法2.5 RE端口2.5.1 与RE端口相关的寄存器2.5.2 电路结构和工作原理2.5.3 编程方法2.6 PSP并行从动端口2.6.1 与PSP端口相关的寄存器2.6.2 电路结构和工作原理2.7 应用举例思考题与练习题第3章 定时器/计数器TMR13.1 定时器/计数器TMR1模块的特性3.2 定时器/计数器TMR1模块相关的寄存器3.3 定时器/计数器TMR1模块的电路结构3.4 定时器/计数器TMR1模块的工作原理3.4.1 禁止TMR1工作3.4.2 定时器工作方式3.4.3 计数器工作方式3.4.4 TMR1寄存器的赋值与复位3.5 定时器/计数器TMR1模块的应用举例思考题与练习题第4章 定时器TMR24.1 定时器TMR2模块的特性4.2 定时器TMR2模块相关的寄存器4.3 定时器TMR2模块的电路结构4.4 定时器TMR2模块的工作原理4.4.1 禁止TMR2工作4.4.2 定时器工作方式4.4.3 寄存器TMR2和PR2以及分频器的复位4.4.4 TMR2模块的初始化编程4.5 定时器TMR2模块的应用举例思考题与练习题第5章 输入捕捉/输出比较/脉宽调制CCP5.1 输入捕捉工作模式5.1.1 输入捕捉摸式相关的寄存器5.1.2 输入捕捉模式的电路结构5.1.3 输入捕捉摸式的工作原理5.1.4 输入捕捉摸式的应用举例5.2 输出比较工作模式5.2.1 输出比较模式相关的寄存器5.2.2 输出比较模式的电路结构5.2.3 输出比较模式的工作原理5.2.4 输出比较模式的应用举例5.3 脉宽调制输出工作模式5.3.1 脉宽调制模式相关的寄存器5.3.2 脉宽调制模式的电路结构5.3.3 脉宽调制模式的工作原理5.3.4 脉定调制模式的应用举例5.4 两个CCP模块之间相互关系思考题与练习题第6章 模/数转换器ADC6.1 背景知识6.1.1 ADC种类与特点6.1.2 ADC器件的工作原理6.2 PIC16F87X片内ADC模块6.2.1 ADC模块相关的寄存器6.2.2 ADC模块结构和操作原理6.2.3 ADC模块操作时间要求6.2.4 特殊情况下的A/D转换6.2.5 ADC模块的转换精度和分辨率6.2.6 ADC模块的内部动作流程和传递函数6.2.7 ADC模块的操作编程6.3 PIC16F87X片内ADC模块的应用举例思考题与练习题第7章 通用同步/异步收发器USART7.1 串行通信的基本概念7.1.1 串行通信的两种基本方式7.1.2 串行通信中数据传送方向7.1.3 串行通信中的控制方式7.1.4 串行通信中的码型、编码方式和帧结构7.1.5 串行通信中的检错和纠错方式7.1.6 串行通信组网方式7.1.7 串行通信接口电路和参数7.1.8 串行通信的传输速率7.2 PIC16F87X片内通用同步/异步收发器USART模块7.2.1 与USART模块相关的寄存器7.2.2 USART波特率发生器BRG7.2.3 USART模块的异步工作方式7.2.4 USART模块的同步主控工作方式7.2.5 USART模块的同步从动工作方式7.3 通用同步/异步收发器USART的应用举例思考题与练习题第8章 主控同步串行端口MSSP——SPI模式8.1 SPI接口的背景知识8.1.1 SPI接口信号描述8.1.2 基于SPI的系统构成方式8.1.3 SPI接口工作原理8.1.4 兼容的MicroWire接口8.2 PIC16F87X的SPI接口8.2.1 SPI接口相关的寄存器8.2.2 SPI接口的结构和操作原理8.2.3 SPI接口的主控方式8.2.4 SPI接口的从动方式8.3 SPI接口的应用举例思考题与练习题第9章 主控同步串行端口MSSP——I(平方)C模式9.1 I(平方)C总线的背景知识9.1.1 名词术语9.1.2 I(平方)C总线的技术特点9.1.3 I(平方)C总线的基本工作原理9.1.4 I(平方)C总线信号时序分析9.1.5 信号传送格式9.1.6 寻址约定9.1.7 技术参数9.1.8 I(平方)C器件与I(平方)C总线的接线方式9.1.9 相兼容的SMBus总线9.2 与I(平方)C总线相关的寄存器9.3 典型信号时序的产生方法9.3.1 波特率发生器9.3.2 启动信号9.3.3 重启动信号9.3.4 应答信号9.3.5 停止信号9.4 被控器通信方式9.4.1 硬件结构9.4.2 被主控器寻址9.4.3 被控器接收——被控接收器9.4.4 被控器发送——被控发送器9.4.5 广播式寻址9.5 主控器通信方式9.5.1 硬件结构9.5.2 主控器发送——主控发送器9.5.3 主控器接收——主控接收器9.6 多主通信方式下的总线冲突和总线仲裁9.6.1 发送和应答过程中的总线冲突9.6.2 启动过程中的总线冲突9.6.3 重启动过程中的总线冲突9.6.4 停止过程中的总线冲突9.7 I(平方)C总线的应用举例思考题与练习题附录A 包含文件P16F877.INC附录B 新版宏汇编器MPASM伪指令总表参考文献
上传时间: 2013-12-14
上传用户:xiaoyuer
单片机应用技术选编(1) 第一章 单片机系统综合应用技术 11.1 且使用 8098单片机的几点体会 2 1.2 单片机的冷启动与热启动 31.3 大容量动态存储器在单片机系统中的应用111.4 MCS-51单片机系统中动态 RAM的刷新技巧141.5 MCS-51单片机系统中外RAM空间超64KB的扩展方法161.6 8031单片机P0口和P2口的应用开发 181.7 74LS164在 8031单片机中的两种用法261.8 用于 8031单片机的快速I/O接口281.9 MCS-51定时器定时常数初值的精确设定法301.10 8253的翻转问题及 MC6840的替代方法321.11 MCS-51单片机外部中断源的扩展设计351.12 MCS-51单片机多外中断扩展方法401.13 用优先权编码器74LS348扩展51系列单片机的外中断源421.14 用优先权编码器74LS148扩展51系列单片机的外中断源471.15 8031单片机与 BG5119A汉字库的接口方法521.16 可背插 SRAM的日历时钟 DS1216及其应用551.17 实时日历时钟集成电路MSM5832及其时序601.18 实时日历时钟集成电路MSM5832的接口技术631.19 实时时钟/日历芯片MC146818及其应用671.20 与 SICE仿真器通讯的IBM-PC机通讯程序的改进741.21 代码形式参数汇编子程序的应用821.22 单片机应用系统中的查表程序设计861.23 用状态综合法设计键盘监控程序901.24 单片机系统程序的加密技术961.25 MCS-96单片机程序保密的几种方法1001.26 GAL输出宏单元原理及使用105 1.27 通用阵列逻辑 GAL应用于步进电机控制实例110 第二章 传感器与前向通道接口技术1172.1 集成温度传感器 LM134及其应用1182.2 AD590集成温度一电流传感器原理及应用1242.3 集成温度传感器 AD590的应用1292.4 GS-800和 GS-130可燃气体传感器1332.5 集成化霍尔开关传感器1352.6 一种新颖实用的氧气/频率转换电路1392.7 MCS-51单片机与数字式温度传感器的接口设计1422.8 数字式温度传感器 SWC与 8031的接口及应用1452.9 低成本高精度压力传感器微机接口设计1472.10 峰值检测电路原理及应用1512.11 用 LF398制作的实用峰值和谷值保持电路1532.12 AD637集成真有效值转换器1562.13 传感器信号调理模块 ZB311622.14 2B31模块在称重智能仪表中的应用1662.15 传感器信号调理模块 2B30/2B31及其应用1692.16 高精度光纤位移测量系统的电路设计1752.17 集成电压一电流转换器 XTR100的工作原理及应用1792.18 传感器信号变送器 F693及其应用1852.19 一种用两片 VFC32构成的隔离放大器电路1912.20 实用线性隔离放大器1922.21 电桥放大电路中 7650的一些应用问题1942.22 A/D转换器 ICL7109的应用研究1962.23 5G14433模数转换器的启停控制2002.24 ADC1130模数转换器及其使用2042.25 16位 A/D转换器 ADC1143及其与 80C31单片机的接口2082.26 串行 I/O D/A A/D转换器与单片机的接口2132.27 单片机应用系统中的数字化传感器接口技术2162.28 ADVFC32 A/D转换接口技术2202.29 V/F和 F/V转换器 TD650原理与应用2242.30 AD650与 MC-51单片机的接口技术2302.31 利用VCO电路与单片机接口实现A/D转换2352.32 LM2907/2917系列F/V变换器在汽车检测中的应用2382.33 单信号多通道输入法改善 A/D转换器性能2412.34 用多片 A们转换芯片提高 A/D转换速度2452.35 实时数控增益调整与浮点 ADC电路2492.36 电荷耦合器件的单片机驱动2532.37 电荷耦合器件的结构原理与单片机的软件定时驱动2582.38 利用模数转换器提高转换信号的线性度2622.39 利用微型机解决转换中的非线性问题2682.40 利用非线性曲线存储实现线性化的方法2702.41 输出无非线性误差的可变电压源单臂电桥274 第三章 控制系统与后向通道接口技术2793.1 DAC1231与单片机 8031的接口技术2803.2 单路及多路 D八的光电隔离接口技术2843.3 光电隔离高压驱动器2903.4 TRAIC型光耦在 8031后向通道接口的应用分析2913.5 GD-L型光控晶闸管输出光耦合器2963.6 用于晶闸管过零触发的几种方式3003.7 固态继电器3043.8 固态继电器在交流电子开关中的应用3083.9 JCG型参数固态继电器3123.10 JCG型参数固态继电器的应用315 3.11 介绍几种适用于印刷电路板的超小型电磁继电器3193.12 用TWH8751集成电路构成微机控制的三步进电机驱动电源3223.13 3-4相步进电机控制器 5G87133253.14 5G0602报警电路及应用3283.15 两种新型温控光控兀的应用330 第四章 人机对话通道接口技术3334.1 单片机键盘接口设计3344.2 由电话机集成电路构成的单片机键盘接口电路3364.3 用 GAL设计的一种编码键盘接口3384.4 用 CMOS电路构成的非编码触摸键盘3424.5 设计薄膜开关应注意的一些问题3454.6 触摸式电子开关集成电路 5G673及其应用3504.7 8279用于拨码盘及显示器的接口设计3544.8 LED数码管的构造与特点3584.9 LED数码管的集成驱动器及配套器件3624.10 8279芯片的显示接口分析及32位数码管显示驱动电路设计366 4.11 用三端可调稳压块代替LED显示器的限流电阻3704.12 液晶显示器件的构造与特点3714.13 LCD七段显示器与单片机的接口3744.14 液晶显示器与单片机的接口技术3764.15 可编程LCD控制驱动器PPD72253814.16 微机总线兼容的四位 LCD驱动电路 TSC7211AM3874.17 使用8255的双极性归零脉冲驱动液晶显示器接口3914.18 DMC16230型 LCD显示模块的接口技术3954.19 点阵式液晶显示器原理及应用4034.20 实用液晶显示电路4094.21 8031控制的 CRT显示控制接口4144.22 用 8031控制多台彩色显示器的实现方法4194.23 高级语言处理器--T6668的结构与典型电路4234.24 延长 T6668语言电路录放时间的方法4294.25 T6668高级语音开发站4324.26 语言处理器 T6668在电话报警系统中的应用4354.27 新型语音处理器YYH16439 第五章 网络、通讯控制与多机系统4415.1 IBM-PC/XT和单片机通讯系统的设计4425.2 IBM-PC/XT微机与单片机的两种通讯接口4485.3 MCS-51单片机与 IBMPC微机的串行通讯4525.4 中央控制端与 MCS-51单片机间的数据通讯4595.5 IBMPC机与 MCS-51单片机的快速数据通讯4665.6 8031单片机与 PC-1500计算机的通讯4735.7 多片 MCS-51系统的一种串行通讯方式4775.8 多单片机处理系统并行通讯的实现4815.9 半双工远距离电流环多机通讯接口电路4855.10 多微机系统共享 RAM电路4905.11 串行通讯中的波特率设置4925.12 在MCS-51单片机的串行通讯中实现波特率的自动整定4965.13 J274和 J275在微机分布式测控系统中的应用5005.14 单电缆传送双向数据5045.15 新颖的多路遥控兀编译码器5055.16 DTMF在单片机无线数据通讯中的应用5085.17 MCS-8031单片机在红外遥控装置中的应用5155.18 一种实用光纤数字遥测系统5185.19 智能仪表通讯系统中一种冗余通道的设计5245.20 EIARS-232-C接口使用中的几个问题528 第六章 电源、电源变换与电源监视5316.1 电源扩展电路5326.2 一种简单的直流三倍压电路533 6.3 直流电源变换集成电路5356.4 直流电压变换器ICL7660的应用5376.5 一种廉价高精密基准电压源5406.6 精密可调基准电压源及其应用5416.7 引脚可编程精密基准电压源AD584及其应用5496.8 几种新型恒流源集成电路5536.9 CW334三端可调恒流源及应用5576.10 电源电压监视用芯片TL7705CP简介5606.11 电源电压监视用芯片TL7700简介5646.12 WMS7705B电源监视用芯片简介5676.13 具有HMOS结构的MCS-51系列单片机提供后备电源的方法570 第七章 系统抗于扰技术5757.1 微型计算机系统的抗干扰措施5767.2 计算机应用系统抗干扰问题5797.3 微机在工业应用中的抗干扰措施5867.4 利用电源监视TL7705芯片的抗电源于扰新方法5917.5 利用电源监视芯片WMS7705的抗电源干扰新方法5947.6 具有浪涌抑制能力的 TVP 6017.7 瞬变电压抑制M极管TVP的特性及应用6047.8 单片机实时控制软件抗干扰编程方法的探讨6077.9 一种简单实用的微机死机自复位抗干扰技术6107.10 单片机程序的监视保护6127.11 软件 WATCHDOG系统615 7.12 一种实用的"看门狗"电路6187.13 高电压下测量系统的抗干扰措施619 第八章 应用实例6218.1 单片机在多功能函数发生器中的应用6228.2 单片机波形发生器6298.3 单片机控制的调幅波发生器6338.4 用 8031单片机解调时统信号6368.5 具有 114DB动态范围的浮点数据采集系统6418.6 电热恒温箱单片微机控制系统6468.7 智能 I一、C丑测试仪的原理及设计6528.8 采用 LMS算法的单片机数字交流电桥6568.9 单片微机的数字相位测试仪6598.10 单片机的气体流量测量6628.11 单片机的相关流量仪6688.12 723型可见分光光度计6758.13 多功能微电脑电子秤6798.14 智能路面回弹检测仪6838.15 使用 CCD的单片机动态布面检测系统6878.16 使用 CCD的单片机激光衍射测径系统6908.17 使用 CCD的单片机动态线径测量仪6958.18 使用CCD的单片机中型热轧圆钢直径检测仪7018.19 用 MCS-51单片微机实现织布机的监测7058.20 单片机在工频参量测试中的应用7098.21 单片机 8098在直线电机控制中的应用715?
上传时间: 2014-12-28
上传用户:liufei
九.输入/输出保护为了支持多任务,80386不仅要有效地实现任务隔离,而且还要有效地控制各任务的输入/输出,避免输入/输出冲突。本文将介绍输入输出保护。 这里下载本文源代码。 <一>输入/输出保护80386采用I/O特权级IPOL和I/O许可位图的方法来控制输入/输出,实现输入/输出保护。 1.I/O敏感指令输入输出特权级(I/O Privilege Level)规定了可以执行所有与I/O相关的指令和访问I/O空间中所有地址的最外层特权级。IOPL的值在如下图所示的标志寄存器中。 标 志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O许可位图规定了I/O空间中的哪些地址可以由在任何特权级执行的程序所访问。I/O许可位图在任务状态段TSS中。 I/O敏感指令 指令 功能 保护方式下的执行条件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 设置EFLAGS中的IF位 CPL<=IOPL IN 从I/O地址读出数据 CPL<=IOPL或I/O位图许可 INS 从I/O地址读出字符串 CPL<=IOPL或I/O位图许可 OUT 向I/O地址写数据 CPL<=IOPL或I/O位图许可 OUTS 向I/O地址写字符串 CPL<=IOPL或I/O位图许可 上表所列指令称为I/O敏感指令,由于这些指令与I/O有关,并且只有在满足所列条件时才可以执行,所以把它们称为I/O敏感指令。从表中可见,当前特权级不在I/O特权级外层时,可以正常执行所列的全部I/O敏感指令;当特权级在I/O特权级外层时,执行CLI和STI指令将引起通用保护异常,而其它四条指令是否能够被执行要根据访问的I/O地址及I/O许可位图情况而定(在下面论述),如果条件不满足而执行,那么将引起出错码为0的通用保护异常。 由于每个任务使用各自的EFLAGS值和拥有自己的TSS,所以每个任务可以有不同的IOPL,并且可以定义不同的I/O许可位图。注意,这些I/O敏感指令在实模式下总是可执行的。 2.I/O许可位图如果只用IOPL限制I/O指令的执行是很不方便的,不能满足实际要求需要。因为这样做会使得在特权级3执行的应用程序要么可访问所有I/O地址,要么不可访问所有I/O地址。实际需要与此刚好相反,只允许任务甲的应用程序访问部分I/O地址,只允许任务乙的应用程序访问另一部分I/O地址,以避免任务甲和任务乙在访问I/O地址时发生冲突,从而避免任务甲和任务乙使用使用独享设备时发生冲突。 因此,在IOPL的基础上又采用了I/O许可位图。I/O许可位图由二进制位串组成。位串中的每一位依次对应一个I/O地址,位串的第0位对应I/O地址0,位串的第n位对应I/O地址n。如果位串中的第位为0,那么对应的I/O地址m可以由在任何特权级执行的程序访问;否则对应的I/O地址m只能由在IOPL特权级或更内层特权级执行的程序访问。如果在I/O外层特权级执行的程序访问位串中位值为1的位所对应的I/O地址,那么将引起通用保护异常。 I/O地址空间按字节进行编址。一条I/O指令最多可涉及四个I/O地址。在需要根据I/O位图决定是否可访问I/O地址的情况下,当一条I/O指令涉及多个I/O地址时,只有这多个I/O地址所对应的I/O许可位图中的位都为0时,该I/O指令才能被正常执行,如果对应位中任一位为1,就会引起通用保护异常。 80386支持的I/O地址空间大小是64K,所以构成I/O许可位图的二进制位串最大长度是64K个位,即位图的有效部分最大为8K字节。一个任务实际需要使用的I/O许可位图大小通常要远小于这个数目。 当前任务使用的I/O许可位图存储在当前任务TSS中低端的64K字节内。I/O许可位图总以字节为单位存储,所以位串所含的位数总被认为是8的倍数。从前文中所述的TSS格式可见,TSS内偏移66H的字确定I/O许可位图的开始偏移。由于I/O许可位图最长可达8K字节,所以开始偏移应小于56K,但必须大于等于104,因为TSS中前104字节为TSS的固定格式,用于保存任务的状态。 1.I/O访问许可检查细节保护模式下处理器在执行I/O指令时进行许可检查的细节如下所示。 (1)若CPL<=IOPL,则直接转步骤(8);(2)取得I/O位图开始偏移;(3)计算I/O地址对应位所在字节在I/O许可位图内的偏移;(4)计算位偏移以形成屏蔽码值,即计算I/O地址对应位在字节中的第几位;(5)把字节偏移加上位图开始偏移,再加1,所得值与TSS界限比较,若越界,则产生出错码为0的通用保护故障;(6)若不越界,则从位图中读对应字节及下一个字节;(7)把读出的两个字节与屏蔽码进行与运算,若结果不为0表示检查未通过,则产生出错码为0的通用保护故障;(8)进行I/O访问。设某一任务的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;对应I/O端口00H—3FH DB 10000000B ;对应I/O端口40H—47H DB 01100000B ;对用I/O端口48H—4FH DB 8182 DUP(0ffH) ;对应I/O端口50H—0FFFFH DB 0FFH ;位图结束字节TSSLen = $TSSSEG ENDS 再假设IOPL=1,CPL=3。那么如下I/O指令有些能正常执行,有些会引起通用保护异常: in al,21h ;(1)正常执行 in al,47h ;(2)引起异常 out 20h,al ;(3)正常实行 out 4eh,al ;(4)引起异常 in al,20h ;(5)正常执行 out 20h,eax ;(6)正常执行 out 4ch,ax ;(7)引起异常 in ax,46h ;(8)引起异常 in eax,42h ;(9)正常执行 由上述I/O许可检查的细节可见,不论是否必要,当进行许可位检查时,80386总是从I/O许可位图中读取两个字节。目的是为了尽快地执行I/O许可检查。一方面,常常要读取I/O许可位图的两个字节。例如,上面的第(8)条指令要对I/O位图中的两个位进行检查,其低位是某个字节的最高位,高位是下一个字节的最低位。可见即使只要检查两个位,也可能需要读取两个字节。另一方面,最多检查四个连续的位,即最多也只需读取两个字节。所以每次要读取两个字节。这也是在判别是否越界时再加1的原因。为此,为了避免在读取I/O许可位图的最高字节时产生越界,必须在I/O许可位图的最后填加一个全1的字节,即0FFH。此全1的字节应填加在最后一个位图字节之后,TSS界限范围之前,即让填加的全1字节在TSS界限之内。 I/O许可位图开始偏移加8K所得的值与TSS界限值二者中较小的值决定I/O许可位图的末端。当TSS的界限大于I/O许可位图开始偏移加8K时,I/O许可位图的有效部分就有8K字节,I/O许可检查全部根据全部根据该位图进行。当TSS的界限不大于I/O许可位图开始偏移加8K时,I/O许可位图有效部分就不到8K字节,于是对较小I/O地址访问的许可检查根据位图进行,而对较大I/O地址访问的许可检查总被认为不可访问而引起通用保护故障。因为这时会发生字节越界而引起通用保护异常,所以在这种情况下,可认为不足的I/O许可位图的高端部分全为1。利用这个特点,可大大节约TSS中I/O许可位图占用的存储单元,也就大大减小了TSS段的长度。 <二>重要标志保护输入输出的保护与存储在标志寄存器EFLAGS中的IOPL密切相关,显然不能允许随便地改变IOPL,否则就不能有效地实现输入输出保护。类似地,对EFLAGS中的IF位也必须加以保护,否则CLI和STI作为敏感指令对待是无意义的。此外,EFLAGS中的VM位决定着处理器是否按虚拟8086方式工作。 80386对EFLAGS中的这三个字段的处理比较特殊,只有在较高特权级执行的程序才能执行IRET、POPF、CLI和STI等指令改变它们。下表列出了不同特权级下对这三个字段的处理情况。 不同特权级对标志寄存器特殊字段的处理 特权级 VM标志字段 IOPL标志字段 IF标志字段 CPL=0 可变(初POPF指令外) 可变 可变 0 不变 不变 可变 CPL>IOPL 不变 不变 不变 从表中可见,只有在特权级0执行的程序才可以修改IOPL位及VM位;只能由相对于IOPL同级或更内层特权级执行的程序才可以修改IF位。与CLI和STI指令不同,在特权级不满足上述条件的情况下,当执行POPF指令和IRET指令时,如果试图修改这些字段中的任何一个字段,并不引起异常,但试图要修改的字段也未被修改,也不给出任何特别的信息。此外,指令POPF总不能改变VM位,而PUSHF指令所压入的标志中的VM位总为0。 <三>演示输入输出保护的实例(实例九)下面给出一个用于演示输入输出保护的实例。演示内容包括:I/O许可位图的作用、I/O敏感指令引起的异常和特权指令引起的异常;使用段间调用指令CALL通过任务门调用任务,实现任务嵌套。 1.演示步骤实例演示的内容比较丰富,具体演示步骤如下:(1)在实模式下做必要准备后,切换到保护模式;(2)进入保护模式的临时代码段后,把演示任务的TSS段描述符装入TR,并设置演示任务的堆栈;(3)进入演示代码段,演示代码段的特权级是0;(4)通过任务门调用测试任务1。测试任务1能够顺利进行;(5)通过任务门调用测试任务2。测试任务2演示由于违反I/O许可位图规定而导致通用保护异常;(6)通过任务门调用测试任务3。测试任务3演示I/O敏感指令如何引起通用保护异常;(7)通过任务门调用测试任务4。测试任务4演示特权指令如何引起通用保护异常;(8)从演示代码转临时代码,准备返回实模式;(9)返回实模式,并作结束处理。
上传时间: 2013-12-11
上传用户:nunnzhy
带I2C串行CMOS EEPROM、精密复位控制器和看门狗定时器的监控电路 特性 看门狗监控SDA信号 (CAT1161) 兼容400KHz 的I2C总线 操作电压范围为2.7V~6.0V 低功耗CMOS 技术 16 字节的页写缓冲区 内置误写保护电路-Vcc锁定-写保护管脚WP 复位高电平或低电平有效-精确的电源电压监控-支持5V,3.3V 和3V 的系统-5个复位门槛电压可供选择 1,000,000个编程/擦除周期 手动复位 数据可保存100 年 8 脚DIP 封装或8 脚SOIC 封装 商业和工业级温度范围描述CAT1161/2 为基于微控器的系统提供了一个完整的存储器和电源监控解决方案。它们利用低功耗CMOS技术将16k带硬件存储器写保护功能的串行EEPROM 存储器、用于掉电保护的电源监控电路和一个看门狗定时器集成到一块芯片上。存储器采用I2C 总线接口。当系统由于软件或硬件干扰而被终止或“挂起”时,1.6 秒的看门狗电路将复位系统,使系统恢复正常。CAT1161的看门狗电路监控着SDA,这就可以省去额外的PC板跟踪电路。低价位的CAT1162不含看门狗定时器。电源监控和复位电路可在系统上电/下电时保护存储器和系统控制器,防止掉电条件的产生。CAT1161/2的5个门槛电压可支持5V、3.3V和3V的系统。一旦电源电压超出范围,复位信号有效,禁止微控制器、ASIC或外围器件继续工作。复位信号在电源电压超过复位门槛电压后的200ms内仍保持有效。由于带有高电平和低电平复位信号,因此CAT1161/2可以很方便地连接到微控制器和其它IC。另外,复位管脚还可用作手动按键复位的去抖输入。 CAT1161/2 的存储器构造成16字节的页。除此之外,写保护管脚WP和VCC 检测电路提供的硬件数据保护功能可防止在Vcc降到低于复位门槛电压或上电时Vcc上升到复位门槛电压之前对存储器的写操作。器件包含8脚DIP和表贴8脚SOIC两种封装形式。
上传时间: 2014-03-19
上传用户:虫虫虫虫虫虫
随着 微 电 子技术的飞速发展,电子产品越来越微型化,集成化,自动化,低廉化,进而推动着其它许多产业的发展。特别进人21世纪以来,生物技术与电子技术的结合,成为高科技领域的研究热点。199()年由瑞士的Manz和Widmer首先提出的“微全分析系统”〔’〕(microto talan alysissy stems,即ptTAS),通俗地称为“建在芯片上的实验室”(Lab on a chip)或简称芯片实验室(Lab chip),主要组成部分为电泳芯片,同时是进样,分离和检测为一体的微型装置,其在电泳实验中的高效检测性能为生物化学分析仪器发展提供了一种借鉴。p.TAS广泛应用于生物医学、环境检测、食品卫生、科学以及国防等众多领域。目前 应 用 的大多为多通道的毛细管电泳芯片,这也是芯片发展的一个必然趋势。这不仅对电泳芯片本身的设计和制作提出了更高的要求,也对传感器和数据处理技术提出了新的挑战。考虑成本,集成度,控制能力以及可靠性方面的因素,本系统采用单片机作为实时数据处理、控制以及通讯的硬件平台。如果系统中既有实时的通信任务,同时又有其他实时任务,采用一个廉价的单片机,资源会比较紧张,不仅实现困难,结构复杂,而且效果可能不满意。而采用高性能的处理器,又浪费了其有效资源,所以本系统采用两个MCU协同工作,以并行/分布式多机的思想,构成了电泳芯 片核心的双单片机系统结构。微全 分 析 系 统 进行的多项实时任务,可以划分为以下 几个模块:①采集模块。负责对外围检验设备进行控 制以及对传送过来的信号进行采集和分析;②交互模 块。通过液晶显示,键盘扫描,以及打印等实现实验人 员对前端采集电路的交互操作;③双单片机控制和通 信模块。协调双单片机之间的数据传输和指令传输 ;④网络传输模块。其中一个单片机通过以太网发送接 收数据到上位机。本文提出一种实时多任务的双单片 机控制和通信系统[31的设计,一个MCU基于TCP /IP网络模块的实现。
上传时间: 2013-11-15
上传用户:wangdean1101
基于USB接口的数据采集模块的设计与实现Design and Implementation of USB-Based Data Acquisition Module路 永 伸(天津科技大学电子信息与自动化学院,天津300222)摘要文中给出基于USB接口的数据采集模块的设计与实现。硬件设计采用以Adpc831与PDIUSBDI2为主的器件进行硬件设计,采用Windriver开发USB驱动,并用Visual C十十6.0对主机软件中硬件接口操作部分进行动态链接库封装。关键词USB 数据采集Adpc831 PDNSBDI2 Windriver动态链接库Abstract T hed esigna ndim plementaitono fU SB-BasedD ataA cquisiitonM oduleis g iven.Th ec hips oluitonm ainlyw ithA dpc831a ndP DTUSBD12i sused for hardware design. The USB drive is developed场Wmdriver, and the operation on the hardware interface is packaged into Dynamic Link Libraries场Visual C++6.0. Keywords USB DataA cquisition Adttc831 PDfUSBD12 Windriver0 引言US B总 线 是新一代接口总线,最初推出的目的是为了统一取代PC机的各类外设接口,迄今经历了1.0,1.1与2.0版本3个标准。在国内基于USB总线的相关设计与开发也得到了快速的发展,很多设计者从各自的应用领域,用不同方案设计出了相应的装置[1,2]。数据采集是工业控制中一个普遍而重要的环节,因此开发基于USB接口的数据采集模块具有很强的现实应用意义。虽然 US B总线标准已经发展到2.0版本,但由于工业控制现场干扰信号的情况比较复杂,高速数据传输的可靠性不容易被保证,并且很多场合对数据采集的实时性要求并不高,开发2.0标准产品的成本又较1.1标准产品高,所以笔者认为,在工业控制领域,目前开发基于USB总线1.1标准实现的数据采集模块的实用意义大于相应2.0标准模块。
上传时间: 2013-10-23
上传用户:q3290766
SM-IIC/2051 模块用户说明简介:SM-IIC/2051 是一个基于2051 单片机的I2C 总线控制模块。上位机接口可直接与PC的RS232 连接,下位机可实现对应用电路中I2C 控制总线的连接,块内设置2K 的FLASH 存储器,可存储用户I2C 初始化数据。模块采用2051 单片机,使电路简单可靠。型号:SM-IIC/2051名称:I2C 数据控制模块功能:RS232 串行信号与I2C 数据转换 接口说明:编号信号标志信号名称规格备注CK1-1 VCC 供电+5VCK1-2 VCC 供电+5VCK1-3 GND 地GroundCK1-4 GND 地GroundCK2-1 TOUT 串口输出RS232CK2-2 RIN 串口输入RS232CK2-3 GND 地GroundCK2-4 GND 地Ground编号信号标志信号名称规格备注CK3-1 GND 地GroundCK3-2 SCL I2C 时钟TTLCK3-3 SDA I2C 数据TTLCK3-4 GND 地GroundCK3-5 P1.2 PI/O 端口TTLCK3-6 P1.3 PI/O 端口TTLCK3-7 P1.4 PI/O 端口TTLCK3-8 P1.5 PI/O 端口TTLCK3-9 P1.6 PI/O 端口TTLCK3-10 P1.7 PI/O 端口TTLCK3-11 P3.7 PI/O 端口TTLCK3-12 T1 定时端口TTLCK3-13 T0 定时端口TTLCK3-14 INT1 中断端口TTLCK3-15 INT0 中断端口TTLCK3-16 GND 地Ground
上传时间: 2013-11-18
上传用户:爺的气质