- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程研究设计:出租车计价器
计算机与信息工程学院
《单片机》课程设计
课程设计题目
出租车计价器
专 业:计算机控制
班 级:控制09--3
姓 名:费翔
学 号:20
指导教师:范爱华
2012年3月2日
设计题目:出租车计价器
设计目的:
利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。
设计目标:
1.数据输出:单价输出、路程输出、总金额输出
2.按键:启动计时开关、数据显示切换、白天/晚上切换、复位
3.能手动进行修改单价
任务下达时间:2012年2月27日
任务完成时间:2012年3月1日 指导教师评语:
年 月 日 设计成绩:
摘要:
近些年来,随着单片机的发展,产品相当的繁多,单片微型机又称嵌入式控制器,是20世纪70年代中期发展起来的一种大规模的集成电路器件。当单片机的应用不断地深入,新技术的发展也是层出不穷的。这是一项新型的工程技术,其内涵也是随着单片机的发展而发展。MCS-51系列的单片机是属于结构相当简单,但也是单片机中的典型,应用也相当的灵活。51系列的单片机产品发展迅速,在国内外占有重要的地位。
出租车计价器从最初的只能进行简单的价格计算,发展到价格、距离独立计量并显示,可根据特殊情况设定相应的收费标准,能打印营运发票,可使用IC卡结算等的功能。目前市场上的计价器越来越趋向于集成有多种功能。
关键词:
51单片机,价格计算,独立显示,手动输入
正文:
1. 出租车计价器是乘客与司机双方的交易准则,它是出租车行业发展的重要标志,是出租车中最重要的工具。它关系着交易双方的利益。具有良好性能的计价器无论是对广大出租车司机朋友还是乘客来说都是很必要的。我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。针对计费模式的切换,通过软件编程就可以轻易而举的实现。避免了机械开关带来的不稳定因素。
方案论证
最终方案选择出租车计价器基本功能部分是根据里程数来完成总金额的输出。实现方法有两种。
方案一:采用数字电路控制。其原理方框图如图2.1所示。采用传感器件,输出脉冲信号,经过放大整形作为移位寄存器的脉冲,实现计价,但是考虑到这种电路过于简单,性能不够稳定,而且不能调节单价,也不能根据天气调节计费标准,电路不够实用。
方案二:采用单片机控制。利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。本方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
2.硬件详细设计
本系统的硬件设计主要包括单片机AT89S51、数据显示部件、A44E霍尔传感器电路、AT24C02 掉电存储单元的设计、里程计算及计价单元的设计。在硬件设计过程中,充分利用各部件的功能,实现多功能的出租车计价器设计。
2.1 总体硬件原理图
主控芯片使用51系列AT89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。
。
3.软件设计
在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。
4.1主程序
#includereg51.h
#include intrins.h
#define uchar unsigned char
uchar tmp;
uchar det;
uchar Coo;
int m;
int f;
uchar DispTab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc0}; //字形码
uchar TAB[24];
sbit P00=P0^0;
sbit P01=P0^1;
sbit P02=P0^2;
sbit P03=P0^3;
sbit P04=P0^4;
sbit P05=P0^5;
sbit P10=P1^0;
sbit P27=P2^7;
sbit P14=P1^4;
sbit SCLK =P1^3;
文档评论(0)