出租车计价器.docx
《出租车计价器.docx》由会员分享,可在线阅读,更多相关《出租车计价器.docx(17页珍藏版)》请在冰豆网上搜索。
![出租车计价器.docx](https://file1.bdocx.com/fileroot1/2023-2/6/b01f42ad-53f4-4155-8bec-4b438c29caa7/b01f42ad-53f4-4155-8bec-4b438c29caa71.gif)
出租车计价器
辽宁工业大学
单片机与接口技术课程设计(论文)
题目:
出租车计价器
院(系):
信息科学与工程学院
专业班级:
电子082
学号:
080404032
学生姓名张善俊
指导教师:
马红玉
教师职称:
讲师
起止时间:
11-07-08至11-07-15
课程设计(论文)任务及评语
院(系):
信息科学与工程学院教研室:
电子
学号
080404032
学生姓名
张善俊
专业班级
电子082
课程设计(论文)题目
出租车计价器
课程设计(论文)任务
该出租车计价器可实现里程计费,设计者完成出租车计价器的硬件和软件设计。
任务包括:
1车轮转速传感器选择。
2车轮转速测量通道设计。
3显示电路设计。
4CPU及按键电路设计。
5写出程序流程图及汇编程序。
指导教师评语及成绩
成绩:
指导教师签字:
年月日
目录
第1章课程设计目的与要求1
1.1课程设计目的1
1.2课程设计的实验环境1
1.3课程设计的预备知识1
1.4课程设计要求1
第2章课程设计内容2
第3章课程设计的考核2
3.1课程设计的考核要求2
3.2课程性质与学分2
第4章硬件与软件系统设计3
参考文献
第1章课程设计目的与要求
1.1课程设计目的
“单片机与接口技术”课程设计是在教学及实验基础上,对课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与制造出具有较复杂功能的小型单片机系统,并在实践的基本技能方面进行一次系统的训练。
能够较全面地巩固和应用“单片机”课程中所学的基本理论和基本方法,并初步掌握小型单片机系统设计的基本方法。
培养独立思考、独立收集资料、独立设计规定功能的单片机系统的能力;培养分析、总结及撰写技术报告的能力。
1.2课程设计的实验环境
利用windows操作系统及应用软件进行绘图和编程。
1.3课程设计的预备知识
熟悉单片机与接口技术课程的相关知识及电子线路CAD工具软件。
1.4课程设计要求
按课程设计指导书提供的课题,根据第二章给出的基本要求及参数独立完成设计,课程设计说明书应包括以下内容:
1、对设计课题进行简要阐述,并说明设计任务及具体要求。
2、论述系统设计方案,并画出总体电路结构图及功能分割图。
3、能够较熟练地应用电子线路CAD工具完成单片机系统的硬件设计任务。
4、各功能模块设计说明、设计实现过程及源程序。
5、能够较熟练地应用一种编辑软件编写程序,掌握单片机系统软件设计的基本方法
6、课程设计报告应内容完整、字迹工整、图表整齐规范、数据详实。
7、课程设计总结
8、字数4000左右,有系统电气原理图。
第2章课程设计内容
设
计
技
术
参
数
1车轮转速传感器装1只
2显示电路显示单价、里程、总价
3按键数少于5
4CPU采用51兼容型
5写出程序流程图及汇编程序。
工
作
量
1车轮转速传感器选择。
2车轮转速测量通道设计。
3显示电路设计。
4CPU及按键电路设计。
5写出程序流程图及汇编程序。
工
作
计
划
第一天
第二天
第三天
第四天
第五天
第二周
车轮转速传感器选择。
车轮转速测量通道设计。
显示电路设计。
CPU及按键电路设计。
写出程序流程图及汇编程序。
画原理图、打印
第3章课程设计的考核
3.1课程设计的考核要求
课程设计采用五级(优、良、中、及格、不及格)评分制。
最后成绩依据课程设计论文及平时成绩决定,其中平时考核成绩占20%。
3.2课程性质与学分
单片机与接口技术课程设计的课程性质:
考查
学分:
2
第4章硬件与软件系统设计
4.1总体硬件方框图及各部分电路实现
4-1-1总体方框图
用单片机控制。
利用单片机丰富的IO端口,及其控制的灵活性,实现基本的里程计价功能和价格调节、时钟显示功能。
单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,。
电路的功能单元设计
1.里程计算、计价单元的设计
里程计算是通过安装在车轮上的霍尔传感器A44E检测到的信号,送到单片机,经处理计算,送给显示单元的。
。
由于A44E属于开关型的霍尔器件,其工作电压范围比较宽(4.5~18V),其输出的信号符合TTL电平标准,可以直接接到单片机的IO端口上,而且其最高检测频率可达到1MHZ。
图4-1-2
A44E集成霍耳开关由稳压器A、霍耳电势发生器(即硅霍耳片)B、差分放大器C、施密特触发器D和OC门输出E五个基本部分组成。
在输入端输入电压CCV,经稳压器稳压后加在霍耳电势发生器的两端,根据霍耳效应原理,当霍耳片处在磁场中时,在垂直于磁场的方向通以电流,则与这二者相垂直的方向上将会产生霍耳电势差HV输出,该HV信号经放大器放大后送至施密特触发器整形,使其成为方波输送到OC门输出。
当施加的磁场达到“工作点”(即OPB)时,触发器输出高电压(相对于地电位),使三极管导通,此时OC门输出端输出低电压,通常称这种状态为“开”。
当施加的磁场达到“释放点”(即rPB)时,触发器输出低电压,三极管截止,使OC门输出高电压,
这种状态为“关”。
这样两次电压变换,使霍耳开关完成了一次开关动作。
其集成霍耳开关外形及接线如图4-1-4所示。
图4-1-3
我们选择了P3.2口作为信号的输入端,内部采用外部中断0(这样可以减少程序设计的
麻烦),车轮每转一圈(我们设车轮的周长是1米),霍尔开关就检测并输出信号,引起单片
机的中断,对脉计数,当计数达到1000次时,也就是1公里,单片机就控制将金额自动显示.
数据显示单元的设计
由于设计要求有单价(2位)、路程(2位)、总金额(3位)显示输出,加上我们另外扩
展了时钟显示(包含时分秒的显示),采用LCD液晶段码显示,在距离屏幕1米之外就无法
看清数据,不能满足要求,而且在白天其对比度也不能够满足要求,因此我们采用6位LED
数码管的分屏显示,
在出租车不走的时候,按下S1,可以实现数据的分屏显示;车在行走的时候只有总金额和单价显示屏在显示,当到达目的地的时候,客户要求查看总的里程的时候,就可以按下S1切换到里程和单价显示屏,供客户查询。
显示电路的电路原理图如图4-1-6所示。
图4-1-4
从单片机串口输出的信号先送到左边的移位寄存器(74HC164),由于移位脉冲的作用,使数据向右移,达到显示的目的。
移位寄存器74HC164还兼作数码管的驱动,插头1(header1)接电源,插头2(header2)接数据和脉冲输出端。
电路中的三个整流管D1~D3的作用是降低数码管的工作电压,增加其使用寿命。
按键控制单元的设计
电路共采用了四个按键,S1、S2、S3、S4,其功能分别是:
S1分屏显示切换按键,S2功能设定按键,S3白天晚上切换按键,S4中途等待开关。
图4-1-5
4.2软件设计
1.模块介绍
该计程计价系统的软件设计分为以下几个模块:
(1)主程序模块
在主程序模块中,需要完成对各接口芯片的初始化、出租车起价和单价的初始化、中断向量的设计以及开中断、循环等待等工作。
另外,在主程序模块中还需要设置启动/清除标志寄存器、里程寄存器和价格寄存器,并对它们进行初始化。
然后,主程序将根据各标志寄存器的内容,分别完成启动、清除、计程和计价等不同的操作。
其程序流程如图所示.当按下S1时,就启动计价,将根据里程寄存器中的内容计算和判断出行驶里程是否已超过起价公里数。
若已超过,则根据里程值、每公里的单价数和起价数来计算出当前的累计价格,并将结果存于价格寄存器中,然后将时间和当前累计价格送显示电路显示出来。
当到达目的地的时候,由于霍尔开关没有送来脉冲信号,就停止计价,显示当前所应该付的金额和对应的单价,到下次启动计价时,系统自动对显示清零,并重新进行初始化过程。
(2)定时中断服务程序
在定时中断服务程序中,每100ms产生一次中断,当产生10次中断的时候,也就到了一秒,送数据到相应的显示缓冲单元,并调用显示子程序实时显示。
其程序流程如图所示.
(3)里程计数中断服务程序
每当霍尔传感器输出一个低电平信号就使单片机中断一次,当里程计数器对里程脉冲计满1000次时,就有程序将当前总额,使微机进入里程计数中断服务程序中。
在该程序中,需要完成当前行驶里程数和总额的累加操作,并将结果存入里程和总额寄存器中。
其程序流程如图所示.
(4)中途等待中断服务程序
当在计数状态下霍尔开关没有输出信号,片内的T1定时器便被启动,每当计时到达10分钟,就对当前金额加上中途等待的单价,以后每十分钟都自动加上中途等待的单价。
当中途等待结束的时候,也就自动切换到正常的计价。
(5)显示子程序服务程序
由于是分屏显示数据,所以就要用到4个显示子程序,分别是:
时分秒显示子程序
(HMS_DIS)、金额单价显示子程序(CP_DIS)、路程单价显示子程序(DP_DIS)、单价调节
子程序(PA_DIS)。
其程序流程如图所示.
(6)键盘服务程序
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一
旦右按键按下,便转向相应的子程序处理,处理结束再返回。
其程序流程如图所示.
程序流程图
程序
1)主程序
ORG0000H
LJMPMAIN;转主程序
ORG0003H
LJMPINT0;转INT0中断
ORG000BH
LJMPCLOCK;转定时器T0中
断
ORG0013H
LJMPINT1;转INT1中断
主程序:
MAIN:
MOVA,#03H
MOVR0,#20H
MOVX@R0,A
MOVSP,#5AH
MOV2BH,#60H
MOV2CH,#60H
MOV2DH,#24H
MOVTMOD,#01H
MOVTL0,#0B0H
MOVTH0,#3CH
MOVIE,#87H
SETBTR0
LOOP:
LCALLDSUP
LJMPLOOP
2)按键子程序
中断服务程序:
T0中断服务程序:
ORG0050H
T0:
CLREX0
JNBP3.2,$
INC28H
MOVA,28H
ADDA,#00H
DAA
MOV28H,A
SUBBA,#60H
JCDSUP2
MOV28H,#00H
DSUP2:
LCALLDSUP
SETBEX0
RETI
定时中断1服务程序:
T1:
CLREX1
JNBP3.3,$
INC29H
MOVA,29H
ADDA,#00H
DA A
MOV29H,A
SUBBA,#24H编
JCDSUP3
MOV29H,#00H
DSUP3:
LCALLDSUP
SETBEX1
RETI
3)显示子程序
显示子程序:
DSUP:
MOVR0,#4FH
MOVA,27H
ACALLPTDS
MOVA,28H
ACALLPTDS
MOVA,29H
ACALLPTDS
MOVR0,#4AH
MOVR2,#0DFH
MOVDPTR,#SEGPT
DSUP1:
MOVA,#00H
MOVR1,#21H
MOVX@R1,A
MOVA,@R0
MOVCA,@A+DPTR
MOVX@R1,A
MOVA,R2
MOVR1,#22H
MOVX@R1,A
MOVR3,#00H
DSUP4:
DJNZR3,DSUP4
INCR0
CLRC
MOVA,R2
RRA
MOVR2,A
JBACC.7,DSUP1
RET
PTDS:
MOVR1,A
ACALLPTDS1
MOVA,R1
SWAPA
PTDS1:
ANLA,#OFH
MOV@R0,A
DECR
ORG23A0H
控制程序如下:
LOOP1:
MOVDPTR,#100CH
MOV2EH,DPL
LOOP4:
MOVDPL,2EH
MOVR3,#04H
MOVR1,#2AH
LOOP2:
INCDPTR
DJNZR3,LOOP2
MOV2EH,DPL
MOVR3,#03H
CLRA
MOVCA,@A+DPTR
JZLOOP3
MOV3AH,A
LOOP5:
INCDPTR
DECR1
CLRA
MOVCA,@A+DPTR
MOV3BH,A
MOVA,@R1
CJNEA,3BH,LOOP4
DJNZR3,LOOP5
MOVA,3AH
CPLA
MOVP1,A
LOOP3:
RET
5)计数子程序
T0中断服务程序:
CLOCK:
PUSHPSW
PUSHACC
SETBRS0
MOVTL0,#0B7H
MOVTH0,#3CH
INC26H
MOVA,26H
CJNEA,#0AH,DONE
MOV26H,#00H
MOVR0,#27H
MOVR1,#28H
MOVR3,#03H
LOOP0:
MOVA,@R0
ADDA,#01H
DAA
MOV@R0,A
MOV38H,@R1
CJNEA,38H,DONE0
MOV@R0,#00H
INCR0
INCR1
DJNZR3,LOOP0
DONE0:
ACALLLOOP1
DONE:
POPACC
POPPSW
RETI
4.3总体电路图
4.4设计总结
这次课程设计,我掌握了单片机接口设计的技巧,在查阅资料的过程中,学会了许多书本上学不到的东西,并且使自己的动手能力得到了加强,这次课程设计是我们学习完《单片机及应用技术》之后一次较为综合的设计,毫无疑问,每个人理论与实践的能力都得到了前所未有的锻炼,经过为期10余天的查阅资料、自己总结、与同学探讨等渠道,发现了自己在平时学习时的不足,以及出现的问题都得到了有效的解决,大学生课程设计对每个在校大学生都有很大意义,不但锻炼了我们运用知识的能力,并且为我们以后的毕业设计提供了基础,这次课程设计我更加清楚了以往学习过芯片的现实意义,详细的了解了他们各自的功能和引脚,学以致用是每一个学者学习的最终目的,尤其对我们理科生来讲,通过这次课程设计更加坚定了我学单片机和其他专业课的信心,并增强了对芯片的兴趣,激发了自己学习的动力,对以后的工作、研究有很大的帮助。
参考文献
[1]梅丽凤王艳秋等编著.单片机及接口技术北京交通大学出版社.2004.2
[2]苏家健曹柏荣汪志锋编著.单片机原理及应用技术.2004.11
[3]王晓明曾红编著.单片机教程东北大学出版社.2001。
12
[4]陈粤初编著.单片机应用系统设计与实践.北京航空航天大学出版社.1993.
[5]李广弟编著.单片机基础.北京航空航天大学出版社.1994