C语言实现出租车计价器程序设计

5星 · 超过95%的资源 需积分: 18 58 下载量 196 浏览量 更新于2024-10-18 4 收藏 5KB TXT 举报
"该资源提供了一个使用C语言编写的出租车计价器程序,适用于单片机设计学习。程序中包含了与硬件接口相关的定义,如控制信号线的定义,以及一些延时函数和与7279芯片通信的发送和接收函数。" 在单片机设计中,出租车计价器是一种常见的应用,它需要根据行驶距离和时间来计算车费。这个C程序主要关注的是逻辑控制部分,包括与外部设备(如显示驱动芯片7279)的通信和计费算法。 首先,程序引入了<reg51.h>头文件,这是针对51系列单片机的标准寄存器定义。定义了`uchar`和`uint`作为无符号字符和无符号整数的别名,以简化代码。接着,定义了一些位变量,如`cs`, `clk`, `dat`和`key`,分别对应于与7279芯片通信的片选、时钟、数据和按键信号线。 程序中还定义了一些常量和变量,用于存储时间(小时`shi`, 分钟`miao`, 秒`miao1`)、金额(元`t`, 规费`gl`, 总金额`qian`等)、计数器(如`key_number`)和其他辅助变量。`time_flag`是一个布尔变量,可能用于标记是否需要更新时间显示。 `long_delay`和`short_delay`函数是两个延时函数,用于确保与外部设备交互时满足时序要求。`send_byte`和`receive_byte`函数则用于向7279芯片发送和接收数据,实现了位移位和时钟同步操作。 7279芯片通常用于驱动数码管显示,这里的`buf`数组可能用于存储待显示的数字。`CMD_RESET`, `DECODE1`, `CMD_READ`和`BLINKCTL`是向7279发送的命令代码,分别表示复位、解码设置、读取键值和闪烁控制。 在实际运行中,程序会检测按键输入(`key`),根据行驶时间和距离计算费用,并通过7279芯片将结果显示在数码管上。可能还包括对超时、暂停计费等特殊情况进行处理。 总结来说,这个C程序展示了如何用单片机实现出租车计价器的基本功能,包括时间计算、金额累加、按键输入处理以及与显示驱动芯片的通信。学习这个程序可以帮助初学者理解单片机控制逻辑和C语言在嵌入式系统中的应用。
2009-05-25 上传