这是一段 8051 单片机的汇编代码,用于控制出租车计价器。

  • $NOMOD51:指定编译器不进行指令优化。
  • $INCLUDE (8051.MCU):引入 8051 单片机的头文件。

定义常量和变量:

  • cDisplayBuffer EQU 30H:显示缓冲区地址。
  • cDisplayBit EQU 3CH:显示位。
  • Circumference EQU 0B7H:车轮周长。
  • StartpriceH EQU 03H:起始价格高位字节。
  • StartpriceL EQU 20H:起始价格低位字节。
  • PriceL EQU 1AH:价格低位字节。

定义子程序:

  • Display:显示函数。
  • Delay:延时函数。
  • Bin:十进制转二进制函数。
  • Calculatemilage:计算里程函数。
  • nextMilage:更新里程显示函数。
  • CalculateSPEED:计算速度函数。
  • nextSPEED:更新速度显示函数。
  • CalculatePRICE:计算价格函数。
  • nextPRICE:更新价格显示函数。
  • PlayPRICE:更新价格显示函数。
  • Milage:外部中断处理程序,用于更新里程。
  • Speed:外部中断处理程序,用于更新速度。

主程序:

  • MAIN:设置定时器、外部中断,进入循环,判断是否有输入,如果有则进入计价器程序,否则继续等待输入。

计价器程序:

  • 调用 Calculatemilage 计算里程。
  • 调用 Bin 将里程转换为二进制。
  • 调用 nextMilage 更新里程显示。
  • 调用 CalculatePRICE 计算价格。
  • 调用 Bin 将价格转换为二进制。
  • 调用 PlayPRICE 更新价格显示。
  • 调用 CalculateSPEED 计算速度。
  • 调用 Bin 将速度转换为二进制。
  • 调用 nextSPEED 更新速度显示。
  • 调用 Display 显示里程、价格和速度。
  • 调用 Delay 延时。

外部中断处理程序:

  • Milage:每次车轮转动时更新里程。

  • Speed:每次车轮转动时更新速度。

  • END:表示程序结束。

总体来说,这段代码实现了出租车计价器的基本功能,包括计价、显示里程和速度等。

代码中的注释可以提供更详细的解释。

8051 单片机出租车计价器汇编代码解析

原文地址: http://www.cveoy.top/t/topic/oUbe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录