详解直流电机测速程序实现与步骤

需积分: 48 31 下载量 179 浏览量 更新于2024-09-12 收藏 2KB TXT 举报
本文档主要讲解了直流电机测速程序的编写方法。首先,我们看到使用了汇编语言(如MCS-51系列的8051指令集)来编写程序,涉及到了基本的硬件接口控制和定时器的使用。程序开始部分定义了一些常量和位标志,例如 `sbitkey`、`sbitdat`、`sbitclk` 和 `sbitcs`,这些用于连接直流电机的输入和输出信号,以及与7279串行接口芯片的通信。 在 `main()` 函数中,程序设置了T0和T1两个定时器的初值,用于后续的测速计算。通过设置`EA=1`启用外部中断,`ET0=1`和`ET1=1`允许定时器T0和T1产生中断,`TR0=1`和`TR1=1`启动定时器。然后,程序进入无限循环,等待中断处理后续的测速过程。 `send_byte()` 函数用于向7279串行接口发送一个字节的数据,通过将数据按位逐出,并控制时钟线 `clk` 来实现。`write7279()` 函数则调用 `send_byte()` 发送两个字节,一个作为地址,一个作为数据,这是与7279通信的基本操作。 `long_delay()` 和 `short_delay()` 是两个延时函数,分别提供不同时间尺度的延迟,以确保通信的稳定性和数据传输的准确性。`display()` 函数用于显示测量结果,但具体的内容并未给出,可能涉及到将接收到的速度信息转化为可视化的字符或数字。 `chaifen(uint n)` 函数没有在给定的部分中出现,可能是用于计分或者校准等辅助功能的函数,根据上下文推测可能与测速的精度校准有关。 这篇文档的核心内容是编写了一个直流电机测速程序,它利用定时器进行脉冲计数,结合串行通信技术,通过7279接口获取电机转速信息。该程序设计考虑了通信效率和实时性,并包含了一些基本的延时和数据传输功能。对于想要学习直流电机测速或使用类似硬件的同学,理解和实现这个程序是一个很好的起点。