单片机出租车计价器课程设计.docx

上传人:b****3 文档编号:10171252 上传时间:2023-05-24 格式:DOCX 页数:8 大小:38.88KB
下载 相关 举报
单片机出租车计价器课程设计.docx_第1页
第1页 / 共8页
单片机出租车计价器课程设计.docx_第2页
第2页 / 共8页
单片机出租车计价器课程设计.docx_第3页
第3页 / 共8页
单片机出租车计价器课程设计.docx_第4页
第4页 / 共8页
单片机出租车计价器课程设计.docx_第5页
第5页 / 共8页
单片机出租车计价器课程设计.docx_第6页
第6页 / 共8页
单片机出租车计价器课程设计.docx_第7页
第7页 / 共8页
单片机出租车计价器课程设计.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机出租车计价器课程设计.docx

《单片机出租车计价器课程设计.docx》由会员分享,可在线阅读,更多相关《单片机出租车计价器课程设计.docx(8页珍藏版)》请在冰点文库上搜索。

单片机出租车计价器课程设计.docx

单片机出租车计价器课程设计

嵌入式系统基础

设计题目:

出租车计价器

学院:

太原理工大学现代科技学院

班级:

电子信息

姓名:

学号:

一、设计题目:

出租车计价器

二、设计思路:

如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。

在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。

我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。

三、设计任务

出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通过线路连接构成一个完整的系统。

公里计数器设想:

利用光电或者霍尔效应原理对车轮转过360°角位移产生一个脉冲信号送给单片机作为一定距离的计数值。

显示器:

用LED显示,动态扫描显示,不断输出即时价格已及时间。

定时装置(本设计中未引入):

记录在停车或某些情况下的时间,用于辅助计价。

四、里程计数器的原理(光电式)

在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。

在隔光盘两侧分别装有与车体固定的光源和感光元件。

当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。

这就是对里程转换为计数值的基本原理。

其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。

在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号()。

五、LED显示电路

对设计总体分析下,只需对其价格进行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:

元)。

显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。

六、计价器的计价要求

计价方式:

起价(两公里)白天8元,晚上元;由一开关进行选择。

每公里元。

转数与公里数:

汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产生一个溢出中断。

七、电路原理图及引脚

数码管输出数据

数码管位选

显示小数点(长亮)

计价器工作开关

白天/夜间切换

计数脉冲输入

八、源程序

ORG0000H;起始地址

AJMPSTART

ORG001BH;计数中断地址

LJMPCNT1

ORG0030H;主程序地址

START:

MOVPSW,#00H

MOVIE,#88H;IE=B

MOVTMOD,#60H;TMOD=01100000B,T1工作方式2

MOVTH1,#0BDH;自动重装

MOVTL1,#0BDH;计67个数

SETBTR1;计数器启动

CLR;点亮小数点dp

MOVR4,#0FFH;置数-1

MOVR0,#20H;指向数据区首地址

MOVR1,#04H;数字个数

LP1:

MOV@R0,#00H;把00放入显示数据区

INCR0;指针加一

DJNZR1,LP1;继续置数

OFF:

SETB

JNB,ON;计价器开始跳转至ON

ACALLDISP;调用显示子程序

AJMPOFF

ON:

SETB

JB,DAY;判断白天or夜间行车

NIGHT:

MOVR2,#00H;价格后两位压缩BCD码

MOVR3,#01H;价格高两位压缩BCD码

MOV21H,#01H;显示数据区放入起价BCD码

CALLDISP;显示夜间起价

AJMPLP2

DAY:

MOVR2,#80H;价格后两位压缩BCD码

MOVR3,#00H;价格高两位压缩BCD码

MOV22H,#08H;显示数据区放入起价BCD码

LP2:

CALLDISP;显示白天起价

AJMPLP2

CNT1:

MOV35H,R5

MOV36H,R6

MOV32H,R0

MOV31H,A

MOV30H,R4;保护中断前寄存器内容

CJNER4,#00H,INCC;两公里内计数值加1

CLP0:

MOVA,R2

ADDA,#01H;后两位计价加一

DAA;十进制调整

MOVR2,A

MOVA,R3

ADDCA,#00H;前两位计价加进位

DAA;十进制调整

MOVR3,A

CLP2:

MOVA,R2

MOVB,#10H

DIVAB;将压缩BCD码拆成BCD码

MOV23H,B

MOV22H,A;按高低位存入显示数据区

MOVA,R3

MOVB,#10H

DIVAB;将压缩BCD码拆成BCD码

MOV21H,B

MOV20H,A;按高低位存入显示数据区

CALLDISP;显示价格

AJMPRETC

INCC:

INCR4;两公里内计数器加一

RETC:

MOVA,31H

MOVR0,32H

MOVR5,35H

MOVR6,36H;恢复中断前数据内容

RETI;中断结束

DISP:

MOVR5,#04H;显示子程序,显示个数

MOVR0,#20H;指向数据区首地址

MOVR6,#80H;位选

MOVDPTR,#TAB;指针指向显示列表

DLP0:

MOVA,@R0

MOVCA,@A+DPTR;取出对应的显示代码

MOVP0,A;输出数据

MOVA,R6

MOVP2,A;输出位选

RRA;右移位选

MOVR6,A

INCR0;指向下一地址

DJNZR5,DLP0;循环

RET;结束

TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,

DB7FH,67H;显示代码列表

END

九、流程图

十、调试

利用KeilC51软件对其进行编译、仿真,得出比较满意的效果。

由于没有实际电路板,在调试过程中,利用显示数据存储区“20H,21H,22H,23H”对其要求显示价格进行观察,能够看到其中价格随着计数器中断在变动着,并且逢十进一,比较理想地显示了价格。

十一、总结

通过这次课程设计,我对单片机的工作原理有了更深一步的了解,对于中断、定时/计数器的工作方式更加明确,并且在应用上掌握了不少方法。

在通过与同学们交流中,也发现不少问题,并且及时的做出相应的更改,还有一些应用巧妙的方法,这些使我对单片机技术能更灵活的应用。

在我的课程设计中,当时发现的问题就是中断调用时,对现场的保护问题,由于寄存器是共用的,中断时间不确定,所以必须中断时对现场进行保护,不能让中断中的数据覆盖原来的数据。

另外,由于时间以及技术的缺乏,设计程序中没有加入定时的程序——停车计时计价,这里面也存在这许许多多的问题,比如停车是用中断判断还是扫描判断等。

这些进一步的探究我将在以后的不断学习中进行该善。

十二、参考文献

[1]杨恢先.单片机原理及应用[M].长沙:

国防科技大学出版社,2003.

[2]肖鹏,陈伟民.一种新型多功能出租车计价方案设计[J].自动化与仪器仪表,2003,第3期.

[3]何小艇.电力拖动自动控制系统电子系统设计[M].杭州:

浙江大学出版社,2000.

[4]何立民.MCS–51系列单片机应用系统设计系统配置与接口[M].北京:

北京航空学院出版社,1990.

[5]马鸿文.新一代出租车计价器微机设计系统.计算机应用[J].(6).

[6]孙涵芳.MCS–51、96系列单片机原理及应用[M].北京:

北京航空学院出版社,1988.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2