8051 单片机出租车计价器汇编代码解析
这是一段 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:表示程序结束。
总体来说,这段代码实现了出租车计价器的基本功能,包括计价、显示里程和速度等。
代码中的注释可以提供更详细的解释。
原文地址: http://www.cveoy.top/t/topic/oUbe 著作权归作者所有。请勿转载和采集!