单片机课程设计出租车计费系统.doc

上传人:laozhun 文档编号:4135500 上传时间:2023-04-07 格式:DOC 页数:11 大小:107.50KB
返回 下载 相关 举报
单片机课程设计出租车计费系统.doc_第1页
第1页 / 共11页
单片机课程设计出租车计费系统.doc_第2页
第2页 / 共11页
单片机课程设计出租车计费系统.doc_第3页
第3页 / 共11页
单片机课程设计出租车计费系统.doc_第4页
第4页 / 共11页
单片机课程设计出租车计费系统.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《单片机课程设计出租车计费系统.doc》由会员分享,可在线阅读,更多相关《单片机课程设计出租车计费系统.doc(11页珍藏版)》请在三一办公上搜索。

1、单片机系统课程设计说明书起止日期: 2011 年 12 月 19 日 至 2011 年 12 月 31 日学生姓名谢清华班级电自094学号09401300436指导老师李祥飞成绩电气与信息工程学院2011年12 月19日湖南工业大学课程设计任务书2011 2012 学年第1 学期 电气与信息工程 学院 电气工程及其自动化 专业 电气094 班级课程名称: 单片机系统课程设计 设计题目: 0255记数、0999999记数和 出租车计费系统 完成期限:自 2011 年 12 月 19 日至 2011 年 12 月 31 日共 2 周内容及任务1.1 外部脉冲自动计数,自动显示。1.1.1设计一个2

2、55计数器:0255计数,计满后自动清0,重新计数(在数码管中显示)。1.1.2设计一个999999计数器:0999999计数,计满后自动清0,重新计数(在数码管中显示)。1.2 设计一个出租车计费系统: 起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前三位显示数码管显示里程数,后三位数码管显示价钱(角,元,十元)进度安排起止日期工作内容2011.12.19-2011.12.20讲述设计内容及基本原理2011.12.21-2011.12.30进行系统的设计2011.12.31-2011.12.31完成课程设计的验收主要参考资料1 刘苗生

3、、潘宗预. 单片机测控系统设计. 中国物质出版社,2006年2 欧伟明、何静.单片机原理与应用系统设计.电子工业出版社,2009年一、 课程设计目的:1、熟练掌握汇编语言编程; 2、编译0255、0999999和计程车计费系统程序;3、程序调试4、 掌握proteus仿真 二、课程设计内容:2.1设计一个255计数器:0255计数,计满后自动清0,重新计数(在数码管中显示)。 255计数器流程图设计。 开始初始化程序bcd转换程序显示程序计数满255?NY结束返回 、255计数器源代码:ORG 0000HLJMP MAINORG 0060HMAIN: MOV TMOD,#01100000BMO

4、V TH1,#0MOV TL1,#0SETB TR1L1: MOV A,TL1LCALL TOBCDLCALL DISPLAYSJMP L1TOBCD: MOV B,#100DIV ABMOV 72H,AXCH A,BMOV B,#10DIV ABMOV 71H,AMOV 70H,BRETDISPLAY: MOV R1,#70HMOV R3,#0MOV DPTR,#SEGL2: MOV A,R1MOVC A,A+DPTRMOV P2,R3MOV P0,ALCALL D15MSINC R1INC R3MOV P0,#0FFH;消隐CJNE R3,#3,L2RETSEG:DB0C0H,0F9H,0

5、A4H,0B0H,99H,92H,82H,0F8HDB 80H,90HD15MS: MOV R7,#30DL: MOV R6,#255DJNZ R6,$DJNZ R7,DLRETEND 255计数器仿真图: 2.2 设计一个999999计数器:0999999计数,计满后自动清0,重新计数(在数码管中显示)。 、999999计数器流程图开始初始化第一位加1N第一位是否满10Y第一位清0,第二位加1第六位是否满10N第六位清0返回结束 999999计数器源代码 ORG 0000H SJMP MAIN ORG 0030HMAIN:MOV 70H,#0 MOV 71H,#0 MOV 72H,#0 MO

6、V 73H,#0 MOV 74H,#0 MOV 75H,#0 MOV TMOD,#01100000B MOV TH1,#255 MOV TL1,#255 SETB TR1L1: JNB TF1,L3;没有溢出则转L3 CLR TF1;溢出则清零tf1 LCALL COUNTL3: LCALL DISPLAY SJMP L1COUNT:MOV R1,#70HL2: INC R1 CJNE R1,#10,BTOM MOV R1,#0 INC R1 CJNE R1,#76H,L2 MOV R1,#70HBTOM:RETDISPLAY: MOV R0,#70H MOV R3,#0 MOV DPTR,#

7、SEGL4: MOV A,R0 MOVC A,A+DPTR MOV P2,R3 MOV P0,A INC R0 INC R3 LCALL D6MS MOV P0,#0FFH CJNE R3,#6,L4 RETSEG: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90HD6MS:MOV R7,#30DL: MOV R6,#100 DJNZ R6,$ DJNZ R7,DL RET END999999计数器仿真图2.3 设计一个出租车计费系统:起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前三位

8、显示数码管显示里程数,后三位数码管显示价钱(角,元,十元)出租车的计费器流程图N开始初始化调用路程bcd转化程序TF溢出?调用路程显示子程序调用费用bcd转化程序调用费用显示子程序返回结束Y出租车源程序 ORG 0000H SJMP MAIN ORG 0060HMAIN: MOV TMOD, #60H MOV TH1,#255 MOV TL1,#255 MOV 70H,#0 MOV 71H,#5 MOV 72H,#0 MOV 73H,#0 MOV 74H,#0 MOV 75H,#0 SETB TR1LOOP4:JBC TF1,LOOP3 LCALL DISPS;没有脉冲调用路程显示子程序 LC

9、ALL DISPR ;没有脉调用价格显示程序 SJMP LOOP4LOOP3:LCALL BCDS ;有脉冲调用路程bcd转换程序 LCALL DISPS;有脉冲调用路程显示子程序 LCALL BCDPR ;有脉冲调用价格bcd转换程序 LCALL DISPR ;有脉冲调用价格显示程序 SJMP LOOP4BCDS: ;路程转化 MOV A,73H ADD A,#5 MOV 73H,A CJNE A,#10,BTOM MOV 73H,#0 INC 74H MOV A,74H CJNE A,#10,BTOM MOV 74H,#0 INC 75H MOV A,75H CJNE A,#10,BTOM

10、 MOV 75H,#0BTOM: RETDISPS:MOV DPTR,#TAB ;路程显示子程序 MOV A,73H MOVC A,A+DPTR MOV P0,A MOV P2,#3 LCALL DELAY MOV P0,#0FFH MOV A,74H MOVC A,A+DPTR ANL A,#7FH MOV P0,A MOV P2,#4 LCALL DELAY MOV P0,#0FFH MOV A,75H MOVC A,A+DPTR MOV P0,A MOV P2,#5 LCALL DELAY MOV P0,#0FFH RETBCDPR: MOV A,75H ;费用转化 CJNE A,#0,

11、SUB11 MOV A,74H CJNE A,#2,SUB1 MOV A,73H CJNE A,#0,SUB11 SJMP FIVEYSUB1: JC FIVEYSUB11: MOV A,70H ADD A,#8 MOV 70H,A CJNE A,#10,SUB2 SJMP SUB3SUB2: JC BTOM2SUB3: SUBB A,#10 MOV 70H,A INC 71H MOV A,71H CJNE A,#10,BTOM2 MOV 71H,#0 INC 72H MOV A,72H CJNE A,#10,BTOM2 MOV 72H,#0 SJMP BTOM2FIVEY: MOV 71H,

12、#5BTOM2: RETDISPR:MOV DPTR,#TAB;价格显示程序 MOV A,70H MOVC A,A+DPTR MOV P0,A MOV P2,#0 LCALL DELAY MOV P0,#0FFH MOV A,71H MOVC A,A+DPTR ANL A,#7FH MOV P0,A MOV P2,#1 LCALL DELAY MOV P0,#0FFH MOV A,72H MOVC A,A+DPTR MOV P0,A MOV P2,#2 LCALL DELAY MOV P0,#0FFH RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,

13、0F8H,80H,90HDELAY:MOV R3,#3DL: MOV R2,#100 DJNZ R2,$ DJNZ R3,DL RET END出租车计费系统仿真图三 、课程设计总结完成一个学期课程后,最后两周老师布置了单片机的课程设计,算是一次理论与实际的实践,拿到设计后初步观察有些难但经过仔细思考和组成员讨论后还是圆满完成了设计。这次课程设计历时两周,是一次理论融于实践的教学行动。本次课程设计老师给我们布置了三个设计课题,分别是0255计数器,0999999计数器以及出租车计费器。这三个课题都是定时器/计数器接收外部脉冲实现计数,难度是呈梯度上升的,第一个和第二个任务为最终任务提供了一个很好

14、的结构。255计数器设计是这次课程设计最简单的一道程序题,它也是后续程序设计的基础。由于255计数器数据显示范围是0255,所以由定时器T1的TH1寄存器就可以完全实现计数。定时器有四种工作方式,它们可以满足255计数要求(工作方式3只能用定时器T0),为了设计方便,使用T1工作方式2(计数器自动重装初值)。在不使用中断也可以完全实现编程要求,并使用数模转换,理清了设计思路,这样我们组编程基本上不存在什么难点。999999计数器设计比255计数器设计要难。也是这次课程设计比较关键的一环。999999计数器只能使用定时器T1工作方式2(采用脉冲计数的方式),首先分配内存单元、当第一位满十时向前一

15、位进1,然后把当前的这为清零,然后依次循环,直到判断第6位满十,把这一位清零,循环。出租车计费器可在计数999999的程序上修改而成。在这里我们要明白车程与计费之间的关系,并将车程由数码管显示出来。最后还要注意当计费显示达到最大值时要将数码管显示清零。由上可以知道已将出租车计费器转换为计数问题,从而使问题得到圆满解决。在编程和设计过程中体现出了很多问题,在很多实际运用中还是和书本上稍微有些偏差,要实践与理论相结合,光有理论知识是不够的,在实践的过程需要灵活的运用。当然没有好的理论基础也是不行的。只有有了牢固的基础才能灵活的运用。这次的课程设计不光是对所学知识的一种考察方式,也是对耐心的一个考验。当面对困难的时候不能浮躁,要对自己有信心,对解决困难有耐心,才能更好更快的解决问题。课程设计的过程不仅是一次设计,一个任务,不管结果怎么样,重要的是这个自我完善,查漏补缺的过程。这个学期即将结束,这次课程设计所学到的将是以后学习的珍贵财富

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号