




已阅读5页,还剩89页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术 第8章常用输入 输出接口电路 胡飞虎电气工程学院工业自动化系117室email hufeihu 课程网站地址 一 并行通信概述 计算机为什么需要i o接口电路 1 外部设备种类繁多 有机械式 有机电式 还有电子式的 不同外部设备之间性能各异 对数据传送的要求也各不相同的 无法按统一格式进行 2 外部设备的数据信号是多种多样的 3 外设的数据传送有近距离的 也有远距离的 4 外部设备的工作速度快慢差异很大 无法实现外部设备与cpu进行直接的同步数据传送 而必须在cpu和外设之间扩展接口电路 通过接口电路对cpu与外设之间的数据传送进行协调 因此接口电路就成了数据i o操作的核心内容 一 并行通信概述 接口电路主要有如下几项功能 1 速度协调由于速度差异 数据的i o传送只能以异步方式进行 即只能在确认外设已为数据传送作好准备的前提下才能进行i o操作 而要知道外设是否准备好 就需要通过接口电路产生或传送外设的状态 以此进行cpu与外设之间的速度协调 2 数据锁存接口电路中需设置锁存器 以保存输出数据直至为输出设备所接收 因此数据锁存就成为接口电路的一项重要功能 3 数据转换需要使用接口电路进行数据信号的转换 其中包括 模 数转换 数 模转换 串 并转换和并 串转换 一 并行通信概述 4 三态缓冲只允许当前时刻正在进行数据传送的数据源使用数据总线 其它数据源都必须与数据总线处于隔离状态 为此要求接口电路能为数据输入提供三态缓冲功能 接口与端口接口则特指计算机与外设之间在数据传送方面的联系 其功能主要是通过电路实现的 因此称之为接口电路 一个接口电路中可能包括有多个端口 例如保存数据的数据端口 保存状态的状态端口和保存命令的命令端口等 因此一个接口电路就对应着多个端口地址 一 并行通信概述 数据口 输入 输出 双向状态口 只能由cpu读入 控制口 只能由cpu写出 每个口由译码电路分配一个唯一的地址 外设经接口与总线相连 其连接必须遵循 输入要三态 输出要锁存 一 并行通信概述 1 数据口用于完成输入与输出数据 接口使用的数据有 a 数字量如键盘等的二进制表示的数或ascii码表示的数和字符 b 模拟量要经过adc和dac转换为数字量或模拟量 c 开关量以一位二进制表示的量 2 控制口控制口为一个输出接口 用于控制外设的启 start 停止 stop 或数据的选通 stb 等 3 状态口cpu通过这个端口了解外设状态 输入外设是否准备好 ready 转换是否结束 eoc 输出装置是否忙 busy 一 并行通信概述 1数据通信的并行与串行 通信 泛指计算机与接口电路之间的信息沟通与数据交换 在通信中 若数据按n个位 常用8位或16位 同时传送信息 则称之为并行通信 能实现并行通信的接口电路 就称之为并行i o接口电路 如所传送数据是按逐位发送或接收的 则称为串行通信 实现串行通信的接口电路称为串行i o接口电路 在同样的工作节拍下 并行通信的数据传送率要比串行通信的高 但并行传送仅适合于近距离快速数据通信的场合 一 并行通信概述 一 并行通信概述 2可编程的接口电路 一 并行通信概述 1 数据缓冲寄存器分为输入和输出缓冲寄存器两种 前者的作用是将外设送来的数据暂时存放 以便处理器将它取走 后者的作用是用来暂时存放处理器送往外设的数据 有了数据缓存器 就可以在高速工作的cpu与慢速工作的外设之间起协调 缓冲作用 实现数据传送的同步 2 控制寄存器用于存放处理器发来的控制命令和其它信息 以确定接口电路的工作方式和功能 控制寄存器是写寄存器 其内容只能由处理器写入 不能读出 一 并行通信概述 3 状态寄存器用于保存外设现行各种状态信息 它的内容可以被处理器读出 从而使处理器了解外设状况 特别当cpu以程序查询方式同外设交换数据时 状态寄存器更是必不可少的 cpu通过查询外设的忙 闲 就绪 不就绪等状态 才能正确地与之交换信息 以上三种寄存器是接口电路中的核心部分 通常所说的端口 大都指这些寄存器 4 数据总线缓冲器用于实现接口芯片内部总线和cpu系统总线的连接 该缓冲器是双向的 实现数据的输入 输出或命令的输出及状态的读入 一 并行通信概述 5 地址总线缓冲与译码锁存来自地址总线的地址信号 并通过译码寻址各端口 6 内部控制逻辑用于产生一些接口电路内部的控制信号 实现系统控制总线与内部控制信号之间的变换 7 对外联络控制逻辑用于产生 接收cpu和外设之间数据传送的同步信号 这些联络握手信号包括微处理器一边的中断请求和响应 总线请求和响应 以及外设一边的准备就绪和选通等控制与应答信号 二 可编程并行接口电路8255 二 可编程并行接口电路8255 1 数据端口8255a共有三个8位口 其中a口和b口是单纯的数据口 供数据i o使用 而c口则既可以作数据口 又可以作控制口使用 用于实现a口和b口的控制功能 数据传送中a口所需的控制信号由c口高位部分 pc7 pc4 提供 因此把a口和c口高位部分合在一起称之为a组 同样理由把b口和c口低位部分 pc3 pc0 合在一起称之为b组 二 可编程并行接口电路8255 2 总线接口电路 a 数据总线缓冲器数据总线缓冲器为8位双向三态缓冲器 可直接和cpu的数据线相连 与i o操作有关的数据 控制字和状态信息都是通过该缓冲器进行传送 b 读 写控制逻辑 cs 片选信号 低电平有效 rd 读信号 低电平有效 wr 写信号 低电平有效 a0 a1 端口选择信号 8255a共有四个可寻址的端口 即a口 b口 c口和控制寄存器 二 可编程并行接口电路8255 8255a端口选择及工作状态 c 控制逻辑电路控制逻辑电路包括a组控制和b组控制 合在一起构成8位控制寄存器 用于存放各口的工作方式控制字 二 可编程并行接口电路8255 8255a的控制寄存器及其工作方式 1 控制字寄存器8255a的控制字有 工作方式控制字和c口置位 复位控制字两种 1 工作方式控制字其中d0 d2控制b组 d0 d1分别确定端口c的低4位及端口b的输入输出方向 d2确定端口b的工作方式 可以选择端口b为方式0或方式1 d3 d6控制a组 d3 d4用来设置端口c的高四位及端口a的输入输出方向 d5 d6用来选择a口的工作方式为三种工作方式之一 最高位d7是工作方式控制字标志 必须是1 二 可编程并行接口电路8255 8255的方式字 写入a1 a0 11 d0 d1 d2 d3 d4 d5 d6 d7 pc3 pc01 输入0 输出 b口1 输入0 输出 b组工作方式0 方式01 方式1 pc7 pc41 输入0 输出 a口1 输入0 输出 a组工作方式00 方式001 方式11 方式2 d7 1特征位 b组 a组 二 可编程并行接口电路8255 2 c口置位 复位控制字 写入a1a0 11 d0 d1 d2 d3 d4 d5 d6 d7 1 置位0 复位 c口选择 000 pc0001 pc1010 pc2011 pc3100 pc4101 pc5110 pc6111 pc7 任选 可1可0 d7 0 特征位 方式0 基本i o方式 查询时 任选c口做连络信号 方式1 选通i o方式 可查询或中断 固定c口做连络信号 方式2 双向i o方式 只用于a口 pc3 pc7做连络信号 二 可编程并行接口电路8255 2 8255的工作方式a 方式0基本的输入输出工作方式a口 b口及c口高低4位均可工作在方式0 而且a口 b口 c口高 低四位是相互独立的 可以分别由程序设定为输入或输出 因此 可以有24 16种输入 输出组合 端口作为输出口时 输出数据与端口的引脚是直通的 用方式0可以实现cpu与外设接口的无条件数据传送 二 可编程并行接口电路8255 b 方式1选通输入 输出方式a口和b口分别用于数据的输入 输出 而c口则作为数据传送的联络信号 a口和b口的联络信号都是三个 如果a或b只有一个口按方式1使用 则剩下的另外13位口线仍然可按方式0使用 如果两个口都按方式1使用 则还剩下2位口线 这两位口线仍然可以进行位状态的输入输出 方式1适用于查询或中断方式的数据i o 二 可编程并行接口电路8255 pa7 pa0 pc4 pc5 pc3 inteapc4 与门 ibfa rd d7 d0 a口方式1输入与b口方式1输入时相应的联络信号 pb7 pb0 pc2 pc1 pc0 intebpc2 与门 rd d7 d0 ibfb stbb intrb 外设 外设 二 可编程并行接口电路8255 二 可编程并行接口电路8255 方式1下输出端口的联络信号 ack acknowledge obf outputbufferfull响应信号 低电平有效输出缓冲器满 高电平有效 二 可编程并行接口电路8255 c 方式2双向数据传送方式只有a口才能选择这种工作方式 这时a口既能输入数据又能输出数据 在这种方式下需使用c口的五位线作控制线 方式2适用于查询或中断方式的双向数据传送 如果把a口置于方式2下 b口可以工作在方式0或方式1 若b口工作在方式1 pc0 2仍为该口的联络线 二 可编程并行接口电路8255 二 可编程并行接口电路8255 d 8255a状态字 由端口c读出 可以通过读端口c得到相关的状态信息 供程序查询 i o intea ibfa intrb ibfb inteb intra i o a a口 b口方式1输入 d7d6d5d4d3d2d1d0 b a口 b口方式1输出 i o intea obfa intrb obfb inteb intra i o d7d6d5d4d3d2d1d0 c a口方式2 x inte出 obfa intra x x inte入 ibfa d7d6d5d4d3d2d1d0 a组b组 a组b组 二 可编程并行接口电路8255 例1 对8255a各口作如下设置 a口方式0 b口方式0 从a口输入从b口 c口输出 8255ac口的地址为63h 工作方式控制字10010000 即90h 初始化程序段为 moval 90h 设b口 c口输出 a口输入 a口 b口为方式0out63h alinal 60h 从a口输入 out61h al 从b口输出 out62h al 从c口输出 二 可编程并行接口电路8255 例2 把c口的第六位pc5置为1 moval 00001011 pc5置位out63h al 例3 设控制寄存器地址为ppi csmoval 00001110boutppi cs al pc7 0moval 00001111boutppi cs al pc7 1moval 00001110boutppi cs al pc7 0执行上述程序后 在8255a的pc7输出一个窄脉冲 例4 1 a口 方式0 输出 b口 方式0 输入 8255a各端口地址 a口 320h b口 321h c口 322h 控制寄存器 323h a9a8a7a6a5a4a3a2a1a011001000xx 工作方式控制字 10000010b 二 可编程并行接口电路8255 初始化及应用程序片段 movdx 323h 初始化moval 10000010boutdx alsubdx 2 dx 321h 指向b口inal dxnotal 各位取反 闭合时为0 点亮led应为1decdx dx 320h 指向a口outdx al 三 可编程计数器 定时器8253 定时控制在微机系统中具有极为重要的作用 计数是许多过程控制领域常用的功能定时器由数字电路中的计数电路构成 通过记录高精度晶振脉冲信号的个数 输出准确的时间间隔计数电路如果记录外设提供的脉冲信号时 它主要反映脉冲的个数 又称为计数器 定时功能的实现方法 1 软件延时 利用微处理器执行一个延时程序段实现 不用硬件 但占用cpu时间 定时精度不高 随系统时钟频率改变 2 不可编程的硬件定时 功能简单 定时时间在一定范围改变 3 可编程的硬件定时 软硬件结合 用可编程芯片构成一个方便灵活的定时电路 具有多种工作方式 能输出多种控制信号 三 可编程计数器 定时器8253 8253 8254定时计数器 3个独立的16位计数器通道每个计数器有6种工作方式按二进制或bcd码计数每个计数器占用一个端口地址 三个控制寄存器共用一个端口地址 三 可编程计数器 定时器8253 1 clk时钟输入信号 此引脚上每输入一个时钟信号 下降沿 计数器的计数值减1 2 gate门控输入信号 控制计数器工作 可分成电平控制和上升沿控制两种类型 3 out计数器输出信号 当一次计数过程结束 计数值减为0 此引脚产生一个输出信号 计数初值存于计数器寄存器 在计数过程中 减法计数器的值不断递减 而cr中的计数初值不变 输出锁存器用于写入锁存命令时 锁定当前计数值 三 可编程计数器 定时器8253 三 可编程计数器 定时器8253 8253的编程 1 8253加电后的工作方式不确定 2 8253必须初始化编程 才能正常工作写入控制字控制字写入控制字i o端口地址 a1a0 11 写入计数初值计数值写入计数器各自的i o端口地址读取计数值 三 可编程计数器 定时器8253 8253的控制字格式 sc1 sc0 rw1 rw0 m2 m1 m0 bcd 计数器读写操作工作方式选择十 二进制 d7d6d5d4d3d2d1d0 选择控制选择 00选0 计数器01选1 计数器10选2 计数器11非法 00将计数器中的数据锁存到缓冲器01选计数器的低8位字节10选计数器的高8位字节11计数器两次操作 先低8位 后高8位 000方式0001方式1010方式2011方式3100方式4101方式5 0选择二进制计数1选择十进制计数 三 可编程计数器 定时器8253 写入计数值 a 选择二进制计数值范围 0000h ffffh0000h是最大值 代表65536 b 选择十进制 bcd码 计数值范围 0000 99990000代表最大值10000 三 可编程计数器 定时器8253 读取计数值 1 对8位数据线 读取16位计数值需分两次 2 计数在不断进行 应该将当前计数值先行锁存 然后读取 向控制字i o地址 给8253写入锁存命令从计数器i o地址 读取锁存的计数值 三 可编程计数器 定时器8253 例 moval 00110111b 对0 计数器送控制字out43h al 采用工作方式3 按十进制计数movax 1234h 16位计数值 相当于对clk脉冲的分频系数out40h al 先送低8位计数值moval ahout40h al 再送高8位计数值moval 10010100b 对2 计数器送控制字out43h al 采用工作方式2moval 61h 仅送8位计数值out42h al 已知 0 计数器地址 40h0 计数器地址 41h0 计数器地址 42h控制寄存器地址 43h 三 可编程计数器 定时器8253 读某个计数器的当前计数值至cpu d7 sc1 x x x x 0 0 d6 d5 d4 d3 d2 d1 d0 sc0 选择计数器 锁存命令 无意义 也不影响原设置 例 countequ040h 设0 计数器的地址为40hlpcn moval 10000100b 对2 计数器送锁存命令outcount 3 alinal count 2 先读低8位movah alinal count 2 再读高8位xchgah alcmpax 55aah 比较确定是否等待jnzlpcn 三 可编程计数器 定时器8253 8253的工作方式 d7 d6 d4 d3 d0 d1 d2 d5 bcd m2m1m0 rl1rl0 计数器读写操作工作方式选择十 二选择控制 000 101 进制选择 1 方式0计数结束产生中断2 方式1可编程的单次脉冲3 方式2分频方式4 方式3方波发生器5 方式4软件触发的选通方式6 方式5硬件触发的选通方式 sc1sc0 方式0 计数结束产生中断当cpu发出控制字并将计数初值送完后 计数器即开始工作 输出信号out变为低电平 当ce计数器减到零 out立即输出高电平 用户可利用此上升沿向cpu申请中断 可用gate控制计数过程 高电平允许计数 低电平停止计数 计数值保持不变 当gate恢复高电平 可继续进行计数 在计数器工作期间 如又重复写入计数初值 则计数器将按新装入的初值重新工作 方式0计数周期只有一次 当ce减到零 则自动停止计数 方式1 程序可控单稳态工作方式控制字设定后out变为高电平 写入计数初值后并不立即开始计数 由gate启动计数 gate信号上升沿出现后的下一个时钟周期的下降沿out变低电平 开始减1计数 计数到0时out恢复成高电平 out输出负脉冲的宽度为计数初值所规定的clk脉冲周期数的宽度 方式1计数周期仅一次 当再给一个启动gate则又重新开始新一轮计数 计数器工作期间如gate信号上升沿出现 计数器会重装计数初值并重新开始计数 如计数期间写入新的计数初值 要等当前计数值减至零 且gate再次出现上升沿后才将cr中新的初值装入ce 按新的初值开始计数工作 方式2 计数分频工作方式方式2如同一个n分频计数器 如计数初值为n 则每n个输入脉冲 clk 就输出一个脉冲 方式2反复计数 分频输出 若gate维持为高电平 写入控制字后out变高电平 写入计数初值后即开始计数 当计数到ce 1时 out端输出宽度为一个时钟周期的负脉冲 然后又自动重装初值 开始下一轮计数 计数过程中可由gate控制暂停 gate 0 或重启 gate 1 当gate为高电平 在计数过程中可写入新的计数初值 对现行计数没有影响 当现行计数结束后 才将新的初值从cr装入ce中 开始新的计数 方式3 方波频率发出器方式3在计数过程中 out输出方波波形 前一半为高电平 后一半为低电平 然后不断重复 当gate 1 送入控制字后out变为高电平 置入cr初值后下一个clk下降沿开始计数 当初值n 偶数时 out输出是高 低对称方波 当n 奇数时 out输出为近似方波 计数过程中可由gate控制暂停或重启计数 若在out高电平期间 gate变低 则暂停计数过程 直到gate变高 计数器又重装初值开始计数 而在out为低电平期间 gate变低 out输出立即变高电平 而当gate变高电平后 计数又重新从初值开始计数 方式4 软件触发选通方式是一种由cpu写入计数初值即靠程序启动计数的工作方式 送入控制字后out变为高电平 当写入计数初值后计数器开始计数 即软件启动 计数到0后停止计数 out输出为低电平 持续一个clk脉冲周期后再恢复成高电平不变 这种方式计数是一次性的 只有当cpu再将计数初值写入cr计数器 才会启动另一次计数过程 gate为高电平时允许计数 低电平时停止计数 gate恢复成高电平后 从原先初值开始作减1计数 计数时若写入新的初值 不影响当前计数状态 当计数结束输出一个负脉冲后 计数器按新写入的计数初值开始计数 方式5 硬件触发选通方式与方式1类似 写入控制字及装入初值后不能启动计数 只有在gate脉冲的上升沿才能触发计数 写入控制字后out为高电平 写入初值后并不立即计数 仅当gate上升沿出现后启动计数 计数到0后out输出一个时钟周期的低电平后恢复高电平 并停止计数 当计数中出现gate脉冲 重装初值并重新开始计数 当计数中写入新的计数初值 只要不出现gate脉冲 对当前计数没有影响 只有当gate脉冲出现后 才能将cr中初值装入ce 开始新的计数 三 可编程计数器 定时器8253 8253工作方式0 5的输出波形 由软件触发计数 送新的计数值 方式0 方式4由硬件触发计数 由gate触发 方式1 方式5分频计数器输出 产生序列脉冲 方式2 方式3 三 可编程计数器 定时器8253 8253gate信号的控制作用与输出波形说明 三 可编程计数器 定时器8253 gate输入信号对每种工作方式的影响 movdx 0307h 0 计数器moval 00110000boutdx almovdx 0304hmoval 0abhoutdx almoval 23houtdx almovdx 0307h 1 计数器moval 01010010boutdx almoval 0abhmovdx 0305houtdx al 例1 8253初始化程序设计 0 计数器地址304h 方式0 二进制计数 计数初值23abh 1 计数器地址305h 方式1 二进制计数 计数初值abh 2 计数器地址306h 方式3 产生40khz 已知clk2时钟频率2mhz movdx 0307h 2 计数器moval 10110110boutdx almoval 32h 送初值低8位movdx 0306houtdx almoval 00h 送初值高8位outdx al 分频系数 2mhz40khz 50 32h 例2 8253在ibmpc xt中的应用 0 计数器 方式3 预置计数值为0 为电子钟提供时间基准1 计数器 方式2 预置计数值为18 用于动态ram刷新定时2 计数器 方式3 预置计数值533h 用于产生音频磁带和扬声器频率信号 0 计数器moval 00110110b pclk经二分频后 送到clk的脉冲频率为1 1931816mhzout43h al 0 计数器 工作方式3 方波发生器 moval 0 0 计数器预置计数值0 216out40h al out0输出脉冲的频率为18 2hz 周期为55ms out40h al 计数器0 定时中断 1 计数器0 方式3 计数值 65536 输出频率为1 19318mhz 65536 18 206hz的方波 2 门控为常启状态 这个方波信号不断产生 3 out0端接8259a的irq0 用作中断请求信号 4 每秒产生18 206次中断请求 或说每隔55ms 54 925493ms 申请一次中断 5 dos系统利用计数器0的这个特点 通过08号中断服务程序实现了日时钟计时功能 1 计数器moval 01010100b 1 计数器 工作方式2 分频器 out43h almoval 18 预置计数值为18 out1输出脉冲频率为66 2878khzout41h al 每隔15 12 产生一个宽度为840 的负脉冲 计数器1 定时刷新 1 需要重复不断提出刷新请求 门控总为高 选择方式2或3 2 2ms内刷新128次 即15 6 s刷新一次 计数初值为18 2 计数器moval 10110110b 2 计数器 工作方式3 方波发生器 out43h almovax 533h 预置计数值为533h out2输出脉冲频率为896hzout42h almoval ahout42h al 计数器2 扬声器控制 1 计数器2的输出控制扬声器的发声音调 2 计数器2只能工作在方式3 才能输出一定频率的方波 经滤波后得到近似的正弦波 进而推动扬声器发声 3 扬声器还受控于并行接口 8255芯片 1 写出8255a 8253中各可寻址的i o端口地址 地址译码 a7a6a5a4a3a2a1a0111cbaxx 8255a由y1输出作为片选信号 a7a6a5a4a3a2a1a011100100a口pa5511100101b口pb5511100110c口pc5511100111控制寄存器pctrl 8253由y6输出作为片选信号 a7a6a5a4a3a2a1a0111110000 计数器t c 0111110011 计数器t c 1111110102 计数器t c 211111011控制寄存器t cctrl i o接口编程题 74ls138 2 设外部时钟pclk 2mhz 若由8253的0 计数器每隔2ms产生一次定时中断 以进行扫描一次键盘 试编写相应的接口初始化程序 t c 0equ0f8ht cctrlequ0fbhmoval 00110100boutt ccrtl almovax 4000 预置计数值 2mhz 1 2ms outt c 0 almoval ahoutt c 0 al 3 根据上述键盘i o操作的要求 8255a的初始化程序 moval 10000010b a口 b口方式0 a口输出 b口输入outpctrl al 当端口地址为8位可直接输出 超过8位用dx间接寻址 8255a由y1输出作为片选信号 a7a6a5a4a3a2a1a011100100a口pa5511100101b口pb5511100110c口pc5511100111控制寄存器pctrl 8253由y6输出作为片选信号 a7a6a5a4a3a2a1a0111110000 计数器t c 0111110011 计数器t c 1111110102 计数器t c 211111011控制寄存器t cctrl 键扫描子程序scan填空 scanprocfarmovcx 4 预置行扫描计数值movbl 0feh 给bl置初值 以扫描第0行l1 moval bloutpa55 al 由8255a的a口输出行值calldelay 调用延时子程序inal pb55 从b口输入数据andal 0fh 屏蔽输入数据的高4位cmpal 0fh 测试是否有键入jnzl2 有键入 转至l2rolbl 1 bl寄存器的值循环移位loopl1jmpdone 程序若能执行到此处 说明无 有 无 键入l2 callget keydone retscanendp 8255a由y1输出作为片选信号 a7a6a5a4a3a2a1a011100100a口pa5511100101b口pb5511100110c口pc5511100111控制寄存器pctrl 例 8255a 8253综合应用某交流调速控制系统由intel8086cpu及8255a 8253等i o接口电路构成 如图8 19所示 其工作过程简述如下 该系统由电动机 变频调速和反馈控制电路构成 电动机的转速信号由转速传感器转换为电信号 经信号调理电路变换为0 5v的电压信号输入a d转换器 adc 8253用作定时控制 每隔0 5秒启动一次a d转换 采集转速信号 a d转换结束后由eoc引脚向cpu发出中断请求intr 在中断服务程序中进行调速控制 中断服务程序完成如下任务 读入a d转换结果 调用子程序proc data计算瞬时转速 转差率和调控参数 并据此调节电机转速 如果转差率超过5 则报警指示灯点亮 如果转差率小于5 则清除报警信号 若转差率超过10 则终止电机运行 运行指示灯 绿色led 由c口pc0位控制 指示系统是否正常运行 报警指示灯 红色led 由c口pc1位控制 指示有无报警提示 系统初始化后 运行指示灯点亮 c口pc2位输出高电平时 变频调速控制电路启动工作 电动机运行 movdx 23hmoval 00110110b 计数器0 工作方式3outdx almoval 10110100b 计数器2 工作方式2outdx almovdx 20hmovax 1000 计数初值为1000outdx alxchgah aloutdx almovdx 22hmovax 1000 计数初值为1000outdx alxchgah aloutdx al 1 已知时钟信号pclk频率为2mhz 0 计数器采用工作方式3 初始值为1000 2 计数器采用工作方式2 8253的端口地址为20h 23h 则8253的初始化程序为 movdx 83hmoval 10000010boutdx al 设置工作方式moval 0xxx0000boutdx al 置pc0 0moval 0xxx0011boutdx al 置pc1 1moval 0xxx0101boutdx al 置pc2 1 2 设8255a采用基本i o工作方式 端口地址为80 83h 则8255a的初始化 启动调速控制电路 设置各指示灯的初始状态的程序为 3 数据处理子程序proc data 完成瞬时转速 转差率和调控参数的计算 设a d转换结果x与转速n的对应关系为 n x 30 额定转速ne对应的a d转换结果为xe 转差率r用百分值表示 r 100 x xe xe 设程序中额定转速用符号常量rated speed表示 对应的调控参数的基准值用符号常量rated ctrl表示 调控参数的数值每增加1 预期转速将提高1 试编写该子程序代码 具体要求 子程序的入口参数 al 其内容为a d转换结果 出口参数 ah 其内容为转差率 有符号数 al 其内容为调控参数 proc dataprocfarpushbxmovbl rated speed 30 计算xe 转速3000对应100subal bl 计算 x xe movah 100imulah 计算100 x xe idivbl 计算转差率100 x xe xemovah al 出口参数 转差率negaladdal rated ctrl 出口参数 调控参数popbxretproc dataendp 4 按照上述的工作过程描述 试完成下面的中断服务程序 adcint pushaxpushdxmovdx 81h 输入a d转换结果inal dxcallfarproc data 调用数据处理子程序movdx 80h outdx al 输出调速控制参数andah ah jnsnext1 negah 计算转差率的绝对值next1 cmpah 10 ja jgerror cmpah 5 ja jgalarm normal moval 00000011b 置红灯灭输出值jmpnext2alarm moval 00000010b 置红灯亮输出值jmpnext2error moval 0xxx0100b 关闭变频调速电路 终止电机运行next2 movdx 83houtdx alpopdxpopaxiret 四 串行通信及接口电路 1串行通信的基本概念 所谓串行通讯是指外设和计算机间使用一根数据信号线一位一位地传输数据 每一位数据都占据一个固定的时间长度 串行 是指外设与接口电路之间的信息传送方式 cpu与接口之间仍按并行方式工作 为了保证数据传输的正确性 要求通信双方遵循某种约定的规范 即 通信协议 四 串行通信及接口电路 四 串行通信及接口电路 信息传输的检错和纠错 串行数据在传输过程中 由于干扰可能引起信息的出错如何发现传输中的错误 叫检错 发现错误后 如何消除错误 叫纠错最简单的检错方法是奇偶校验 即在传送字符的各位之外 再传送1位奇 偶校验位 可采用奇校验或偶校验 奇校验 所有传送的数位 含字符的各数位和校验位 中 1的个数为奇数偶校验 所有传送的数位 含字符的各数位和校验位 中 1的个数为偶数奇偶校验能够检测出1位误码 但是不能纠错 四 串行通信及接口电路 串行数据传输方式 a 全双工方式 通讯双方能同时进行发送和接收操作 四 串行通信及接口电路 b 半双工方式 只有1根数据线传送数据信号 要求通讯双方的发送和接收由电子开关切换 c 单工方式 只允许数据按照一个固定的方向传送 四 串行通信及接口电路 传输速率 在串行通讯中 用波特率来描述数据的传输速率波特率 即每秒钟传送的二进制位数 简写为bps 接收时钟 发送时钟是波特率的倍数 称为波特率因子 例如波特率因子为32 则32个时钟脉冲移位1次 波特率与发送 接收时钟的关系为 例 波特率 9600bps 波特率因子 16 则接收时钟和发送时钟频率 9600 16 153600hz 四 串行通信及接口电路 信号的调制和解调 数字信号的频带宽 而普通通信线路频带较窄 如电话线频带范围仅300 3400hz所以采用普通通信线路进行远程数据通信时 需要在发送端用调制器 modulator 把数字信号转换为模拟信号 模拟信号经通信线路传送到接收方 接收方再以解调器 demodulator 把模拟信号变为数字信号 大多数情况下 调制器和解调器合在一个装置中 称为调制解调器 modem 四 串行通信及接口电路 在通讯中 modem起着传输信号的作用 是一种数据通讯设备 简称dce接收设备和发送设备称为数据终端设备 简称dte 四 串行通信及接口电路 串行通信的类型 串行通讯可以分为两种类型 同步通讯 异步通讯 a 同步通讯 同步通信是一种连续串行传送数据的通信方式 一次通信所传送一帧信息可含有若干个数据字符 由同步字符 数据字符和校验字符组成 同步字符位于帧开头 数据字符在同步字符之后 个数没有限制 由所需传输的数据块长度来决定 校验字符 如由16位二进制数组成的crc循环校验码 有1或2个 用于接收端对接收到的字符序列进行正确性的校验 同步通信要求发送时钟和接收时钟保持严格的同步 四 串行通信及接口电路 b 异步通讯 以收发一个字符为一帧 构成独立的通信单位 每个字符由若干二进制信息组成 在异步串行通信中 每个字符传送的时刻是任意的 每帧字符之间可以有间隔 但一旦开始传送后则要求字符帧的各位必须按预定的时钟进行收发 传输一个字符时 以起始位开始 然后传输字符本身的各位 接着传输校验位 最后以停止位结束该字符的传输 一次传输的起始位 字符各位 校验位 停止位构成一组完整的信息 称为帧 frame 帧与帧之间可有任意个空闲位 四 串行通信及接口电路 异步通信规程 又称为异步通信协议 它规定通信双方以一帧为数据传输单位 异步通讯可以采用正逻辑或负逻辑 异步通讯的信息格式 起始位逻辑01位数据位逻辑0或15位 6位 7位 8位校验位逻辑0或11位或无停止位逻辑11位 1 5位或2位空闲位逻辑1任意数量 四 串行通信及接口电路 异步串行通信数据传输格式 四 串行通信及接口电路 1 起始位1位 以逻辑 0 表示 当传输线上没有数据时呈现为逻辑 1 通信线上出现的从逻辑 1 到 0 下降沿 是发送与接收双方开始位同步的标志信号 接收端在检测到帧起始位后 便开始准备接收后续的数据了 2 数据位当发送端输出起始位后 紧接着发送5 8个二进制数据位 每帧数据首先发送帧数据的最低位 最后发送最高位 并以此为序在接收端将接收到的数据转换为并行数据 3 奇偶校验位1位或不用 奇偶校验是一种用于对有限错误的检测方法 偶校验是指组成一帧数据中逻辑 1 的个数为偶数 奇校验是指组成一帧数据中 1 的个数为奇数 4 停止位1位 1 5位或2位 以逻辑 1 表示 接收端在收到停止位后 表示收 发一帧数据结束 随后 通信线可以紧接着开始下一帧数据传送 也可以恢复为空闲的逻辑 1 状态 直至下一帧数据传送的到来 四 串行通信及接口电路 串行通信的接口标准 在串行通信中 dte和dce之间的连接要符合接口标准计算机通信中使用最普遍的是rs 232c标准pc机上的com1 com2接口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《幼儿教师招聘》综合提升试卷及完整答案详解1套
- 2025内蒙古呼伦贝尔陆港国际有限公司市场化选聘总经理、副总经理2人笔试备考附答案详解(完整版)
- 2025年开放银行生态构建中的金融科技在绿色金融领域的应用报告
- 2025年教师招聘之《幼儿教师招聘》通关试卷提供答案解析带答案详解(黄金题型)
- 押题宝典教师招聘之《小学教师招聘》通关考试题库附答案详解(典型题)
- 2025年学历类自考公关关系语言-西方政治制度参考题库含答案解析(5卷)
- 2025年学历类自考公共关系写作-学前儿童游戏指导参考题库含答案解析(5卷)
- 2025年学历类自考中国现代文学作品选-财务管理学参考题库含答案解析(5卷)
- 解析卷北师大版8年级数学上册期末试题附完整答案详解(历年真题)
- 个人房屋抵债合同(标准版)
- 2025年芜湖鸠兹水务有限公司下属子公司招聘笔试参考题库含答案解析
- 高铁安检培训
- 第五届绵阳市职业技能大赛赛项技术文件-健康和社会照护
- 2024版电动车出口业务协议示例版B版
- 2024年拖拉机进出口贸易合同范本3篇
- 混凝土搅拌运输施工方案
- 光伏电站组件清洗方案计划
- T-CFA 030501-2020 铸造企业生产能力核算方法
- 当代中国外交(外交学院)知到智慧树章节测试课后答案2024年秋外交学院
- 护理工作中的冲突与管理
- 《社区调查报告》课件
评论
0/150
提交评论