80C51单片机课程设计:255计数器与出租车计费系统详解

版权申诉
0 下载量 77 浏览量 更新于2024-06-27 收藏 657KB DOC 举报
该文档是一份关于单片机出租车计费系统和0-9999计数器的课程设计,设计目标包括两个主要部分:一是创建一个能自动计数并显示的255计数器,另一个是设计一个能模拟出租车计费功能的50000计数器。 1.1 255计数器的设计: 该计数器利用80C51单片机的一个字节存储8位,范围从0到255,以模拟十进制的个位、十位和百位。设计流程包括设置定时器T0工作方式2,初始化计数器寄存器,然后通过连续的除法操作将计数值转换为三位数码显示。流程图展示了计数过程,程序代码中包含了相应的指令,如MOV、DIV等,用于读取、处理计数值,并调用延迟函数确保正确显示。仿真结果显示了计数器在数码管上的动态变化。 1.2 出租车计费系统: 系统要求模拟起步价5元(2km内),超出后每0.5km收费0.8元。设计中,计费周期为每500米,里程数和费用分别由数码管的前三位和后三位显示。此部分涉及计费逻辑,包括判断是否达到新的计费区间,以及更新价格显示。 2.1 50000计数器的设计: 由于单片机字节限制,这个计数器采用分址寄存器的方式,将千位、百位和十位数据分别存储在不同的字节单元中。当计数满50000时,计数器会自动重置。设计中包含了一个自定义的中间代码区(ORG 000BH)处理计数溢出和计数显示的更新。 整个课程设计不仅要求学生掌握单片机的基本操作,如定时器的使用,还涉及数字信号处理、计数器编程和模拟现实世界应用的技能,如出租车计费逻辑。通过这些设计,学生能够深入理解单片机的工作原理,并提升实际问题解决能力。