您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机出租车计价器课程设计报告书
word完美格式精心整理学习帮手嵌入式系统基础课程说明书设计题目:出租车计价器学院:太原理工大学现代科技学院班级:电子信息姓名:学号:1一、设计题目:出租车计价器二、设计思路:如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。三、设计任务出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通过线路连接构成一个完整的系统。公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生一个脉冲信号送给单片机作为一定距离的计数值。显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助计价。四、里程计数器的原理(光电式)在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号(P3.4)。2五、LED显示电路对设计总体分析下,只需对其价格进行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。六、计价器的计价要求计价方式:起价(两公里)白天8元,晚上8.6元;由一开关进行选择。每公里1.5元。转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产生一个溢出中断。七、电路原理图及引脚P0.7-P0.0数码管输出数据P2.7-P2.4数码管位选P1.0显示小数点(长亮)3八、源程序ORG0000H;起始地址AJMPSTARTORG001BH;计数中断地址LJMPCNT1ORG0030H;主程序地址START:MOVPSW,#00HMOVIE,#88H;IE=10001000BMOVTMOD,#60H;TMOD=01100000B,T1工作方式2MOVTH1,#0BDH;自动重装MOVTL1,#0BDH;计67个数SETBTR1;计数器启动P1.2计价器工作开关P1.3白天/夜间切换P3.4计数脉冲输入4CLRP1.0;点亮小数点dpMOVR4,#0FFH;置数-1MOVR0,#20H;指向数据区首地址MOVR1,#04H;数字个数LP1:MOV@R0,#00H;把00放入显示数据区INCR0;指针加一DJNZR1,LP1;继续置数OFF:SETBP1.2JNBP1.2,ON;计价器开始跳转至ONACALLDISP;调用显示子程序AJMPOFFON:SETBP1.3JBP1.3,DAY;判断白天or夜间行车NIGHT:MOVR2,#00H;价格后两位压缩BCD码MOVR3,#01H;价格高两位压缩BCD码MOV21H,#01H;显示数据区放入起价BCD码CALLDISP;显示夜间起价AJMPLP2DAY:MOVR2,#80H;价格后两位压缩BCD码MOVR3,#00H;价格高两位压缩BCD码MOV22H,#08H;显示数据区放入起价BCD码LP2:CALLDISP;显示白天起价AJMPLP2CNT1:MOV35H,R5MOV36H,R6MOV32H,R0MOV31H,AMOV30H,R4;保护中断前寄存器内容CJNER4,#00H,INCC;两公里内计数值加1CLP0:MOVA,R2ADDA,#01H;后两位计价加一DAA;十进制调整MOVR2,AMOVA,R3ADDCA,#00H;前两位计价加进位DAA;十进制调整MOVR3,ACLP2:MOVA,R2MOVB,#10HDIVAB;将压缩BCD码拆成BCD码MOV23H,BMOV22H,A;按高低位存入显示数据区MOVA,R3MOVB,#10H5DIVAB;将压缩BCD码拆成BCD码MOV21H,BMOV20H,A;按高低位存入显示数据区CALLDISP;显示价格AJMPRETCINCC:INCR4;两公里内计数器加一RETC:MOVA,31HMOVR0,32HMOVR5,35HMOVR6,36H;恢复中断前数据内容RETI;中断结束DISP:MOVR5,#04H;显示子程序,显示个数MOVR0,#20H;指向数据区首地址MOVR6,#80H;位选MOVDPTR,#TAB;指针指向显示列表DLP0:MOVA,@R0MOVCA,@A+DPTR;取出对应的显示代码MOVP0,A;输出数据MOVA,R6MOVP2,A;输出位选RRA;右移位选MOVR6,AINCR0;指向下一地址DJNZR5,DLP0;循环RET;结束TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,DB7FH,67H;显示代码列表END九、流程图6十、调试利用KeilC51软件对其进行编译、仿真,得出比较满意的效果。由于没有实际电路板,在调试过程中,利用显示数据存储区“20H,21H,22H,23H”对其要求显示价格进行观察,能够看到其中价格随着计数器中断在变动着,并且逢十进一,比较理想地显示了价格。十一、总结通过这次课程设计,我对单片机的工作原理有了更深一步的了解,对于中断、定时/计数器的工作方式更加明确,并且在应用上掌握了不少方法。在通过与同学们交流中,也发现不少问题,并且及时的做出相应的更改,还有一些应用巧妙的方法,这些使我对单片机技术能更灵活的应用。在我的课程设计中,当时发现的问题就是中断调用时,对现场的保护问题,由于寄存器是共用的,中断时间不确定,所以必须中断时对现场进行保护,不能让中断中的数据覆盖原来的数据。另外,由于时间以及技术的缺乏,设计程序中N开始开始计价昼夜选择显示零显示零Y显示夜间起价显示白天起价夜昼显示价格主程序流程图T1中断够67次NYR4=0?NYR4+1价格寄存器加一调整BCD码放入数据显示区返回中断程序流程图7没有加入定时的程序——停车计时计价,这里面也存在这许许多多的问题,比如停车是用中断判断还是扫描判断等。这些进一步的探究我将在以后的不断学习中进行该善。十二、参考文献[1]杨恢先.单片机原理及应用[M].长沙:国防科技大学出版社,2003.[2]肖鹏,陈伟民.一种新型多功能出租车计价方案设计[J].自动化与仪器仪表,2003,第3期.[3]何小艇.电力拖动自动控制系统电子系统设计[M].杭州:浙江大学出版社,2000.[4]何立民.MCS–51系列单片机应用系统设计系统配置与接口[M].北京:北京航空学院出版社,1990.[5]马鸿文.新一代出租车计价器微机设计系统.计算机应用[J].2005.26(6).[6]孙涵芳.MCS–51、96系列单片机原理及应用[M].北京:北京航空学院出版社,1988.
本文标题:单片机出租车计价器课程设计报告书
链接地址:https://www.777doc.com/doc-5464859 .html