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

独轮平衡车

  • 自制ATMEL 89系列FLASH单片机编程器

    自制一台ATMEL 89系列FLASH单片机编程器学习单片机最有用的恐怕是编程器和仿真机,一台商品化的编程器至少要几百元,仿真机价格更高,往往让初学者难以选择。这里介绍的一款国外电子网站推出的廉价51编程器,能够读写最常用的12种51单片机,自己动手装配一台,既能锻炼自己的动手能力,又能廉价地装备一台多用编程器,无论是学习单片机或业余时间搞开发,都是一个非常好的选择。笔者按照资料自制了一台,十分好用,不敢独享。特编译了全部制作资料介绍给大家。这个编程器硬件使用标准的TTL系列器件而没有使用特殊元件。它连接在计算机的并行端口,对PC的并口没有特殊要求,所以配置很低的计算机也能用这个编程器。Atmel Flash 系列单片机是当前最流行的单片机,易于擦写,不象OTP芯片容易造成浪费。特别是89系列单片机与大家熟悉的INTEL51系列单片机完全兼容,这个编程器支持的单片机主要是Atmel flash系列。支持的器件:  这个编程器支持以下ATMEL单片机AT89C51,AT89C52,AT89C55,AT89S51,AT89S52,AT89S53,AT89C51RC,AT89C55WD,AT89S8252,AT89C1051U,AT89C2051,AT89C4051注意:20脚的单片机需要一个简单的适配器。(图 2 ) 硬件:  图1显示了这个FLASH 编程器的电路图,编程器和标准的计算机并口连接。电路图中的U2是用于控制计算机和控制器之间的数据流,U4 锁存低位地址字节 ,U5 锁存高位地址字节  ,U3用于产生控制信号给被编程的单片机。IC U1用于产生编程脉冲给单片机.当U7提供编程电压给控制器时,电源部分用U8产生逻辑5v供给。IC U6用于产生5V或6.5V VDD 电源电压给单片机。

    标签: ATMEL FLASH 单片机编程器

    上传时间: 2013-10-18

    上传用户:bakdesec

  • PGM89 51Flash单片机编程器V3.0

    学习单片机最有用的恐怕是编程器和仿真机,一台商品化的编程器至少要几百元,仿真机价格更高,往往让初学者难以选择。这里介绍的一款国外电子网站推出的廉价51编程器,能够读写最常用的12种51单片机,自己动手装配一台,既能锻炼自己的动手能力,又能廉价地装备一台多用编程器,无论是学习单片机或业余时间搞开发,都是一个非常好的选择。笔者按照资料自制了一台,十分好用,不敢独享。特编译了全部制作资料介绍给大家。这个编程器硬件使用标准的TTL系列器件而没有使用特殊元件。它连接在计算机的并行端口,对PC的并口没有特殊要求,所以配置很低的计算机也能用这个编程器。Atmel Flash 系列单片机是当前最流行的单片机,易于擦写,不象OTP芯片容易造成浪费。特别是89系列单片机与大家熟悉的INTEL51系列单片机完全兼容,这个编程器支持的单片机主要是Atmel flash系列。

    标签: Flash PGM 3.0 89

    上传时间: 2013-12-18

    上传用户:xyipie

  • 从PCI总线的-12V电源获得3.3V电压

    通用的多电源总线,如VME、VXI 和PCI 总线,都可提供功率有限的3.3V、5V 和±12V(或±24V)电源,如果在这些系统中添加设备(如插卡等),则需要额外的3.3V或5V电源,这个电源通常由负载较轻的-12V电源提供。图1 电路,将-12V 电压升压到15.3V(相对于-12V 电压),进而得到3.3V 的电源电压,输出电流可达300mA。Q2 将3.3V 电压转换成适当的电压(-10.75V)反馈给IC1 的FB 引脚,PWM 升压控制器可提供1W 的输出功率,转换效率为83%。整个电路大约占6.25Cm2的线路板尺寸,适用于依靠台式PC机电源供电,需要提供1W输出功率的应用,这种应用中,由于-12V总线电压限制在1.2W以内,因此需要保证高于83%的转换效率。由于限流电阻(RSENSE)将峰值电流限制在120mA,N 沟道MOSFET(Q1)可选用廉价的逻辑电平驱动型场效应管,R1、R2 设置输出电压(3.3V 或5V)。IC1 平衡端(Pin5)的反馈电压高于PGND引脚(Pin7)1.25V,因此:VFB = -12V + 1.25V = - 10.75V选择电阻R1后,可确定:I2 = 1.25V / R1 = 1.25V / 12.1kΩ = 103μA可由下式确定R2:R2 = (VOUT - VBE)/ I2 =(3.3V - 0.7V)/ 103μA = 25.2 kΩ图1 中,IC1 的开关频率允许通过外部电阻设置,频率范围为100kHz 至500kHz,有利于RF、数据采集模块等产品的设计。当选择较高的开关频率时,能够保证较高的转换效率,并可选用较小的电感和电容。为避免电流倒流,可在电路中增加一个与R1串联的二极管。

    标签: PCI 3.3 12 总线

    上传时间: 2013-10-17

    上传用户:jixingjie

  • 子空间模式识别方法

    提出了一种改进的LSM-ALSM子空间模式识别方法,将LSM的旋转策略引入ALSM,使子空间之间互不关联的情况得到改善,提高了ALSM对相似样本的区分能力。讨论中以性能函数代替经验函数来确定拒识规则的参数,实现了识别率、误识率与拒识率之间的最佳平衡;通过对有限字符集的实验结果表明,LSM-ALSM算法有效地改善了分类器的识别率和可靠性。关 键 词 学习子空间; 性能函数; 散布矩阵; 最小描述长度在子空间模式识别方法中,一个线性子空间代表一个模式类别,该子空间由反映类别本质的一组特征矢量张成,分类器根据输入样本在各子空间上的投影长度将其归为相应的类别。典型的子空间算法有以下三种[1, 2]:CLAFIC(Class-feature Information Compression)算法以相关矩阵的部分特征向量来构造子空间,实现了特征信息的压缩,但对样本的利用为一次性,不能根据分类结果进行调整和学习,对样本信息的利用不充分;学习子空间方法(Leaning Subspace Method, LSM)通过旋转子空间来拉大样本所属类别与最近邻类别的距离,以此提高分类能力,但对样本的训练顺序敏感,同一样本训练的顺序不同对子空间构造的影响就不同;平均学习子空间算法(Averaged Learning Subspace Method, ALSM)是在迭代训练过程中,用错误分类的样本去调整散布矩阵,训练结果与样本输入顺序无关,所有样本平均参与训练,其不足之处是各模式的子空间之间相互独立。针对以上问题,本文提出一种改进的子空间模式识别方法。子空间模式识别的基本原理1.1 子空间的分类规则子空间模式识别方法的每一类别由一个子空间表示,子空间分类器的基本分类规则是按矢量在各子空间上的投影长度大小,将样本归类到最大长度所对应的类别,在类x()iω的子空间上投影长度的平方为()211,2,,()argmax()jMTkkjpg===Σx􀀢 (1)式中 函数称为分类函数;为子空间基矢量。两类的分类情况如图1所示。

    标签: 子空间 模式 识别方法

    上传时间: 2013-12-25

    上传用户:熊少锋

  • 分时操作系统思想在单片机编程中的实现

    作为嵌入式系统主控单元——单片机,其软件往往是一个微观的实时操作系统,且大部分是为某种应用而专门设计的。系统程序有实时过程控制或实时信息处理的能力,要求能够及时响应随机发生的外部事件并对该事件做出快速处理。而分时操作系统却是把CPU的时间划分成长短基本相同的时间区间,即“时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用。如果某个作业在时间片结束之前,整个任务还没有完成,那么该作业就被暂停下来,放弃CPU,等待下一轮循环再继续做。此时CPU又分配给另一个作业去使用。由于计算机的处理速度很快,只要时间片的间隔取得适当,那么一个用户作业从用完分配给它的一个时间片到获得下一个CPU时间片,中间有所“停顿”;但用户察觉不出来,好像整个系统全由它“独占”似的。分时操作系统主要具有以下3个特点:① 多路性。用户通过各自的终端,可以同时使用一个系统。② 及时性。用户提出的各种要求,能在较短或可容忍的时间内得到响应和处理。③ 独占性。在分时系统中,虽然允许多个用户同时使用一个CPU,但用户之间操作独立,互不干涉。分时操作系统主要是针对小型机以上的计算机提出的。一般而言,微处理器(MPU)驱动的通用计算机,系统设计人员对每一台的最终具体应用都是不得而知的,因此,在价格允许的情况下,硬件设计务求CPU时钟尽可能的快;计算及管理能力尽可能的强;程序和数据存储器的容量尽可能的大;各种计算机外设的配接尽可能的详尽等等,特别是采用分时操作系统的机器,因为是一机多用户的管理系统,它的要求就更高了。相对而言,微控制器(MCU)俗称单片机,是一个单片集成系统,它将这些或那些计算机所需的外设,诸如程序和数据存储器、端口以及有关的子系统集成到一片芯片上。从硬件上,单片机系统与采用分时操作系统的计算机系统是无法比拟的。但是,在单片机系统的设计中,设计人员对其最终具体应用是一清二楚的,它的使用环境相对是单一固定的。所控制的过程的可预见性为分时系统思想的实现提供了可能性。具体一点就是:虽然单片机的CPU速度较低,但其任务是可预见的,这样作业调度将变得简单而无须占用很多的CPU时间,同时“时间片”的设计是具体而有针对性的,因此可变得很有效。一、单片机分时系统的设计单片机系统往往是一个嵌入式的控制系统,因此目前绝大部分的单片机系统还是一实时系统。能够真正体现分时系统的设计思想的往往是那些多路重复检测控制系统。即便是在这些多路重复检测控制系统中,它的实时性也是非常重要的。也就是说,在单片机系统中应用了分时系统设计思想,但其及时性应首先进行考虑。

    标签: 分时操作系统 中的实现 单片机编程

    上传时间: 2013-12-23

    上传用户:佳期如梦

  • 单片机应用技术选编3

    单片机应用技术选编(3) 目录  第一章 单片机的综合应用技术1.1 8098单片机存储器的扩展技术1.2 87C196KC单片机的DMA功能1.3 MCS?96系列单片机高精度接口设计1.4 利用PC机的8096软件开发系统1.5 EPROM模拟器及其应用1.6 MCS?51智能反汇编软件的设计与实现1.7 MCS?51系列软件设计与调试中一个值得注意的问题1.8 PL/M语言在微机开发系统中的应用特性1.9 MCS?51单片机开发系统中的断点产生1.10 C语言实型数与单片机浮点数之间数据格式的转换1.11 微机控制系统初始化问题探讨1.12 MCS?51中断系统中的复位问题1.13 工业控制软件的编程原则与编程技巧1.14 CMOS微处理器的功耗特性及其功耗控制原理和应用1.15 基于PLL技术的A/D、D/A转换器的设计1.16 智能仪器监控程序的模块化设计1.17 用软件逻辑开关实现单片机的地址重叠使用1.18 8259A可编程中断控制器与8031单片机接口电路及编程1.19 NSC810及其在各种微处理机中的应用1.20 MC146818在使用中的几个问题1.21 交流伺服系统中采用8155兼作双口信箱存储器的双微机结构1.22 实用汉字库芯片的制作 第二章 新一代存储器及逻辑器件2.1 新一代非易失性记忆元件--闪烁存储器2.2 Flash存储器及应用2.3 随机静态存储器HM628128及应用2.4 非挥发性随机存储器NOVRAM2.5 ASIC的设计方法和设计工具2.6 GAL器件的编程方法及其应用2.7 第三代可编程逻辑器件--高密EPLD辑器件EPLDFPGA设计转换 第三章 数据采集、前向通道与测量技术 3.1 温度传感器通道接口技术 3.2 LM135系列精密温度传感器的原理和应用 3.3 仪表放大器AD626的应用 3.4 5G7650使用中应注意的问题 3.5 用集成运算放大器构成电荷放大器组件 3.6 普通光电耦合器的线性应用 3.7 高线性光耦合型隔离放大器的研制 3.8 一种隔离型16位单片机高精度模拟量接口3.9 单片16位A/D转换器AD7701及其与8031单片机的串行接口3.10 双积分型A/D转换器与MCS?51系列单片机接口的新方法3.11 8031单片机与AD574A/D转换器的最简接口3.12 8098单片机A/D转换接口及其程序设计3.13 提高A/D转换器分辨率的实用方案3.14 用CD4051提高8098单片机内10位A/D转换器分辨率的方法3.15 单片机实现16位高速积分式A/D转换器3.16 434位A/D转换器MAX133(134)的原理及应用3.17 AD574A应用中应注意的问题 3.18 CC14433使用中应注意的问题 3.19 高精度宽范围数据采集系统的温度补偿途径 3.20 缩短ICL7135A/D采样程序时间的一种方法 3.21 用单片机实现的数字式自动增益控制 3.22 自动量程转换电路 3.23 双积分型A/D的自动量程切换电路 3.24 常用双积分型A/D转换器自换程功能的扩展3.25 具有自动量程转换功能的单片机A/D接口3.26 混合型数据采集器SDM857的功能与应用3.27 高速数据采集系统的传输接口3.28 SJ2000方向鉴别位移脉宽频率检测多用途专用集成电路3.29 多路高速高精度F/D专用集成电路3.30 数控带通滤波器的实现及其典型应用 第四章 控制系统与后向通道接口技术4.1 模糊逻辑与模糊控制4.2 自动控制技术的新发展--模糊控制技术4.3 模糊控制表的确定原则4.4 变结构模糊控制系统的实验研究4.5 新型集成模糊数据相关器NLX1124.6 功率固态继电器的应用4.7 双向功率MOS固态继电器4.8 SSR小型固态继电器与PSSR功率参数固态继电器4.9 JGD型多功能固态继电器的原理和应用4.10 光电耦合器在晶闸管触发电路中的应用4.11 一种廉价的12位D/A转换器AD667及接口4.12 利用单片机构成高精度PWM式12位D/A4.13 三相高频PWM模块SLE45204.14 专用集成电路TCA785及其应用4.15 单片温度控制器LM3911的应用4.16 工业测控系统软件设计的若干问题研究 第五章 人机对话通道接口技术5.1 廉价实用的8×8键盘5.2 单片机遥控键盘接口5.3 对8279键盘显示接口的改进5.4 用单片机8031的七根I/O线实现对键盘与显示器的控制5.5 通用8位LED数码管驱动电路ICM7218B5.6 利用条图显示驱动器LM3914组成100段LED显示器的方法5.7 液晶显示器的多极驱动方式5.8 点阵式液晶显示屏的构造与应用5.9 点阵式液晶显示器图形程序设计5.10 DMF5001N点阵式液晶显示器和8098单片机的接口技术5.11 8098单片机与液晶显示控制器HD61830接口5.12 利用PL/M语言对点阵式液晶显示器进行汉字程序设计5.13 语音合成器TMS 5220的开发与应用5.14 制作T6668语音系统的一些技术问题5.15 单片机、单板机在屏显系统中的应用 第六章 多机通讯网络与遥控技术6.1 用双UART构成的可寻址遥测点装置--兼谈如何组成系统6.2 IBM?PC微机与8098单片机的多机通讯6.3 80C196单片机与IBM?PC机的串行通讯6.4 IBM?PC与MCS?51多机通讯的研究6.5 半双工方式传送的单片机多机通信接口电路及软件设计6.6 单片机与IBM/PC机通讯的新型接口及编程6.7 用光耦实现一点对多点的总线式通讯电路6.8 用EPROM作为通讯变换器实现多机通讯6.9 ICL232单电源双RS?232发送/接收器及其应用6.10 DTMF信号发送/接收电路芯片MT8880及应用6.11 通用红外线遥控系统6.12 8031单片机在遥控解码方面的应用 第七章 电源、电压变换及电源监视7.1 用于微机控制系统的高可靠性供电方法7.2 80C31单片机防掉电和抗干扰电源的设计7.3 可编程基准电压源7.4 电源电压监视器件M81953B7.5 检出电压可任意设定的电源电压监测器7.6 低压降(LDO?Low Drop?Out)稳压器7.7 LM317三端可调稳压器应用二例7.8 三端集成稳压器的扩流应用 第八章 可靠性与抗干扰技术8.1 数字电路的可靠性设计实践与体会8.2 单片机容错系统的设计与实现8.3 微机测控系统的接地、屏蔽和电源供给8.4 ATE的抗干扰及接地技术8.5 微处理器监控电路MAX690A/MAX692A8.6 电测仪表电路的实用抗干扰技术8.7 工业镀锌电阻炉温度控制机的抗干扰措施8.8 一种简单的抗干扰控制算法 ? 第九章 综合应用实例9.1 蔬菜灌溉相关参数的自动检测9.2 MH?214溶解氧测定仪9.3 COP840C单片机在液晶线控空调电脑控制器中的应用9.4 单片机在电饭煲中的应用9.5 用PIC单片机制作电扇自然风发生器 第十章 文章摘要 一、 单片机的综合应用技术1.1 摩托罗拉8位单片机的应用和开发1.2 NS公司的COP800系列8位单片机1.3 M68HC11与MCS?51单片机功能比较1.4 8098单片机8M存储空间的扩展技术1.5 80C196KC单片机的外部设备事件服务器1.6 一种多进程实时控制系统的软件设计1.7 开发单片机的结构化高级语言PL/M?961.8 应用软件开发中的菜单接口技术1.9 单片机用户系统EPROM中用户程序的剖析方法1.10 BJS?98硬件、软件典型实验1.11 FORTH语言系统的开发应用1.12 在Transputer系统上用并行C语言编程的特点1.13 一种软件扩展8031内部计数器简易方法1.14 MCS 51系列单片机功能测试方法研究1.15 用CD 4520B设计对称输出分频器的方法1.16 多路模拟开关CC 4051功能扩展方法1.17 条形码技术及其应用系统的设计与实现? 二、 新一代存储器及逻辑器件2.1 一种多功能存储器M6M 72561J2.2 串行E2PROM及其在智能仪器中的应用2.3 新型高性能的AT24C系列串行E2PROM2.4 2K~512K EPROM编程卡2.5 电子盘的设计与实现2.6 NS GAL器件的封装标签、类型代码和编程结构间的关系 三、数据采集、前向通道与测量技术3.1 仪器用精密运放CA3193的应用3.2 集成电压?电流转换器XTR100的应用3.3 瞬时浮点放大器及应用3.4 隔离放大器289J及其应用3.5 ICS?300系列新型加速度传感器3.6 一种实用的压力传感器接口电路3.7 霍尔传感器的应用3.8 一种对多个传感器进行调理的方法3.9 两线制压力变送器3.10 小信号双线变送器XTR101的使用3.11 两线长距离频率传输压力变送器的设计3.12 测温元件AD590及其应用3.13 热敏电阻应用动态3.14 一种组合式A/D、D/A转换器的设计3.15 一种复合式A/D转换器3.16 TLC549串行输出ADC及其应用3.17 提高A/D转换精度的方法--双通道A/D转换3.18 模数转换器ICL7135的0~3.9999V显示3.19 微型光耦合器3.20 一种高精度的分压器电路3.21 利用单片机软件作热电偶非线性补偿3.22 三线制RTD测量电路及应用中要注意的问题3.23 微伏信号高精度检测中极易被忽略的问题3.24 宽范围等分辨率精密测量法3.25 传感器在线校准系统3.26 一种高精度的热敏电阻测温电路3.27 超声波专用集成电路LM1812的原理与应用3.28 旋转变压器数字化检测及其在8098单片机控制伺服系统中的应用3.29 单片集成两端式感温电流源AD590在温度测控系统中的应用?3.30 数字示波器和单片机构成的自动测试系统3.31 霍尔效应式功率测量研究 四、 控制系统与后向通道接口技术4.1 模糊逻辑与模糊控制(实用模糊控制讲座之一)4.2 红绿灯模糊控制器(实用模糊控制讲座之二)4.3 国外模糊技术新产品4.4 交流串级调速双环模糊PI单片机控制系统4.5 时序控制专用集成电路LT156及其应用4.6 电池充电控制集成电路4.7 双向晶闸管4.8 双向可控硅的自触发电路及其应用4.9 微处理器晶闸管频率自适应触发器4.10 F18系列晶闸管模块介绍4.11 集成电路UAA4002的原理及应用4.12 IGBT及其驱动电路4.13 TWH8751应用集锦4.14 结构可变式计算机工业控制系统设计4.15 单片机控制的音响编辑器 五、 人机对话通道接口技术5.1 5×7点阵LED智能显示器的应用5.2 基于8031串行口的LED电子广告牌5.3 点阵液晶显示控制器与计算机的接口技术5.4 单片机控制可编程液晶显示系统5.5 大规模语言集成电路应用综述5.6 最新可编程语言集成电路MSSIO61的应用5.7 用PC打印机接口扩展并行接口 六、 多机系统、网络与遥控技术6.1 用8098单片机构成的分布式测温系统6.2 平衡接口EIA?422和EIA485设计指南6.3 I2C BUS及其系统设计6.4 摩托罗拉可寻址异步接受/发送器6.5 用5V供电的RS232C接口芯片6.6 四通道红外遥控器6.7 TA7333P和TA7657P的功能及应用 七、 电源、电压变换及电源监视7.1 单片机控制的可控硅三相电源调压稳压技术7.2 集成开关电源控制器MC34063的原理及应用7.3 LM299精密基准电压源7.4 集成过压保护器的应用7.5 3V供电的革命7.6 HMOS微机的超低电源电压运行技术 八、 可靠性与抗干扰设计8.1 浅谈舰船电磁兼容与可靠性 九、 综合应用实例9.1 8098单片机交流电气参数测试系统的设计和应用9.2 主轴回转误差补偿控制器9.3 FWK?A型大功率发射台微机控制系统9.4 高性能压控振荡型精密波形发生器ICL8038及应用9.5 单片机COP 840C在洗碗机中的应用

    标签: 单片机 应用技术

    上传时间: 2013-11-10

    上传用户:lijinchuan

  • 汇编+保护模式+教程

    九.输入/输出保护为了支持多任务,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

  • 用单片机实现温度远程显示

    用单片机实现温度远程显示摘  要:文章介绍了用AT89S8252单片机的串行接口与智能温度巡回检测仪(XJ-08S)通过RS—485总线相互通讯实现热水温度远程显示的一种低成本解决方案,内容涉及RS—485总线通讯、单片机驱动数码管显示、数据转换以及键盘处理软硬件设计等内容。关键词:单片机  RS—485总线  数码管显示  数据转换  键盘处理一、前  言目前检测温度一般采用热电偶或热敏电阻作为传感器,这种传感器至仪表之间一般都要用专用的温度补偿导线,而温度补偿导线价格很贵,并且线路太长也会影响测量精度。在实际应用中往往需要对较远处(1KM左右)的温度信号进行监视。现有的解决方案有很多,例如:1、 在现场用智能仪表对温度信号进行测量,用计算机作上位机与智能仪表进行通讯来实现远程温度监测(采用这种方案要增加计算机设备及相关计算机软件)。2、 NCU+DDC实现远程温度监测。用两个DDC,一个安装在现场测量温度,另一个安装在监视地,两个DDC通过NCU进行通讯从而实现远程温度监测。但以上方案都存在成本高的问题,有没有低成本的解决方案呢?其实,在单片机应用日益广泛的今天,完全可以用单片机以极低的成本来实现远程温度监测。二、问题的提出我单位管理的锅炉房同时给两栋建筑物内的两家酒店供应蒸汽,由安装在两栋建筑物地下室的热交换器进行热交换后产生热水送给客房。从锅炉房至两个热交换站的距离分别约600米,值班人员要不停地奔波于两个热交换站与锅炉房之间进行设备巡视,检查热水温度是否控制在规定的范围,这样不仅增加了值班人员的劳动强度,同时也使锅炉房经常无人(因每班1人值班)。如果能在锅炉房显示两个热交换站内各热交换器的热水温度,则值班人员仅在热水温度异常时才需到各热交换站检查设备,这样便可解决上述问题。我公司曾就此问题找专业公司作过方案,其报价在人民币10万元左右,后因种种原因该项目未实施。经过分析,本人发现可以用单片机+智能仪表以低成本实现温度远程显示,并且经过实验取得了成功,现将设计方案简述如下:三、控制要求及解决方案选择 1、 两个热交换站分高低区共安装有8个热交换器,正常水温在45oC至65oC之间;两个热交换站与锅炉房的距离分别为500米和600米左右。2、 要求在锅炉房能以巡回及定点两种方式显示8个热交换器的热水温度,巡回方式以3秒为周期轮流更新及显示各热交换器热水温度。定点方式时每按上键或下键一次则显示上或下一个热交换器热水温度,每3秒自动更新数据一次。3、 根据控制要求选择单片机+智能仪表的解决方案:用带通讯接口的智能仪表安装在现场测量温度,设计制作一个单片机装置完成与智能仪表的通讯及数据显示。四、通讯协议、智能仪表选择及其参数介绍因热水温度信号变化较慢,因而对通信的速度要求不高,对于这种低速率远距离的通讯选用RS-485总线适宜。RS-485是EIA(美国电子工业联合会)在1983年公布的新的平衡传输标准,是工业界使用最为广泛的双向、平衡传输线标准接口,它以半双工方式通信,支持多点连接,传统驱动器允许创建多达32个节点的网络,且其具有传输距离远(最大传输距离为1200M),传输速度快(1200M时为100KBPS)等优点。其连接方法如下图所示。

    标签: 用单片机 温度 远程显示

    上传时间: 2013-10-12

    上传用户:luopoguixiong

  • RS232串行接口电平转接器

    RS-232-C 是PC 机常用的串行接口,由于信号电平值较高,易损坏接口电路的芯片,与TTL电平不兼容故需使用电平转换电路方能与TTL 电路连接。本产品(转接器),可以实现任意电平下(0.8~15)的UART串行接口到RS-232-C/E接口的无源电平转接, 使用非常方便可靠。 什么是RS-232-C 接口?采用RS-232-C 接口有何特点?传输电缆长度如何考虑?答: 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。(1) 接口的信号内容实际上RS-232-C 的25 条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9 条引线。(2) 接口的电气特性 在RS-232-C 中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即 要求接收器能识别低至+3V 的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”(3) 接口的物理结构 RS-232-C 接口连接器一般使用型号为DB-25 的25 芯插头座,通常插头在DCE 端,插座在DTE端. 一些设备与PC 机连接的RS-232-C 接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9 的9 芯插头座,传输线采用屏蔽双绞线。(4) 传输电缆长度由RS-232C 标准规定在码元畸变小于4%的情况下,传输电缆长度应为50 英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50 英尺,美国DEC 公司曾规定允许码元畸变为10%而得出附表2 的实验结果。其中1 号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。2 号电缆为不带屏蔽的电缆。 2. 什么是RS-485 接口?它比RS-232-C 接口相比有何特点?答: 由于RS-232-C 接口标准出现较早,难免有不足之处,主要有以下四点:(1) 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL 电路连接。(2) 传输速率较低,在异步传输时,波特率为20Kbps。(3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4) 传输距离有限,最大传输距离标准值为50 英尺,实际上也只能 用在50 米左右。针对RS-232-C 的不足,于是就不断出现了一些新的接口标准,RS-485 就是其中之一,它具有以下特点:1. RS-485 的电气特性:逻辑“1”以两线间的电压差为+(2—6) V 表示;逻辑“0”以两线间的电压差为-(2—6)V 表示。接口信号电平比RS-232-C 降低了,就不易损坏接口电路的芯片, 且该电平与TTL 电平兼容,可方便与TTL 电路连接。2. RS-485 的数据最高传输速率为10Mbps3. RS-485 接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。4. RS-485 接口的最大传输距离标准值为4000 英尺,实际上可达 3000 米,另外RS-232-C接口在总线上只允许连接1 个收发器, 即单站能力。而RS-485 接口在总线上是允许连接多达128 个收发器。即具有多站能力,这样用户可以利用单一的RS-485 接口方便地建立起设备网络。因RS-485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。 因为RS485 接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。 RS485 接口连接器采用DB-9 的9 芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485 采用DB-9(针)。3. 采用RS485 接口时,传输电缆的长度如何考虑?答: 在使用RS485 接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个 长度数据主要是受信号失真及噪声等影响所限制。下图所示的最大电缆长度与信号速率的关系曲线是使用24AWG 铜芯双绞电话电缆(线 径为0.51mm),线间旁路电容为52.5PF/M,终端负载电阻为100 欧 时所得出。(曲线引自GB11014-89 附录A)。由图中可知,当数据信 号速率降低到90Kbit/S 以下时,假定最大允许的信号损失为6dBV 时, 则电缆长度被限制在1200M。实际上,图中的曲线是很保守的,在实 用时是完全可以取得比它大的电缆长度。 当使用不同线径的电缆。则取得的最大电缆长度是不相同的。例 如:当数据信号速率为600Kbit/S 时,采用24AWG 电缆,由图可知最 大电缆长度是200m,若采用19AWG 电缆(线径为0。91mm)则电缆长 度将可以大于200m; 若采用28AWG 电缆(线径为0。32mm)则电缆 长度只能小于200m。

    标签: 232 RS 串行接口 电平

    上传时间: 2013-10-11

    上传用户:时代电子小智

  • 单片机控制交通灯程序及设计

    近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。 程序源代码              ORG 0000H         ;主程序的入口地址        LJMP MAIN         ;跳转到主程序的开始处        ORG 0003H         ;外部中断0的中断程序入口地址                 ORG 000BH         ;定时器0的中断程序入口地址  

    标签: 单片机控制 交通灯 程序

    上传时间: 2013-12-21

    上传用户:1234321@q