




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机控制基础 设计 结题论文 直流电机转速闭环控制设计 学 院 自动化学院 姓 名 学 号 专业班级 09 级自动化 指导老师 时颖 重庆大学自动化学院重庆大学自动化学院 2012 年 09 月 直流电机转速闭环控制直流电机转速闭环控制设计设计 摘要摘要 在运动控制系统中 电机转速控制占有至关重要的作用 其控制算法和手 段有很多 模拟pid控制是最早发展起来的控制策略之一 长期以来形成了典 型的结构 并且参数整定方便 能够满足一般控制的要求 但由于在模拟pid 控制系统中 参数一旦整定好后 在整个控制过程中都是固定不变的 而在 实际中 由于现场的系统参数 温度等条件发生变化 使系统很难达到最佳的 控制效果 因此采用模拟pid控制器难以获得满意的控制效果 随着计算机技 术与智能控制理论的发展 数字pid技术渐渐发展起来 它不仅能够实现模拟 pid所完成的控制任务 而且具备控制算法灵活 可靠性高等优点 应用面越 来越广 本设计以上面提到的数字 pid 为基本控制算法 以计算机硬件 pd 32e 为控 制核心 产生占空比受数字 pid 算法控制的 pwm 脉冲实现对直流电机转速的控 制 同时利用霍尔传感器将电机速度转换成脉冲频率反馈到单片机中 实现转 速闭环控制 达到转速无静差调节的目的 在系统中采数码管和 4 4 键盘作为 人机交互界面 启动后可以通过显示部件了解电机当前的转速 该系统控制简 单 反应灵敏 具有很强的抗干扰能力 关键字 关键字 运动控制 pid 计算机硬件 目录 引言引言 1 1 小组分工小组分工 2 2 模型建立模型建立 2 2 1 设计要求 2 2 2 设计报告要求 3 4 构建系统的器件构建系统的器件 4 4 1 8254 定时器 计数器 4 4 1 1 8254具有以下基本功能 4 4 1 2 8254的工作方式 4 4 1 3 8254内部寄存器各位的定义及初始化的编程方法 5 4 1 4 8254定时 计数器原理图和发光二极管的驱动原理图 5 4 2 8254 定时器 计数器 5 4 2 1 8255的工作方式 6 4 2 2 8255并口模块原理图 6 4 3 8259 中断控制器 7 4 3 1 8259各引脚定义 7 4 3 2 8259a的内部结构 8 4 4 ad574 8 5 系统设计思路及总设计方案系统设计思路及总设计方案 10 5 1 关键问题 10 5 2 总设计思路及方案 10 5 3 霍尔元件测速模块 11 5 4 4 3 小键盘原理图 13 5 5 主程序设计 13 5 6 设计进度的具体安排和记录 15 6 硬件连接及系统电路图硬件连接及系统电路图 15 6 1 硬件连接 15 6 2 系统硬件连接图 16 心得体会心得体会 16 付 攀 20095077 16 明柯辰 20095087 17 金智 20095084 18 邱 宁 20095089 19 参考文献参考文献 20 附附 1 程序流程图 程序流程图 22 附附 2 程序清单 程序清单 27 计算机控制技术课程设计 1 引言 由于直流电动机具有良好的起动 制动性能 宜于在大范围内平滑调 速 在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用 从控制的角度来看 直流调速还是交流拖动系统的基础 早期直流电动机 的控制均以模拟电路为基础 采用运算放大器 非线性集成电路以及少量 的数字电路组成 控制系统的硬件部分非常复杂 功能单一 而且系统非 常不灵活 调试困难 阻碍了直流电动机控制技术的发展和应用范围的推 广 随着单片机技术的日新月异 使得许多控制功能及算法可以采用软件 技术来完成 为直流电动机的控制提供了更大的灵活性 并使系统能达到 更高的性能 采用单片机构成控制系统 可以节约人力资源和降低系统成 本 从而有效的提高工作效率 目前 直流电动机调速系统数字化已经走向实用化 伴随着电子技术 的高度发展 促使直流电机调速逐步从模拟化向数字化转变 特别是单片 机技术的应用 使直流电机调速技术又进入到一个新的阶段 智能化 高 可靠性已成为它发展的趋势 本次项目的设计是在 pd 32e 对直流电机控制系统的基础上进行设计和 改进的 在设计过程中 使学生能够对单片机有进一步的了解 培养了学 生独立的进行程序的设计和调试 系统中通过单片机对直流电机的转速进 行控制和转化 并在 8 位数码管上进行显示 方便人们的控制检测 运用 pid 调节实现直流电机的闭环调速 同时在电机的上电转动中 对电机进行 过电保护 使电机可以良好的进行运转 计算机控制技术课程设计 2 1 小组分工 整个课程设计从拿到课题到完成基本功能 添加优化方案 最终形成课程 设计报告 小组成员始终活跃在各自的岗位 有条不紊的完成分配给各自的任 务 整个设计过程大家都全程参与 没有一个人缺席 综合小组各成员从编程能力 资料收集整理能力 组织协调能力 文书编 写能力等方面进行如下分工 学号分工项目 付攀20095077 显示与处理 显示子程序的编写和调试 标度变换 程序的编写调试 辅助整体程序的调试 明柯辰20095087 键盘扫描程序及各键功能子程序的编写调试 均值 滤波程序的编写 辅助报告的完成 金智20095084 ad 转换程序 初始化 8254 8255 8259 子程序的 编写 完成实验报告的编写 邱宁20095089 主程序的设计 控制算法程序 终端相关的程序设 计 pwm 波的生成程序 及整个程序的调试 2 模型建立 2 1 设计要求 1 已知参数和设计要求 1 用 pd 32e 实验装置产生 pwm 方波调制直流电机以一定速率选装 认为给 一个虚度漂移 霍尔原件测出速度并根据 pid 算法跟踪校正速度漂移 计算机控制技术课程设计 3 2 要求用 led 或 lcd 实时显示电机速度 3 要求在 10 秒内 pid 算法纠正速率漂移 2 实现方法 采用 pd 32e 实验装置实现 2 2 设计报告要求 1 明确每位组员的详细分工 2 在上述设计主要内容的基础上 本组讨论整理出系统的详细操作说明 3 详细描述自行完善和优化的系统功能以及设计方案 4 给出系统的设计思路和意见 软件设计方案 5 画出各软件模块的程序流程图 6 列出加上必要注释的程序清单 7 每位组员根据自己承担的设计内容和设计过程 写出心得体会 8 所有组员在任务书上签名 将任务书装订在报告首页 计算机控制技术课程设计 4 4 构建系统的器件 4 1 8254 定时器 计数器 8254 内部有 3 个独立的 16 位计数器 每个计数器有 6 种工作方式 计数 的数制可以是二进制数或 bcd 码数 每个计数器允许的最高计数频率 10mhz 8254 是 8253 的改进型 因此它的操作方式以及引脚与 8253 完全相同 主要不 同点是 8253 的最高计数频率只为 2mhz 且 8254 比 8253 多了一个读回命令 这个命令可以使 3 个通道的计数值和状态信息都锁存 而这在 8253 中需写入 3 个命令 4 1 1 8254 具有以下基本功能 1 有 3 个独立的 16 位计数器 2 每个计数器可按二进制或十进制 bcd 计数 3 每个计数器可编程工作于 6 种不同工作方式 4 8254 每个计数器允许的最高计数频率为 10mhz 8253 为 2mhz 5 8254 有读回命令 除了可以读出当前计数单元的内容外 还可以读出 状态寄存器的内容 6 计数脉冲可以是有规律的时钟信号 也可以是随机信号 计数初值计算 公式为 定时时间 clk 时钟周期 计数初值 n 4 1 2 8254 的工作方式 1 方式 0 计数到 0 结束输出正跃变信号方式 2 方式 1 硬件可重触发单稳方式 3 方式 2 频率发生器方式 4 方式 3 方波发生器 5 方式 4 软件触发选通方式 计算机控制技术课程设计 5 6 方式 5 硬件触发选通方式 4 1 3 8254 内部寄存器各位的定义及初始化的编程方法 8254 的方式控制字和读出控制字共用该寄存器 即使用同一个口地址 其 中方式控制字用于设置计数器的工作方式 读出控制字用于设置读出命令 在 8253 中该寄存器只用于设置计数器的工作方式 4 1 4 8254 定时 计数器原理图和发光二极管的驱动原理图 4 2 8254 定时器 计数器 本实验中使用的核心器件是并口芯片 8255a 8255a 是一种使用单一的 5v 电源 40 引脚双列直插式的大规模集成电路芯片 计算机控制技术课程设计 6 4 2 1 8255 的工作方式 8255 内部有 3 个 i o 端口 a 口可以工作在方式 0 方式 1 或方式 2 b 口 可以工作在方式 0 或方式 1 c 口可以工作在方式 0 方式 0 是基本型输入 输出 用这种方式和外设交换数据时 8255 端口与 外设之间不使用联络线 方式 1 为选通型输入 输出 用这种方式和外设交换数据时 端口和外设之 间要有联络信号 方式 2 是双向数据传送 仅 a 口有此功能 当 a 口工作在方式 2 时 b 口 仍可以工作在方式 0 或方式 1 但此时的 b 口方式 1 只能用查询方式与 cpu 交 换信息 4 2 2 8255 并口模块原理图 计算机控制技术课程设计 7 4 3 8259 中断控制器 8259a 是可编程的中断控制器 每片 8259a 可以管理 8 个外部中断 通过 多片 8259a 的级联最多可以管理 64 个外部中断 8259a 能对它所管理的每个中 断源进行单独的允许与禁止 对各中断请求具有多种优先级管理方式 中断响 应时能够自动提供中断类型号 通过中断类型号可得到 4 字节 cs ip 的中 断服务程序入口地址 4 3 1 8259 各引脚定义 8259a 是 28 引脚双列直插式芯片 各信号引脚与 ttl 兼容 采用 5v 供电 1 数据线 双向三态 可直接与系统数据总线相连 7 0 2 片选信号 低电平有效 通常由系统高位地址译码产生 3 地址线 用于 8259a 内部寄存器选择 0 4 读信号 写信号 低电平有效 用以控制数据总线上的数据流向 5 中断请求线 int 8259a 向 cpu 或上一级 8259a 输出的重点请求信号 6 中断响应线 cpu 或上一级 8259a 的中断响应信号输入端 7 外部中断请求输入 外部设备的中断请求信号输入端 0 7 计算机控制技术课程设计 8 4 3 2 8259a 的内部结构 4 4 ad574 ad574a 是美国模拟数字公司 analog 推出的单片高速 12 位逐次 比较型 a d 转换器 内置双极性电路构成的混合集成转换显片 具有外接元 件少 功耗低 精度高等特点 并且具有自动校零和自动极性转换功能 只 需外接少量的阻容件即可构成一个完整的 a d 转换器 其主要功能特性如下 分辨率 12 位 非线性误差 小于 1 2lbs 或 1lbs 转换速率 25us 模拟电压输入范围 0 10v 和 0 20v 0 5v 和 0 10v 两档四种 电源电压 15v 和 5v 数据输出格式 12 位 8 位 计算机控制技术课程设计 9 芯片工作模式 全速工作模式和单一工作模式 ad574a 的引脚说明 1 pin1 v 5v 电源输入端 2 pin2 数据模式选择端 通 过此引脚可选择数据纵线是 12 位或 8 位 输出 3 pin3 片选端 4 pin4 a0 字节地址短周期控制 端 与端用来控制启动转换的方式和 数据输出格式 须注意的是 端 ttl 电平不能直接 5v 或 0v 连接 5 pin5 读转换数据控制端 6 pin6 ce 使能端 现在我们来讨论 ad574a 的 ce 和 a0 对其工作状态的控制 过程 在 ce 1 0 同时满足时 ad574a 才会正常工作 在 ad574 处于工 作状态时 当 0 时 a d 转换 当 1 是进行数据读出 和 a0 端用来 控制启动转换的方式和数据输出格式 a0 0 时 启动的是按完整 12 位数据 方式进行的 当 a0 1 时 按 8 位 a d 转换方式进行 当 1 也即当 ad574a 处于数据状态时 a0 和控制数据输出状态的格式 当 1 时 数据以 12 位并行输出 当 0 时 数据以 8 位分两次输出 而当 a0 0 时 输出转换数据的高 8 位 a0 1 时输出 a d 转换数据的低 4 位 这四位占一 个字节的高半字节 低半字节补零 ad574a 控制端标志意义 c e a 0 工作状态 计算机控制技术课程设计 10 5 系统设计思路及总设计方案 5 1 关键问题 1 解决 pid 控制算法的问题 2 解决 pwm 波的产生的问题 5 2 总设计思路及方案 单片机直流电机调速简介 单片机直流调速系统可实现对直流电动机的平 滑调速 pwm 是通过控制固定电压的直流电源开关频率 从而改变负载两端的 电压 进而达到控制要求的一种电压调整方法 在 pwm 驱动控制的调整系统中 按一个固定的频率来接通和断开电源 并根据需要改变一个周期内 接通 和 断开 时间的长短 通过改变直流电机电枢上电压的 占空比 来改变平均 电压的大小 从而控制电动机的转速 0xxxx 禁止 xxxx 禁止 100x0 启动 12 位转换 100x1 启动 8 位转换 101 接 5v x 12 位并行输出有效 101 接 0v 0 高 8 位并行输出有效 101 接 0v 1 低 4 位并行输出有效 计算机控制技术课程设计 11 硬件设计的任务是根据总体设计要求 在选择的机型的基础上 具体确定 系统中所要使用的元器件 设计出系统的原理框图 电路原理图 硬件的功能由总体设计所规定 硬件设计的任务是根据总体设计要求 在 选择的机型的基础上 具体确定系统中所要使用的元器件 设计出系统的电路 原理图 必要时做一些部件实验 以确定电路图的正确性 整个测量转速系统为 pd 32e 控制模块 霍尔传感器模块 led 模块等各个 模块都承担着各自的任务 5 3 霍尔元件测速模块 当没有信号产生时 可以改变一下磁钢的方向 霍尔对磁钢方向有要求 没有磁钢时输出高电平 有磁钢时输出低电平 霍尔传感器的外形图和与磁场的作用关系如图所示 磁钢用来提供霍尔能 感应的磁场 当霍尔元件以切割磁力线的方式相对磁钢运动时 在霍尔输出端 口就会有电压输出 所以霍尔传感器和磁钢需要配对使用 霍尔传感器检测转 速示意图如下 在非磁材料的圆盘边上粘贴一块磁钢 霍尔传感器固定在圆盘 外缘附近 圆盘每转动一圈 霍尔传感器便输出一个脉冲 通过单片机测量产 生脉冲的频率 就可以得出圆盘的转速 同样道理 根据圆盘 车轮 的转速 再结合圆盘的周长就是计算出物体的位移 如果要增加测量位移的精度 可以 在圆盘 车轮 上多增加几个磁钢 ad574 利用不同的控制信号 既可实现高精度的 12 位转换 又可作快速的 8 位转换 12 位转换后的数据有两种读出方式 12 位一次读出 高 8 位 低 4 位分两次读出 adc 数据输出带有三态缓冲 可直接与 8 位或 16 位的微处理器 接口 内部采用快速逐次逼近式 a d 转换 转换时间为 25us ad574 有单极性 输入和双极性两种模拟输入可供选择使用 在实际应用时 应根据模拟输入信 计算机控制技术课程设计 12 号的性质加以选定 在 pd 32 实验装置已固定为双极性输入 状态输出信号 sts 转换时为高电平 转换结束时为低电平 如果 ad574 用于微处理器系统 sts 信号可做为 cpu 的中断请求信号 硬件中断是由 cpu 以外的器件发出的中断请求信号而引发的中断 80486 mpu 只有 2 个引脚 intr 和 nmi 可以接收外部的中断请求信号 为了管理众多的 外部中断源 intel 公司设计了专用的配套芯片 8259a 中断控制器 8259a 是 可编程芯片 一片 8259a 管理 8 级中断源 采用级连方式 两片 8259a 可以管理 15 级中断 它内部有一组初始化命令字寄存器 用于存放对 8259 初始化编程 时的命令字 icw1 icw4 8259a 是可编程器件 其工作方式由软件编程决定 它提供的两类命令字 分别可以用来完成初始化编程和应用编程 其中 icw 命令可装入到 8259a 的内 部控制寄存器 以确定它用到的中断管理方式或工作模式 经过初始化编程以 后 在使用过程中只需使用 ocw 进行应用编程即可 每一片 8255 的 负责其上方的两片数码管 端口 a 输出驱动左边数码管的 a h 阴级段 端口 b 输出驱动右边数码管的 a h 阴级段 端口 c 输出驱动两个数码管的共阳极 每个数码管有两个共阳极 分别是 第 1 5 脚 两个共阳极都接低电平 数码管不显示 第 5 脚阳极接高电平 第 1 脚阳极接低电平 数码管显示红色字符 第 1 脚阳极接高电平 第 5 脚阳 极接低电平 数码管显示绿色字符 两个共阳极都接高电平 数码管显示黄色 字符 数码管字型编码表如下所示 计算机控制技术课程设计 13 5 4 4 3 小键盘原理图 由一片 74hc245 作为键盘的行扫描电路 键盘的列扫描信号由一片 74hc273 提供 如图 2 所示 74hc245 的 p0 p3 已经分别接到 4 3 的小键盘的 4 行 另外 这片 74hc245 的引脚和 4 3 小键盘行 列都有引出相应的接插口 所以也能另作它用 例如用 74hc245 来驱动发光二极管 或者与适当的输入输 出器件 例如 8255 相配合就可以进行键盘扫描实验 该片 74hc245 的 g 端引 了出来 keycs0 作为它的片选信号端 硬件连接说明 1 小键盘的 p0 p3 口连接第四片 8255 的 c0 c3 口 q0 q2 口连接 a0 a2 口 2 占空比输入接第四片的 pb7 口 8259 的 intp 接 intr1 口 3 8254a 的 out0 接 8259 的 irq0 clk0 接 47k cs 接 cs1 gate0 接 5v 5 5 主程序设计 将人为设定的直流电机转速值 与测速电路得到的直流电机转速值 反馈 量 进行比较 其差值经过 pid 运算 将得到控制量并产生 pwm 脉冲 通过驱 计算机控制技术课程设计 14 动电路控制直流电机的转动 构成直流电机闭环调速控制系统 在 pwm 驱动控制的调整系统中 按一个固定的频率来接通和断开电源 并且 根据需要改变一个周期内 接通 和 断开 时间的长短 通过改变直流电机 电枢上电压的 占空比 来达到改变平均电压大小的目的 从而来控制电动机 的转速 设电机始终接通电源时 电机转速最大为 vmax 设占空比为 d t1 t 则 电机的平均速度为 va vmax d 其中 va 指的是电机的平均速度 vmax 是 指电机在全通电时的最大速度 d t1 t 是指占空比 由上面的公式可见 当我们改变占空比 d t1 t 时 就可以得到不同的电机平均速度 vd 从而 达到调速的目的 本设计中采用软件延时方式对脉冲宽度进行控制 pwm 模式被用于产生一 个连续的占空比可调的方波信号 脉冲宽度调制通过比较 pca 定时器的低字节 cl 和比较寄存器的低字节 ccapnl 产生 8 位 pwm 脉冲 当 cl0 set data变量放入ax寄存 器 ax中变量减100 将ax中的变量放回 set data中 压栈 是 set data变量置为0 否 转转速速步步减减子子程程序序 计算机控制技术课程设计 23 开始 压栈 将控制标志置为1 弹栈 压栈 将控制变量置为0 结束 开始 结束 将控制标志置为0 弹栈 控控制制启启动动子子程程序序 控控制制停停止止子子程程序序 set data变量放入ax寄存 器 ax中变量加100 开始 结束 将ax中的变量放回 set data中 压栈 set data 5000 set data变量置为5000 是 否 转转速速步步进进子子程程序序 开始 寄存器压栈 将adnum中数 据乘上1221 将上步中数据 除上1000 寄存器弹栈 余数是否小于501 将所得商加1 结束 否 所得的商放在 check num单元中 是 标标度度变变换换1 计算机控制技术课程设计 24 开始 寄存器压栈 初始化各变量 初始化 8254 8255 8259 装填中断向量 寄存器弹栈 结束 初初始始化化程程序序 开始 寄存器压栈 将set data中数据除以 100放在setdata1中 将chenk num中数据除以 100放在checknum11中 寄存器弹栈 结束 标标度度变变换换2 开始 调用初始化子程序 调用均值滤波子程序 调用标度转换子程序1 调用标度转换子程序2 调用显示预处理子程序 调用显示子程序 控制标志是否有效 调用控制算法子程序 调用键盘扫描子程序 是 否 主主程程序序 计算机控制技术课程设计 25 开始 向ad574地址虚写数据 在该地址读回 数据放到ax中 将无效的高四位清 零后存到addata中 寄存器压栈 寄存器弹栈 结束 ad转转换换 开始 寄存器压栈 acount1单元中 数据自加1 acount1中数据 是否小于50 将acount1清零 否 将acount清零 acount是否小于 100 将acount加1 acount是否大于 kongzhi 向8255a口输出全0向8255a口输出全1 向8255写20h结束命令 寄存器弹栈 结束 否 否 是 是 是 中中断断子子程程序序 清零变量adres和addata 开始 寄存器压栈 cx中放入16 调用ad转换子程序 将addata数据累 加到adres中 cx cx 1 cx 0 adres中数据右移4 位 结果放入adnum 寄存器弹栈 是 否 结束 均均值值滤滤波波 计算机控制技术课程设计 26 开始 寄存器压栈 将设定数据减去实测 数据的差放到ax中 是否为正 将偏差加到errdata 单元 积分作用 ah是否小于 3ah是否大于3 偏差数据乘上系数 比例作用 再 加上errdata中数据放入控制变量中 寄存器弹栈 结束 否 是 否 否 是 是 pi控控制制程程序序 计算机控制技术课程设计 27 附 2 程序清单 486 数据段定义 data segment use16 org 1000h ctrl 8255 equ 20ch porta equ 200h portb equ 204h portc equ 208h ad 574 equ 300h addr0 equ 340h addr1 equ 348h intq equ 40h ctrl 8254 equ 32ch k set1 equ 800 k set2 equ 2 acount dw addata dw adres dw adnum dw check num dw checknum1 db 显示用 checknum2 dw kongzhi db errdata dw set data dw setdata1 db 显示用 setdata2 dw ctflag db acount1 db data ends code segment use16 assume cs code ds data org 3000h beg jmp start tab db0c0h 0f9h 0a4h 0b0h 99h 92h 82h 0f8h 显示字形码 计算机控制技术课程设计 28 db80h 90h 88h 83h 0c6h 0a1h 86h 8eh disp code buf db 0ffh 0ffh 主程序部分 start mov ax data mov ds ax mov es ax call chushihua sa1 sa2 call cy16 均值滤波程序 call vtrans 标度变换 1 call shujuchuli 已失去作用 call pre disp 显示预处理程序 call disp 显示程序 cmp ctflag 0 比较控制表示是否无效 je a11 无效跳转 call zhuanhuan 执行标度变换 2 call ct 执行控制算法程序 a11 call scankey 执行键盘扫描子程序 jmp sa1 循环执行 键盘扫描程序 scankey proc pusha kscan mov bl 0fbh 从最右列开始扫描 nxtcol mov al bl mov dx 20bh 送出列信号 out dx al mov dx 20bh 读入行信号 in al dx and al 0f0h cmp al 0f0h 计算机控制技术课程设计 29 jnz fndkey 有键按下即跳转 ror bl 1 列信号右移 jc nxtcol jmp kscan1 fndkey shl bl 4 shr al 4 or bl al 形成键特征值 call dlys call dlys keyup mov al 0 mov dx 20bh 送出列信号 out dx al mov dx 20bh 读入行信号 in al dx and al 0f0h cmp al 0f0h jnz keyup 等待按键松开 ctstart 调用启动控制功能 cmp bl 0eeh jne stop call kongzhistart jmp kscan1 stop 调用停止控制功能 cmp bl 0deh jne bujin call kongzhistop jmp kscan1 bujin 调用步进功能 cmp bl 0ebh jne bujian call ctbujin jmp kscan1 bujian 调用步减功能 cmp bl 0dbh jne kscan1 call ctbujian kscan1 popa ret scankey endp 计算机控制技术课程设计 30 kongzhistart proc 启动控制 pusha mov ctflag 1 popa ret kongzhistart endp kongzhistop proc 停止控制 pusha mov kongzhi 0 mov ctflag 0 popa ret kongzhistop endp ctbujin proc 转速步进 pusha mov ax set data add ax 100 mov set data ax cmp set data 5000 jbe ctbend mov set data 5000 ctbend popa ret ctbujin endp ctbujian proc 转速步减 pusha cmp set data 0 jbe pj1 mov ax set data sub ax 100 mov set data ax popa ret pj1 mov set data 0 popa ret ctbujian endp 计算机控制技术课程设计 31 dlys proc 延时子程序 pusha mov cx 0ffh dlys agn nop loop dlys agn popa ret dlys endp ad 转换子程序 ad in proc pusha mov dx ad 574 向 ad574 虚写 out dx al mov cx 20h loo1 nop loop loo1 in ax dx and ax 0fffh 只保留低 12 位 mov addata ax popa ret ad in endp 均值滤波子程序 cy16 proc pusha mov adres 0000 mov addata 0 mov cx 16 循环调用 16 次 ad 转换程序 结果累加至 adres 单元 adst call ad in mov ax adres add ax addata mov adres ax loop adst shr ax 4 右移 4 位即除以 16 计算机控制技术课程设计 32 mov adnum ax popa ret cy16 endp 数据转换程序 实际未使用 zhuanhuan proc pusha mov al setdata1 mov dl 60 mul dl mov setdata2 ax mov al checknum1 mov dl 60 mul dl mov checknum2 ax popa ret zhuanhuan endp 控制算法程序 ct proc near pusha movzx ax setdata1 5 movzx dx checknum1 0 mov cx errdata sub ax dx jns ct0 为正数跳转 cmp ah 0fch 与 3 比较 js ct2 小于 3 跳转 不积分 jmp ct1 ct0 cmp ah 03 与 3 比较 jns ct2 大于 3 跳转 不积分 ct1 add cx ax 积分过程 mov errdata cx ct2 mov dx k set1 比例过程 imul dx add ax cx 计算机控制技术课程设计 33 mov kongzhi ah add ax cx mov kongzhi ax ct3 popa ret ct endp 标度变换 1 结果为真实值 x100 vtrans proc pusha mov ax adnum mov cx 1221 mul cx mov cx 1000 div cx cmp dx 501 jb endv inc ax endv mov check num ax popa ret vtrans endp 显示预处理 字码转换 pre disp proc near 显示值转换成显示字型码子程序 pusha lea si disp code buf 取显缓区指针 lea bx tab moval setdata1 mov ah 0 计算机控制技术课程设计 34 mov cl 10 div cl xlat tab mov si al 存设定值个位字型码 inc si mov al ah xlat tab mov si al 存设定值十位字型码 inc si mov al 0bfh mov si al inc si mov si al inc si mov al checknum1 拆分待显数据 mov ah 0 mov cl 10 div cl xlat tab 得到个位字型码 mov si al 保存个位字型码 inc si 指向下一位存储单元 mov al ah xlat tab mov si al popa ret pre disp endp 显示程序 disp proc near pusha cmp acount1 9 jne dis1 lea si disp code buf mov dx 200h mov cx 3 dis mov al si out dx al a 口显示 计算机控制技术课程设计 35 inc si m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年浙江省温州市平阳县二年级(下)期末数学试卷
- 矿业生产风险点表现形式及防控措施
- 新技术推广应用管理措施
- 金融行业安全、文明作业保障措施
- 房屋加固施工质量管控措施
- 冶金行业钢结构安装安全防护措施
- 车间室内空气质量控制施工措施
- 科研实验项目风险控制要求措施
- 农林牧渔行业工资发放制度及流程
- 2025年小学体育课教学计划阶段性总结报告
- 2026届广东省六校高三语文上学期第一次联考试卷附答案解析
- 2025年医院胸痛中心应知应会试题(附答案)
- 医院投诉处理标准化培训
- 2025年广东法官入额考试题库
- 肺康复专题讲座
- 卵巢保养课件教学
- 2025年医师定期考核业务水平测评理论考试(公共卫生)历年参考题库含答案详解(5套)
- 2025年发展对象培训考试试题(含答案)
- 测绘工程技术专业介绍
- 亚马逊运营每周工作汇报
- 2025年郑州人才公司面试题及答案
评论
0/150
提交评论