单片机出租车计费系统课程设计报告(含程序).doc

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

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

1、湖南工业大学课 程 设 计资 料 袋 电气与信息工程 学院 学年第 1 学期 课程名称 单片机课程设计 指导教师 职称 学生姓名 专业班级 学号 题 目 成 绩 起止日期 2015 年 月 日 2015 年 月 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书12课程设计说明书13课程设计图纸张4心得体会56湖南工业大学课程设计任务书20152016 学年第1 学期电气与信息工程 学院 电气工程及其自动化 专业 1301 班课程名称: 单片机系统课程设计 设计题目: 出租车计费系统 完成期限:自 2015 年 11 月 30 日至 2015 年 12 月 12 日共 2 周内容

2、及任务1.1 外部脉冲自动计数,自动显示(基本要求)。1.1.1 设计好相应的硬件电路(用画图软件如protel99se、AD等),编写程序,模拟出租车计费系统的工作流程。 1.1.2 编写程序,实现下述功能: 1设计一个255计数器:0255计数,计满后自动清0,重新计数(在数码管中显示)。 2设计一个99999计数器:099999计数,计满后自动清0,重新计数(在数码管中显示)。行时间和等待时间),程序可以用汇编语言或者是C51语言编写。1.1.3 在proteus软件上先进行仿真,在下载到单片机开发板验证。1.2设计一个出租车计费系统(发挥要求) 1.2.1 起步价为5元(2km以内),

3、2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后4位数码管显示价钱(角,元,十元,百元)1.2.2 编写程序,若途中存在等待的时候,当等待时间超过5 分钟后,按每分钟0.8 元收费;1.2.3 编写程序,通过按键,能实现白天/晚上收费标准的转换;1.2.1为白天收费标准,晚上为起步价为7元(2km以内),2km后,1.2元/0.5km;要求每500m刷新计费一次。1.2.4 编写程序,实现白天/晚上收费标准的自动/手动转换功能; 1.3 独立撰写完成课程设计说明书(课程设计报告)进度安排起止日期工作内容2015.11.242015.11

4、.27熟悉开发板,了解样例程序2015.11.282015.12.05设计硬件电路,编写程序及进行调试2015.12.062015.12.07完成验收,撰写课程设计报告主要参考资料1 欧伟明,何静,凌云.单片机原理与应用系统设计.电子工业出版社,2009年2 凌云等. 单片机原理与技能训练. 电子工业出版社,2012年3 刘苗生,潘宗预. 单片机测控系统设计. 中国物质出版社,2006年 单片机系统课程设计说明书基于单片机的出租车计费系统起止日期: 2015 年 11 月 30 日 至 2015 年 12 月 12 日学生姓名 施海龙班级 电自1301学号 13401700105成绩湖南工业大

5、学电气与信息工程学院2015 年 月 日 摘 要 目 录摘 要.2一、设计任务与要求41.主要任务及目标4二、总设计方案51.255计数器程序流程图.62.99999计数器程序流程图.73.出租车计费系统程序流程图.8三、程序的设计 1.255计数器程序设计.92.99999计数器程序设计.103.出租车计费系统程序设计.11四、仿真软件1.255计数器硬件仿真.182.99999计数器硬件仿真.183.出租车计费系统硬件仿真.19五、心得.19一、设计任务与要求 1、主要任务及目标1.1 外部脉冲自动计数,自动显示 1.1.1 设计好相应的硬件电路(用画图软件如protel99se、AD等)

6、,编写程序,模拟出租车计费系统的工作流程。1.1.2 编写程序,实现下述功能: 1设计一个255计数器:0255计数,计满后自动清0,重新计数(在数码管中显示)。 2设计一个99999计数器:099999计数,计满后自动清0,重新计数(在数码管中显示)。行时间和等待时间),程序可以用汇编语言或者是C51语言编写。1.1.3 在proteus软件上先进行仿真,在下载到单片机开发板验证。1.2设计一个出租车计费系统 1.2.1 起步价为5元(2km以内),2km后,0.8元/0.5km;要求每500m刷新计费一次,在8位数码管中,前3位显示数码管显示里程数,后4位数码管显示价钱(角,元,十元,百元

7、)1.2.2 编写程序,若途中存在等待的时候,当等待时间超过5 分钟后,按每分钟0.8 元收费;1.2.3 编写程序,通过按键,能实现白天/晚上收费标准的转换;1.2.1为白天收费标准,晚上为起步价为7元(2km以内),2km后,1.2元/0.5km;要求每500m刷新计费一次。1.2.4 编写程序,实现白天/晚上收费标准的自动/手动转换功能; 二、设计总方案 1、255计数器程序流程图结束计数脉冲到255后清零设置计数器工作方式程序初始化开始开始开始开始2、99999计数器程序流程图主程序流程图COUNT子程序流程图显示子程序流程图返回 R3=6?(R1)+1R1(R3)+1R3调用延时MO

8、V A,R1;R3送到P270HR10R3返回(R1)=10?70HR1(R1)=76H? 0(R1)(R1)+1R1(R1)+1R170HR1调用显示子程序调用count程序P3.5是否有脉冲程序初始化开始3、出租车计费系统流程图 程序初始化设置工作方式里程显示中断价格显示JB P1.0,W1晚上计费白天计费2km?里程计算计费程序等待5min?等待计费三、程序的设计 1、255计数程序设计 ORG0000HAJMPSTARTORG000BHAJMPZDORG0030HSTART: MOVSP,#60H MOVTMOD,#06H MOVTH0,#00HMOVTL0,#00H SETBTR0

9、SETBET0SETBEAMAIN: LCALLDISPLAYAJMPMAINZD: RETIDISPLAY:MOVA,TL0MOVB,#64HDIVAB MOVDPTR,#SEGTABMOVCA,A+DPTRMOVP2,#02H MOVP0,A LCALLZD1 XCHA,BMOVB,#0AHDIVABMOVCA,A+DPTRMOVP2,#01HMOVP0,ALCALLZD1XCHA,BMOVDPTR,#SEGTABMOVCA,A+DPTRMOVP2,#00H MOVP0,A LCALLZD1RETZD1:MOVR5,#01H LOOP: MOVR6,#248DJNZR6,$DJNZR5,L

10、OOPRETSEGTAB:DB3FH,06H,5BH,4FH,66H DB6DH,7DH,07H,7FH,6F 2、99999计数程序设计ORG 0000HSJMP MAINORG 0030HMAIN: MOV 70H,#0MOV 71H,#0MOV 72H,#0MOV 73H,#0MOV 74H,#0MOV 75H,#0MOV TMOD,#01100000BMOV TH1,#255MOV TL1,#255SETB TR1L1: JNB TF1,L3 CLR TF1LCALL COUNTL3: LCALL DISPLAYSJMP L1COUNT: MOV R1,#70HL2: INC R1CJ

11、NE R1,#10,BTOMMOV R1,#0INC R1CJNE R1,#76H,L2MOV R1,#70HBTOM: RETDISPLAY: MOV R0,#70HMOV R3,#0MOV DPTR,#SEGL4: MOV A,R0MOVC A,A+DPTRMOV P2,R3MOV P0,AINC R0INC R3LCALL D6MS MOV P0,#0FFHCJNE R3,#6,L4RETSEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 80H,90HD6MS: MOV R7,#30DL: MOV R6,#100DJNZ R6,$DJNZ R7

12、,DLRETEND3、出租车计费系统程序设计 ORG 0000HSJMP MAINORG 001BH;T1入口地址LJMP TIME1 ORG 000BH;T0入口地址LJMP TIME0ORG 0013H ;外部中断1LJMP INTT1 ORG 0030HMAIN: MOV DPTR,#TABMOV R0,#00H ;主程序;R0-R3 公里赋值MOV R1,#00HMOV R2,#00HMOV R3,#00HMOV 50H,#00HMOV R4,#00HMOV R5,#05H ;白天计费初始值MOV R6,#00HMOV R7,#00HMOV 40H,#07H ;夜间计费初始值MOV 4

13、1H,#10HMOV 42H,#00HMOV 43H,#00HMOV 44H,#08HMOV 45H,#06HMOV TMOD,#11H;设置为工作方式1MOV TL1,#0B0H ;计数器T1设置初始值 50msMOV TH1,#3CHMOV TL0,#0B0H ;计数器T0设置初始值 50msMOV TH0,#3CHSETB EA ; 中断允许总控制SETB EX1 ;允许外部中断1SETB ET0;允许T0中断SETB ET1;允许T1中断SETB IT1;设置外部中断1的中断触发方式,设置为下降沿触发SETB TR1;T1开始计时CLR TR0;T0不开始计时HERE: ;数码管显示程

14、序MOV A,R0MOVC A,A+DPTR;段选码MOV P2,#0F7H;第四位数码管显示MOV P0,ACALL DELAYMOV A,R1MOVC A,A+DPTRORL A,#80H ;显示小数点MOV P2,#0FBH ;第三位数码管显示MOV P0,ACALL DELAYMOV A,R2MOVC A,A+DPTRMOV P2,#0FDH ;第二位数码管显示MOV P0,ACALL DELAYMOV A,50HMOVC A,A+DPTRMOV P2,#0FEH;第一位数码管显示MOV P0,ACALL DELAYMOV A,R4MOVC A,A+DPTRMOV P2,#7FH ;第

15、八位数码管显示MOV P0,ACALL DELAYJB P1.0,W1 ;p1.0为低电平则显示白天,高电平则跳转到晚上MOV A,R5; 白天计费MOVC A,A+DPTRORL A,#80H ;显示小数点MOV P2,#0BFH ;白天第七位数码管显示 显示5元MOV P0,ALCALL DELAYLJMP RR6W1: MOV 43H,#01H 晚上计费MOV A,40H ;(40H)=07HMOVC A,A+DPTRORL A,#80H ;显示小数点MOV P2,#0BFH ;晚上数码管显示 显示7元MOV P0,ACALL DELAYRR6: MOV A,R6MOVC A,A+DPT

16、RMOV P2,#0DFH ;第六位数码管显示MOV P0,ACALL DELAYMOV A,42H ;42H代替R7MOVC A,A+DPTRMOV P2,#0EFH;第五位数码管显示MOV P0,ALCALL DELAYLJMP HERE;定时器T1TIME1:DJNZ 41H,YY MOV 41H,#10HMOV A,R0;显示里程部分的子程序ADD A,#05H ; 第四位数码管+5MOV R0,ACJNE R0,#0AH,L1 ;判断是否为10MOV R0,#00H ;等于10,清零INC R1 ;第三位数码管+1CJNE R1,#0AH,L1;判断第三位数码管是否为10MOV R1

17、,#00H;等于10,清零INC R2;第三位数码管等于10,则第二位数码管+1CJNE R2,#0AH,L1;判断第二位数码管是否等于10MOV R2,#00H;第二位数码管清零INC 50H;若第二位数码管等于10,则第一位数码管+1L1:NOP;等待CJNE R7,#04H,RR7 ;比较R7的值,里程显示到2.5km时,计费数码管才会变化NOPJB P1.0,D1;判断P1.0是否为高电平 ;低电平时顺序执行,高电平是,执行D1;白天计费程序MOV A,R4 ADD A,#08H;第八位数码管每秒加0.8元MOV B,#0AHDIV AB;第八位数码管数值与10相除ADD A,R5;商

18、 加在第七位数码管MOV R5,AMOV A,BMOV R4,A;余数放在第八位数码管显示CJNE R5,#0AH,L2;判断第七位数码管是否为10MOV R5,#00H ;若等于10.则清零,INC R6 ;第六位数码管+1CJNE R6,#0AH,L2 ;判断第六位数码管是否等于10MOV R6,#00H ;清零INC 42H; ;第五位数码管加1LJMP L2 ;跳转到L2;晚上计费程序D1:MOV A,R4ADD A,#0CH ;加1.2MOV B,#0AH DIV AB ;除10ADD A,40H ;商加在第七位数码管上MOV 40H,AMOV A,BMOV R4,A ;余数加在第八

19、位数码管上MOV R5,40HCJNE R5,#0AH,L2 ;判断第七位数码是否为10MOV 40H,#00H;清零INC R6;加1CJNE R6,#0AH,L2;判断第六位MOV R6,#00H;清零INC 42H ;加1LJMP L2 ;跳转到L2RR7: INC R7;R7加1L2: NOPYY: MOV TL1,#0B0H ;初值 50ms MOV TH1,#3CHRETIINTT1:CPL TR1;计数器T1取反 为0 CPL TR0;计数器TO取反,为1RETI;定时器T0TIME0:DJNZ 44H,AA;一秒之后转,相当于一分钟 MOV 44H,#08H;CJNE R3,#

20、04H,BBNOPJB P1.0,E1 ;白天计费MOV A,R4 ADD A,#08HMOV B,#0AHDIV ABADD A,R5MOV R5,AMOV A,BMOV R4,ACJNE R5,#0AH,N2MOV R5,#00HINC R6CJNE R6,#0AH,N2MOV R6,#00HINC 42H;LJMP N2 ;晚上计费E1: MOV A,R4ADD A,#0CHMOV B,#0AHDIV ABADD A,40HMOV 40H,AMOV A,BMOV R4,AMOV R5,40HCJNE R5,#0AH,N2MOV 40H,#00HINC R6CJNE R6,#0AH,N2MOV R6,#00HINC 42HLJMP N2BB: INC R3 ;R3加一 N2: NOPAA: MOV TL1,#0B0HMOV TH1,#3CHRETIDELAY:MOV 30H,#07FH;延时小程序 DE1: NOP DJNZ 30H,DE1RETTAB: DB 3FH,06H,5BH,4FH,66H ;段选码 DB 6DH,7DH,07H,7FH,6FHEND三、软件仿真 1、255计数器仿真 2、99999计数器仿真 3、出租车计费系统仿真

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号